اگر چند ابزار هوش مصنوعی دارید و هر کدام کلید و تنظیمات خودش را میخواهد، مشکل شما جای دیگری است: یک لایهٔ واسط میخواهید که همه را از یک آدرس سرو کند و وقتی یکی از کار افتاد، خودش سراغ بعدی برود. این راهنما نصب همین لایه روی ویندوز را از صفر تا اتصال ابزارها پوشش میدهد.
9Router چیست و چه مشکلی را در ویندوز حل میکند
یک برنامهٔ محلی است که چند ارائهدهندهٔ مدل را پشت یک آدرس واحد جمع میکند. ابزارهای شما فقط یک آدرس و یک کلید میبینند؛ این برنامه تصمیم میگیرد درخواست به کدام ارائهدهنده برود.
سه مشکل واقعی را حل میکند:
- پخش شدن کلیدها. بدون آن، هر ابزار کلید جداگانه دارد و عوض کردن یک ارائهدهنده یعنی ویرایش چند فایل تنظیمات.
- سقف مصرف. وقتی اشتراک یک حساب تمام میشود، درخواستها خطا میگیرند. با زنجیرهٔ جانشین، درخواست خودکار به گزینهٔ بعدی میرود.
- اتلاف توکن. خروجی ابزارهای کدنویسی معمولاً پرحجم است؛ بخشی از کار این برنامه فشردهسازی همان خروجی پیش از رسیدن به مدل است.
روی ویندوز به شکل یک برنامهٔ خط فرمان نصب میشود و روی یک پورت محلی به گوش میدهد. رابط گرافیکیاش در مرورگر باز میشود.
پیشنیازهای نصب 9Router روی ویندوز
سه چیز لازم است: ویندوز ۱۰ یا ۱۱، نسخهٔ ۶۴ بیتی Node.js نسخهٔ ۱۸ یا بالاتر، و دسترسی به خط فرمان. اگر Node.js ندارید، بخش بعد نصبش را گامبهگام میگوید.
| قلم | نسخهٔ حداقلی | چطور بررسی کنیم |
|---|---|---|
| Windows | ۱۰ یا ۱۱، ۶۴ بیتی | Settings → System → About |
| Node.js | ۱۸ یا بالاتر | node -v |
| npm | همراه Node.js نصب میشود | npm -v |
| مرورگر | هر مرورگر بهروز | برای باز کردن داشبورد |
در سیستم تست ما، node -v نسخهٔ v24.21.0 و npm -v نسخهٔ 12.2.0 برگرداند. اگر عدد شما پایینتر از ۱۸ بود، قبل از هر کار دیگری Node.js را بهروز کنید.
نصب Node.js و npm قدم به قدم
از سایت رسمی Node.js نسخهٔ LTS را دانلود کنید؛ همان نسخهٔ پایدار است و برای این کار کافی. نصبکنندهٔ ویندوزی، npm را هم همراه خودش میآورد.
- فایل نصب ویندوزی (MSI) را اجرا کنید و مسیر پیشفرض را عوض نکنید.
- در پایان نصب، تیک نصب ابزارهای اضافی را همانطور که هست بگذارید؛ نیازی به تغییر نیست.
- یک پنجرهٔ خط فرمان تازه باز کنید. پنجرهٔ قبلی متغیرهای محیطی قدیمی را نگه داشته است.
- با دو دستور زیر بررسی کنید:
node -v
npm -vخروجی مورد انتظار: دو شمارهٔ نسخه، مثلاً v24.21.0 و 12.2.0. اگر به جای آن «command not found» یا «is not recognized» دیدید، Node.js نصب نشده یا مسیرش در PATH نیست. پنجرهٔ خط فرمان را کامل ببندید و دوباره باز کنید؛ در بیشتر موارد همین کافی است.
اگر npm کند بود و از داخل ایران خطای شبکه گرفتید، میتوانید مخزن بستهها را عوض کنید. این کار اختیاری است و به نصب مربوط نیست:
npm config get registry
npm config set registry https://registry.npmjs.org/نصب 9Router با npm و اولین اجرا
دو راه دارید: نصب دائمی یا اجرای موقت بدون نصب.
npm install -g 9router
9routerخروجی مورد انتظار: npm چند خط پیشرفت نشان میدهد و در پایان نام بسته و نسخه را مینویسد. با اجرای دستور دوم، برنامه شروع میکند و آدرسی چاپ میکند که باید در مرورگر باز شود.
اگر نمیخواهید چیزی روی سیستم نصب شود، از اجرای موقت استفاده کنید:
npx 9routerهر دو راه یک نتیجه میدهند. تفاوت در این است که npx هر بار نسخه را میگیرد و کمی کندتر شروع میشود، اما چیزی در سیستمتان باقی نمیگذارد.
گزینههای خط فرمان که در عمل به کار میآیند:
| گزینه | کار | کِی به کار میآید |
|---|---|---|
--port 8080 | پورت پیشفرض را عوض میکند | وقتی پورت پیشفرض اشغال است |
--no-browser | مرورگر را خودکار باز نمیکند | روی سرور یا اجرای خودکار در پسزمینه |
--skip-update | بررسی بهروزرسانی را رد میکند | شبکهٔ کند یا محدود |
--help | فهرست کامل گزینهها | هر وقت گزینهٔ تازهای اضافه شد |
اولین ورود به داشبورد و ساختن رمز
وقتی برنامه برای اولین بار بالا میآید، چند چیز را باید در ذهن داشته باشید. اجرای آن یک پنجرهٔ خط فرمان باز نگه میدارد؛ اگر آن پنجره را ببندید، سرور هم میبندد. برای کار روزمره، همین پنجره را کوچک کنید و رها بگذارید، و برای کار دائمی به بخش اجرای خودکار بروید.
در همان اجرای اول، برنامه ممکن است از شما بخواهد رمز تعیین کنید یا آن را در لاگ چاپ کند. رمز را جایی امن نگه دارید؛ برای بازیابی آن راه سادهای وجود ندارد و اگر گم شود، تنها راه بازگشت به داشبورد، پاک کردن داده و تنظیم از نو است.
پس از اجرا، برنامه روی آدرس محلی خودش به گوش میدهد. در مرورگر باز کنید:
http://localhost:20128/dashboardخروجی مورد انتظار: یک صفحهٔ ورود. اولین باری که باز میکنید، برنامه از شما میخواهد برای Dashboard رمز تعیین کنید. این رمز جلوی دسترسی هر برنامهای که روی همان سیستم اجرا میشود را میگیرد؛ آن را ساده نگذارید.
اگر مرورگر خودکار باز نشد، آدرس بالا را دستی بزنید. اگر صفحه باز نشد و خطای اتصال گرفتید، یعنی برنامه در حال اجرا نیست یا روی پورت دیگری نشسته است؛ به بخش عیبیابی همین راهنما بروید.
داخل داشبورد، سه بخش را پیدا کنید: ارائهدهندهها، کلیدها، و تنظیمات مسیر. بقیهٔ کار در همین سه بخش انجام میشود.
ساخت API Key و پیدا کردن Endpoint
ابزارهای شما باید یک آدرس و یک کلید داشته باشند. هر دو از داشبورد گرفته میشوند.
- در داشبورد به بخش کلیدها بروید و یک API Key بسازید.
- کلید را همان لحظه کپی کنید؛ بعداً کامل نمایش داده نمیشود.
- مقدار Endpoint را از صفحهٔ تنظیمات بردارید. مسیر سازگار با OpenAI این است:
http://localhost:20128/v1خروجی مورد انتظار برای تست اتصال، یک پاسخ JSON با فهرست مدلها است. اگر با خطای احراز هویت روبهرو شدید، یعنی کلید در هدر نیامده یا اشتباه کپی شده است:
curl http://localhost:20128/v1/models ^
-H "Authorization: Bearer YOUR_ROUTER_KEY"در ویندوز، ادامهٔ خط در خط فرمان با ^ نوشته میشود و در PowerShell با بکتیک. اگر کپی کردن دستور برایتان دردسر است، همه را در یک خط بنویسید.
اتصال اولین provider رایگان بدون ثبتنام
برای اینکه بدون ساختن حساب هیچجا، مسیر را آزمایش کنید، یک ارائهدهندهٔ رایگان را وصل کنید. در بخش ارائهدهندهها، گزینههای رایگان را ببینید؛ بعضی از آنها به کلید نیاز ندارند و همین برای تست اول کافی است.
ترتیب پیشنهادی برای شروع:
- Provider رایگان را انتخاب و فعال کنید.
- در بخش مدلها، یک مدل سبک را به عنوان پیشفرض بگذارید.
- یک درخواست کوتاه از داشبورد یا با
curlبزنید و ببینید پاسخ میآید. - اگر پاسخ آمد، همین مسیر سالم است و میتوانید سراغ ارائهدهندهٔ پولی بروید.
مزیت این ترتیب این است که اگر جایی خراب بود، میدانید مشکل از کلید یا حساب نیست و در مسیر نصب یا شبکه است.
یک نکتهٔ عملی دربارهٔ ارائهدهندههای رایگان: سرعتشان معمولاً قابل پیشبینی نیست و در ساعتهای شلوغ کند میشوند. برای تست اول عالیاند، اما روی آنها به عنوان مسیر اصلی کار حساب نکنید. اگر ابزاری را روی گزینهٔ رایگان تنظیم کردید و دیدید پاسخها کند شد، مشکل از تنظیمات شما نیست.
افزودن provider سازگار با OpenAI با کلید اختصاصی
اکثر سرویسها یک آدرس سازگار با OpenAI میدهند. برای اضافه کردنشان، همین سه مقدار کافی است:
- Base URL: آدرسی که سرویس داده است، معمولاً به شکل
https://…/v1 - API Key: کلید همان سرویس
- Model: شناسهٔ مدل، دقیقاً همانطور که سرویس نوشته است
در داشبورد، ارائهدهندهٔ سازگار با OpenAI را انتخاب کنید، این سه فیلد را پر کنید و ذخیره بزنید. بعد از ذخیره، یک درخواست آزمایشی بزنید. اگر خطای «مدل پیدا نشد» گرفتید، اولین چیزی که باید بررسی کنید شناسهٔ مدل است، نه کلید.
اگر سرویس شما کلید رایگان میدهد و نمیدانید کدام مدلها در دسترساند، راهنمای اعتبار رایگان و فهرست مدلها شناسههای دقیق و روش تست را نشان میدهد.
نامگذاری ارائهدهندهها را جدی بگیرید. اگر بعداً سه یا چهار سرویس اضافه کنید، نامهای شبیه به هم پیدا کردن مقصر یک خطا را سخت میکند. یک قاعدهٔ ساده: در نام، هم سرویس و هم کاربرد را بنویسید.
چرخش چند اکانت و مدیریت سهمیه
وقتی یک حساب به سقفش میرسد، رفتار پیشفرض برنامهها خطا دادن است. چرخش چند اکانت همین را عوض میکند: چند حساب از یک سرویس ثبت میکنید و برنامه بین آنها میچرخد.
دو نکتهٔ عملی که تجربه به ما داده است:
- ترتیب حسابها را از قبل بچینید. اگر حساب اصلی را وسط فهرست بگذارید، هر بار چند درخواست به حسابهای ضعیفتر میرود و کیفیت خروجی نوسان میکند.
- سهمیه را ببینید، نه حدس بزنید. داشبورد مصرف هر ارائهدهنده را نشان میدهد. هفتهای یک بار نگاه کردن، از یک روز کامل خطا بهتر است.
روش اشتباه رایج: اضافه کردن پنج حساب و رها کردن. اگر رمز یکی عوض شود، برنامه در نوبت خودش خطا میدهد و شما فکر میکنید سرویس خراب است.
مدل پیشفرض و زنجیرهٔ جانشین (fallback)
زنجیرهٔ جانشین یعنی: اول این، اگر نشد آن، و اگر آن هم نشد یک گزینهٔ رایگان. تنظیم درست این زنجیره، تفاوت بین کار بیوقفه و خطای مکرر است.
ترتیب پیشنهادی برای بیشتر کارها:
- اشتراک یا حساب اصلی که کیفیتش را میشناسید.
- یک گزینهٔ ارزان برای کارهای پرتعداد.
- یک گزینهٔ رایگان به عنوان تور نجات.
قاعدهٔ مهم: زنجیره را کوتاه نگه دارید. زنجیرهٔ پنجمرحلهای یعنی وقتی همهچیز خراب است، کاربر پنج بار منتظر میماند و بعد خطا میبیند. سه گزینه کافی است.
یک نکتهٔ دیگر: مدل پیشفرض را روی گرانترین گزینه نگذارید. بیشتر درخواستهای روزمره — خلاصهسازی، دستهبندی، پاسخ کوتاه — با مدل سبک هم جواب میدهند و شما فقط هزینه را بالا بردهاید.
اتصال Claude Code و Cursor و Cline به 9Router
برای وصل کردن ابزارها، برنامه یک دستور آماده دارد که تنظیمات ابزار را خودش مینویسد:
npx 9router connect --tools claude,codex,opencodeبرای بررسی اینکه الان چه چیزی وصل است:
npx 9router showخروجی مورد انتظار: فهرست ابزارهای شناختهشده و وضعیت اتصال هر کدام.
اگر ابزاری خودکار وصل نشد، میتوانید در تنظیمات همان ابزار، ارائهدهندهٔ سازگار با OpenAI را انتخاب کنید و مقادیر زیر را بدهید:
- Base URL:
http://localhost:20128/v1 - API Key: همان کلیدی که در داشبورد ساختید
- Model: نام مدلی که در روتر انتخاب کردهاید
ابزارهای پشتیبانیشده و مدل پیشنهادی برای هر کدام:
| ابزار | کاربرد | مدل پیشنهادی |
|---|---|---|
claude | کدنویسی در ترمینال | مدل قوی کدنویسی از حساب اصلی |
codex | تولید و بازبینی کد | مدل متوسط با سرعت بالا |
opencode | ویرایشگر کد مبتنی بر ترمینال | همان مدل کدنویسی |
cline | افزونهٔ داخل ویرایشگر | مدل سبک و ارزان برای کار تکراری |
crush · kilo · pi · omp · droid | ابزارهای تکمیلی خط فرمان | گزینهٔ ارزان زنجیره |
برای Cursor که افزونه نیست و مستقیم آدرس میخواهد، در تنظیمات مدل، حالت سازگار با OpenAI را انتخاب کنید و Base URL بالا را با کلید روتر وارد کنید. اگر فهرست مدلها خالی آمد، نام مدل را دستی بنویسید.
اجرای خودکار 9Router در شروع ویندوز
دو راه واقعی وجود دارد. راه ساده: اجرای برنامه در پوشهٔ Startup. راه مطمئن: تعریف یک وظیفه در Task Scheduler.
راه اول — Startup:
- کلیدهای
Win + Rرا بزنید وshell:startupرا اجرا کنید. - در پوشهای که باز میشود، یک فایل متنی با پسوند
.cmdبسازید. - این محتوا را داخلش بگذارید و ذخیره کنید:
@echo off
9router --no-browser --skip-updateراه دوم — Task Scheduler:
- Task Scheduler را باز کنید و
Create Taskرا بزنید. - در تب General، گزینهٔ اجرا با دسترسی عادی کاربر را انتخاب کنید.
- در تب Triggers، یک تریگر
At log onبسازید. - در تب Actions، برنامه را
cmd.exeبگذارید و در آرگومانها بنویسید:/c 9router --no-browser --skip-update - در تب Conditions، تیک «فقط با برق شبکه» را بردارید تا روی لپتاپ هم اجرا شود.
با هر دو راه، برنامه در پسزمینه بالا میآید و مرورگر باز نمیشود. تفاوت در این است که روش دوم لاگ و مدیریت بهتری دارد و اگر برنامه کرش کند، سیستم میتواند دوباره اجرایش کند.
اجرا روی سرور با Docker و اتصال از یک سیستم دیگر
اگر میخواهید یک نسخه روی سرور اجرا شود و چند سیستم از آن استفاده کنند، نسخهٔ Docker آماده است:
docker run -d --name 9router -p 20128:20128 ^
-v "$HOME/.9router:/app/data" ^
-e DATA_DIR=/app/data decolua/9router:latestخروجی مورد انتظار: شناسهٔ کانتینر. با docker ps ببینید در حال اجراست و پورت ۲۰۱۲۸ روی میزبان باز شده است.
روی سیستم دیگر، بهجای اجرای محلی، ابزارها را به سرور وصل کنید:
npx 9router connect http://SERVER_IP:20128 --tools claude,codexدو هشدار: اول، اگر سرور پشت فایروال است، پورت را فقط برای شبکهٔ خودتان باز کنید، نه برای همه. دوم، رمز داشبورد را قبل از باز کردن پورت تعیین کنید؛ یک داشبورد باز، یعنی همهٔ کلیدهای شما باز.
برای پشتیبانگیری، همان پوشهٔ داده را کپی کنید. کلیدها و تنظیمات داخل همان فایل پایگاه داده هستند، پس یک کپی ساده از پوشه، همهچیز را برمیگرداند. اگر روی سرور اجرا میکنید، این کار را به یک زمانبندی بدهید تا تنظیمات با از دست رفتن کانتینر پاک نشوند.
خطاهای رایج ویندوز: پورت اشغال، PATH، فایروال، EACCES
ماتریس زیر از نشانه شروع میکند، چون بیشتر وقتها پیام خطا گمراهکننده است.
| نشانه | علت | راهحل |
|---|---|---|
| صفحهٔ داشبورد باز نمیشود | برنامه اجرا نیست یا پورت دیگری دارد | پنجرهٔ خط فرمان را ببینید؛ آدرس چاپشده را استفاده کنید |
| خطای پورت اشغال | برنامهٔ دیگری روی همان پورت است | --port 8080 بدهید و آدرس را عوض کنید |
is not recognized | مسیر نصب در PATH نیست | خط فرمان را ببندید و باز کنید، یا از npx 9router استفاده کنید |
| اتصال از سیستم دیگر برقرار نمیشود | فایروال پورت را بسته است | مجوز ورودی برای همان پورت را فقط در شبکهٔ محلی باز کنید |
خطای EACCES هنگام نصب | اجرا با دسترسی محدود | خط فرمان را با دسترسی مدیر باز کنید یا از npx استفاده کنید |
یک نکته که در ویندوز زیاد وقت میگیرد: بعد از نصب Node.js، پنجرهٔ خط فرمانی که از قبل باز بود، مسیرهای قدیمی را نگه داشته است. اولین کاری که باید بکنید بستن و باز کردن پنجره است، نه نصب دوباره.
اگر هر دو ابزار روی یک سیستم اجرا میشوند و به هم وصل نمیشوند، بهجای localhost آدرس 127.0.0.1 را امتحان کنید. در بعضی تنظیمات، نام محلی به نسخهٔ IPv6 تبدیل میشود و برنامه روی IPv4 گوش میدهد.
یک الگوی عیبیابی که وقت زیادی صرفهجویی میکند: همیشه از لایهٔ پایین به بالا حرکت کنید. اول ببینید فرایند در حال اجراست یا نه، بعد ببینید روی کدام پورت گوش میدهد، بعد همان پورت را از همان سیستم تست کنید، و در آخر از سیستم دیگر. بیشتر کسانی که این ترتیب را رعایت میکنند، در مرحلهٔ اول یا دوم جواب را پیدا میکنند و سراغ تنظیمات پیچیده نمیروند.
اگر ابزار شما بهجای پاسخ، خطای احراز هویت گرفت، مقصر معمولاً کلید است نه روتر؛ مسیر بررسی این خطا در خطای 401 دسترسی ممنوع آمده است.
سوالات متداول دربارهٔ نصب 9Router
آیا 9Router به Node.js نیاز دارد؟
بله. نسخهٔ ۱۸ یا بالاتر لازم است. اگر نسخهٔ قدیمیتر داشتید، برنامه اجرا نمیشود یا با خطای ناسازگاری متوقف میشود.
باید حتماً نصبش کنم یا npx کافی است؟
برای استفادهٔ روزمره نصب دائمی راحتتر است، چون دستور کوتاهتر است و هر بار چیزی دانلود نمیشود. برای تست یکباره، npx کافی است.
دادههای من کجا ذخیره میشوند؟
روی ویندوز، در مسیر %APPDATA%/9router/db/data.sqlite. یعنی کلیدها و تنظیمات روی خود سیستم شما میمانند، نه روی سرور سازندهٔ ابزار.
چرا از سیستم دیگری به روتر وصل نمیشوم؟
بیشتر وقتها فایروال ویندوز پورت را بسته است. اگر روی همان سیستم هم مشکل دارید، بهجای نام محلی از 127.0.0.1 استفاده کنید.
آیا میتوانم آن را روی سرور اجرا کنم؟
بله، نسخهٔ Docker دارد. فقط پورت را برای همه باز نکنید و پیش از باز کردن دسترسی، رمز داشبورد را تعیین کنید.
ابزارهای پشتیبانیشده کداماند؟
claude، codex، opencode، droid، crush، kilo، cline، pi و omp. با دستور npx 9router connect --tools … میتوانید چند ابزار را با هم وصل کنید.
بقیهٔ مقالههای آموزشی این سایت، از جمله راهنماهای ابزارهای هوش مصنوعی، در فهرست مقالات و آموزشهای سئوپلاس جمع شده است.

