🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇭🇷 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 · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇭🇷 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 · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
प्रदाताओं को कॉन्फ़िगर करने, कॉम्बो बनाने, 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 |
समस्या: कोटा बिना उपयोग किए समाप्त हो जाता है, गहन कोडिंग के दौरान दर सीमाएँ लागू हो जाती हैं
कॉम्बो: "maximize-claude"
1. cc/claude-opus-4-7 (सदस्यता का पूरा उपयोग करें)
2. glm/glm-4.7 (कोटा समाप्त होने पर किफ़ायती बैकअप)
3. if/qwen3.8-max-preview (आपात स्थिति के लिए निःशुल्क फ़ॉलबैक)
मासिक लागत: $20 (सदस्यता) + ~$5 (बैकअप) = कुल $25
बनाम $20 + सीमाओं से टकराना = निराशा
समस्या: सदस्यताएँ वहन नहीं कर सकता, विश्वसनीय AI कोडिंग की आवश्यकता है
कॉम्बो: "zero-cost"
1. if/kimi-k2.7-code (सूचीबद्ध निःशुल्क एक्सेस; दर सीमाएँ लागू हो सकती हैं)
2. kr/qwen3-coder-next (Kiro का निःशुल्क फ़ॉलबैक)
मासिक लागत: $0
गुणवत्ता: अपने कार्यभार के लिए मॉडल, सीमाओं, गोपनीयता और SLA को सत्यापित करें
समस्या: समय-सीमाएँ हैं, डाउनटाइम वहन नहीं कर सकता
कॉम्बो: "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 (बैकअप)
समस्या: मैसेजिंग ऐप्स में पूरी तरह निःशुल्क 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-कुंजी कनेक्शन थोक में जोड़ने के लिए, डैशबोर्ड → प्रदाता → फ़ाइल से आयात करें का उपयोग करें। कॉलम की स्थिति निर्धारित है (provider,name,apiKey,baseUrl,priority); provider पहले से एक प्रबंधित प्रदाता या संगत नोड के रूप में मौजूद होना चाहिए। CSV या JSON फ़ाइल से प्रदाता आयात करें देखें।
डैशबोर्ड → प्रदाता → 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 अनुरोध को अपस्ट्रीम भेजने से पहले उसे उच्च चिंतन बजट में डाउनग्रेड कर देता है।
डैशबोर्ड → प्रदाता → Codex कनेक्ट करें
→ OAuth लॉगिन (पोर्ट 1455)
→ 5-घंटे + साप्ताहिक रीसेट
मॉडल:
cx/gpt-5.5
cx/gpt-5.4
cx/gpt-5.3-codex
cx/gpt-5.3-codex-sparkडैशबोर्ड → प्रदाता → 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- साइन अप करें: Zhipu AI
- Coding Plan से API कुंजी प्राप्त करें
- डैशबोर्ड → API कुंजी जोड़ें: प्रदाता:
glm, API कुंजी:your-key
उपयोग: glm/glm-4.7 — विशेषज्ञ सुझाव: Coding Plan, 1/7 लागत पर 3× कोटा प्रदान करता है! प्रतिदिन सुबह 10:00 बजे रीसेट होता है।
- साइन अप करें: MiniMax
- API कुंजी प्राप्त करें → डैशबोर्ड → API कुंजी जोड़ें
उपयोग: minimax/MiniMax-M2.1 — विशेषज्ञ सुझाव: लंबे कॉन्टेक्स्ट (1M टोकन) के लिए सबसे सस्ता विकल्प!
- सदस्यता लें: Moonshot AI
- API कुंजी प्राप्त करें → डैशबोर्ड → API कुंजी जोड़ें
उपयोग: kimi/kimi-k2.5 — विशेषज्ञ सुझाव: 10M टोकन के लिए निश्चित $9/माह = $0.90/1M की प्रभावी लागत!
- साइन अप करें: Baidu AI Cloud Qianfan
- एक Qianfan API कुंजी बनाएँ → डैशबोर्ड → API कुंजी जोड़ें: प्रदाता:
qianfan
उपयोग: qianfan/ernie-5.1, qianfan/ernie-x1.1, या कोई अन्य Qianfan OpenAI-संगत मॉडल ID।
प्रमाणीकरण-रहित मुफ़्त प्रदाताओं के प्रदाता पृष्ठ पर प्रमाणीकरण आवश्यक नहीं है के पास एक स्विच होता है।
इसे बंद करने से वह प्रदाता अक्षम हो जाता है, प्रदाता के कॉन्फ़िगर किए गए/संक्षिप्त दृश्यों से हट जाता है, और
उसके मॉडल /v1/models से हट जाते हैं।
डैशबोर्ड → 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 कनेक्ट करें → AWS Builder ID या Google/GitHub → ~50 क्रेडिट/माह
मॉडल: kr/claude-sonnet-4.5, kr/claude-haiku-4.5आप प्रत्येक कार्ड के हैंडल को खींचकर सीधे Dashboard → Combos में कॉम्बो कार्ड का क्रम बदल सकते हैं। क्रम SQLite में संग्रहीत होता है और पुनः लोड करने पर बहाल हो जाता है।
Dashboard → Combos → नया बनाएँ
नाम: 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
नाम: free-combo
मॉडल:
1. if/kimi-k2.7-code (सूचीबद्ध मुफ़्त एक्सेस; प्रदाता की सीमाएँ लागू हो सकती हैं)
2. kr/qwen3-coder-next (Kiro का मुफ़्त फ़ॉलबैक)
लागत: वर्तमान में $0 के रूप में सूचीबद्ध; शर्तें और उपलब्धता बदल सकती हैं
Cursor को OmniRoute क्लाइंट के रूप में उपयोग करना (Cursor चैट को OmniRoute के माध्यम से रूट करें):
Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [OmniRoute डैशबोर्ड से]
Model: cc/claude-opus-4-7
OmniRoute को Cursor प्रदाता के रूप में उपयोग करना (OmniRoute अपस्ट्रीम में Cursor को कॉल करता है): प्राथमिकता दें
Dashboard → Providers → Cursor → Login with Cursor को। Docker में,
docs/providers/CURSOR-DOCKER.md देखें।
~/.claude/settings.json संपादित करें:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "your-omniroute-api-key"
}
}यहाँ Claude-संगत रूट एंडपॉइंट का उपयोग करें। ANTHROPIC_BASE_URL के अंत में /v1 न जोड़ें।
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"~/.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" }]
}
}
}
}या Dashboard का उपयोग करें: CLI Tools → OpenClaw → Auto-config
प्रदाता: OpenAI Compatible
बेस URL: http://localhost:20128/v1
API कुंजी: [डैशबोर्ड से]
मॉडल: cc/claude-opus-4-7
npm install -g omniroute
# कॉन्फ़िगरेशन डायरेक्टरी बनाएँ
mkdir -p ~/.omniroute
# .env फ़ाइल बनाएँ (.env.example देखें)
cp .env.example ~/.omniroute/.env
# सर्वर शुरू करें
omniroute
# या कस्टम पोर्ट के साथ:
omniroute --port 3000CLI स्वचालित रूप से ~/.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चला सकते हैं।
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सीमित 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.jsecosystem.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",
},
],
};# इमेज बनाएँ (डिफ़ॉल्ट = 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:cliCLI बाइनरी के साथ होस्ट-एकीकृत मोड के लिए मुख्य दस्तावेज़ में Docker अनुभाग देखें।
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 |
MB में Node.js हीप सीमा |
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/) — EU में होस्ट किया गया: 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 एंडपॉइंट उपलब्ध कराता है, तो उसे स्वतः सिंक किया जा सकता है।
मॉडल ID के बारे में नोट: OmniRoute प्रोवाइडर-नेटिव ID (claude-opus-4-8, gpt-5.5, glm-5.1, MiniMax-M2.7, kimi-k2.5, grok-4.20-0309-reasoning) का उपयोग करता है। कुछ ID में बिंदु वाले वर्ज़न शामिल होते हैं, क्योंकि अपस्ट्रीम 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 गेटवे को कस्टम 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 हेडर मिलता है। गेटवे दोहराई गई इंस्टेंस ID या समाप्त हो चुके हॉप
बजट को 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"}}'प्राथमिकता क्रम: कुंजी-विशिष्ट → कॉम्बो-विशिष्ट → प्रोवाइडर-विशिष्ट → वैश्विक → वातावरण।
curl http://localhost:20128/api/models/catalogप्रकारों (chat, embedding, image) सहित प्रोवाइडर के अनुसार समूहित मॉडल लौटाता है।
- प्रोवाइडर, कॉम्बो और सेटिंग्स को सभी डिवाइसों में सिंक करें
- टाइमआउट + फ़ेल-फ़ास्ट के साथ स्वचालित बैकग्राउंड सिंक
- प्रोडक्शन में सर्वर-साइड
NEXT_PUBLIC_BASE_URL/NEXT_PUBLIC_CLOUD_URLको प्राथमिकता दें
- Docker और अन्य स्वयं-होस्ट किए गए डिप्लॉयमेंट के लिए डैशबोर्ड → एंडपॉइंट्स में उपलब्ध
- एक अस्थायी
https://*.trycloudflare.comURL बनाता है, जो आपके वर्तमान OpenAI-संगत/v1एंडपॉइंट पर फ़ॉरवर्ड करता है - पहली बार सक्षम करने पर केवल आवश्यकता होने पर
cloudflaredइंस्टॉल होता है; बाद के रीस्टार्ट उसी प्रबंधित बाइनरी का पुनः उपयोग करते हैं - OmniRoute या कंटेनर रीस्टार्ट के बाद क्विक टनल स्वतः पुनर्स्थापित नहीं होते; आवश्यकता होने पर उन्हें डैशबोर्ड से फिर से सक्षम करें
- टनल URL अस्थायी होते हैं और हर बार टनल को रोकने/शुरू करने पर बदल जाते हैं
- सीमित कंटेनरों में शोरपूर्ण QUIC UDP बफ़र चेतावनियों से बचने के लिए प्रबंधित क्विक टनल डिफ़ॉल्ट रूप से HTTP/2 ट्रांसपोर्ट का उपयोग करते हैं
- यदि आप प्रबंधित ट्रांसपोर्ट विकल्प को ओवरराइड करना चाहते हैं, तो
CLOUDFLARED_PROTOCOL=quicयाautoसेट करें - यदि आप प्रबंधित डाउनलोड के बजाय पहले से इंस्टॉल किए गए
cloudflaredबाइनरी का उपयोग करना चाहते हैं, तोCLOUDFLARED_BINसेट करें - Cloudflare क्विक टनल, Tailscale Funnel और ngrok Tunnel पैनल को सेटिंग्स → स्वरूप में दिखाया या छिपाया जा सकता है। किसी पैनल को छिपाने से चल रही टनल बंद नहीं होती।
- सिमेंटिक कैश — नॉन-स्ट्रीमिंग, temperature=0 प्रतिक्रियाओं को स्वतः कैश करता है (
X-OmniRoute-No-Cache: trueसे बायपास करें) - अनुरोध आइडेम्पोटेंसी —
Idempotency-KeyयाX-Request-Idहेडर के माध्यम से 5 सेकंड के भीतर अनुरोधों की डुप्लिकेशन हटाता है - प्रगति ट्रैकिंग —
X-OmniRoute-Progress: trueहेडर के माध्यम से ऑप्ट-इन SSEevent: progressइवेंट
डैशबोर्ड → ट्रांसलेटर के माध्यम से एक्सेस करें। डीबग करें और विज़ुअलाइज़ करें कि OmniRoute प्रोवाइडर के बीच API अनुरोधों का अनुवाद कैसे करता है।
| मोड | उद्देश्य |
|---|---|
| प्लेग्राउंड | स्रोत/लक्ष्य फ़ॉर्मैट चुनें, अनुरोध पेस्ट करें और अनुवादित आउटपुट तुरंत देखें |
| चैट टेस्टर | प्रॉक्सी के माध्यम से लाइव चैट संदेश भेजें और पूरे अनुरोध/प्रतिक्रिया चक्र का निरीक्षण करें |
| टेस्ट बेंच | अनुवाद की शुद्धता सत्यापित करने के लिए एकाधिक फ़ॉर्मैट संयोजनों पर बैच परीक्षण चलाएँ |
| लाइव मॉनिटर | प्रॉक्सी से अनुरोध प्रवाहित होते समय रियल-टाइम अनुवाद देखें |
उपयोग के मामले:
- डीबग करें कि कोई विशिष्ट क्लाइंट/प्रोवाइडर संयोजन विफल क्यों होता है
- सत्यापित करें कि थिंकिंग टैग, टूल कॉल और सिस्टम प्रॉम्प्ट सही ढंग से अनुवादित होते हैं
- OpenAI, Claude, Gemini और Responses API फ़ॉर्मैट के बीच अंतर की तुलना करें
Dashboard → Settings → Routing के माध्यम से कॉन्फ़िगर करें। डैशबोर्ड छह सर्वाधिक उपयोग की जाने वाली रणनीतियाँ प्रदर्शित करता है; कॉम्बो और ऑटो-राउटर आंतरिक रूप से अधिक व्यापक सेट का समर्थन करते हैं।
डैशबोर्ड पर दिखाई देने वाली रणनीतियाँ (खाता-स्तरीय रूटिंग):
| रणनीति | विवरण |
|---|---|
| Fill First | प्राथमिकता क्रम में खातों का उपयोग करता है — प्राथमिक खाता अनुपलब्ध होने तक सभी अनुरोध संभालता है |
| Round Robin | कॉन्फ़िगर करने योग्य स्टिकी सीमा के साथ सभी खातों पर चक्रीय रूप से जाता है (डिफ़ॉल्ट: प्रति खाता 3 कॉल) |
| P2C (Power of Two Choices) | 2 यादृच्छिक खाते चुनता है और अधिक स्वस्थ खाते पर रूट करता है — स्वास्थ्य को ध्यान में रखते हुए लोड संतुलित करता है |
| Random | Fisher-Yates शफ़ल का उपयोग करके प्रत्येक अनुरोध के लिए यादृच्छिक रूप से एक खाता चुनता है |
| Least Used | सबसे पुराने lastUsedAt टाइमस्टैम्प वाले खाते पर रूट करता है, जिससे ट्रैफ़िक समान रूप से वितरित होता है |
| Cost Optimized | सबसे कम प्राथमिकता मान वाले खाते पर रूट करता है, जिससे सबसे कम लागत वाले प्रदाताओं के लिए अनुकूलन होता है |
उन्नत कॉम्बो और ऑटो रणनीतियाँ (प्रति कॉम्बो या auto/* प्रीफ़िक्स के माध्यम से कॉन्फ़िगर की जा सकती हैं — AUTO-COMBO.md देखें):
priority— सख्त क्रम, कभी भी राउंड-रॉबिन नहीं करताweighted— प्रति-मॉडल भार के अनुसार आनुपातिक ट्रैफ़िक विभाजनfill-first— सीमाएँ पूरी होने तक पहले मॉडल का उपयोग करता हैround-robin/strict-random/randomp2c(Power of Two Choices)least-usedऔरcost-optimizedauto— सभी उम्मीदवारों में स्कोर-आधारित चयनlkgp(Last Known Good Provider) — अंतिम सफल प्रदाता पर स्थिर रहता है, फिर नियमों पर फ़ॉलबैक करता हैcontext-optimized— सबसे बड़ी खाली कॉन्टेक्स्ट विंडो वाला मॉडल चुनता हैcontext-relay— फ़ॉलो-अप टर्न के लिए लंबे-कॉन्टेक्स्ट वाले मॉडलों को श्रृंखलाबद्ध करता है
बाहरी सेशन एफ़िनिटी के लिए (उदाहरण के लिए, रिवर्स प्रॉक्सी के पीछे Claude Code/Codex एजेंट), यह भेजें:
X-Session-Id: your-session-keyOmniRoute x_session_id को भी स्वीकार करता है और प्रभावी सेशन कुंजी को X-OmniRoute-Session-Id में लौटाता है।
यदि आप Nginx का उपयोग करते हैं और अंडरस्कोर-रूप वाले हेडर भेजते हैं, तो इसे सक्षम करें:
underscores_in_headers on;मॉडल नामों को रीमैप करने के लिए वाइल्डकार्ड पैटर्न बनाएँ:
पैटर्न: claude-sonnet-* → लक्ष्य: cc/claude-sonnet-4-6
पैटर्न: gpt-* → लक्ष्य: gh/gpt-5.3-codex
वाइल्डकार्ड * (कोई भी वर्ण) और ? (एकल वर्ण) का समर्थन करते हैं।
सभी अनुरोधों पर लागू होने वाली वैश्विक फ़ॉलबैक श्रृंखलाएँ परिभाषित करें:
श्रृंखला: production-fallback
1. cc/claude-opus-4-7
2. gh/gpt-5.3-codex
3. glm/glm-4.7
Dashboard → Settings → Resilience के माध्यम से कॉन्फ़िगर करें।
OmniRoute पाँच घटकों के साथ प्रदाता-स्तरीय प्रत्यास्थता लागू करता है:
-
अनुरोध कतार और पेसिंग — सिस्टम-स्तरीय अनुरोध आकार-निर्धारण:
- प्रति मिनट अनुरोध (RPM) — प्रति खाता प्रति मिनट अनुरोधों की अधिकतम संख्या
- अनुरोधों के बीच न्यूनतम समय — अनुरोधों के बीच मिलीसेकंड में न्यूनतम अंतराल
- अधिकतम समवर्ती अनुरोध — प्रति खाता एक साथ किए जा सकने वाले अनुरोधों की अधिकतम संख्या
-
कनेक्शन कूलडाउन — पुनः प्रयास योग्य विफलताओं के बाद एकल कनेक्शन के लिए प्रति-प्रमाणीकरण-प्रकार कॉन्फ़िगरेशन:
- बेस कूलडाउन — पुनः प्रयास योग्य अपस्ट्रीम विफलताओं के लिए डिफ़ॉल्ट कूलडाउन अवधि
- अपस्ट्रीम पुनः प्रयास संकेतों का उपयोग करें — उपलब्ध कराए जाने पर प्रामाणिक
Retry-Afterया रीसेट संकेतों का पालन करता है - अधिकतम बैकऑफ़ चरण — बार-बार होने वाली विफलताओं के लिए अधिकतम एक्सपोनेंशियल बैकऑफ़ स्तर
-
प्रदाता सर्किट ब्रेकर — प्रदाता की एंड-टू-एंड विफलताओं को ट्रैक करता है, कॉन्फ़िगर की गई चेतावनी सीमा पर प्रदाता को डिग्रेडेड के रूप में चिह्नित करता है और कॉन्फ़िगर की गई विफलता सीमा पूरी होने पर ब्रेकर खोलता है:
- डिग्रेडेशन सीमा —
DEGRADEDस्थिति में प्रवेश करने से पहले प्रदाता की लगातार विफलताओं की संख्या - विफलता सीमा —
OPENस्थिति में प्रवेश करने से पहले प्रदाता की लगातार विफलताओं की संख्या - रीसेट टाइमआउट — प्रदाता का दोबारा परीक्षण किए जाने से पहले की समयावधि
- CLOSED (स्वस्थ) — अनुरोध सामान्य रूप से प्रवाहित होते हैं
- DEGRADED — बढ़ी हुई विफलताओं को ट्रैक करते हुए अनुरोध प्रवाहित होते रहते हैं
- OPEN — बार-बार विफलताओं के बाद प्रदाता को अस्थायी रूप से ब्लॉक कर दिया जाता है
- HALF_OPEN — परीक्षण किया जा रहा है कि प्रदाता पुनः ठीक हुआ है या नहीं
कनेक्शन-स्कोप वाली
429दर सीमाएँ कनेक्शन कूलडाउन में रहती हैं और प्रदाता ब्रेकर में नहीं गिनी जातीं।प्रदाता ब्रेकर की रनटाइम स्थिति केवल Dashboard → Health पर दिखाई जाती है।
- डिग्रेडेशन सीमा —
-
कूलडाउन की प्रतीक्षा — यदि प्रत्येक उम्मीदवार कनेक्शन पहले से कूलडाउन में है, तो OmniRoute सबसे पहले समाप्त होने वाले कूलडाउन की प्रतीक्षा कर सकता है और उसी क्लाइंट अनुरोध को स्वचालित रूप से पुनः प्रयास कर सकता है।
-
दर सीमा का स्वतः पता लगाना — जब अपस्ट्रीम प्रदाता स्पष्ट प्रतीक्षा अवधियाँ लौटाते हैं, तो सेटिंग सक्षम होने पर वे संकेत स्थानीय कनेक्शन कूलडाउन को ओवरराइड करते हैं।
विशेष सुझाव: आउटेज के बाद सक्रिय प्रदाता ब्रेकरों का निरीक्षण और रीसेट करने के लिए Health पेज का उपयोग करें। Resilience पेज केवल कॉन्फ़िगरेशन बदलता है।
डेटाबेस बैकअप को 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-संगत एंडपॉइंट के माध्यम से ऑडियो ट्रांसक्रिप्शन का समर्थन करता है:
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 |
न्यूनतम $/टोकन, अधिक विलंबता स्वीकार करता है |
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 में दिया गया है — जिसमें स्कोरिंग वेट्स को ट्यून करने, प्रदाताओं को ब्लैकलिस्ट करने और डैशबोर्ड → ऑटो कॉम्बो में रूटिंग निर्णयों का निरीक्षण करने की जानकारी शामिल है।
OmniRoute एक MCP सर्वर (Model Context Protocol) और एक A2A सर्वर (Agent-to-Agent JSON-RPC 2.0), दोनों है। कोई भी MCP-संगत IDE या एजेंट होस्ट OmniRoute टूल्स को सीधे कॉल कर सकता है — किसी अतिरिक्त रैपर की आवश्यकता नहीं।
- SSE:
http://localhost:20128/api/mcp/sse - स्ट्रीम करने योग्य HTTP:
http://localhost:20128/api/mcp/stream - stdio:
omniroute --mcp(उन IDE प्लगइन्स के लिए जो stdio को प्राथमिकता देते हैं)
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) या Windows/Linux में इसके समकक्ष को संपादित करें:
{
"mcpServers": {
"omniroute": {
"command": "omniroute",
"args": ["--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 कुंजियाँ किन स्किल्स को कॉल कर सकती हैं
- कस्टम स्किल्स —
src/lib/a2a/skills/में एक TypeScript फ़ाइल जोड़ें, उसे रजिस्टर करें, और वह तुरंत A2A के माध्यम से कॉल करने योग्य बन जाती है
पूर्ण संदर्भ: SKILLS.md।
OmniRoute हाइब्रिड पुनर्प्राप्ति के साथ दीर्घकालिक संवादात्मक मेमोरी को स्थायी रूप से संग्रहीत करता है:
- पिछले संवादों में कीवर्ड खोज के लिए SQLite FTS5
- अर्थगत पुनःस्मरण के लिए Qdrant vector store (वैकल्पिक)
- स्वचालित तथ्य निष्कर्षण — प्रत्येक सत्र के बाद इकाइयों, प्राथमिकताओं और निर्णयों का सारांश बनाकर उन्हें
memory_factsतालिका में संग्रहीत किया जाता है - मेमोरीज़ को प्रत्येक API कुंजी और प्रत्येक सत्र के अनुसार सीमित किया जाता है
Dashboard → Memory में मेमोरीज़ प्रबंधित करें (खोजें, संपादित करें, निर्यात करें, हटाएँ)। HTTP इंटरफ़ेस (/api/memory/*) एजेंटों को प्रोग्रामेटिक रूप से तथ्य भेजने और क्वेरी करने देता है — MEMORY.md देखें।
रीयल-टाइम निगरानी और स्वचालन के लिए OmniRoute इवेंट्स की सदस्यता लें।
- लक्ष्य URL और HMAC साइनिंग सीक्रेट के साथ Dashboard → Webhooks में एक वेबहुक बनाएँ
- उपलब्ध इवेंट्स:
request.completed,request.failed,provider.unavailable,budget.exceeded,combo.switched,circuit_breaker.opened,circuit_breaker.closed - सत्यापन के लिए प्रत्येक पेलोड में
X-OmniRoute-Signature(HMAC-SHA256) शामिल होता है - पुनः प्रयास: एक्सपोनेंशियल बैकऑफ़ के साथ 3 प्रयास, उसके बाद डेड-लेटर कतार
पूर्ण स्कीमा WEBHOOKS.md में उपलब्ध है।
OmniRoute क्लाउड कोडिंग एजेंट्स (OpenAI Codex Cloud, Devin, Jules, Antigravity) के साथ एकीकृत होता है, ताकि आप उसी डैशबोर्ड से लंबे समय तक चलने वाले कार्य भेज सकें जो आपकी स्थानीय रूटिंग को संभालता है।
- Dashboard → Cloud Agents में या
POST /api/v1/agents/tasksके माध्यम से कार्य बनाएँ - प्रत्येक कार्य की स्थिति, लॉग्स और आर्टिफ़ैक्ट्स ट्रैक करें
- प्रत्येक प्रोवाइडर के लिए अपनी API कुंजी उपयोग करें — क्रेडेंशियल्स कभी भी OmniRoute इंस्टेंस से बाहर नहीं जाते
पूर्ण संदर्भ: CLOUD_AGENT.md।
आप manage स्कोप वाली Bearer कुंजी का उपयोग करके HTTP के माध्यम से प्रत्येक OmniRoute संसाधन (प्रोवाइडर्स, कॉम्बोज़, कुंजियाँ, सेटिंग्स) प्रबंधित कर सकते हैं।
कुंजी को Dashboard → API Keys → New Key → Scope: manage में जनरेट करें, फिर:
# प्रोवाइडर्स सूचीबद्ध करें
curl http://localhost:20128/api/providers \
-H "Authorization: Bearer $OMNIROUTE_MANAGE_KEY"
# एक प्रोवाइडर कनेक्शन जोड़ें
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" }'
# एक कॉम्बो बनाएँ
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 कुंजियाँ सूचीबद्ध करें/बनाएँ
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"] }'पूर्ण एंडपॉइंट कैटलॉग और अनुरोध/प्रतिक्रिया स्कीमा के लिए API_REFERENCE.md देखें।
OmniRoute सेटअप, निदान और रनटाइम नियंत्रण के लिए एक आंतरिक CLI (omniroute …) प्रदान करता है। यह डैशबोर्ड के "CLI टूल्स" पेज से अलग है, जो तृतीय-पक्ष CLI (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 का उपयोग करें।
OmniRoute, Windows, macOS और Linux के लिए एक नेटिव डेस्कटॉप एप्लिकेशन के रूप में उपलब्ध है।
# electron डायरेक्टरी से:
cd electron
npm install
# डेवलपमेंट मोड (चल रहे Next.js डेवलपमेंट सर्वर से कनेक्ट होता है):
npm run dev
# प्रोडक्शन मोड (स्टैंडअलोन बिल्ड का उपयोग करता है):
npm startcd 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