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
111 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 · 🇲🇾 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
🌐 भाषा: 🇺🇸 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
→ मासिक रीसेट (महिन्याच्या 1 तारखेला)
मॉडेल्स:
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 एक-सप्तमांश खर्चात 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
OmniRoute क्लायंट म्हणून Cursor वापरणे (Cursor चॅट OmniRoute मधून रूट करा):
सेटिंग्ज → मॉडेल्स → प्रगत:
OpenAI API बेस URL: http://localhost:20128/v1
OpenAI API की: [omniroute डॅशबोर्डमधून]
मॉडेल: cc/claude-opus-4-7
Cursor प्रदाता म्हणून OmniRoute वापरणे (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
# इमेज बिल्ड करा (डीफॉल्ट = codex/claude/droid पूर्व-इन्स्टॉल असलेले runner-cli)
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 |
डेटा डिरेक्टरी (डेटाबेस, वापर, लॉग्स) |
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 एंडपॉइंट उपलब्ध करून दिल्यास ती स्वयंचलितपणे सिंक केली जाऊ शकते.
मॉडेल 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 हेडर मिळतो. पुनरावृत्त इन्स्टन्स 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"}}'
प्राधान्यक्रम: की-विशिष्ट → कॉम्बो-विशिष्ट → प्रदाता-विशिष्ट → ग्लोबल → वातावरण.
मॉडेल कॅटलॉग API
curl http://localhost:20128/api/models/catalog
प्रकारांसह (chat, embedding, image) प्रदात्यानुसार गटबद्ध केलेली मॉडेल्स परत करतो.
क्लाउड समक्रमण
- डिव्हाइसेसवर प्रदाते, कॉम्बोज आणि सेटिंग्ज समक्रमित करा
- टाइमआउट + फेल-फास्टसह स्वयंचलित पार्श्वभूमी समक्रमण
- प्रॉडक्शनमध्ये सर्व्हर-साइड
NEXT_PUBLIC_BASE_URL/NEXT_PUBLIC_CLOUD_URLला प्राधान्य द्या
Cloudflare क्विक टनेल
- Docker आणि इतर स्व-होस्टेड डिप्लॉयमेंट्ससाठी डॅशबोर्ड → एंडपॉइंट्स मध्ये उपलब्ध
- तुमच्या सध्याच्या OpenAI-सुसंगत
/v1एंडपॉइंटकडे फॉरवर्ड करणारा तात्पुरताhttps://*.trycloudflare.comURL तयार करतो - प्रथमच सक्षम केल्यावर गरज असेल तेव्हाच
cloudflaredइन्स्टॉल केले जाते; नंतरच्या रीस्टार्टमध्ये तीच व्यवस्थापित बायनरी पुन्हा वापरली जाते - OmniRoute किंवा कंटेनर रीस्टार्ट झाल्यानंतर क्विक टनेल्स स्वयंचलितपणे पुनर्संचयित होत नाहीत; गरज असेल तेव्हा डॅशबोर्डमधून ते पुन्हा सक्षम करा
- टनेल URL तात्पुरते असतात आणि प्रत्येक वेळी टनेल थांबवून/सुरू केल्यावर बदलतात
- मर्यादित कंटेनर्समध्ये आवाज करणारे QUIC UDP बफर इशारे टाळण्यासाठी व्यवस्थापित क्विक टनेल्स डीफॉल्टनुसार HTTP/2 ट्रान्सपोर्ट वापरतात
- व्यवस्थापित ट्रान्सपोर्टची निवड ओव्हरराइड करायची असल्यास
CLOUDFLARED_PROTOCOL=quicकिंवाautoसेट करा - व्यवस्थापित डाउनलोडऐवजी आधीपासून इन्स्टॉल केलेली
cloudflaredबायनरी वापरायची असल्यासCLOUDFLARED_BINसेट करा - Cloudflare क्विक टनेल, Tailscale Funnel आणि ngrok Tunnel पॅनेल्स सेटिंग्ज → स्वरूप मध्ये दाखवता किंवा लपवता येतात. पॅनेल लपवल्याने चालू असलेले टनेल थांबत नाही.
LLM गेटवे इंटेलिजन्स (टप्पा 9)
- सिमॅंटिक कॅशे — नॉन-स्ट्रीमिंग, temperature=0 प्रतिसाद स्वयंचलितपणे कॅशे करते (
X-OmniRoute-No-Cache: trueवापरून वगळा) - विनंती आयडेम्पोटन्सी —
Idempotency-KeyकिंवाX-Request-Idहेडरद्वारे 5s च्या आत येणाऱ्या विनंत्यांतील डुप्लिकेट्स काढते - प्रगती ट्रॅकिंग —
X-OmniRoute-Progress: trueहेडरद्वारे ऑप्ट-इन SSEevent: progressइव्हेंट्स
ट्रान्सलेटर प्लेग्राउंड
डॅशबोर्ड → ट्रान्सलेटर द्वारे प्रवेश करा. OmniRoute प्रदात्यांदरम्यान API विनंत्यांचे भाषांतर कसे करते हे डीबग करा आणि दृश्यरूपात पाहा.
| मोड | उद्देश |
|---|---|
| प्लेग्राउंड | स्रोत/लक्ष्य स्वरूपे निवडा, विनंती पेस्ट करा आणि भाषांतरित आउटपुट त्वरित पाहा |
| चॅट टेस्टर | प्रॉक्सीद्वारे थेट चॅट संदेश पाठवा आणि संपूर्ण विनंती/प्रतिसाद चक्र तपासा |
| टेस्ट बेंच | भाषांतराची अचूकता सत्यापित करण्यासाठी अनेक स्वरूप संयोजनांवर बॅच चाचण्या चालवा |
| लाइव्ह मॉनिटर | प्रॉक्सीद्वारे विनंत्या प्रवाहित होत असताना रिअल-टाइम भाषांतरे पाहा |
वापराची प्रकरणे:
- विशिष्ट क्लायंट/प्रदाता संयोजन का अयशस्वी होते ते डीबग करा
- थिंकिंग टॅग्ज, टूल कॉल्स आणि सिस्टम प्रॉम्प्ट्स योग्यरीत्या भाषांतरित होतात याची खात्री करा
- OpenAI, Claude, Gemini आणि Responses API स्वरूपांमधील फरकांची तुलना करा
रूटिंग धोरणे
Dashboard → Settings → Routing द्वारे कॉन्फिगर करा. डॅशबोर्डवर सर्वाधिक वापरल्या जाणाऱ्या सहा रणनीती उपलब्ध आहेत; कॉम्बो आणि ऑटो-राउटर अंतर्गत पातळीवर यापेक्षा अधिक रणनीतींना समर्थन देतात.
डॅशबोर्डवर दिसणाऱ्या रणनीती (खाते-स्तरीय राउटिंग):
| रणनीती | वर्णन |
|---|---|
| प्रथम भरा | प्राधान्यक्रमानुसार खाती वापरते — प्राथमिक खाते अनुपलब्ध होईपर्यंत सर्व विनंत्या हाताळते |
| राउंड रॉबिन | कॉन्फिगर करता येणाऱ्या स्टिकी मर्यादेसह सर्व खात्यांमधून चक्राकार पद्धतीने जाते (डीफॉल्ट: प्रत्येक खात्यामागे 3 कॉल) |
| P2C (दोन पर्यायांची क्षमता) | 2 यादृच्छिक खाती निवडते आणि अधिक सुस्थितीत असलेल्या खात्याकडे राउट करते — खात्यांच्या स्थितीची जाणीव ठेवून लोड संतुलित करते |
| यादृच्छिक | Fisher-Yates शफल वापरून प्रत्येक विनंतीसाठी यादृच्छिकपणे खाते निवडते |
| सर्वात कमी वापरलेले | सर्वात जुना lastUsedAt टाइमस्टॅम्प असलेल्या खात्याकडे राउट करते आणि ट्रॅफिक समान रीतीने वितरित करते |
| खर्चासाठी अनुकूलित | सर्वात कमी प्राधान्य मूल्य असलेल्या खात्याकडे राउट करते आणि सर्वात कमी खर्चाच्या प्रदात्यांसाठी अनुकूलन करते |
प्रगत कॉम्बो आणि ऑटो रणनीती (प्रत्येक कॉम्बोसाठी किंवा auto/* प्रीफिक्सद्वारे कॉन्फिगर करता येतात — AUTO-COMBO.md पहा):
priority— कठोर क्रम; राउंड-रॉबिन कधीही वापरत नाहीweighted— प्रत्येक मॉडेलच्या वजनानुसार प्रमाणबद्ध ट्रॅफिक विभाजनfill-first— मर्यादा गाठेपर्यंत पहिले मॉडेल पूर्णपणे वापरतेround-robin/strict-random/randomp2c(दोन पर्यायांची क्षमता)least-usedआणिcost-optimizedauto— सर्व उमेदवारांमध्ये गुणांच्या आधारे निवडlkgp(शेवटचा ज्ञात सुस्थितीतील प्रदाता) — शेवटच्या यशस्वी प्रदात्याला कायम ठेवते, त्यानंतर नियमांनुसार फॉलबॅक करतेcontext-optimized— सर्वात मोठी मोकळी कॉन्टेक्स्ट विंडो असलेले मॉडेल निवडतेcontext-relay— पुढील संवाद फेऱ्यांसाठी मोठ्या कॉन्टेक्स्टची मॉडेल्स साखळीने जोडते
बाह्य स्टिकी सेशन हेडर
बाह्य सेशन अॅफिनिटीसाठी (उदाहरणार्थ, रिव्हर्स प्रॉक्सीमागील Claude Code/Codex एजंट), पुढील हेडर पाठवा:
X-Session-Id: your-session-key
OmniRoute 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 टॅबमध्ये विभागलेले आहे:
| टॅब | मजकूर |
|---|---|
| सामान्य | सिस्टम स्टोरेज साधने, डीफॉल्ट वर्तन, एंडपॉइंट टनेलची दृश्यमानता |
| दृश्यरूप | थीम नियंत्रणे (प्रकाशमान/गडद/सिस्टम), साइडबारची दृश्यमानता, 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).
कॉम्बो संतुलन धोरणे
प्रत्येक कॉम्बोसाठी संतुलन डॅशबोर्ड → कॉम्बो → तयार करा/संपादित करा → धोरण येथे कॉन्फिगर करा.
| धोरण | वर्णन |
|---|---|
| राउंड-रॉबिन | मॉडेल्समधून क्रमाने आवर्तन करते |
| प्राधान्य | नेहमी पहिले मॉडेल वापरून पाहते; केवळ त्रुटी आल्यास पर्यायी मॉडेल वापरते |
| यादृच्छिक | प्रत्येक विनंतीसाठी कॉम्बोमधून एक यादृच्छिक मॉडेल निवडते |
| भारित | प्रत्येक मॉडेलला दिलेल्या वजनांच्या आधारे प्रमाणशीरपणे रूट करते |
| सर्वांत-कमी-वापरलेले | अलीकडील सर्वांत कमी विनंत्या असलेल्या मॉडेलकडे रूट करते (कॉम्बो मेट्रिक्स वापरते) |
| खर्च-अनुकूलित | उपलब्ध असलेल्या सर्वांत स्वस्त मॉडेलकडे रूट करते (किंमत तक्ता वापरते) |
जागतिक कॉम्बो डीफॉल्ट्स डॅशबोर्ड → सेटिंग्ज → रूटिंग → कॉम्बो डीफॉल्ट्स मध्ये सेट करता येतात. डीफॉल्टनुसार, कॉम्बो लक्ष्य टाइमआउट्सना सध्याच्या विनंतीचा टाइमआउट वारशाने मिळतो. कमी प्रति-लक्ष्य मर्यादेमुळे अधिक वेगाने पर्यायी लक्ष्य वापरले जावे असे असेल, तेव्हाच कॉम्बो डीफॉल्ट्समध्ये किंवा एखाद्या स्वतंत्र कॉम्बोमध्ये लक्ष्य टाइमआउट (सेकंद) वापरा.
शून्य-विलंब कॉम्बो ऑप्टिमायझेशन्स स्वेच्छेने सक्षम करावी लागतात. या विलंब वैशिष्ट्यांनी पर्यायी लक्ष्यांशी स्पर्धा करणे, TTFT इतिहासाच्या आधारे लक्ष्ये वगळणे किंवा पर्यायी विनंत्या संकुचित करणे टाळण्यासाठी शून्य-विलंब ऑप्टिमायझेशन्स अक्षम ठेवा; ते सक्षम केल्यास कॉन्फिगर केलेले हेजिंग, पूर्वानुमानाधारित TTFT वगळणे आणि सक्रिय पर्यायी विनंती संकुचन कमी टेल लेटन्सीसाठी रूटिंग/विनंतीची अचूकता कमी करू शकतात.
अपस्ट्रीम प्रदात्यांना कठोर max_tokens / maxOutputTokens मर्यादा आवश्यक असतील, तेव्हा
रीझनिंग टोकन बफर अक्षम करा. हे सक्षम असताना, कॉम्बो रूटिंग केवळ ज्ञात आउटपुट मर्यादा असलेल्या मॉडेल्ससाठी
रीझनिंग-मॉडेलची अतिरिक्त क्षमता जोडते आणि सुरक्षित बफर केलेले मूल्य ती मर्यादा ओलांडत असल्यास क्लायंटची टोकन मर्यादा
बदलत नाही. क्लायंटची मर्यादा आधीच ज्ञात मर्यादेपेक्षा जास्त असल्यास, अपस्ट्रीम विनंती पाठवण्यापूर्वी
OmniRoute ती त्या मर्यादेपर्यंत कमी करते.
आरोग्य डॅशबोर्ड
डॅशबोर्ड → आरोग्य द्वारे प्रवेश करा. 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 मध्ये दिले आहे — यात स्कोअरिंगचे भार कसे समायोजित करायचे, प्रदात्यांना काळ्या यादीत कसे टाकायचे आणि Dashboard → Auto Combo मध्ये रूटिंगचे निर्णय कसे तपासायचे याचाही समावेश आहे.
🔌 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(stdio ला प्राधान्य देणाऱ्या IDE प्लगइनसाठी)
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 आणि Dashboard → API Keys मध्ये तयार केलेली 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 — डॅशबोर्ड → कौशल्ये मधून कौशल्ये ब्राउझ आणि इंस्टॉल करा
- प्रति-की स्कोप्स — कोणत्या API की कोणती कौशल्ये वापरू शकतात हे मर्यादित करा
- सानुकूल कौशल्ये —
src/lib/a2a/skills/मध्ये TypeScript फाइल ठेवा, तिची नोंदणी करा आणि ती A2A वरून त्वरित वापरण्यायोग्य होते
संपूर्ण संदर्भ: SKILLS.md.
💾 मेमरी प्रणाली
OmniRoute हायब्रिड पुनर्प्राप्तीसह दीर्घकालीन संभाषणात्मक मेमरी कायमस्वरूपी साठवते:
- मागील संवादांमध्ये कीवर्ड शोधण्यासाठी SQLite FTS5
- अर्थाधारित पुनर्स्मरणासाठी Qdrant vector store (पर्यायी)
- स्वयंचलित तथ्य निष्कर्षण — प्रत्येक सत्रानंतर घटक, प्राधान्ये आणि निर्णयांचा सारांश तयार करून ते
memory_factsटेबलमध्ये साठवले जातात - मेमरी प्रत्येक API की आणि प्रत्येक सत्रानुसार स्वतंत्र ठेवली जाते
डॅशबोर्ड → मेमरी मध्ये मेमरी व्यवस्थापित करा (शोधा, संपादित करा, निर्यात करा, पूर्णपणे हटवा). HTTP इंटरफेस (/api/memory/*) एजंट्सना प्रोग्रामद्वारे तथ्ये पाठवण्याची आणि क्वेरी करण्याची सुविधा देतो — MEMORY.md पहा.
🔔 वेबहुक्स
रिअल-टाइम देखरेख आणि स्वयंचलनासाठी OmniRoute इव्हेंट्सची सदस्यता घ्या.
- लक्ष्य URL आणि HMAC स्वाक्षरी गुपितासह डॅशबोर्ड → वेबहुक्स मध्ये वेबहुक तयार करा
- उपलब्ध इव्हेंट्स:
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) एकत्रित होते, ज्यामुळे तुमचे स्थानिक रूटिंग हाताळणाऱ्या त्याच डॅशबोर्डवरून तुम्ही दीर्घकाळ चालणारी कार्ये पाठवू शकता.
- डॅशबोर्ड → क्लाउड एजंट्स मध्ये किंवा
POST /api/v1/agents/tasksद्वारे कार्ये तयार करा - प्रत्येक कार्याची स्थिती, लॉग्स आणि आर्टिफॅक्ट्सचा मागोवा घ्या
- प्रत्येक प्रदात्यासाठी तुमची स्वतःची API की वापरा — क्रेडेन्शियल्स कधीही OmniRoute इन्स्टन्सच्या बाहेर जात नाहीत
संपूर्ण संदर्भ: CLOUD_AGENT.md.
🛠️ प्रोग्रामद्वारे व्यवस्थापन
manage स्कोप असलेली Bearer की वापरून तुम्ही HTTP द्वारे प्रत्येक OmniRoute संसाधन (प्रदाते, कॉम्बोज, कीज, सेटिंग्ज) व्यवस्थापित करू शकता.
डॅशबोर्ड → API कीज → नवीन की → स्कोप: 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 पहा.
💻 अंतर्गत CLI
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 आपल्या निरीक्षण साधनासोबत वापरा.
🖥️ डेस्कटॉप अनुप्रयोग (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 universal)
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