9Router: وقتی rate limit دیگه نمیتونه جلوی کار کردن رو بگیره
یه اتفاق آشناست: وسط یه session طولانی با Claude Code یا Codex، یه پیام میبینی که quota تموم شده. نه اینکه کارت تموم شده — quota تموم شده. بعد یا باید صبر کنی تا reset بشه، یا دستی بری سراغ یه provider دیگه، یا tool رو ببندی و بری سراغ یه API key دیگه.
9Router برای همین مشکل ساخته شده. یه gateway محلی که بین ابزار AI تو و بیش از ۶۰ provider قرار میگیره، و وقتی یه provider به سقف رسید، خودکار به یه جایگزین میره — بدون اینکه لازم باشه چیزی بزنی یا session رو قطع کنی.
ایدهی اصلی: سه tier، یه fallback خودکار
9Router روی یه مدل routing سهلایه کار میکنه:
Tier 1 — Subscription: اشتراکهایی که از قبل داری. Claude Code، OpenAI Codex، GitHub Copilot، Cursor. اگه اشتراک داری، 9Router اول از اینها استفاده میکنه.
Tier 2 — Cheap: مدلهایی که API key میخوان ولی ارزونن. GLM به ازای هر میلیون توکن ۰.۶۰ دلار، MiniMax M2.7 به ازای هر میلیون توکن ۰.۲۰ دلار، Kimi با ۹ دلار در ماه. وقتی Tier 1 تموم شد، اینجا میاد.
Tier 3 — FREE: iFlow، Qwen، Kiro، OpenCode. کاملاً رایگان و بدون محدودیت ثابت. آخرین سنگر.
وقتی quota یه provider در Tier 1 تموم میشه، 9Router خودکار به Tier 2 میره. وقتی Tier 2 هم تموم شد، به Tier 3 میره. از نظر tool تو — Cursor، Cline، Claude Code — هیچ اتفاقی نیفتاده. همون endpoint جواب میده.
نصب و راهاندازی
npm install -g 9router
9router
همین. یه dashboard محلی باز میشه که میتونی providerها رو اضافه کنی — OAuth برای اشتراکها، API key برای بقیه. بعد هر tool ای که داری رو به این endpoint اشاره بده:
http://localhost:20128/v1
این endpoint با فرمت OpenAI کاملاً compatible هست، پس هر ابزاری که بتونه با OpenAI کار کنه — Claude Code، Codex، Cursor، Cline، Continue، و بقیه — میتونه از همین endpoint استفاده کنه.
راستی اگر فلگ t- رو به 9router پاس بدی میتونی ترمینال رو ببندی و توی بکگراند کارشو میکنه.
چیزهایی که توی مسیر اضافه شدن
Format Translator: اگه یه tool با فرمت OpenAI کار میکنه ولی میخوای به Anthropic یا Gemini وصل بشی، 9Router فرمت رو وسط راه ترجمه میکنه. نیازی نیست tool ات Anthropic Messages format بلد باشه.
Multi-Account: میتونی چند حساب از یه provider اضافه کنی و 9Router با round-robin بینشون load balance کنه. اگه یه حساب به محدودیت رسید، خودکار به حساب بعدی میره.
RTK Token Saver: خروجی دستوراتی مثل git diff، grep، find و tree رو قبل از فرستادن به مدل فشرده میکنه. ادعای سازنده اینه که ۲۰ تا ۴۰ درصد توکن ورودی کمتر مصرف میشه. این بهصورت پیشفرض فعاله و lossless هست.
Caveman Mode: یه system prompt تزریق میکنه که جوابهای مدل رو کوتاهتر و متراکمتر میکنه. پنج سطح شدت داره. اگه با مدلهایی کار میکنی که verbose جواب میدن و میخوای توکن خروجی کمتر مصرف بشه، این feature کمک میکنه.
MITM Bridge: یه feature پیشرفتهتر که ترافیک IDEهایی مثل GitHub Copilot، Kiro IDE، یا Antigravity رو intercept میکنه و به 9Router هدایت میکنه. این یعنی میتونی از اشتراک IDE هایی که داری برای call کردن هر backend ای که بخوای استفاده کنی. سازنده خودش تاکید کرده که باید policy هر tool رو بررسی کنی قبل از استفاده.
Cloud Sync + Tunnel: اگه بخوای از جای دیگهای غیر از ماشین محلیت به 9Router دسترسی داشته باشی، یه Cloudflare tunnel میتونی راه بندازی.
یه نکته دربارهی provider های رایگان
Tier 3 شامل providerهایی مثل iFlow و Kiro میشه که «unlimited free» هستن. واقعیت اینه که اینها معمولاً quota دارن، ولی reset شون سریعتره یا سقفشون بالاتره از providerهای اصلی. اگه روی پروژههای سنگین کار میکنی، Tier 3 رو آخرین fallback در نظر بگیر، نه ابزار اصلی — چون کیفیت مدلهای رایگان معمولاً پایینتره.
open source و رایگان
9Router با MIT license منتشر شده و سورسش روی GitHub هست. هیچ سرور مرکزیای وجود نداره — همه چیز روی ماشین خودت اجرا میشه. پرداختی برای خود 9Router وجود نداره؛ هزینه فقط مربوط به providerهاییه که انتخاب میکنی.
برای کسی که چند اشتراک AI مختلف داره و هر ماه بخشی از quota هدر میره، یا کسی که وسط کار به rate limit میخوره و باید دستی provider عوض کنه، 9Router یه مشکل واقعی رو حل میکنه.