1,104 mirrors rewritten over five passes of run-translation on the 22-source core set: the 14 sources edited since their translation, the 322 mirrors that were still English copies, and the frontmatter the old extractor leaked into the newer locales' bodies. The pipeline now caches per-`## `-section hashes and retranslates only changed sections, never reuses a section that is still English, rebuilds English-copy / leaked mirrors even when the source is unchanged, merges the state on save (parallel runs), and the drift gate (scoped to the core set) is blocking. Final audit: 0 stale, 0 English copies, 0 leaked frontmatter across 1,430 core mirrors. ⚠️ base-red inherited: #12732
89 KiB
User Guide (اردو)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
🌐 زبانیں: 🇺🇸 English | 🇪🇹 አማርኛ | 🇸🇦 العربية | 🇦🇿 Azərbaycan dili | 🇧🇬 Български | 🇧🇩 বাংলা | 🇨🇿 Čeština | 🇩🇰 Dansk | 🇩🇪 Deutsch | 🇬🇷 Ελληνικά | 🇪🇸 Español | 🇪🇪 Eesti | 🇮🇷 فارسی | 🇫🇮 Suomi | 🇫🇷 Français | 🇮🇪 Gaeilge | 🇮🇳 ગુજરાતી | 🇳🇬 Hausa | 🇮🇱 עברית | 🇮🇳 हिन्दी | 🇭🇷 Hrvatski | 🇭🇺 Magyar | 🇦🇲 Հայերեն | 🇮🇩 Bahasa Indonesia | 🇳🇬 Igbo | 🇮🇹 Italiano | 🇯🇵 日本語 | 🇬🇪 ქართული | 🇰🇭 ខ្មែរ | 🇮🇳 ಕನ್ನಡ | 🇰🇷 한국어 | 🇱🇹 Lietuvių | 🇱🇻 Latviešu | 🇮🇳 മലയാളം | 🇮🇳 मराठी | 🇲🇾 Bahasa Melayu | 🇲🇹 Malti | 🇲🇲 မြန်မာ | 🇳🇵 नेपाली | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇮🇳 ଓଡ଼ିଆ | 🇮🇳 ਪੰਜਾਬੀ | 🇵🇭 Filipino | 🇵🇱 Polski | 🇵🇹 Português (Portugal) | 🇧🇷 Português (Brasil) | 🇷🇴 Română | 🇷🇺 Русский | 🇱🇰 සිංහල | 🇸🇰 Slovenčina | 🇸🇮 Slovenščina | 🇷🇸 Српски | 🇸🇪 Svenska | 🇰🇪 Kiswahili | 🇮🇳 தமிழ் | 🇮🇳 తెలుగు | 🇹🇭 ไทย | 🇹🇷 Türkçe | 🇺🇦 Українська | 🇵🇰 اردو | 🇺🇿 Oʻzbekcha | 🇻🇳 Tiếng Việt | 🇳🇬 Yorùbá | 🇨🇳 中文 (简体) | 🇹🇼 中文 (繁體)
فراہم کنندگان کو ترتیب دینے، کومبوز بنانے، CLI ٹولز کو مربوط کرنے، اور OmniRoute کو تعینات کرنے کے لیے مکمل رہنما۔
فہرستِ مضامین
- قیمتوں کا مختصر جائزہ
- استعمال کے حالات
- فراہم کنندہ سیٹ اپ
- CLI انضمام
- تعیناتی
- دستیاب ماڈلز
- اعلیٰ خصوصیات
- خودکار روٹنگ (بلا کنفیگریشن)
- MCP اور A2A انضمام
- مہارتوں کا نظام
- میموری سسٹم
- ویب ہُکس
- کلاؤڈ ایجنٹس
- پروگرامی انتظام
- اندرونی CLI
- ڈیسک ٹاپ ایپلیکیشن (Electron)
💰 قیمتوں کا مختصر جائزہ
| درجہ | فراہم کنندہ | لاگت | کوٹا ری سیٹ | بہترین استعمال |
|---|---|---|---|---|
| 💳 سبسکرپشن | Claude Code (Pro) | $20/ماہ | 5 گھنٹے + ہفتہ وار | پہلے سے سبسکرائب شدہ صارفین |
| Codex (Plus/Pro) | $20-200/ماہ | 5 گھنٹے + ہفتہ وار | OpenAI صارفین | |
| GitHub Copilot | $10-19/ماہ | ماہانہ | GitHub صارفین | |
| 🔑 API کلید | DeepSeek | استعمال کے مطابق ادائیگی | کوئی نہیں | کم لاگت استدلال |
| Groq | استعمال کے مطابق ادائیگی | کوئی نہیں | انتہائی تیز استنتاج | |
| xAI (Grok) | استعمال کے مطابق ادائیگی | کوئی نہیں | Grok 4 استدلال | |
| Mistral | استعمال کے مطابق ادائیگی | کوئی نہیں | EU میں ہوسٹ کیے گئے ماڈلز | |
| Perplexity | استعمال کے مطابق ادائیگی | کوئی نہیں | تلاش سے تقویت یافتہ | |
| Together AI | استعمال کے مطابق ادائیگی | کوئی نہیں | اوپن سورس ماڈلز | |
| Fireworks AI | استعمال کے مطابق ادائیگی | کوئی نہیں | تیز رفتار FLUX تصاویر | |
| Cerebras | استعمال کے مطابق ادائیگی | کوئی نہیں | ویفر پیمانے کی رفتار | |
| Cohere | استعمال کے مطابق ادائیگی | کوئی نہیں | Command R+ RAG | |
| NVIDIA NIM | استعمال کے مطابق ادائیگی | کوئی نہیں | انٹرپرائز ماڈلز | |
| Baidu Qianfan | استعمال کے مطابق ادائیگی | کوئی نہیں | ERNIE ماڈلز | |
| 💰 کم لاگت | GLM-4.7 | $0.6/1M | روزانہ صبح 10 بجے | بجٹ بیک اپ |
| MiniMax M2.1 | $0.2/1M | ہر 5 گھنٹے بعد | سب سے سستا انتخاب | |
| Kimi K2 | $9/ماہ مقررہ | 10M ٹوکنز/ماہ | قابلِ پیش گوئی لاگت | |
| 🆓 مفت | Qoder | $0 | فراہم کنندہ کی حدود لاگو ہوں گی | موجودہ کیٹلاگ کی تصدیق کریں |
| Kiro | $0 | ~50 کریڈٹس/ماہ | مفت Claude |
🎯 استعمال کے حالات
صورت 1: "میرے پاس Claude Pro سبسکرپشن ہے"
مسئلہ: کوٹا استعمال ہوئے بغیر ختم ہو جاتا ہے، اور بھاری کوڈنگ کے دوران شرح کی حدود کا سامنا ہوتا ہے
امتزاج: "maximize-claude"
1. cc/claude-opus-4-7 (سبسکرپشن کو مکمل طور پر استعمال کریں)
2. glm/glm-4.7 (کوٹا ختم ہونے پر کم لاگت بیک اپ)
3. if/qwen3.8-max-preview (ہنگامی صورت میں مفت متبادل)
ماہانہ لاگت: $20 (سبسکرپشن) + ~$5 (بیک اپ) = کُل $25
بمقابلہ $20 + حدود تک پہنچنا = مایوسی
صورت 2: "میں کوئی لاگت نہیں چاہتا"
مسئلہ: سبسکرپشنز کا خرچ برداشت نہیں کر سکتا، قابلِ اعتماد AI کوڈنگ درکار ہے
امتزاج: "zero-cost"
1. if/kimi-k2.7-code (فہرست میں مفت رسائی؛ شرح کی حدود لاگو ہو سکتی ہیں)
2. kr/qwen3-coder-next (مفت Kiro متبادل)
ماہانہ لاگت: $0
معیار: اپنے کام کے بوجھ کے لیے ماڈل، حدود، رازداری، اور SLA کی تصدیق کریں
صورت 3: "مجھے بلا تعطل 24/7 کوڈنگ درکار ہے"
مسئلہ: آخری تاریخیں قریب ہیں، تعطل برداشت نہیں کر سکتا
امتزاج: "always-on"
1. cc/claude-opus-4-7 (بہترین معیار)
2. cx/gpt-5.5 (دوسری سبسکرپشن)
3. glm/glm-4.7 (کم لاگت، روزانہ ری سیٹ)
4. minimax/MiniMax-M2.1 (سب سے سستا، 5 گھنٹے میں ری سیٹ)
5. if/deepseek-v4-flash (فہرست میں مفت رسائی؛ شرح کی حدود لاگو ہو سکتی ہیں)
نتیجہ: متبادل کی 5 تہیں لچک کو بڑھاتی ہیں؛ اپ اسٹریم دستیابی کی ضمانت نہیں ہے
ماہانہ لاگت: $20-200 (سبسکرپشنز) + $10-20 (بیک اپ)
صورت 4: "مجھے OpenClaw میں مفت AI چاہیے"
مسئلہ: پیغام رسانی کی ایپس میں مکمل طور پر مفت AI معاون درکار ہے
امتزاج: "openclaw-free"
1. if/qwen3.8-max-preview (فہرست میں مفت رسائی؛ شرح کی حدود لاگو ہو سکتی ہیں)
2. if/deepseek-v4-flash (فہرست میں مفت رسائی؛ شرح کی حدود لاگو ہو سکتی ہیں)
3. if/kimi-k2.7-code (فہرست میں مفت رسائی؛ شرح کی حدود لاگو ہو سکتی ہیں)
ماہانہ لاگت: $0
رسائی بذریعہ: WhatsApp، Telegram، Slack، Discord، iMessage، Signal...
📖 فراہم کنندہ سیٹ اپ
CSV یا JSON فائل سے API کلید کنکشنز بڑی تعداد میں شامل کرنے کے لیے، Dashboard → Providers → Import from file استعمال کریں۔ کالمز کی ترتیب مقرر ہے (provider,name,apiKey,baseUrl,priority)؛ provider پہلے سے ایک منظم فراہم کنندہ یا ہم آہنگ نوڈ کے طور پر موجود ہونا چاہیے۔ CSV یا JSON فائل سے فراہم کنندگان درآمد کریں دیکھیں۔
🔐 سبسکرپشن فراہم کنندگان
Claude Code (Pro/Max)
Dashboard → Providers → Connect Claude Code
→ OAuth لاگ اِن → ٹوکن کی خودکار تجدید
→ 5 گھنٹے کی + ہفتہ وار کوٹا ٹریکنگ
ماڈلز:
cc/claude-opus-4-7
cc/claude-sonnet-4-6
cc/claude-haiku-4-5-20251001
ماہرانہ مشورہ: پیچیدہ کاموں کے لیے Opus اور رفتار کے لیے Sonnet استعمال کریں۔ OmniRoute ہر ماڈل کا کوٹا الگ ٹریک کرتا ہے!
Claude اور Claude Code سے ہم آہنگ روٹس، Opus اور Sonnet ماڈلز کے لیے max سوچنے کی کوشش کو برقرار رکھتے ہیں۔ Haiku ماڈلز max کوشش کی سطح قبول نہیں کرتے، اس لیے OmniRoute درخواست کو اپ اسٹریم بھیجنے سے پہلے اسے زیادہ سوچنے کے بجٹ پر منتقل کر دیتا ہے۔
OpenAI Codex (Plus/Pro)
Dashboard → Providers → Connect Codex
→ OAuth لاگ اِن (پورٹ 1455)
→ 5 گھنٹے کی + ہفتہ وار ری سیٹ
ماڈلز:
cx/gpt-5.5
cx/gpt-5.4
cx/gpt-5.3-codex
cx/gpt-5.3-codex-spark
GitHub Copilot
Dashboard → Providers → Connect GitHub
→ GitHub کے ذریعے OAuth
→ ماہانہ ری سیٹ (مہینے کی پہلی تاریخ)
ماڈلز:
gh/gpt-5.5
gh/gpt-5.4
gh/claude-sonnet-4.6
gh/claude-opus-4.7
gh/gemini-3.1-pro-preview
💰 کم قیمت فراہم کنندگان
GLM-4.7 (روزانہ ری سیٹ، $0.6/1M)
- سائن اپ کریں: Zhipu AI
- Coding Plan سے API کلید حاصل کریں
- Dashboard → Add API Key: فراہم کنندہ:
glm، API کلید:your-key
استعمال: glm/glm-4.7 — ماہرانہ مشورہ: Coding Plan لاگت کے 1/7 پر 3× کوٹا فراہم کرتا ہے! روزانہ صبح 10:00 بجے ری سیٹ ہوتا ہے۔
MiniMax M2.1 (5 گھنٹے میں ری سیٹ، $0.20/1M)
- سائن اپ کریں: MiniMax
- API کلید حاصل کریں → Dashboard → Add API Key
استعمال: minimax/MiniMax-M2.1 — ماہرانہ مشورہ: طویل کانٹیکسٹ (1M ٹوکنز) کے لیے سب سے سستا آپشن!
Kimi K2 ($9/ماہ مقررہ)
- سبسکرائب کریں: Moonshot AI
- API کلید حاصل کریں → Dashboard → Add API Key
استعمال: kimi/kimi-k2.5 — ماہرانہ مشورہ: 10M ٹوکنز کے لیے مقررہ $9/ماہ = $0.90/1M مؤثر لاگت!
Baidu Qianfan / ERNIE
- سائن اپ کریں: Baidu AI Cloud Qianfan
- Qianfan API کلید بنائیں → Dashboard → Add API Key: فراہم کنندہ:
qianfan
استعمال: qianfan/ernie-5.1، qianfan/ernie-x1.1، یا کوئی دوسرا Qianfan OpenAI سے ہم آہنگ ماڈل ID۔
🆓 مفت فراہم کنندگان
تصدیق کے بغیر کام کرنے والے مفت فراہم کنندگان کے صفحے پر No authentication required کے ساتھ ایک سوئچ ہوتا ہے۔
اسے بند کرنے سے وہ فراہم کنندہ غیر فعال ہو جاتا ہے، Providers کے تشکیل شدہ/مختصر مناظر سے ہٹ جاتا ہے، اور
اس کے ماڈلز /v1/models سے ہٹا دیے جاتے ہیں۔
Qoder (9 مفت ماڈلز)
Dashboard → Connect Qoder → OAuth لاگ اِن → رسائی موجودہ فراہم کنندہ حدود کے تابع ہے
ماڈلز: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3
Kiro (Claude مفت)
Dashboard → Connect Kiro → AWS Builder ID یا Google/GitHub → تقریباً 50 کریڈٹس/ماہ
ماڈلز: kr/claude-sonnet-4.5, kr/claude-haiku-4.5
🎨 کومبوز
آپ ہر کارڈ کے ہینڈل کو گھسیٹ کر براہِ راست ڈیش بورڈ → کومبوز میں کومبو کارڈز کی ترتیب بدل سکتے ہیں۔ ترتیب SQLite میں محفوظ ہوتی ہے اور دوبارہ لوڈ کرنے پر بحال ہو جاتی ہے۔
مثال 1: سبسکرپشن کا زیادہ سے زیادہ استعمال → سستا بیک اپ
ڈیش بورڈ → کومبوز → نیا بنائیں
نام: premium-coding
ماڈلز:
1. cc/claude-opus-4-7 (بنیادی سبسکرپشن)
2. glm/glm-4.7 (سستا بیک اپ، $0.6/1M)
3. minimax/MiniMax-M2.7 (سب سے سستا متبادل، $0.3/1M)
CLI میں استعمال کریں: premium-coding
مثال 2: صرف مفت (صفر لاگت)
نام: free-combo
ماڈلز:
1. if/kimi-k2.7-code (مفت رسائی کے طور پر درج؛ فراہم کنندہ کی حدود لاگو ہو سکتی ہیں)
2. kr/qwen3-coder-next (Kiro کا مفت متبادل)
لاگت: فی الحال $0 کے طور پر درج؛ شرائط اور دستیابی تبدیل ہو سکتی ہیں
🔧 CLI انضمام
Cursor IDE
Cursor کو OmniRoute کلائنٹ کے طور پر استعمال کرنا (Cursor چیٹ کو OmniRoute کے ذریعے روٹ کریں):
ترتیبات → ماڈلز → اعلیٰ:
OpenAI API بنیادی URL: http://localhost:20128/v1
OpenAI API کلید: [omniroute ڈیش بورڈ سے]
ماڈل: cc/claude-opus-4-7
OmniRoute کو Cursor فراہم کنندہ کے طور پر استعمال کرنا (OmniRoute اپ اسٹریم Cursor کو کال کرتا ہے): ترجیحاً
ڈیش بورڈ → فراہم کنندگان → Cursor → Cursor کے ساتھ لاگ اِن استعمال کریں۔ Docker میں،
docs/providers/CURSOR-DOCKER.md دیکھیں۔
Claude Code
~/.claude/settings.json میں ترمیم کریں:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
}
}
یہاں Claude سے مطابقت رکھنے والا روٹ اینڈ پوائنٹ استعمال کریں۔ ANTHROPIC_BASE_URL کے آخر میں /v1 شامل نہ کریں۔
Codex CLI
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"
OpenClaw
~/.openclaw/openclaw.json میں ترمیم کریں:
{
"agents": {
"defaults": {
"model": { "primary": "omniroute/if/kimi-k2.7-code" }
}
},
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://localhost:20128/v1",
"apiKey": "your-omniroute-api-key",
"api": "openai-completions",
"models": [{ "id": "if/kimi-k2.7-code", "name": "Kimi K2.7 Code" }]
}
}
}
}
یا ڈیش بورڈ استعمال کریں: CLI ٹولز → OpenClaw → خودکار کنفیگریشن
Cline / Continue / RooCode
فراہم کنندہ: OpenAI سے مطابقت رکھنے والا
بنیادی URL: http://localhost:20128/v1
API کلید: [ڈیش بورڈ سے]
ماڈل: cc/claude-opus-4-7
🚀 تعیناتی
عالمی npm انسٹالیشن (تجویز کردہ)
npm install -g omniroute
# کنفیگریشن ڈائریکٹری بنائیں
mkdir -p ~/.omniroute
# .env فائل بنائیں (.env.example دیکھیں)
cp .env.example ~/.omniroute/.env
# سرور شروع کریں
omniroute
# یا حسبِ ضرورت پورٹ کے ساتھ:
omniroute --port 3000
CLI خودکار طور پر ~/.omniroute/.env یا ./.env سے .env لوڈ کرتا ہے۔
ٹرے موڈ
OmniRoute کو سسٹم ٹرے میں شروع کریں:
omniroute serve --tray
سرور اور ٹرے تیار ہونے کے بعد کمانڈ واپس آ جاتی ہے۔
سرور ٹرمینل کے بغیر چلتا رہتا ہے۔
ٹرے موڈ macOS، Windows اور گرافیکل Linux سیشنز کو سپورٹ کرتا ہے۔ ٹرے موڈ ڈیش بورڈ کو خودکار طور پر نہیں کھولتا۔
ان کارروائیوں کے لیے ٹرے مینیو استعمال کریں:
- ڈیش بورڈ کھولیں۔
/dashboard/logsکھولیں۔- خودکار آغاز تبدیل کریں۔
- OmniRoute روکیں۔
--tray کو ان اختیارات کے ساتھ یکجا نہ کریں:
--daemon--log--no-recovery
ان موڈز کے لیے مختلف پراسیس ملکیت درکار ہوتی ہے۔
مشین میں اگلی بار لاگ اِن ہونے پر آغاز فعال کریں:
omniroute autostart enable
خودکار آغاز macOS، Windows اور گرافیکل Linux سیشنز پر ٹرے موڈ استعمال کرتا ہے۔ ہیڈ لیس Linux موجودہ systemd صارف سروس استعمال کرتا ہے۔
لاگ اِن پر آغاز غیر فعال کریں:
omniroute autostart disable
ان انسٹال کرنا
جب آپ کو مزید OmniRoute کی ضرورت نہ رہے تو مکمل طور پر ہٹانے کے لیے ہم دو فوری اسکرپٹس فراہم کرتے ہیں:
| کمانڈ | کارروائی |
|---|---|
npm run uninstall |
سسٹم ایپ ہٹاتی ہے، لیکن ~/.omniroute میں آپ کا DB اور کنفیگریشنز برقرار رکھتی ہے۔ |
npm run uninstall:full |
ایپ ہٹاتی ہے اور تمام کنفیگریشنز، کلیدیں اور ڈیٹابیسز مستقل طور پر مٹا دیتی ہے۔ |
نوٹ: یہ کمانڈز چلانے کے لیے OmniRoute پروجیکٹ فولڈر پر جائیں (اگر آپ نے اسے کلون کیا ہے) اور انہیں چلائیں۔ متبادل طور پر، اگر اسے عالمی طور پر انسٹال کیا گیا ہے تو آپ صرف
npm uninstall -g omnirouteچلا سکتے ہیں۔
VPS تعیناتی
git clone https://github.com/diegosouzapw/OmniRoute.git
cd OmniRoute && npm install && npm run build
export JWT_SECRET="your-secure-secret-change-this"
export INITIAL_PASSWORD="your-password"
export DATA_DIR="/var/lib/omniroute"
export PORT="20128"
export HOSTNAME="0.0.0.0"
export NODE_ENV="production"
export NEXT_PUBLIC_BASE_URL="http://localhost:20128"
export API_KEY_SECRET="endpoint-proxy-api-key-secret"
npm run start
# یا: pm2 start npm --name omniroute -- start
PM2 تعیناتی (کم میموری)
محدود RAM والے سرورز کے لیے میموری کی حد کا اختیار استعمال کریں:
# 512MB کی حد کے ساتھ (ڈیفالٹ)
pm2 start npm --name omniroute -- start
# یا حسبِ ضرورت میموری کی حد کے ساتھ
OMNIROUTE_MEMORY_MB=512 pm2 start npm --name omniroute -- start
# یا ecosystem.config.js استعمال کرتے ہوئے
pm2 start ecosystem.config.js
ecosystem.config.js بنائیں:
module.exports = {
apps: [
{
name: "omniroute",
script: "npm",
args: "start",
env: {
NODE_ENV: "production",
OMNIROUTE_MEMORY_MB: "512",
JWT_SECRET: "your-secret",
INITIAL_PASSWORD: "your-password",
},
node_args: "--max-old-space-size=512",
max_memory_restart: "300M",
},
],
};
Docker
# امیج بنائیں (ڈیفالٹ = runner-cli جس میں codex/claude/droid پہلے سے انسٹال ہیں)
docker build -t omniroute:cli .
# پورٹیبل موڈ (تجویز کردہ)
docker run -d --name omniroute -p 20128:20128 --env-file ./.env -v omniroute-data:/app/data omniroute:cli
CLI بائنریز کے ساتھ ہوسٹ سے مربوط موڈ کے لیے مرکزی دستاویزات میں Docker سیکشن دیکھیں۔
Void Linux (xbps-src)
Void Linux کے صارفین xbps-src کراس کمپائلیشن فریم ورک استعمال کرتے ہوئے OmniRoute کو مقامی طور پر پیکیج اور انسٹال کر سکتے ہیں۔ یہ مطلوبہ better-sqlite3 مقامی بائنڈنگز کے ساتھ Node.js کی اسٹینڈ الون بِلڈ کو خودکار بناتا ہے۔
xbps-src ٹیمپلیٹ دیکھیں
# 'omniroute' کے لیے ٹیمپلیٹ فائل
pkgname=omniroute
version=3.8.0
revision=1
hostmakedepends="nodejs python3 make"
depends="openssl"
short_desc="Universal AI gateway with smart routing for multiple LLM providers"
maintainer="zenobit <zenobit@disroot.org>"
license="MIT"
homepage="https://github.com/diegosouzapw/OmniRoute"
distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz"
checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b
system_accounts="_omniroute"
omniroute_homedir="/var/lib/omniroute"
export NODE_ENV=production
export npm_config_engine_strict=false
export npm_config_loglevel=error
export npm_config_fund=false
export npm_config_audit=false
do_build() {
# node-gyp کے لیے ہدف CPU آرکیٹیکچر کا تعین کریں
local _gyp_arch
case "$XBPS_TARGET_MACHINE" in
aarch64*) _gyp_arch=arm64 ;;
armv7*|armv6*) _gyp_arch=arm ;;
i686*) _gyp_arch=ia32 ;;
*) _gyp_arch=x64 ;;
esac
# 1) تمام انحصارات انسٹال کریں – اسکرپٹس کو چھوڑ دیں
NODE_ENV=development npm ci --ignore-scripts
# 2) Next.js اسٹینڈ الون بنڈل بِلڈ کریں
npm run build
# 3) جامد اثاثوں کو اسٹینڈ الون میں کاپی کریں
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true
# 4) better-sqlite3 مقامی بائنڈنگ کمپائل کریں
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")
# 5) کمپائل شدہ بائنڈنگ کو اسٹینڈ الون بنڈل میں رکھیں
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"
# 6) آرکیٹیکچر سے مخصوص sharp بنڈلز ہٹائیں
rm -rf .next/standalone/node_modules/@img
# 7) Next.js کے جامد تجزیے سے رہ جانے والے pino رن ٹائم انحصارات کاپی کریں:
for _mod in pino-abstract-transport split2 process-warning; do
cp -r "node_modules/$_mod" .next/standalone/node_modules/
done
}
do_check() {
npm run test:unit
}
do_install() {
vmkdir usr/lib/omniroute/.next
vcopy .next/standalone/. usr/lib/omniroute/.next/standalone
# پوسٹ انسٹال ہُک کے ذریعے خالی Next.js ایپ راؤٹر ڈائریکٹریوں کو ہٹائے جانے سے روکیں
for _d in \
.next/standalone/.next/server/app/dashboard \
.next/standalone/.next/server/app/dashboard/settings \
.next/standalone/.next/server/app/dashboard/providers; do
touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done
cat > "${WRKDIR}/omniroute" <<'EOF'
#!/bin/sh
export PORT="${PORT:-20128}"
export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}"
export APP_LOG_TO_FILE="${APP_LOG_TO_FILE:-false}"
mkdir -p "${DATA_DIR}"
exec node /usr/lib/omniroute/.next/standalone/server.js "$@"
EOF
vbin "${WRKDIR}/omniroute"
}
post_install() {
vlicense LICENSE
}
ماحولیاتی متغیرات
| متغیر | ڈیفالٹ | تفصیل |
|---|---|---|
JWT_SECRET |
omniroute-default-secret-change-me |
JWT دستخطی راز (پروڈکشن میں تبدیل کریں) |
INITIAL_PASSWORD |
CHANGEME |
پہلے لاگ اِن کا پاس ورڈ |
DATA_DIR |
~/.omniroute |
ڈیٹا ڈائریکٹری (db، استعمال، لاگز) |
PORT |
فریم ورک ڈیفالٹ | سروس پورٹ (مثالوں میں 20128) |
HOSTNAME |
فریم ورک ڈیفالٹ | بائنڈ ہوسٹ (Docker میں ڈیفالٹ 0.0.0.0 ہے) |
NODE_ENV |
رن ٹائم ڈیفالٹ | تعیناتی کے لیے production مقرر کریں |
NEXT_PUBLIC_BASE_URL |
http://localhost:20128 |
ڈیش بورڈ پر ظاہر اور سرور کو مہیا کیا جانے والا عوامی بنیادی URL (فرسودہ BASE_URL کی جگہ لیتا ہے) |
NEXT_PUBLIC_CLOUD_URL |
https://omniroute.dev |
کلاؤڈ سنک اینڈ پوائنٹ کا بنیادی URL (فرسودہ CLOUD_URL کی جگہ لیتا ہے) |
API_KEY_SECRET |
endpoint-proxy-api-key-secret |
تیار کردہ API کلیدوں کے لیے HMAC راز |
REQUIRE_API_KEY |
false |
/v1/* پر Bearer API کلید لازمی بنائیں |
ALLOW_API_KEY_REVEAL |
false |
تصدیق شدہ ڈیش بورڈ صارفین کو حسبِ مطالبہ ذخیرہ شدہ API کلید کی مکمل قدریں ظاہر کرنے کی اجازت دیں |
PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES |
70 |
کیش شدہ Provider Limits ڈیٹا کی سرور سائیڈ تازہ کاری کا وقفہ؛ UI کے ریفریش بٹن اب بھی دستی سنک شروع کرتے ہیں |
DISABLE_SQLITE_AUTO_BACKUP |
false |
لکھنے/درآمد/بحالی سے پہلے خودکار SQLite اسنیپ شاٹس غیر فعال کریں؛ دستی بیک اپ بدستور کام کرتے ہیں |
APP_LOG_TO_FILE |
true |
ایپلیکیشن اور آڈٹ لاگ کا آؤٹ پٹ ڈسک پر فعال کرتا ہے |
AUTH_COOKIE_SECURE |
false |
Secure توثیقی کوکی لازمی بنائیں (HTTPS ریورس پراکسی کے پیچھے) |
CLOUDFLARED_BIN |
غیر مقرر | منظم ڈاؤن لوڈ کے بجائے موجودہ cloudflared بائنری استعمال کریں |
CLOUDFLARED_PROTOCOL |
http2 |
منظم Quick Tunnels کے لیے ٹرانسپورٹ (http2، quic، یا auto) |
OMNIROUTE_MEMORY_MB |
512 |
Node.js ہیپ کی حد، MB میں |
PROMPT_CACHE_MAX_SIZE |
50 |
پرامپٹ کیش اندراجات کی زیادہ سے زیادہ تعداد |
SEMANTIC_CACHE_MAX_SIZE |
100 |
سیمینٹک کیش اندراجات کی زیادہ سے زیادہ تعداد |
ماحولیاتی متغیرات کے مکمل حوالہ کے لیے README دیکھیں۔
📊 دستیاب ماڈلز
تمام دستیاب ماڈلز دیکھیں
ذیل کی فہرست v3.8.0 کے لیے
open-sse/config/providerRegistry.tsسے منتخب کی گئی ہے۔ کلاؤڈ کیٹلاگز (Gemini، OpenRouter وغیرہ) متحرک طور پر ہم وقت کیے جاتے ہیں — مکمل لائیو کیٹلاگ کے لیے Dashboard → Providers → [provider] → Available Models کھولیں یاGET /api/models/catalogکو کال کریں۔اگر کسی فراہم کنندہ کی پہلے سے شامل فہرست موجودہ فہرست سے مختلف ہو گئی ہو، تو لائیو اپ اسٹریم کیٹلاگ حاصل کرنے کے لیے اس صفحے پر Import from /models استعمال کریں (یا Auto-Sync فعال کریں)۔ LLM7.io (
gemini-3.1-flash-lite) اور UncloseAI (solidrust/Hermes-3-Llama-3.1-8B-AWQ) کے لیے v3.8.50 میں اس کی تصدیق کی گئی؛ اسی آزمائشی مرحلے کے دوران Pollinations کی گمنام رسائی اپ اسٹریم کی جانب سے محدود رہی۔
Claude Code (cc/) — Pro/Max OAuth: cc/claude-opus-4-8, cc/claude-opus-4-7, cc/claude-opus-4-6, cc/claude-opus-4-5-20251101, cc/claude-sonnet-4-6, cc/claude-sonnet-4-5-20250929, cc/claude-haiku-4-5-20251001
Codex (cx/) — Plus/Pro OAuth: cx/gpt-5.5 (+ محنت کی سطحیں: gpt-5.5-xhigh, gpt-5.5-high, gpt-5.5-medium, gpt-5.5-low), cx/gpt-5.4, cx/gpt-5.4-mini, cx/gpt-5.3-codex, cx/gpt-5.3-codex-spark
GitHub Copilot (gh/) — OAuth: gh/gpt-5.5, gh/gpt-5.4, gh/gpt-5.4-mini, gh/gpt-5-mini, gh/gpt-5.3-codex, gh/claude-opus-4.7, gh/claude-opus-4.6, gh/claude-opus-4-5-20251101, gh/claude-sonnet-4.6, gh/claude-sonnet-4.5, gh/claude-haiku-4.5, gh/gemini-3.1-pro-preview, gh/gemini-3-flash-preview, gh/oswe-vscode-prime
Kiro (kr/) — مفت OAuth: Dashboard → Providers → Kiro → Available Models کے تحت دکھایا گیا لائیو کیٹلاگ استعمال کریں۔ دستیابی اکاؤنٹ اور پلان پر منحصر ہے۔
Qoder (if/) — مفت OAuth: if/qwen3.8-max-preview, if/qwen3.7-max, if/qwen3.7-plus, if/kimi-k3, if/kimi-k2.7-code, if/glm-5.2, if/deepseek-v4-pro, if/deepseek-v4-flash, if/minimax-m3
GLM (glm/, glm-cn/, zai/, glmt/) — $0.2–0.6/1M: glm/glm-5.1, glm/glm-5, glm/glm-5-turbo, glm/glm-4.7, glm/glm-4.7-flash, glm/glm-4.6, glm/glm-4.6v, glm/glm-4.5, glm/glm-4.5v, glm/glm-4.5-air
MiniMax (minimax/, minimax-cn/) — $0.2/1M: minimax/MiniMax-M2.7, minimax/MiniMax-M2.7-highspeed, minimax/MiniMax-M2.5, minimax/MiniMax-M2.5-highspeed
Kimi (kimi/, kimi-coding/, kimi-coding-apikey/) — $9/ماہ مقررہ یا فی استعمال: kimi/kimi-k2.6, kimi/kimi-k2.5
DeepSeek (ds/) — API کلید: ds/deepseek-v4-pro, ds/deepseek-v4-flash
Groq (groq/) — انتہائی تیز: groq/llama-3.3-70b-versatile, groq/meta-llama/llama-4-maverick-17b-128e-instruct, groq/qwen/qwen3-32b, groq/openai/gpt-oss-120b
xAI (xai/) — مقامی Grok: xai/grok-4.3, xai/grok-4.20-multi-agent-0309, xai/grok-4.20-0309-reasoning, xai/grok-4.20-0309-non-reasoning
Mistral (mistral/) — یورپی یونین میں ہوسٹ کردہ: mistral/mistral-large-latest, mistral/mistral-medium-3-5, mistral/mistral-small-latest, mistral/devstral-latest, mistral/codestral-latest
Perplexity (pplx/) — تلاش سے تقویت یافتہ: pplx/sonar-deep-research, pplx/sonar-reasoning-pro, pplx/sonar-pro, pplx/sonar
Together AI (together/) — اوپن سورس: together/meta-llama/Llama-3.3-70B-Instruct-Turbo-Free (مفت)، together/meta-llama/Llama-Vision-Free, together/deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free, together/deepseek-ai/DeepSeek-R1, together/Qwen/Qwen3-235B-A22B, together/meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8
Fireworks AI (fireworks/) — تیز انفرنس: fireworks/accounts/fireworks/models/kimi-k2p6, fireworks/accounts/fireworks/models/minimax-m2p7, fireworks/accounts/fireworks/models/qwen3p6-plus, fireworks/accounts/fireworks/models/glm-5p1, fireworks/accounts/fireworks/models/deepseek-v4-pro
Cerebras (cerebras/) — ویفر پیمانے پر: cerebras/zai-glm-4.7, cerebras/gpt-oss-120b
Cohere (cohere/) — RAG پر مرکوز: cohere/command-a-reasoning-08-2025, cohere/command-a-vision-07-2025, cohere/command-a-03-2025, cohere/command-r-08-2024
NVIDIA NIM (nvidia/) — انٹرپرائز: nvidia/z-ai/glm-5.1, nvidia/minimaxai/minimax-m2.7, nvidia/google/gemma-4-31b-it, nvidia/mistralai/mistral-small-4-119b-2603, nvidia/mistralai/mistral-large-3-675b-instruct-2512, nvidia/qwen/qwen3.5-397b-a17b, nvidia/deepseek-ai/deepseek-v4-pro, nvidia/openai/gpt-oss-120b, nvidia/nvidia/nemotron-3-super-120b-a12b
Baidu Qianfan (qianfan/) — ERNIE: qianfan/ernie-5.1, qianfan/ernie-5.0-thinking-latest, qianfan/ernie-x1.1
Ollama Cloud (ollama-cloud/): ollama-cloud/deepseek-v4-pro, ollama-cloud/deepseek-v4-flash, ollama-cloud/kimi-k2.6, ollama-cloud/glm-5.1, ollama-cloud/minimax-m2.7, ollama-cloud/gemma4:31b, ollama-cloud/qwen3.5:397b
Gemini (Google Cloud gemini/): Google سے ہر API کلید کے مطابق لائیو ہم وقت کیا جاتا ہے — کوئی جامد فہرست نہیں۔ Dashboard → Providers میں کلید منسلک کریں، پھر موجودہ کیٹلاگ درآمد کرنے کے لیے Available Models استعمال کریں (مثلاً gemini/gemini-3-pro, gemini/gemini-3-flash)۔
دیگر ہم آہنگ فراہم کنندگان (منتخب): cohere, databricks, snowflake, together, vertex, alibaba, alibaba-cn, bedrock (aws-bedrock کے ذریعے)، azure-ai, openrouter (پاس تھرو کیٹلاگ)، siliconflow, hyperbolic, huggingface, featherless-ai, cloudflare-ai, scaleway, deepinfra, vercel-ai-gateway, bazaarlink, friendliai, nous-research, reka, volcengine, ai21, gigachat۔ ہر ایک providerRegistry.ts میں اپنی ماڈل فہرست برقرار رکھتا ہے اور جب فراہم کنندہ /models اینڈ پوائنٹ پیش کرے تو اسے خودکار طور پر ہم وقت کیا جا سکتا ہے۔
ماڈل IDs کے بارے میں نوٹ: OmniRoute فراہم کنندہ کے مقامی IDs استعمال کرتا ہے (claude-opus-4-8, gpt-5.5, glm-5.1, MiniMax-M2.7, kimi-k2.5, grok-4.20-0309-reasoning)۔ بعض IDs میں نقطوں والے ورژن شامل ہوتے ہیں کیونکہ اپ اسٹریم API انہیں اسی طرح قبول کرتا ہے۔ اگر کوئی ماڈل اوپر درج نہ ہو، تو دستیابی کی تصدیق کے لیے omniroute models --search <term> چلائیں یا GET /api/models/catalog استعمال کریں۔
🧩 جدید خصوصیات
حسبِ ضرورت ماڈلز
ایپ اپ ڈیٹ کا انتظار کیے بغیر کسی بھی فراہم کنندہ میں کوئی بھی ماڈل ID شامل کریں:
# API کے ذریعے
curl -X POST http://localhost:20128/api/provider-models \
-H "Content-Type: application/json" \
-d '{"provider": "openai", "modelId": "gpt-5.2", "modelName": "GPT-5.2"}'
# فہرست: curl http://localhost:20128/api/provider-models?provider=openai
# ہٹائیں: curl -X DELETE "http://localhost:20128/api/provider-models?provider=openai&model=gpt-5.2"
یا ڈیش بورڈ استعمال کریں: فراہم کنندگان → [فراہم کنندہ] → حسبِ ضرورت ماڈلز۔
نوٹس:
- OpenRouter اور OpenAI/Anthropic سے ہم آہنگ فراہم کنندگان کا نظم صرف دستیاب ماڈلز سے کیا جاتا ہے۔ دستی طور پر اضافہ، درآمد اور خودکار مطابقت پذیری، سبھی اسی دستیاب ماڈلز کی فہرست میں شامل ہوتے ہیں، اس لیے ان فراہم کنندگان کے لیے حسبِ ضرورت ماڈلز کا کوئی الگ سیکشن نہیں ہے۔
- حسبِ ضرورت ماڈلز کا سیکشن ان فراہم کنندگان کے لیے ہے جو منظم دستیاب ماڈلز کی درآمدات فراہم نہیں کرتے۔
OmniRoute پیئرز کی زنجیر بنانا
ایک اور OmniRoute گیٹ وے کو حسبِ ضرورت OpenAI سے ہم آہنگ فراہم کنندہ کے طور پر شامل کیا جا سکتا ہے۔ پیئر کا /v1 بنیادی URL اور اسی پیئر کی جانب سے جاری کردہ ایک مخصوص، کم از کم اختیارات والی API کلید استعمال کریں۔
باہمی یا متعدد مراحل والی زنجیروں کے لیے، ہر گیٹ وے پر اختیاری لوپ گارڈ فعال کریں:
# gateway-a
OMNIROUTE_INSTANCE_ID=gateway-a
OMNIROUTE_PEER_URLS=http://gateway-b:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
# gateway-b
OMNIROUTE_INSTANCE_ID=gateway-b
OMNIROUTE_PEER_URLS=http://gateway-a:20128/v1
OMNIROUTE_PEER_MAX_HOPS=4
صرف واضح طور پر اجازت یافتہ پیئر URL کو بھیجی گئی درخواستوں کو X-OmniRoute-Peer-Trace ہیڈر موصول ہوتا ہے۔ گیٹ وے مکرر instance ID یا ختم شدہ hop بجٹ کو HTTP 508 Loop Detected کے ساتھ مسترد کرتا ہے؛ عام اپ اسٹریم فراہم کنندگان کو کوئی پیئر میٹا ڈیٹا موصول نہیں ہوتا۔
پیئر چیننگ، ڈیٹابیس نقل سازی یا ہوسٹ فیل اوور نہیں ہے۔ ہر گیٹ وے آزاد SQLite حالت، کیشز، شرح کاؤنٹرز اور سیشنز رکھتا ہے۔ فعال/غیرفعال یا فعال/فعال دستیابی کے لیے صحت کی جانچ والا ریورس پراکسی یا کلائنٹ فیل اوور استعمال کریں، اور ایک SQLite ڈیٹابیس کو کبھی بھی متعدد چلتی ہوئی OmniRoute انسٹینسز میں ماؤنٹ نہ کریں۔
مخصوص فراہم کنندہ روٹس
ماڈل کی توثیق کے ساتھ درخواستوں کو براہِ راست کسی مخصوص فراہم کنندہ تک روٹ کریں:
POST http://localhost:20128/v1/providers/openai/chat/completions
POST http://localhost:20128/v1/providers/openai/embeddings
POST http://localhost:20128/v1/providers/fireworks/images/generations
اگر فراہم کنندہ کا سابقہ موجود نہ ہو تو یہ خودکار طور پر شامل کر دیا جاتا ہے۔ غیر موافق ماڈلز 400 واپس کرتے ہیں۔
نیٹ ورک پراکسی کی تشکیل
# عالمی پراکسی سیٹ کریں
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"global": {"type":"http","host":"proxy.example.com","port":"8080"}}'
# فی فراہم کنندہ پراکسی
curl -X PUT http://localhost:20128/api/settings/proxy \
-d '{"providers": {"openai": {"type":"socks5","host":"proxy.example.com","port":"1080"}}}'
# پراکسی کی جانچ کریں
curl -X POST http://localhost:20128/api/settings/proxy/test \
-d '{"proxy":{"type":"socks5","host":"proxy.example.com","port":"1080"}}'
ترجیحی ترتیب: کلید سے مخصوص → کومبو سے مخصوص → فراہم کنندہ سے مخصوص → عالمی → ماحول۔
ماڈل کیٹلاگ API
curl http://localhost:20128/api/models/catalog
فراہم کنندہ کے لحاظ سے گروپ کردہ ماڈلز کو اقسام (chat، embedding، image) کے ساتھ واپس کرتا ہے۔
کلاؤڈ مطابقت پذیری
- مختلف آلات میں فراہم کنندگان، کومبوز اور ترتیبات کی مطابقت پذیری کریں
- ٹائم آؤٹ اور فوری ناکامی کے ساتھ خودکار پسِ منظر مطابقت پذیری
- پروڈکشن میں سرور سائیڈ
NEXT_PUBLIC_BASE_URL/NEXT_PUBLIC_CLOUD_URLکو ترجیح دیں
Cloudflare فوری ٹنل
- Docker اور دیگر ذاتی طور پر ہوسٹ کردہ تعیناتیوں کے لیے ڈیش بورڈ → اینڈ پوائنٹس میں دستیاب ہے
- ایک عارضی
https://*.trycloudflare.comURL بناتا ہے جو آپ کے موجودہ OpenAI سے ہم آہنگ/v1اینڈ پوائنٹ کو درخواستیں بھیجتا ہے - پہلی بار فعال کرنے پر صرف ضرورت کے وقت
cloudflaredانسٹال ہوتا ہے؛ بعد میں دوبارہ شروع ہونے پر وہی منظم بائنری دوبارہ استعمال ہوتی ہے - OmniRoute یا کنٹینر دوبارہ شروع ہونے کے بعد فوری ٹنلز خودکار طور پر بحال نہیں ہوتیں؛ ضرورت پڑنے پر انہیں ڈیش بورڈ سے دوبارہ فعال کریں
- ٹنل URLs عارضی ہوتے ہیں اور ہر بار ٹنل روکنے/شروع کرنے پر تبدیل ہو جاتے ہیں
- محدود کنٹینرز میں شور پیدا کرنے والی QUIC UDP بفر وارننگز سے بچنے کے لیے منظم فوری ٹنلز بطور ڈیفالٹ HTTP/2 ٹرانسپورٹ استعمال کرتی ہیں
- اگر آپ منظم ٹرانسپورٹ کے انتخاب کو اوور رائیڈ کرنا چاہتے ہیں تو
CLOUDFLARED_PROTOCOL=quicیاautoسیٹ کریں - اگر آپ منظم ڈاؤن لوڈ کے بجائے پہلے سے انسٹال شدہ
cloudflaredبائنری استعمال کرنا چاہتے ہیں توCLOUDFLARED_BINسیٹ کریں - Cloudflare فوری ٹنل، Tailscale Funnel اور ngrok ٹنل پینلز کو ترتیبات → ظاہری شکل میں دکھایا یا چھپایا جا سکتا ہے۔ کسی پینل کو چھپانے سے چلتی ہوئی ٹنل بند نہیں ہوتی۔
LLM گیٹ وے انٹیلی جنس (مرحلہ 9)
- معنوی کیش — نان اسٹریمنگ، temperature=0 جوابات کو خودکار طور پر کیش کرتا ہے (
X-OmniRoute-No-Cache: trueکے ذریعے نظر انداز کریں) - درخواست کی تکرار سے تحفظ —
Idempotency-KeyیاX-Request-Idہیڈر کے ذریعے 5s کے اندر درخواستوں کی تکرار ختم کرتا ہے - پیش رفت کی ٹریکنگ —
X-OmniRoute-Progress: trueہیڈر کے ذریعے اختیاری SSEevent: progressواقعات
مترجم پلے گراؤنڈ
ڈیش بورڈ → مترجم کے ذریعے رسائی حاصل کریں۔ ڈیبگ کریں اور دیکھیں کہ OmniRoute فراہم کنندگان کے درمیان API درخواستوں کا ترجمہ کیسے کرتا ہے۔
| موڈ | مقصد |
|---|---|
| پلے گراؤنڈ | ماخذ/ہدف فارمیٹس منتخب کریں، درخواست پیسٹ کریں اور ترجمہ شدہ آؤٹ پٹ فوراً دیکھیں |
| چیٹ ٹیسٹر | پراکسی کے ذریعے لائیو چیٹ پیغامات بھیجیں اور درخواست/جواب کے مکمل چکر کا معائنہ کریں |
| ٹیسٹ بینچ | ترجمے کی درستگی کی توثیق کے لیے متعدد فارمیٹ امتزاجوں میں بیچ ٹیسٹس چلائیں |
| لائیو مانیٹر | پراکسی سے درخواستیں گزرتے وقت حقیقی وقت کے تراجم دیکھیں |
استعمال کے مواقع:
- ڈیبگ کریں کہ مخصوص کلائنٹ/فراہم کنندہ کا امتزاج کیوں ناکام ہوتا ہے
- تصدیق کریں کہ thinking tags، tool calls اور system prompts کا ترجمہ درست طور پر ہوتا ہے
- OpenAI، Claude، Gemini اور Responses API فارمیٹس کے درمیان فارمیٹ کے اختلافات کا موازنہ کریں
روٹنگ کی حکمتِ عملیاں
Dashboard → Settings → Routing کے ذریعے ترتیب دیں۔ ڈیش بورڈ چھ سب سے زیادہ استعمال ہونے والی حکمتِ عملیاں دکھاتا ہے؛ combos اور auto-router اندرونی طور پر زیادہ وسیع مجموعے کی معاونت کرتے ہیں۔
ڈیش بورڈ پر نظر آنے والی حکمتِ عملیاں (اکاؤنٹ کی سطح کی راؤٹنگ):
| حکمتِ عملی | تفصیل |
|---|---|
| پہلے پُر کریں | اکاؤنٹس کو ترجیحی ترتیب میں استعمال کرتا ہے — بنیادی اکاؤنٹ عدم دستیابی تک تمام درخواستیں سنبھالتا ہے |
| راؤنڈ رابن | قابلِ ترتیب sticky حد کے ساتھ تمام اکاؤنٹس کو باری باری استعمال کرتا ہے (ڈیفالٹ: فی اکاؤنٹ 3 کالز) |
| P2C (دو انتخاب کی طاقت) | 2 بے ترتیب اکاؤنٹس منتخب کرتا ہے اور زیادہ صحت مند اکاؤنٹ کی طرف راؤٹ کرتا ہے — صحت کو مدِنظر رکھتے ہوئے لوڈ متوازن کرتا ہے |
| بے ترتیب | Fisher-Yates shuffle استعمال کرتے ہوئے ہر درخواست کے لیے بے ترتیب طور پر ایک اکاؤنٹ منتخب کرتا ہے |
| سب سے کم استعمال شدہ | سب سے پرانے lastUsedAt ٹائم اسٹیمپ والے اکاؤنٹ کی طرف راؤٹ کرتا ہے، جس سے ٹریفک یکساں طور پر تقسیم ہوتی ہے |
| لاگت کے لحاظ سے موزوں | سب سے کم ترجیحی قدر والے اکاؤنٹ کی طرف راؤٹ کرتا ہے، تاکہ سب سے کم لاگت والے فراہم کنندگان کو ترجیح دی جا سکے |
جدید combo اور auto حکمتِ عملیاں (ہر combo کے لیے یا auto/* سابقوں کے ذریعے قابلِ ترتیب — AUTO-COMBO.md دیکھیں):
priority— سخت ترتیب، کبھی round-robin استعمال نہیں کرتاweighted— ہر ماڈل کے weights کے مطابق ٹریفک کی متناسب تقسیمfill-first— حدود تک پہنچنے تک پہلے ماڈل کو مکمل طور پر استعمال کرتا ہےround-robin/strict-random/randomp2c(دو انتخاب کی طاقت)least-usedاورcost-optimizedauto— تمام امیدواروں میں اسکور کی بنیاد پر انتخابlkgp(آخری معلوم اچھا فراہم کنندہ) — آخری کامیاب فراہم کنندہ کو مقرر رکھتا ہے، پھر قواعد پر fallback کرتا ہےcontext-optimized— سب سے بڑی خالی context window والا ماڈل منتخب کرتا ہےcontext-relay— بعد کے turns کے لیے طویل context والے ماڈلز کو زنجیر کی صورت میں استعمال کرتا ہے
بیرونی Sticky Session Header
بیرونی session affinity کے لیے (مثلاً reverse proxies کے پیچھے Claude Code/Codex agents)، یہ بھیجیں:
X-Session-Id: your-session-key
OmniRoute، x_session_id بھی قبول کرتا ہے اور مؤثر session key کو X-OmniRoute-Session-Id میں واپس بھیجتا ہے۔
اگر آپ Nginx استعمال کرتے ہیں اور underscore طرز کے headers بھیجتے ہیں تو یہ فعال کریں:
underscores_in_headers on;
Wildcard ماڈل Aliases
ماڈل کے ناموں کو remap کرنے کے لیے wildcard patterns بنائیں:
Pattern: claude-sonnet-* → Target: cc/claude-sonnet-4-6
Pattern: gpt-* → Target: gh/gpt-5.3-codex
Wildcards میں * (کوئی بھی حروف) اور ? (ایک حرف) کی معاونت موجود ہے۔
Fallback زنجیریں
تمام درخواستوں پر لاگو ہونے والی عالمی fallback زنجیریں متعین کریں:
Chain: production-fallback
1. cc/claude-opus-4-7
2. gh/gpt-5.3-codex
3. glm/glm-4.7
لچک اور Circuit Breakers
Dashboard → Settings → Resilience کے ذریعے ترتیب دیں۔
OmniRoute پانچ اجزا کے ساتھ فراہم کنندہ کی سطح پر لچک نافذ کرتا ہے:
-
درخواست کی قطار اور رفتار بندی — سسٹم کی سطح پر درخواستوں کی تشکیل:
- درخواستیں فی منٹ (RPM) — فی اکاؤنٹ فی منٹ درخواستوں کی زیادہ سے زیادہ تعداد
- درخواستوں کے درمیان کم از کم وقت — درخواستوں کے درمیان milliseconds میں کم از کم وقفہ
- زیادہ سے زیادہ بیک وقت درخواستیں — فی اکاؤنٹ بیک وقت درخواستوں کی زیادہ سے زیادہ تعداد
-
کنکشن Cooldown — دوبارہ کوشش کے قابل ناکامیوں کے بعد کسی ایک کنکشن کے لیے ہر auth-type کی الگ ترتیب:
- بنیادی Cooldown — دوبارہ کوشش کے قابل upstream ناکامیوں کے لیے ڈیفالٹ cooldown مدت
- Upstream Retry Hints استعمال کریں — دستیابی کی صورت میں مستند
Retry-Afterیا reset hints کا احترام کرتا ہے - زیادہ سے زیادہ Backoff Steps — مسلسل ناکامیوں کے لیے exponential backoff کی زیادہ سے زیادہ سطح
-
فراہم کنندہ Circuit Breaker — فراہم کنندہ کی ابتدا سے انتہا تک ہونے والی ناکامیوں کو ٹریک کرتا ہے، ترتیب شدہ انتباہی حد پر فراہم کنندہ کو degraded نشان زد کرتا ہے، اور ترتیب شدہ ناکامی کی حد تک پہنچنے پر breaker کھول دیتا ہے:
- تنزلی کی حد —
DEGRADEDحالت میں داخل ہونے سے پہلے فراہم کنندہ کی مسلسل ناکامیوں کی تعداد - ناکامی کی حد —
OPENحالت میں داخل ہونے سے پہلے فراہم کنندہ کی مسلسل ناکامیوں کی تعداد - Reset Timeout — فراہم کنندہ کو دوبارہ آزمانے سے پہلے کا دورانیہ
- CLOSED (صحت مند) — درخواستیں معمول کے مطابق چلتی ہیں
- DEGRADED — بڑھتی ہوئی ناکامیوں کو ٹریک کرتے ہوئے درخواستیں جاری رہتی ہیں
- OPEN — مسلسل ناکامیوں کے بعد فراہم کنندہ کو عارضی طور پر مسدود کر دیا جاتا ہے
- HALF_OPEN — جانچ کی جا رہی ہے کہ آیا فراہم کنندہ بحال ہو چکا ہے
کنکشن کے دائرۂ کار میں آنے والی
429rate limits، کنکشن Cooldown میں رہتی ہیں اور فراہم کنندہ breaker میں شمار نہیں ہوتیں۔فراہم کنندہ breaker کی runtime حالت صرف Dashboard → Health پر دکھائی جاتی ہے۔
- تنزلی کی حد —
-
Cooldown کا انتظار کریں — اگر ہر امیدوار کنکشن پہلے ہی cooldown میں ہو تو OmniRoute قریب ترین cooldown ختم ہونے کا انتظار کر سکتا ہے اور اسی client درخواست کو خودکار طور پر دوبارہ آزما سکتا ہے۔
-
Rate Limit کی خودکار شناخت — جب upstream فراہم کنندگان واضح انتظار کی مدت واپس کرتے ہیں تو ترتیب فعال ہونے کی صورت میں وہ hints مقامی کنکشن cooldown پر فوقیت رکھتے ہیں۔
ماہرانہ مشورہ: outage کے بعد فعال فراہم کنندہ breakers کا معائنہ کرنے اور انہیں reset کرنے کے لیے Health صفحہ استعمال کریں۔ Resilience صفحہ صرف ترتیب تبدیل کرتا ہے۔
ڈیٹابیس Export / Import
ڈیٹابیس backups کو Dashboard → Settings → System & Storage میں منظم کریں۔
| کارروائی | تفصیل |
|---|---|
| ڈیٹابیس برآمد کریں | موجودہ SQLite ڈیٹابیس کو .sqlite فائل کے طور پر ڈاؤن لوڈ کرتا ہے |
| سب کچھ برآمد کریں (.tar.gz) | ایک مکمل بیک اپ آرکائیو ڈاؤن لوڈ کرتا ہے جس میں شامل ہیں: ڈیٹابیس، ترتیبات، کمبوز، فراہم کنندہ کنکشنز (اسناد کے بغیر)، API کلید کا میٹا ڈیٹا |
| ڈیٹابیس درآمد کریں | موجودہ ڈیٹابیس کو تبدیل کرنے کے لیے .sqlite فائل اپ لوڈ کرتا ہے۔ درآمد سے پہلے ایک بیک اپ خودکار طور پر بنایا جاتا ہے، الا یہ کہ DISABLE_SQLITE_AUTO_BACKUP=true ہو |
# API: ڈیٹابیس برآمد کریں
curl -o backup.sqlite http://localhost:20128/api/db-backups/export
# API: سب کچھ برآمد کریں (مکمل آرکائیو)
curl -o backup.tar.gz http://localhost:20128/api/db-backups/exportAll
# API: ڈیٹابیس درآمد کریں
curl -X POST http://localhost:20128/api/db-backups/import \
-F "file=@backup.sqlite"
درآمد کی توثیق: درآمد شدہ فائل کی سالمیت (SQLite pragma جانچ)، مطلوبہ ٹیبلز (provider_connections، provider_nodes، combos، api_keys) اور حجم (زیادہ سے زیادہ 100MB) کی توثیق کی جاتی ہے۔
استعمال کے حالات:
- OmniRoute کو مشینوں کے درمیان منتقل کریں
- آفت سے بحالی کے لیے بیرونی بیک اپ بنائیں
- ٹیم کے اراکین کے درمیان تشکیلات کا اشتراک کریں (سب کچھ برآمد کریں → آرکائیو شیئر کریں)
ترتیبات کا ڈیش بورڈ
آسان نیویگیشن کے لیے ترتیبات کا صفحہ 7 ٹیبز میں منظم کیا گیا ہے:
| ٹیب | مندرجات |
|---|---|
| عمومی | سسٹم اسٹوریج ٹولز، ڈیفالٹ طرزِ عمل، Endpoint ٹنل کی مرئیت |
| ظاہری شکل | تھیم کنٹرولز (روشن/تاریک/سسٹم)، سائیڈ بار کی مرئیت، Cloudflare/Tailscale/ngrok ٹنل کارڈز کے لیے پینل ٹوگلز |
| AI | تھنکنگ بجٹ (جوں کا توں آگے بھیجنا / خودکار اخراج / حسبِ ضرورت / موافق — THINKING_BUDGET.md دیکھیں)، عالمی سسٹم پرامپٹ، پرامپٹ کیش کے اعداد و شمار |
| سیکیورٹی | لاگ اِن/پاس ورڈ کی ترتیبات، IP رسائی کنٹرول، /models کے لیے API توثیق، فراہم کنندہ بلاکنگ، پرامپٹ انجیکشن سے تحفظ |
| روٹنگ | عالمی روٹنگ حکمتِ عملی (پہلے پُر کریں / راؤنڈ رابن / P2C / بے ترتیب / سب سے کم استعمال شدہ / لاگت کے لحاظ سے موزوں)، وائلڈ کارڈ ماڈل عرف، فال بیک سلسلے، کمبو ڈیفالٹس |
| لچک پذیری | درخواستوں کی قطار، کنکشن کول ڈاؤن، فراہم کنندہ بریکر کی تشکیل، اور کول ڈاؤن کے انتظار کا طرزِ عمل |
| اعلیٰ ترتیبات | عالمی پراکسی تشکیل (HTTP/SOCKS5)، ہر فراہم کنندہ کے لیے پراکسی اوور رائیڈز |
عمومی ٹیب میں اب صرف پڑھنے کے قابل لاگنگ اور کیش کے نوٹس کی نقل موجود نہیں۔ ڈیٹابیس برقرار رکھنے اور
بہتر بنانے کی ترتیبات /api/settings/database کے ذریعے محفوظ کی جاتی ہیں؛ کیش کو دستی طور پر صاف کرنے کے لیے
DELETE /api/cache استعمال ہوتا ہے۔ درخواست اور پراکسی لاگ کی قطاروں کی زیادہ سے زیادہ حدود کو
CALL_LOGS_TABLE_MAX_ROWS اور PROXY_LOGS_TABLE_MAX_ROWS کنٹرول کرتے ہیں۔
لاگت اور بجٹ کا انتظام
ڈیش بورڈ → لاگت کے ذریعے رسائی حاصل کریں۔
| ٹیب | مقصد |
|---|---|
| بجٹ | ہر API کلید کے لیے یومیہ/ہفتہ وار/ماہانہ بجٹ اور حقیقی وقت کی نگرانی کے ساتھ اخراجات کی حدیں مقرر کریں |
| قیمتیں | ماڈل کی قیمتوں کے اندراجات دیکھیں اور ان میں ترمیم کریں — ہر فراہم کنندہ کے لیے فی 1K ان پٹ/آؤٹ پٹ ٹوکنز کی لاگت |
# API: بجٹ مقرر کریں
curl -X POST http://localhost:20128/api/usage/budget \
-H "Content-Type: application/json" \
-d '{"keyId": "key-123", "limit": 50.00, "period": "monthly"}'
# API: بجٹ کی موجودہ حالت حاصل کریں
curl http://localhost:20128/api/usage/budget
لاگت کی نگرانی: ہر درخواست ٹوکن کے استعمال کو لاگ کرتی ہے اور قیمتوں کے جدول کے مطابق لاگت کا حساب لگاتی ہے۔ فراہم کنندہ، ماڈل اور API کلید کے لحاظ سے تفصیلات ڈیش بورڈ → استعمال میں دیکھیں۔
آڈیو ٹرانسکرپشن
OmniRoute، OpenAI سے ہم آہنگ endpoint کے ذریعے آڈیو ٹرانسکرپشن کی معاونت کرتا ہے:
POST /v1/audio/transcriptions
Authorization: Bearer your-api-key
Content-Type: multipart/form-data
# curl کے ساتھ مثال
curl -X POST http://localhost:20128/v1/audio/transcriptions \
-H "Authorization: Bearer your-api-key" \
-F "file=@audio.mp3" \
-F "model=openai/whisper-1"
deepgram/nova-3، Deepgram کا مقامی روٹ ہے اور اسے Deepgram API کلید درکار ہوتی ہے۔
اگر صرف OpenRouter تشکیل شدہ ہے تو openrouter/deepgram/nova-3 استعمال کریں۔
گفتار سے متن (ٹرانسکرپشن) کے فراہم کنندگان:
openai/(whisper سے ہم آہنگ)groq/(Groq Whisper Turbo)deepgram/(Nova فیملی)assemblyai/nvidia/(Parakeet، Canary)huggingface/(whisper کی اقسام)qwen/
متن سے گفتار (POST /v1/audio/speech) کے فراہم کنندگان:
openai/(tts-1، tts-1-hd)hyperbolic/deepgram/(Aura)nvidia/(Magpie TTS)elevenlabs/huggingface/inworld/cartesia/playht/kie/aws-polly/xiaomi-mimo/coqui/،tortoise/qwen/
ٹرانسکرپشن کے لیے معاون آڈیو فارمیٹس: mp3، wav، m4a، flac، ogg، webm۔ TTS آؤٹ پٹ فارمیٹس فراہم کنندہ پر منحصر ہوتے ہیں (mp3، wav، opus، pcm، mulaw)۔
کمبو توازن کی حکمتِ عملیاں
ہر کمبو کے لیے توازن کو ڈیش بورڈ → کمبوز → بنائیں/ترمیم کریں → حکمتِ عملی میں تشکیل دیں۔
| حکمتِ عملی | تفصیل |
|---|---|
| راؤنڈ روبن | ماڈلز کو ترتیب وار باری باری استعمال کرتا ہے |
| ترجیح | ہمیشہ پہلے ماڈل کو آزماتا ہے؛ صرف خرابی کی صورت میں متبادل استعمال کرتا ہے |
| بے ترتیب | ہر درخواست کے لیے کومبو سے ایک بے ترتیب ماڈل منتخب کرتا ہے |
| وزنی | ہر ماڈل کو تفویض کردہ وزن کے تناسب سے روٹنگ کرتا ہے |
| کم ترین استعمال شدہ | حالیہ درخواستوں کی سب سے کم تعداد والے ماڈل کی طرف روٹنگ کرتا ہے (کومبو میٹرکس استعمال کرتا ہے) |
| لاگت کے لحاظ سے موزوں | دستیاب سب سے سستے ماڈل کی طرف روٹنگ کرتا ہے (قیمتوں کا جدول استعمال کرتا ہے) |
عالمی کومبو ڈیفالٹس کو Dashboard → Settings → Routing → Combo Defaults میں مقرر کیا جا سکتا ہے۔ کومبو ہدف کے ٹائم آؤٹس بطور ڈیفالٹ موجودہ درخواست کا ٹائم آؤٹ وراثت میں لیتے ہیں۔ کومبو ڈیفالٹس یا کسی انفرادی کومبو پر Target timeout (seconds) صرف اس وقت استعمال کریں جب فی ہدف مختصر حد کے ذریعے زیادہ تیزی سے متبادل پر منتقلی مطلوب ہو۔
صفر تاخیر والی کومبو آپٹیمائزیشنز اختیاری ہیں۔ ان تاخیری خصوصیات کو متبادل اہداف کے ساتھ مقابلہ کرنے، TTFT کی سابقہ معلومات کی بنیاد پر اہداف کو چھوڑنے، یا متبادل درخواستوں کو سکیڑنے سے روکنے کے لیے Zero-latency optimizations کو غیر فعال رہنے دیں؛ اسے فعال کرنے سے تشکیل شدہ ہیجنگ، پیش گوئی پر مبنی TTFT اسکپس، اور پیشگی متبادل کمپریشن کو کم ٹیل لیٹنسی کے عوض روٹنگ/درخواست کی وفاداری میں کمی کرنے کی اجازت ملتی ہے۔
جب اپ اسٹریم فراہم کنندگان کو سخت
max_tokens / maxOutputTokens حدود درکار ہوں تو Reasoning token buffer کو غیر فعال کریں۔ فعال ہونے پر، کومبو روٹنگ صرف معلوم آؤٹ پٹ حد رکھنے والے ماڈلز کے لیے ریزننگ ماڈل کی
اضافی گنجائش شامل کرتی ہے، اور جب محفوظ بفر شدہ قدر اس حد سے تجاوز کرے تو کلائنٹ کی ٹوکن حد میں کوئی تبدیلی نہیں کرتی۔ اگر کلائنٹ کی حد پہلے ہی معلوم حد سے زیادہ ہو،
تو OmniRoute اپ اسٹریم درخواست بھیجنے سے پہلے اسے کم کرکے اسی حد تک محدود کر دیتا ہے۔
صحت کا ڈیش بورڈ
Dashboard → Health کے ذریعے رسائی حاصل کریں۔ 6 کارڈز کے ساتھ نظام کی صحت کا حقیقی وقت کا جائزہ:
| کارڈ | یہ کیا دکھاتا ہے |
|---|---|
| نظام کی حالت | اپ ٹائم، ورژن، میموری کا استعمال، ڈیٹا ڈائریکٹری |
| فراہم کنندہ کی صحت | عالمی فراہم کنندہ سرکٹ بریکر کی رن ٹائم حالت |
| شرح کی حدود | باقی وقت سمیت ہر اکاؤنٹ کے فعال کنکشن کول ڈاؤنز |
| فعال لاک آؤٹس | فعال ماڈل کے دائرۂ کار والے لاک آؤٹس اور عارضی اخراجات |
| سگنیچر کیش | ڈی ڈپلیکیشن کیش کے اعداد و شمار (فعال کلیدیں، ہٹ ریٹ) |
| تاخیر کی ٹیلی میٹری | ہر فراہم کنندہ کے لیے p50/p95/p99 تاخیر کی مجموعی معلومات |
ماہرانہ مشورہ: صحت کا صفحہ ہر 10 سیکنڈ بعد خودکار طور پر تازہ ہوتا ہے۔ یہ شناخت کرنے کے لیے سرکٹ بریکر کارڈ استعمال کریں کہ کن فراہم کنندگان کو مسائل کا سامنا ہے۔
🤖 خودکار روٹنگ (صفر کنفیگریشن)
OmniRoute ایک اسکور پر مبنی خودکار راؤٹر کے ساتھ آتا ہے جو تمام منسلک فراہم کنندگان میں سے ہر درخواست کے لیے بہترین ماڈل منتخب کرتا ہے — برقرار رکھنے کے لیے کسی کومبو کی ضرورت نہیں۔ بس auto/* سابقوں میں سے کسی ایک کے ساتھ درخواست بھیجیں، اور OmniRoute فوری طور پر ایک ورچوئل کومبو تشکیل دے گا، جس میں امیدواروں کو تاخیر، لاگت، کامیابی کی شرح، سیاق سے مطابقت، کام کے لیے ماڈل کی موزونیت، حالیہ ناکامیوں، کوٹے، اور سرکٹ بریکر کی حالت کی بنیاد پر اسکور کیا جائے گا۔
| سابقہ | کس چیز کے لیے بہتر بناتا ہے |
|---|---|
auto |
متوازن ڈیفالٹ (تاخیر × لاگت × کامیابی کی شرح) |
auto/coding |
کوڈنگ کے کام: Claude، GPT-5، GLM، Kimi، Qwen Coder، اور DeepSeek کوڈرز کو ترجیح دیتا ہے |
auto/cheap |
سب سے کم $/token، زیادہ تاخیر قبول کرتا ہے |
auto/fast |
سب سے کم تاخیر، لاگت کو نظر انداز کرتا ہے |
auto/offline |
صرف مقامی فراہم کنندگان (Ollama، vLLM، llama.cpp) — ایئر گیپڈ سیٹ اپس کے لیے مفید |
auto/smart |
استدلال کے معیار کو اولین ترجیح (Opus، GPT-5 xhigh، R1، GLM 5.1 reasoning) |
auto/lkgp |
"آخری معلوم موزوں فراہم کنندہ" — آخری کامیاب فراہم کنندہ کو برقرار رکھتا ہے، پھر قواعد کو بطور متبادل استعمال کرتا ہے |
مثال:
curl -X POST http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer $OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto/coding",
"messages": [{ "role": "user", "content": "Refactor this Python function" }],
"stream": true
}'
خودکار راؤٹر کی مکمل تفصیل AUTO-COMBO.md میں موجود ہے — جس میں اسکورنگ کے اوزان کو ایڈجسٹ کرنے، فراہم کنندگان کو بلیک لسٹ کرنے، اور ڈیش بورڈ → خودکار کومبو میں روٹنگ کے فیصلوں کا معائنہ کرنے کا طریقہ بھی شامل ہے۔
🔌 MCP اور A2A انضمام
OmniRoute بیک وقت ایک MCP سرور (Model Context Protocol) اور ایک A2A سرور (Agent-to-Agent JSON-RPC 2.0) ہے۔ کوئی بھی MCP سے مطابقت رکھنے والا IDE یا ایجنٹ ہوسٹ براہِ راست OmniRoute ٹولز کو کال کر سکتا ہے — کسی اضافی ریپر کی ضرورت نہیں۔
MCP ٹرانسپورٹس
- SSE:
http://localhost:20128/api/mcp/sse - اسٹریمیبل HTTP:
http://localhost:20128/api/mcp/stream - stdio:
omniroute --mcp(ان IDE پلگ اِنز کے لیے جو stdio کو ترجیح دیتے ہیں)
Claude Desktop کو منسلک کریں
macOS پر ~/Library/Application Support/Claude/claude_desktop_config.json یا Windows/Linux پر اس کے مساوی مقام میں ترمیم کریں:
{
"mcpServers": {
"omniroute": {
"command": "omniroute",
"args": ["--mcp"]
}
}
}
Cursor / Continue / VS Code MCP کو منسلک کریں
SSE URL http://localhost:20128/api/mcp/sse اور ڈیش بورڈ → API کلیدیں میں تیار کردہ Bearer API کلید استعمال کریں۔
دائرۂ کار
MCP فی الحال 32 نام زدہ دائرۂ کار متعین کرتا ہے۔ ہر Bearer کلید کو مخصوص دائروں تک محدود کیا جا سکتا ہے — مستند دائروں اور ٹولز کی فہرست کے لیے MCP-SERVER.md اور JSON-RPC اسکیما کے لیے A2A-SERVER.md دیکھیں۔
🧠 مہارتوں کا نظام
OmniRoute ایک قابلِ توسیع مہارتوں کا فریم ورک (src/lib/skills/) فراہم کرتا ہے تاکہ ایجنٹس اور A2A اینڈ پوائنٹ مخصوص شعبوں کے معمولات چلا سکیں (مثلاً code-review، summarize، extract-facts، web-research)۔
- مارکیٹ پلیس UI — Dashboard → Skills سے مہارتیں براؤز اور انسٹال کریں
- فی کلید اسکوپس — محدود کریں کہ کون سی API keys کن مہارتوں کو استعمال کر سکتی ہیں
- حسبِ ضرورت مہارتیں —
src/lib/a2a/skills/میں ایک TypeScript فائل رکھیں، اسے رجسٹر کریں، اور وہ فوراً A2A کے ذریعے قابلِ استعمال ہو جائے گی
مکمل حوالہ: SKILLS.md۔
💾 میموری سسٹم
OmniRoute ہائبرڈ بازیافت کے ساتھ طویل مدتی مکالماتی میموری محفوظ رکھتا ہے:
- گزشتہ گفتگوؤں میں کلیدی الفاظ کی تلاش کے لیے SQLite FTS5
- معنوی یادآوری کے لیے Qdrant vector store (اختیاری)
- حقائق کا خودکار استخراج — ہر سیشن کے بعد entities، ترجیحات اور فیصلوں کا خلاصہ بنا کر انہیں
memory_factsٹیبل میں محفوظ کیا جاتا ہے - میموریز کو ہر API key اور ہر سیشن کے لحاظ سے محدود کیا جاتا ہے
میموریز کو Dashboard → Memory میں منظم کریں (تلاش، ترمیم، ایکسپورٹ، مستقل حذف)۔ HTTP انٹرفیس (/api/memory/*) ایجنٹس کو پروگرام کے ذریعے حقائق شامل کرنے اور دریافت کرنے کی سہولت دیتا ہے — دیکھیے MEMORY.md۔
🔔 Webhooks
حقیقی وقت کی نگرانی اور آٹومیشن کے لیے OmniRoute ایونٹس کو سبسکرائب کریں۔
- ہدف URL اور HMAC سائننگ سیکرٹ کے ساتھ Dashboard → Webhooks میں ایک webhook بنائیں
- دستیاب ایونٹس:
request.completed،request.failed،provider.unavailable،budget.exceeded،combo.switched،circuit_breaker.opened،circuit_breaker.closed - تصدیق کے لیے ہر payload میں
X-OmniRoute-Signature(HMAC-SHA256) شامل ہوتا ہے - دوبارہ کوششیں: exponential backoff کے ساتھ 3 کوششیں، پھر dead-letter queue
مکمل schema کے لیے WEBHOOKS.md دیکھیں۔
☁️ کلاؤڈ ایجنٹس
OmniRoute کلاؤڈ کوڈنگ ایجنٹس (OpenAI Codex Cloud، Devin، Jules، Antigravity) کے ساتھ ضم ہوتا ہے، تاکہ آپ اسی dashboard سے طویل دورانیے کے ٹاسکس روانہ کر سکیں جو آپ کی مقامی routing کو سنبھالتا ہے۔
- Dashboard → Cloud Agents میں یا
POST /api/v1/agents/tasksکے ذریعے ٹاسکس بنائیں - ہر ٹاسک کی حیثیت، logs اور artifacts کو ٹریک کریں
- ہر provider کے لیے اپنی API key استعمال کریں — اسناد کبھی بھی OmniRoute instance سے باہر نہیں جاتیں
مکمل حوالہ: CLOUD_AGENT.md۔
🛠️ پروگراماتی نظم و نسق
آپ manage scope والی Bearer key استعمال کرتے ہوئے HTTP کے ذریعے OmniRoute کے ہر resource (providers، combos، keys، settings) کو منظم کر سکتے ہیں۔
کلید Dashboard → API Keys → New Key → Scope: manage میں بنائیں، پھر:
# providers کی فہرست دکھائیں
curl http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
# provider کا connection شامل کریں
curl -X POST http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "provider": "openai", "apiKey": "sk-...", "name": "main" }'
# combo بنائیں
curl -X POST http://localhost:20128/api/combos \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "premium", "strategy": "priority", "models": [{ "model": "cc/claude-opus-4-7" }, { "model": "glm/glm-5.1" }] }'
# API keys کی فہرست دکھائیں/بنائیں
curl http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
curl -X POST http://localhost:20128/api/keys -H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY" \
-d '{ "name": "ci-bot", "scopes": ["chat"] }'
مکمل endpoint کیٹلاگ اور request/response schemas کے لیے API_REFERENCE.md دیکھیں۔
💻 داخلی CLI
OmniRoute سیٹ اپ، تشخیص، اور رن ٹائم کنٹرول کے لیے ایک داخلی CLI (omniroute …) کے ساتھ آتا ہے۔ یہ ڈیش بورڈ میں موجود "CLI ٹولز" صفحے سے الگ ہے، جو فریقِ ثالث کے CLIs (Claude Code، Cursor، Codex، Cline، …) کو اس طرح ترتیب دیتا ہے کہ وہ OmniRoute سے رابطہ کر سکیں۔
omniroute setup # انٹرایکٹو وزارڈ (پاس ورڈ، فراہم کنندگان، کومبوز)
omniroute setup --non-interactive # CI کے لیے موزوں
omniroute doctor # صحت کی تشخیص (ڈیٹا ڈائریکٹری، DB، فراہم کنندگان، پورٹس)
omniroute providers available # معاونت یافتہ فراہم کنندگان کی فہرست
omniroute providers list # ترتیب دیے گئے کنکشنز کی فہرست
omniroute providers test <id> # فراہم کنندہ کے کنکشن کا لائیو ٹیسٹ
omniroute combos list # کومبوز کی فہرست
omniroute combos switch <name> # ڈیفالٹ کومبو مقرر کریں
omniroute models # دستیاب ماڈلز کی فہرست (--json، --search)
omniroute keys add | list | remove # ٹرمینل سے API کلیدوں کا نظم کریں
omniroute backup # کنفیگریشن + DB کا اسنیپ شاٹ
omniroute restore [<timestamp>] # اسنیپ شاٹ سے بحال کریں
omniroute health # تفصیلی صحت کی معلومات (بریکرز، کیش، میموری)
omniroute quota # فراہم کنندہ کے کوٹے کا استعمال
omniroute mcp status # MCP سرور کی حیثیت
omniroute a2a status # A2A سرور کی حیثیت
omniroute tunnel list|create|stop # Cloudflare/Tailscale/ngrok ٹنلز
omniroute reset-password # ایڈمن پاس ورڈ ری سیٹ کریں
omniroute --mcp # stdio پر MCP سرور شروع کریں
omniroute --port 3000 # سرور کو حسبِ ضرورت پورٹ پر شروع کریں
مشورہ: غیر صحت مند فراہم کنندہ کنکشنز پر الرٹ حاصل کرنے کے لیے omniroute doctor --json کو اپنے مانیٹرنگ ٹول کے ساتھ استعمال کریں۔
🖥️ ڈیسک ٹاپ ایپلیکیشن (Electron)
OmniRoute، Windows، macOS، اور Linux کے لیے ایک مقامی ڈیسک ٹاپ ایپلیکیشن کے طور پر دستیاب ہے۔
تنصیب
# electron ڈائریکٹری سے:
cd electron
npm install
# ڈیولپمنٹ موڈ (چلتے ہوئے Next.js ڈیولپمنٹ سرور سے منسلک ہوتا ہے):
npm run dev
# پروڈکشن موڈ (اسٹینڈ الون بِلڈ استعمال کرتا ہے):
npm start
انسٹالرز بنانا
cd electron
npm run build # موجودہ پلیٹ فارم
npm run build:win # Windows (.exe NSIS)
npm run build:mac # macOS (.dmg یونیورسل)
npm run build:linux # Linux (.AppImage)
آؤٹ پٹ → electron/dist-electron/
اہم خصوصیات
| خصوصیت | تفصیل |
|---|---|
| سرور کی تیاری | ونڈو دکھانے سے پہلے سرور کو پول کرتا ہے (خالی اسکرین نہیں) |
| سسٹم ٹرے | ٹرے میں منیمائز کریں، پورٹ تبدیل کریں، ٹرے مینو سے بند کریں |
| پورٹ مینجمنٹ | ٹرے سے سرور پورٹ تبدیل کریں (سرور خودکار طور پر دوبارہ شروع ہوتا ہے) |
| مواد کی سیکیورٹی پالیسی | سیشن ہیڈرز کے ذریعے محدود CSP |
| واحد انسٹینس | ایک وقت میں ایپ کا صرف ایک انسٹینس چل سکتا ہے |
| آف لائن موڈ | بنڈل شدہ Next.js سرور انٹرنیٹ کے بغیر کام کرتا ہے |
ماحولیاتی متغیرات
| متغیر | ڈیفالٹ | تفصیل |
|---|---|---|
OMNIROUTE_PORT |
20128 |
سرور پورٹ |
OMNIROUTE_MEMORY_MB |
512 |
Node.js ہیپ کی حد (64–16384 MB) |
📖 مکمل دستاویزات: electron/README.md