Weave Router: یه endpoint برای همهٔ مدلهای هوش مصنوعی
خلاصهٔ کاملتر
Weave Router یه پراکسی (یعنی یه واسطه بین برنامهٔ تو و سرویسدهندهٔ مدل) هست که شرکت Weave ساخته. ایدهش سادهست: بهجای اینکه Claude Code، Codex، Cursor یا اپ خودت رو مستقیم به یه مدل وصل کنی، اونو به localhost:8080 وصل میکنی و روتر برای هر درخواست تصمیم میگیره کدوم مدل جواب بده.
انتخاب مدل با یه cluster scorer انجام میشه که از مقالهٔ پژوهشی Avengers-Pro اومده. این scorer با یه embedder کوچیک ONNX (یعنی مدلی که متن رو به بردار عددی تبدیل میکنه) که داخل خود روتر اجرا میشه، درخواست رو امتیاز میده. نکتهٔ مهم اینه که مسیریابی برای هر action انجام میشه، نه هر turn گفتگو؛ یعنی حتی وسط یه مکالمه هم هر درخواست جداگونه به مدل مناسبش میره.
روتر API هر سه شرکت اصلی رو میفهمه: Anthropic Messages، OpenAI Chat Completions و Gemini، با پشتیبانی از streaming، tools و vision. مدلهای متنباز مثل DeepSeek، Kimi، GLM، Qwen، Llama و Mistral هم از طریق OpenRouter یا هر endpoint سازگار با OpenAI در دسترسن. یه endpoint به اسم /v1/route هم هست که فقط تصمیم روتر رو برمیگردونه و درخواستی به مدل نمیفرسته.
به گفتهٔ سازندهها، کلیدهای API روی سیستم خودت و رمزنگاریشده میمونن (BYOK) و پرامپتها مستقیم از روتر به سرویسدهنده میرن، نه به سرورهای Weave. برای نصب سریع، دستور npx @weave-os/router نسخهٔ میزبانیشده رو به ابزارت وصل میکنه. اگه بخوای همهچی رو خودت میزبانی کنی، نسخهٔ کامل با Postgres و داشبورد هم هست. یه سیاست اختیاری HMM هم بهصورت یه کانتینر جدا قابل اجراست.
برای هر پاسخ، هزینه هم توی هدرهایی مثل x-router-cost-usd برمیگرده. ولی توی حالت streaming چون هدرها قبل از معلوم شدن مصرف ارسال میشن، هزینه توی آبجکت weave_cost آخرین رویداد میاد. Traceها هم با OTLP بیرون میرن و میشه اونا رو توی Honeycomb، Datadog یا Grafana دید.
نکات کلیدی:
- مسیریابی برای هر action انجام میشه، نه برای هر turn مکالمه
- از APIهای Anthropic، OpenAI و Gemini و مدلهای متنباز از طریق OpenRouter پشتیبانی میکنه
- با Claude Code، Codex، opencode، pi و Cursor (نسخهٔ بتا) کار میکنه
- به Node 18 به بالا نیاز داره و پکیجش @weave-os/router هست
- از نسخهٔ router-v0.2.24 لایسنس پروژه Apache 2.0 شده




