۱۵ مرداد ۱۴۰۵

OmniRoute چیست؟ آموزش نصب و اتصال آن به Codex و ابزارهای هوش مصنوعی

OmniRoute یک درگاه محلی و متن‌باز برای اتصال ابزارهای هوش مصنوعی به چند ارائه‌دهنده مدل از یک نقطه واحد است. به‌جای آن‌که برای هر ابزار توسعه مانند Codex، Claude Code یا Cursor تنظیمات جداگانه‌ای داشته ادامه مطلب

Visit2 1 روز پیش

OmniRoute یک درگاه محلی و متن‌باز برای اتصال ابزارهای هوش مصنوعی به چند ارائه‌دهنده مدل از یک نقطه واحد است. به‌جای آن‌که برای هر ابزار توسعه مانند Codex، Claude Code یا Cursor تنظیمات جداگانه‌ای داشته باشید، می‌توانید OmniRoute را روی سیستم یا سرور خود اجرا کنید، ارائه‌دهنده‌ها را به آن وصل کنید و از مسیردهی و مسیر جایگزین برای مدل‌ها استفاده کنید.

OmniRoute چه کاری انجام می‌دهد؟

این پروژه یک API سازگار با الگوی OpenAI در اختیار می‌گذارد و از اتصال از طریق OAuth یا کلید API به ارائه‌دهنده‌ها پشتیبانی می‌کند. داشبورد محلی آن برای افزودن ارائه‌دهنده، ساخت کلید دسترسی و تعریف «Combo» یا زنجیره جایگزین استفاده می‌شود. بر اساس مستندات رسمی، OmniRoute به‌صورت local-first طراحی شده است؛ یعنی داده و کلیدها روی زیرساخت خود شما باقی می‌مانند و درخواست‌ها فقط به ارائه‌دهنده‌ای که انتخاب کرده‌اید می‌روند.

روش اول: نصب سریع با npm

برای اجرای محلی، به Node.js نسخه LTS و npm نیاز دارید. پس از نصب Node.js، این دو دستور را در ترمینال اجرا کنید:

npm install -g omniroute
omniroute --no-open

OmniRoute به‌طور پیش‌فرض داشبورد را روی http://127.0.0.1:20128 و API سازگار با OpenAI را روی http://127.0.0.1:20128/v1 ارائه می‌کند. گزینه --no-open فقط مانع بازشدن خودکار مرورگر می‌شود؛ پس از اجرا می‌توانید نشانی داشبورد را خودتان باز کنید.

روش دوم: اجرای ایزوله با Docker

اگر Docker دارید، اجرای کانتینری برای سرور یا سیستم شخصی گزینه مناسبی است. این نمونه پورت را فقط روی loopback سیستم منتشر می‌کند تا پنل از اینترنت عمومی در دسترس نباشد:

docker run -d \
  --name omniroute \
  --restart unless-stopped \
  --stop-timeout 40 \
  -p 127.0.0.1:20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

volume با نام omniroute-data تنظیمات و داده‌های برنامه را نگه می‌دارد؛ بنابراین با حذف و ساخت مجدد کانتینر، پیکربندی شما از بین نمی‌رود. اگر واقعاً به دسترسی بیرونی نیاز دارید، به‌جای بازکردن مستقیم پورت، reverse proxy دارای HTTPS و احراز هویت را در نظر بگیرید.

اتصال مدل و ساخت کلید دسترسی

  1. داشبورد OmniRoute را باز کنید و در بخش Providers دست‌کم یک ارائه‌دهنده را با OAuth یا کلید API متصل کنید.
  2. در بخش Endpoints یک API key بسازید و آن را در محل امن نگه دارید.
  3. در صورت نیاز، در بخش Combos ترتیب مدل‌های جایگزین را مشخص کنید تا در صورت خطا یا در دسترس‌نبودن یک مسیر، انتخاب بعدی به‌کار رود.

برای آزمون اتصال، باید فهرست مدل‌های در دسترس را ببینید:

curl http://127.0.0.1:20128/v1/models \
  -H "Authorization: Bearer YOUR_OMNIROUTE_KEY"

نمونه اتصال Codex CLI

راهنمای رسمی OmniRoute برای Codex CLI، آدرس پایه و کلید OmniRoute را در متغیرهای محیطی قرار می‌دهد. این تنظیم فقط برای همان نشست ترمینال فعال است:

export OPENAI_BASE_URL="http://127.0.0.1:20128"
export OPENAI_API_KEY="YOUR_OMNIROUTE_KEY"

codex "یک برنامه ساده فهرست کارها بساز"

برای کلاینت‌های سازگار با OpenAI که آدرس API را می‌پذیرند، معمولاً آدرس http://127.0.0.1:20128/v1، کلید ساخته‌شده در بخش Endpoints و مدل auto یا نام مدل با پیشوند ارائه‌دهنده استفاده می‌شود. پیش از قراردادن این تنظیم در فایل دائمی شل یا سرویس، مطمئن شوید کلید در مخزن Git یا فایل عمومی قرار نمی‌گیرد.

چند نکته برای استفاده امن و پایدار

  • کلیدهای ارائه‌دهنده و کلید Endpoint را در متن آموزش، اسکرین‌شات یا کد پروژه قرار ندهید.
  • برای استفاده محلی، سرویس را روی 127.0.0.1 نگه دارید.
  • پیش از سپردن کار واقعی به مسیر جایگزین، مدل‌ها و سقف هزینه هر ارائه‌دهنده را آزمایش کنید.
  • پس از تغییر ارائه‌دهنده یا Combo، ابتدا با درخواست /v1/models و یک درخواست کم‌هزینه مسیر را بررسی کنید.

جمع‌بندی

OmniRoute برای توسعه‌دهنده یا تیمی مناسب است که می‌خواهد انتخاب مدل را از ابزارهای مختلف جدا کند و در عین حال کنترل کلیدها، مسیر درخواست و انتخاب جایگزین را در اختیار خود داشته باشد. شروع کار با npm تنها دو دستور دارد؛ بخش مهم‌تر، تنظیم آگاهانه ارائه‌دهنده‌ها، کلید Endpoint و مرز دسترسی شبکه است.

اعتبار تصویر: مخزن رسمی OmniRoute در GitHub


منبع: OmniRoute Official GitHub Repository

لینک خبر اصلی: https://github.com/diegosouzapw/OmniRoute

اشتراک گذاری

دنبال کنید نوشته شده توسط:

محسن جدیدی

Comments