🌐 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
अंतिम अद्यतन: 2026-08-23
OmniRoute तीन समर्पित डैशबोर्ड पृष्ठों में फैले CLI टूल की तीन श्रेणियों के साथ एकीकृत होता है:
| पेज | मार्ग | अवधारणा | गिनती करना |
|---|---|---|---|
| CLI कोड | /dashboard/cli-code |
कोडिंग टूल जो आप OmniRoute पर इंगित करते हैं (क्लाइंट → CLI → OmniRoute → प्रदाता) | 26 |
| CLI एजेंट | /dashboard/cli-agents |
स्वायत्त एजेंट जिन्हें आप OmniRoute पर इंगित करते हैं (समान प्रवाह, व्यापक दायरा) | 11 |
| ACP एजेंट | /dashboard/acp-agents |
CLIs कि OmniRoute stdio/ACP (रिवर्स फ्लो) के माध्यम से बैकएंड के रूप में उत्पन्न होता है | रजिस्ट्री देखें |
विरासती मार्ग 308 के माध्यम से पुनर्निर्देशित होते हैं: /dashboard/cli-tools → /dashboard/cli-code, /dashboard/agents → /dashboard/acp-agents।
CLI Code's / CLI Agents (उपभोग प्रवाह):
Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ...
│
▼ (सभी OmniRoute की ओर इंगित करते हैं)
http://YOUR_SERVER:20128/v1
│
▼ (OmniRoute सही प्रदाता तक रूट करता है)
Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ...
ACP Agents (विपरीत स्पॉन प्रवाह):
क्लाइंट अनुरोध → OmniRoute → stdio/ACP के माध्यम से CLI शुरू करता है → प्रतिक्रिया
लाभ:
- सभी टूल्स को प्रबंधित करने के लिए एक API कुंजी
- डैशबोर्ड में सभी CLI की लागत ट्रैकिंग
- प्रत्येक टूल को दोबारा कॉन्फ़िगर किए बिना मॉडल बदलना
- स्थानीय और रिमोट सर्वर दोनों पर काम करता है (VPS, Docker, Akamai, Cloudflare Tunnel)
आपको प्रत्येक टूल की कॉन्फ़िगरेशन को हाथ से लिखने की ज़रूरत नहीं है। OmniRoute प्रति समर्थित CLI पर एक setup-* कमांड भेजता है जो पढ़ता है** रहना** चल रहे OmniRoute (स्थानीय या दूरस्थ) से मॉडल कैटलॉग और आपकी मशीन पर टूल की स्वयं की कॉन्फ़िगरेशन लिखता है:
omniroute setup-codex omniroute setup-claude omniroute setup-opencode
omniroute setup-cline omniroute setup-kilo omniroute setup-continue
omniroute setup-cursor omniroute setup-roo omniroute setup-crush
omniroute setup-goose omniroute setup-qwen omniroute setup-aider
omniroute setup-5dive omniroute setup-zed
omniroute setup-whycodesप्रत्येक --remote <url> --api-key <key> (दूरस्थ OmniRoute के विरुद्ध एक स्थानीय उपकरण कॉन्फ़िगर करें), --dry-run (बिना लिखे पूर्वावलोकन), और --port स्वीकार करता है। मॉडल ऑटो-डिस्कवरी के बिना उपकरण (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive, WhyCodes) --model <id> (और गैर-इंटरैक्टिव रन के लिए --yes ) लेते हैं। setup-5dive एक ऐसी रेसिपी है जो $HOME के तहत नहीं लिखती है: यह फ्लीट होस्ट पर रूट-स्वामित्व वाली ऑथ प्रोफ़ाइल लिखकर 5dive एजेंट फ्लीट को कॉन्फ़िगर करती है, इसलिए यह sudo के माध्यम से फिर से निष्पादित होती है और इसका अपना कोई रिमोट मोड नहीं है। सही एनवी इंजेक्ट किए गए और बिना किसी कॉन्फिगरेशन के लिखे गए एक CLI लॉन्च करने के लिए, जेनेरिक omniroute run <target> लॉन्चर (क्लाउड, कोडेक्स, एडर, गूज़, ओपनकोड, क्वेन, जेमिनी, व्हाईकोड्स - लक्ष्य और उपनाम bin/cli/cli-manifest.mjs से आते हैं) का उपयोग करें; लीगेसी प्रति-टूल लॉन्चर omniroute launch (Claude कोड) और omniroute launch-codex (Codex) उपलब्ध रहते हैं। Gemini CLI केवल-लॉन्च है: यह एक omniroute run लक्ष्य है लेकिन इसमें कोई setup-*/configure नुस्खा नहीं है।
पूर्ण संदर्भ: मास्टर टेबल - प्रत्येक कमांड क्या लिखता है, प्रत्येक ध्वज, स्थानीय बनाम रिमोट, और कौन से उपकरण
/v1प्रत्यय चाहते हैं - में रहता है** CLI एकीकरण** .
OmniRoute कंटेनर के अंदर निष्पादित एक setup-* कमांड कंटेनर के अपने घर में लिखता है, जिसे कोई होस्ट CLI नहीं पढ़ता है और जो कंटेनर के साथ गायब हो जाता है। OmniRoute इसका पता लगाता है और लिखने के बजाय निर्देशों के साथ 2 से बाहर निकलता है। आगे बढ़ने के दो समर्थित तरीके - होस्ट पर CLI और कंटेनर पर omniroute connect स्थापित करें, या कॉन्फिग डीआईआर को बाइंड-माउंट करें और CLI_CONFIG_HOME ( host प्रोफाइल लिखें) सेट करें। प्रत्येक setup-* कमांड, प्लस omniroute configure और omniroute config set, कंटेनर के स्वयं के CLIs कॉन्फ़िगर करते समय --allow-container-write स्वीकार करता है जो वास्तव में आपका मतलब है; OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true सर्वर के लिए भी यही करता है। Docker गाइड → होस्ट CLI टूल्स को कॉन्फ़िगर करना देखें।
डैशबोर्ड का** समापन बिंदु लागू करें** (POST /api/cli-tools/apply) उसी गार्ड को लागू करता है: एक कंटेनर में, एक लेखन जिसका लक्ष्य होस्ट उत्तरों से बाइंड-माउंटेड नहीं है**422** containerEphemeralTarget: true के साथ, सुरक्षित त्रुटि पाठ और - होस्ट रेसिपी वाले टूल के लिए (क्लाउड, कोडेक्स, ओपनकोड, क्लाइन, किलो, जारी रखें) - इसके बजाय होस्ट पर चलाने के लिए एक hostSetupCommand (जैसे omniroute setup-opencode); कुछ भी नहीं लिखा है. dryRun: true कंटेनर मोड में काम करता रहता है और डिस्क को छुए बिना एक संशोधित पूर्वावलोकन + लक्ष्य पथ लौटाता है। पूर्वावलोकन सामग्री कॉपी या आयात करने के लिए क्रेडेंशियल-असर कॉन्फ़िगरेशन नहीं है। होस्ट पर मूल tool/base URL/API key/model इनपुट के साथ आवेदन करें, या संकेतित होस्ट-साइड सेटअप कमांड का उपयोग करें। पूर्वावलोकन हेडर और अनुरोध अनुबंध के लिए CLI कॉन्फ़िगरेशन सुरक्षा देखें। यह व्यवहार जानबूझकर और tests/unit/api/cli-tools/apply-container-guard.test.ts द्वारा प्रतिगमन-संरक्षित है - गार्ड को हटाकर कभी भी 422 को "ठीक" न करें।
एकीकृत कैटलॉग src/shared/constants/cliTools.ts में CLI_TOOLS: Record<string, CliCatalogEntry> के रूप में मौजूद है।
प्रत्येक प्रविष्टि में ये फ़ील्ड होते हैं (जो src/shared/schemas/cliCatalog.ts में परिभाषित हैं):
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
category |
"code" | "agent" |
टूल किस पेज पर दिखाई देता है |
vendor |
string |
टूल का स्रोत ("Anthropic", "OSS (P. Gauthier)") |
acpSpawnable |
boolean |
ACP Agent के रूप में भी उपयोग योग्य (बैज दिखाया जाता है) |
baseUrlSupport |
"full" | "partial" | "none" |
कस्टम एंडपॉइंट समर्थन स्तर। "none" = MITM बैकलॉग |
configType |
"env" | "custom" | "guide" | "custom-builder" | "mitm" |
कॉन्फ़िगरेशन तंत्र |
id, name, color, description, docsUrl |
मानक | मुख्य प्रदर्शन फ़ील्ड |
baseUrlSupport: "none" वाली प्रविष्टियाँ डैशबोर्ड पेजों में नहीं दिखाई जातीं — वे योजना 11 के लिए MITM बैकलॉग में पंजीकृत हैं (_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md देखें)।
कैटलॉग में शामिल प्रत्येक टूल का पता लगाना, उसे कॉन्फ़िगर करना या लॉन्च करना संभव नहीं है। प्रत्येक स्तर का एक घोषणा स्रोत होता है, और एक ड्रिफ़्ट परीक्षण उन्हें संरेखित रखता है:
| स्तर | अर्थ | इसमें घोषित है |
|---|---|---|
| कैटलॉग में शामिल | डैशबोर्ड कैटलॉग में दिखाई देता है (नाम, विक्रेता, दस्तावेज़, कॉन्फ़िग प्रकार) | src/shared/constants/cliTools.ts (CLI_TOOLS) |
| पता लगाने योग्य | बाइनरी/कॉन्फ़िग पहचान, स्वास्थ्य जाँच, कॉन्फ़िग पथ | src/shared/services/cliRuntime.ts (CLI_TOOLS रनटाइम कैटलॉग) |
| कॉन्फ़िगर करने योग्य | omniroute configure <cli> द्वारा समर्थित (सेटअप विधि मौजूद है) |
bin/cli/cli-manifest.mjs (configure: true) |
| लॉन्च करने योग्य | omniroute run <target> द्वारा समर्थित (env/args इंजेक्शन परिभाषित है) |
bin/cli/cli-manifest.mjs (run: true) |
bin/cli/cli-manifest.mjs, CLI कमांड
सतहों के लिए कैनोनिकल निष्पादन योग्य मैनिफ़ेस्ट है: run, configure और शेल-कम्प्लीशन जनरेटर सभी अपनी
लक्ष्य सूचियाँ, एलियास रिज़ॉल्यूशन (उदाहरण के लिए kilocode/kilo-code/kilo_cli → kilo)
और --model फ़्लैग वायरिंग इसी से प्राप्त करते हैं। ड्रिफ़्ट गार्ड
tests/unit/cli/cli-manifest-drift.test.ts यह सुनिश्चित करता है कि मैनिफ़ेस्ट, रनटाइम
कैटलॉग, UI कैटलॉग और प्रत्येक उपभोक्ता सतह समन्वय में रहें — अन्य सतहों के बिना
किसी एक सतह में जोड़ा गया लक्ष्य चुपचाप विचलित होने के बजाय सुइट को विफल कर देता है।
वे सभी टूल जो /dashboard/cli-code में दिखाई देते हैं। जिनमें baseUrlSupport: none है, उन्हें कस्टम बेस URL के बजाय MITM या मैन्युअल गाइड के माध्यम से जोड़ा गया है:
| id | नाम | विक्रेता | baseUrlSupport | configType | acpSpawnable |
|---|---|---|---|---|---|
| claude | Claude Code | Anthropic | full | env | true |
| codex | OpenAI Codex CLI | OpenAI | full | custom | true |
| zcode | ZCode (GLM Coding Plan) | Z.ai | none | custom | false |
| cline | Cline | OSS (पूर्व-Claude Dev) | full | custom | true |
| kilo | Kilo Code | Kilo-Org | full | custom | false |
| roo | Roo Code | Roo (OSS) | full | guide | false |
| continue | Continue | continue.dev | full | guide | false |
| aider | Aider | OSS (P. Gauthier) | full | guide | true |
| forge | ForgeCode | Antinomy HQ | full | custom | true |
| jcode | jcode | 1jehuang (OSS) | full | custom | false |
| deepseek-tui | DeepSeek TUI | Hunter Bown (OSS) | full | custom | false |
| codewhale | CodeWhale | Hmbown (OSS) | full | custom | false |
| opencode | OpenCode | Anomaly (पूर्व-SST) | full | guide | true |
| droid | Factory Droid | Factory AI | partial | guide | false |
| copilot | GitHub Copilot CLI | GitHub/MS | full | custom | false |
| cursor-cli | Cursor CLI | Anysphere | partial | guide | true |
| smelt | Smelt | leonardcser (OSS) | full | custom | false |
| pi | Pi (pi-coding-agent) | M. Zechner (OSS) | full | custom | false |
| grok-build | Grok Build | xAI | full | custom | false |
| crush | Crush | OSS (Charm) | full | custom | false |
| qwen | Qwen Code | Alibaba | full | guide | true |
| zed | Zed | Zed Industries | full | guide | false |
| cursor | Cursor | Anysphere | none | guide | false |
| antigravity | Antigravity | none | mitm | false | |
| hermes | Hermes | Nous Research | none | guide | false |
| kiro | Kiro AI | Amazon | none | mitm | false |
| custom | Custom CLI | — | full | custom-builder | false |
स्वायत्त एजेंट जो /dashboard/cli-agents में दिखाई देते हैं:
| पहचान | नाम | विक्रेता | बेसयूआरएलसमर्थन | एसीपीस्पॉनेबल |
|---|---|---|---|---|
| हेमीज़-एजेंट | हर्मीस एजेंट | नौ अनुसंधान | भरा हुआ | असत्य |
| खुला पंजा | OpenClaw | OSS (पी. स्टाइनबर्गर) | भरा हुआ | सत्य |
| बत्तख | बत्तख | ब्लॉक / Linux फाउंडेशन | भरा हुआ | सत्य |
| दुभाषिया | दुभाषिया खोलें | OSS | भरा हुआ | सत्य |
| ताना | Warp AI | Warp इंक. | आंशिक | सत्य |
| एजेंट-डेक | एजेंट डेक | एशशगोप्लानी (OSS) | भरा हुआ | असत्य |
| omp | ओह माय पाई | OSS | भरा हुआ | सत्य |
| लेट्टा | लेट्टा CLI | लेट्टा | भरा हुआ | असत्य |
| प्राइम-एजेंट | प्रधान एजेंट | प्राइम इंटेलेक्ट (OSS) | भरा हुआ | असत्य |
| 5गोता | 5गोता | OSS (5dive-ai) | भरा हुआ | असत्य |
| क्योंकोड | WhyCodes | निगम क्यों | भरा हुआ | असत्य |
यह पृष्ठ (जिसका नाम /dashboard/agents से बदला गया है) उन CLI को दिखाता है जिन्हें OmniRoute stdio/ACP प्रोटोकॉल के माध्यम से बैकएंड निष्पादन इंजन के रूप में स्पॉन कर सकता है। कैटलॉग को src/lib/acp/registry.ts में अलग से बनाए रखा जाता है और यह CLI_TOOLS के समान नहीं है।
निम्नलिखित CLI मूल रूप से कस्टम बेस URL का समर्थन नहीं करते और CLI Code या CLI Agents पृष्ठों में सूचीबद्ध नहीं हैं। ये योजना 11 में MITM इंटरसेप्शन के उम्मीदवार हैं:
| CLI | कारण |
|---|---|
| windsurf | BYOK चुनिंदा Claude मॉडल + कॉर्पोरेट URL/token तक सीमित है |
| amp | बंद इकोसिस्टम (Sourcegraph) |
| amazon-q / kiro-cli | AWS SSO प्रमाणीकरण, कोई कस्टम URL नहीं |
| cowork | Anthropic Desktop, कोई कॉन्फ़िगर करने योग्य एंडपॉइंट नहीं |
पूर्ण क्रॉस-रेफ़रेंस के लिए _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md देखें।
सभी टूल डिटेक्शन को एक ही एंडपॉइंट के माध्यम से एकत्रित किया जाता है:
GET /api/cli-tools/all-statuses
- प्रमाणीकरण:
requireCliToolsAuth(request)(अन्य/api/cli-tools/रूट के समान) - लौटाता है:
Record<toolId, ToolBatchStatus>(प्रकार:src/shared/types/cliBatchStatus.ts) - रणनीति: सभी टूल पर
Promise.all, प्रत्येक टूल के लिए 5s टाइमआउट - कैश: कॉन्फ़िगरेशन फ़ाइल
mtimeद्वारा अनुक्रमित इन-मेमोरी LRU।mtimeबदलने पर कैश अमान्य हो जाता है। सर्वर पुनः आरंभ होने पर रीसेट होता है।
प्रत्येक टूल के लिए प्रतिक्रिया की संरचना:
interface ToolBatchStatus {
detection: {
installed: boolean;
runnable: boolean;
version?: string;
command?: string;
commandPath?: string;
reason?: string;
};
config: {
status: "configured" | "not_configured" | "not_installed" | "unknown" | "other";
endpoint?: string | null;
lastConfiguredAt?: string | null;
};
error?: string; // सैनिटाइज़ किया गया, कोई स्टैक ट्रेस नहीं
}configType: "custom" वाले नए टूल्स के लिए समर्पित सेटिंग्स API रूट हैं:
| रूट | टूल |
|---|---|
POST /api/cli-tools/forge-settings |
ForgeCode (.forge.toml) |
POST /api/cli-tools/jcode-settings |
jcode (--base-url फ्लैग) |
POST /api/cli-tools/deepseek-tui-settings |
DeepSeek TUI (OPENAI_BASE_URL, लेगेसी) |
POST /api/cli-tools/codewhale-settings |
CodeWhale (OPENAI_BASE_URL, प्राथमिक + लेगेसी ~/.deepseek सिंक) |
POST /api/cli-tools/smelt-settings |
Smelt |
POST /api/cli-tools/pi-settings |
Pi कोडिंग एजेंट |
POST /api/cli-tools/grok-build-settings |
Grok Build (~/.grok/config.toml, [model.omniroute]) |
POST /api/cli-tools/qwen-settings |
Qwen Code (~/.qwen/settings.json + समर्पित .env कुंजी) |
सभी रूट त्रुटि प्रतिक्रियाओं के लिए sanitizeErrorMessage() का उपयोग करते हैं (कठोर नियम #12)।
src/app/(dashboard)/dashboard/cli-code/page.tsx— सर्वर कॉम्पोनेंटsrc/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx— क्लाइंट ग्रिडsrc/app/(dashboard)/dashboard/cli-code/[id]/page.tsx— टूल विवरण पेजsrc/app/(dashboard)/dashboard/cli-code/components/— 12 विशिष्ट टूल कार्ड +ToolDetailClient.tsx
src/app/(dashboard)/dashboard/cli-agents/page.tsx— सर्वर कॉम्पोनेंटsrc/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx— क्लाइंट ग्रिडsrc/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx—ToolDetailClientका पुनः उपयोग करता है
src/app/(dashboard)/dashboard/acp-agents/page.tsx— सर्वर कॉम्पोनेंट (agents/से स्थानांतरित)
| फ़ाइल | उद्देश्य |
|---|---|
CliToolCard.tsx |
स्मार्ट स्टेटस कार्ड (पहचान + कॉन्फ़िग + एंडपॉइंट) |
CliConceptCard.tsx |
प्रत्येक पेज के लिए अवधारणा व्याख्या कार्ड |
CliComparisonCard.tsx |
CLI प्रकारों के बीच तीन-कॉलम तुलना |
BaseUrlSelect.tsx |
एंडपॉइंट ड्रॉपडाउन (स्थानीय/क्लाउड/कस्टम) |
ApiKeySelect.tsx |
API कुंजी चयनकर्ता |
ManualConfigModal.tsx |
कॉपी करने योग्य कॉन्फ़िग स्निपेट मोडल |
| फ़ाइल | उद्देश्य |
|---|---|
useToolBatchStatuses.ts |
/api/cli-tools/all-statuses से डेटा प्राप्त करता है, लोडिंग/रिफ़्रेश स्थिति प्रबंधित करता है |
प्लान 14 F9 में जोड़े गए नए नेमस्पेस:
| नेमस्पेस | उद्देश्य |
|---|---|
cliCommon |
साझा स्ट्रिंग्स (कार्ड लेबल, अवधारणा/तुलना टेक्स्ट, विवरण पेज लेबल) |
cliCode |
CLI Code के पेज की स्ट्रिंग्स |
cliAgents |
CLI Agents पेज की स्ट्रिंग्स |
acpAgents |
ACP Agents पेज की स्ट्रिंग्स |
संपूर्ण PT-BR और EN अनुवाद उपलब्ध कराए गए हैं। 39 अन्य लोकेल src/i18n/request.ts में नेमस्पेस-स्तरीय मर्ज के माध्यम से स्वचालित रूप से EN पर फ़ॉलबैक करते हैं।
/dashboard/api-managerखोलें → API कुंजी बनाएँ- इसे एक नाम दें (उदा.
cli-tools) और सभी अनुमतियाँ चुनें - कुंजी कॉपी करें — नीचे दिए गए प्रत्येक CLI के लिए आपको इसकी आवश्यकता होगी
आपकी कुंजी ऐसी दिखाई देती है:
sk-xxxxxxxxxxxxxxxx-xxxxxxxxx
सभी npm-आधारित टूल्स के लिए Node.js 22.22.2+ या 24.x आवश्यक है:
# Claude Code (Anthropic)
npm install -g @anthropic-ai/claude-code
# OpenAI Codex
npm install -g @openai/codex
# OpenCode
npm install -g opencode-ai
# Cline
npm install -g cline
# KiloCode
npm install -g kilocode
# Qwen Code
npm install -g @qwen-code/qwen-code
# Google Gemini CLI (`omniroute run gemini` के माध्यम से लॉन्च किया जा सकता है → /v1beta सरफ़ेस)
npm install -g @google/gemini-cli
# Aider
pip install aider-chat
# Smelt
cargo install smelt # Rust-आधारित
# Pi कोडिंग एजेंट
# इंस्टॉल करने के लिए https://github.com/zechnerj/pi-coding-agent देखें
# jcode
# इंस्टॉल करने के लिए https://github.com/1jehuang/jcode देखेंhttp://localhost:20128/dashboard/cli-codeपर जाएँ- ग्रिड में अपना टूल खोजें
- टूल का विवरण पेज खोलने के लिए कार्ड पर क्लिक करें
- अपनी API कुंजी और बेस URL चुनें
- कॉन्फ़िग लागू करें पर क्लिक करें या मैन्युअल कॉन्फ़िग स्निपेट कॉपी करें
# OmniRoute यूनिवर्सल एंडपॉइंट
export OPENAI_BASE_URL="http://localhost:20128/v1"
export OPENAI_API_KEY="sk-your-omniroute-key"
export ANTHROPIC_BASE_URL="http://localhost:20128"
export ANTHROPIC_AUTH_TOKEN="sk-your-omniroute-key"
# Gemini CLI रूट पर GOOGLE_GEMINI_BASE_URL पढ़ता है (इसका SDK स्वयं /v1beta/... जोड़ता है)
export GOOGLE_GEMINI_BASE_URL="http://localhost:20128"
export GEMINI_API_KEY="sk-your-omniroute-key"रिमोट सर्वर के लिए
localhost:20128को सर्वर IP या डोमेन से बदलें, उदा.http://<your-server-ip>:20128।
# ~/.claude/settings.json बनाएँ:
mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:20128",
"ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key"
}
}
EOFClaude Code के लिए एकीकृत Anthropic गेटवे रूट का उपयोग करें। यहाँ /v1 न जोड़ें।
परीक्षण: claude "say hello"
आधुनिक Codex (v0.137+) केवल ~/.codex/config.toml पढ़ता है — पुराना
config.yaml लेगेसी npm CLI से संबंधित है और इसे बिना किसी सूचना के अनदेखा कर दिया जाता है। API
कुंजी OMNIROUTE_API_KEY एनवायरनमेंट वेरिएबल (env_key) में रहती है, फ़ाइल
के अंदर कभी नहीं:
mkdir -p ~/.codex && cat > ~/.codex/config.toml << EOF
model_provider = "omniroute"
[model_providers.omniroute]
name = "OmniRoute"
base_url = "http://localhost:20128/v1"
env_key = "OMNIROUTE_API_KEY"
requires_openai_auth = false
EOF
export OMNIROUTE_API_KEY="sk-your-omniroute-key"संपूर्ण संदर्भ (प्रोफ़ाइल, wire_api, कॉन्टेक्स्ट विंडो): CODEX-CLI-CONFIGURATION.md।
परीक्षण: codex "what is 2+2?"
mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json << EOF
{
"\$schema": "https://opencode.ai/config.json",
"provider": {
"omniroute": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniRoute",
"options": {
"baseURL": "http://localhost:20128/v1",
"apiKey": "sk-your-omniroute-key"
},
"models": {
"claude-sonnet-4-5": { "name": "claude-sonnet-4-5" },
"claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" },
"gemini-3-flash": { "name": "gemini-3-flash" }
}
}
}
}
EOFपरीक्षण: opencode
थिंकिंग वेरिएंट भेजने के लिए
opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant highका उपयोग करें।
CLI मोड:
mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF
{
"apiProvider": "openai",
"openAiBaseUrl": "http://localhost:20128/v1",
"openAiApiKey": "sk-your-omniroute-key"
}
EOFVS Code मोड:
Cline एक्सटेंशन सेटिंग्स → API प्रदाता: OpenAI Compatible → बेस URL: http://localhost:20128/v1
या OmniRoute डैशबोर्ड → CLI टूल्स → Cline → कॉन्फ़िग लागू करें का उपयोग करें।
CLI मोड:
kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-keyVS Code सेटिंग्स:
{
"kilo-code.openAiBaseUrl": "http://localhost:20128/v1",
"kilo-code.apiKey": "sk-your-omniroute-key"
}या OmniRoute डैशबोर्ड → CLI टूल्स → KiloCode → कॉन्फ़िग लागू करें का उपयोग करें।
~/.continue/config.yaml संपादित करें:
models:
- name: OmniRoute
provider: openai
model: auto
apiBase: http://localhost:20128/v1
apiKey: sk-your-omniroute-key
default: trueसंपादन के बाद VS Code को पुनः आरंभ करें।
इसका उपयोग तब करें जब VS Code Insiders को कस्टम एंडपॉइंट मॉडल के लिए कॉन्फ़िगर किया गया हो और आप चाहते हों कि OmniRoute कस्टम हेडर फ़ील्ड के बिना काम करे।
अनुशंसित स्थान:
- Linux:
~/.config/Code - Insiders/User/chatLanguageModels.json - Windows:
%APPDATA%/Code - Insiders/User/chatLanguageModels.json
टोकनयुक्त OmniRoute उपनाम का उपयोग करने वाला उदाहरण:
[
{
"vendor": "customendpoint",
"id": "auto",
"name": "OmniRoute Auto",
"family": "gpt-4",
"version": "1.0.0",
"url": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/chat/completions",
"modelsUrl": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/models",
"requestFormat": "openai-chat-completions",
"contextWindow": 256000,
"maxOutputTokens": 32768,
"auth": {
"type": "none"
}
}
]टिप्पणियाँ:
sk-your-omniroute-keyको OmniRoute में बनाई गई API कुंजी से बदलें।urlफ़ील्ड को/api/v1/vscode/{token}/chat/completionsकी ओर इंगित करना चाहिए।modelsUrlफ़ील्ड को/api/v1/vscode/{token}/modelsकी ओर इंगित करना चाहिए।- जब क्लाइंट कस्टम हेडर का समर्थन करता हो, तो सामान्य
/v1+ Bearer हेडर प्रवाह को प्राथमिकता दें। - URL में अंतःस्थापित टोकन एक संगतता फ़ॉलबैक हैं और वे एडिटर लॉग या प्रॉक्सी इतिहास में दिखाई दे सकते हैं।
# अपने AWS/Kiro खाते में लॉग इन करें:
kiro-cli login
# CLI अपने स्वयं के प्रमाणीकरण का उपयोग करता है—स्वयं Kiro CLI के बैकएंड के रूप में OmniRoute की आवश्यकता नहीं है।
# अन्य टूल के लिए OmniRoute के साथ kiro-cli का उपयोग करें।
kiro-cli statusKiro IDE डेस्कटॉप ऐप के लिए, OmniRoute द्वारा प्रदर्शित MITM एंडपॉइंट का उपयोग करें, जो
/dashboard/cli-tools → Kiro के अंतर्गत उपलब्ध है।
omniroute बाइनरी सर्वर जीवनचक्र, सेटअप, निदान और प्रदाता प्रबंधन के लिए कमांड प्रदान करती है। प्रवेश बिंदु: bin/omniroute.mjs।
omniroute # सर्वर प्रारंभ करें (डिफ़ॉल्ट पोर्ट 20128)
omniroute setup # इंटरैक्टिव सेटअप विज़ार्ड
omniroute doctor # कॉन्फ़िगरेशन, DB, पोर्ट और रनटाइम जाँचें
omniroute providers list # कॉन्फ़िगर किए गए प्रदाता कनेक्शन
omniroute providers test-all # प्रत्येक सक्रिय कनेक्शन का परीक्षण करें
omniroute reset-password # एडमिन पासवर्ड रीसेट करें
omniroute logs # अनुरोध लॉग स्ट्रीम करें
omniroute health # विस्तृत स्वास्थ्य स्थिति (ब्रेकर, कैश, मेमोरी)
omniroute --version # संस्करण प्रदर्शित करें
omniroute --help # सभी कमांड दिखाएँomniroute setup # इंटरैक्टिव सेटअप विज़ार्ड
omniroute setup --non-interactive # CI/स्वचालन मोड (env vars + flags पढ़ता है)
omniroute setup --password '<value>' # एडमिन पासवर्ड सीधे सेट करें
omniroute setup --add-provider \
--provider openai \
--api-key '<value>' \
--test-provider # एक ही चरण में प्रदाता जोड़ें और उसका परीक्षण करेंगैर-इंटरैक्टिव सेटअप के लिए पहचाने जाने वाले पर्यावरण चर:
| चर | उद्देश्य |
|---|---|
OMNIROUTE_API_KEY |
प्रदाता API कुंजी (Commander .env() के माध्यम से --api-key से संबद्ध) |
DATA_DIR |
OmniRoute डेटा डायरेक्टरी को ओवरराइड करें |
अन्य सभी गैर-इंटरैक्टिव इनपुट पर्यावरण चर के बजाय फ़्लैग के रूप में दिए जाते हैं:
--password, --provider, --provider-name, --provider-base-url, --default-model
(ऊपर दिए गए omniroute setup विकल्प देखें)।
omniroute doctor # कॉन्फ़िगरेशन, DB, पोर्ट, रनटाइम, मेमोरी और जीवंतता जाँचें
omniroute doctor --json # मशीन-पठनीय JSON
omniroute doctor --no-liveness # HTTP स्वास्थ्य प्रोब छोड़ें
omniroute doctor --host 0.0.0.0 # जीवंतता होस्ट को ओवरराइड करें
omniroute doctor --liveness-url <url> # पूर्ण स्वास्थ्य एंडपॉइंट URL को ओवरराइड करेंडॉक्टर ये जाँचें चलाता है: Config, Database, Storage/encryption,
Port availability, Node runtime, Native binary (better-sqlite3),
Memory, और Server liveness। यदि कोई भी जाँच fail होती है, तो यह गैर-शून्य स्थिति के साथ बाहर निकलता है।
omniroute providers available # OmniRoute प्रदाता कैटलॉग
omniroute providers available --search openai # id/name/alias/category के आधार पर कैटलॉग फ़िल्टर करें
omniroute providers available --category api-key # श्रेणी के आधार पर फ़िल्टर करें (api-key, oauth, free, ...)
omniroute providers available --json # मशीन-पठनीय JSON
omniroute providers list # कॉन्फ़िगर किए गए प्रदाता कनेक्शन
omniroute providers list --json
omniroute providers test <id|name> # कॉन्फ़िगर किए गए एक कनेक्शन का परीक्षण करें
omniroute providers test-all # प्रत्येक सक्रिय कनेक्शन का परीक्षण करें
omniroute providers validate # केवल स्थानीय संरचनात्मक सत्यापन
omniroute providers add <provider> --credential-env PROVIDER_KEY
omniroute providers import ./providers.json --dry-run --json
omniroute providers auth <provider> # मौजूदा OAuth प्रवाह
omniroute providers edit <id|name> --default-model <model>
omniroute providers remove <id|name> --yesproviders add/import/auth/edit/remove API-प्रथम हैं और इसलिए सक्रिय स्थानीय या दूरस्थ संदर्भ के विरुद्ध काम करते हैं। क्रेडेंशियल इनपुट के लिए
--credential-stdin या --credential-env का उपयोग करना चाहिए; --dry-run --json केवल
संशोधित उपस्थिति/संरचना की रिपोर्ट देता है। providers available, OmniRoute कैटलॉग को पढ़ता है;
providers list/test/test-all/validate अपने स्थानीय SQLite व्यवहार को बनाए रखते हैं और
इनके लिए सर्वर का चलना आवश्यक नहीं है।
कस्टम OpenAI-संगत या Anthropic-संगत नोड के लिए, omniroute nodes add द्वारा लौटाई गई
नोड ID से क्रेडेंशियल संलग्न करें और omniroute keys add "$NODE_ID" --stdin का उपयोग करें।
इसके लिए सक्रिय संदर्भ हेतु चलता हुआ सर्वर और प्रबंधन प्रमाणीकरण आवश्यक है।
CLI, POST /api/providers का उपयोग करता है, जो नोड को सत्यापित करता है और उसकी एंडपॉइंट
सेटिंग्स को कनेक्शन में कॉपी करता है। नोड के अनुपस्थित होने, प्राधिकरण विफलता या सर्वर
अनुपलब्ध होने पर स्थानीय फ़ॉलबैक क्रेडेंशियल बनाए बिना त्रुटि लौटाई जाती है।
nodes add --base-url नोड एंडपॉइंट सेट करता है; यह OMNIROUTE_BASE_URL में दिए गए सर्वर पते
से अलग है। OpenAPI फ़ाइलों के लिए,
omniroute openapi dump --format json --out ./openapi.json का उपयोग करें; वैश्विक --output
CLI प्रदर्शन स्वरूप चुनता है, न कि गंतव्य फ़ाइल नाम।
omniroute reset-password # एडमिन पासवर्ड रीसेट करें (यह भी: omniroute-reset-password)
omniroute reset-encrypted-columns # एन्क्रिप्टेड क्रेडेंशियल रीसेट के लिए चेतावनी + ड्राई-रन दिखाएँ
omniroute reset-encrypted-columns --force # SQLite में एन्क्रिप्टेड क्रेडेंशियल वास्तव में रिक्त करेंomniroute auth export # चेतावनी + पुष्टिकरण चरण दिखाएँ — DB एक्सेस नहीं
omniroute auth export --force # सभी कनेक्शनों के डिक्रिप्ट किए गए क्रेडेंशियल JSON के रूप में stdout पर निर्यात करें
omniroute auth export --force --id <id> # केवल मेल खाने वाला कनेक्शन निर्यात करें
omniroute auth export --force --format env # OMNIROUTE_<PROVIDER>_<FIELD>=<value> पंक्तियाँ उत्सर्जित करें
omniroute auth export --force --out creds.json # फ़ाइल में लिखें (0600 अनुमतियों के साथ बनाई गई)auth export केवल स्थानीय है (सीधे SQLite से पढ़ता है, कोई HTTP रूट नहीं) और जानबूझकर
प्लेनटेक्स्ट apiKey/accessToken/refreshToken/idToken मान प्रिंट/लिखता है — यह सुविधा है,
बग नहीं। --force के बिना डेटाबेस से कुछ भी नहीं पढ़ा जाता और कुछ भी डिक्रिप्ट नहीं किया जाता। कोई भी
प्लेनटेक्स्ट आउटपुट करने से पहले stderr पर हमेशा एक चेतावनी बैनर प्रिंट होता है। इसके लिए
STORAGE_ENCRYPTION_KEY का सेट होना आवश्यक है। जो फ़ील्ड डिक्रिप्ट नहीं हो पाती (पुरानी कुंजी,
दूषित सिफ़रटेक्स्ट), उसे पूरा एक्सपोर्ट रोकने या अंतर्निहित त्रुटि उजागर करने के बजाय
<field>DecryptFailed: true के रूप में रिपोर्ट किया जाता है।
जब तक अन्यथा उल्लेख न किया गया हो, इनके लिए चालू OmniRoute सर्वर आवश्यक है:
omniroute status # रनटाइम की व्यापक स्थिति
omniroute logs # अनुरोध लॉग स्ट्रीम करें (--json, --search, --follow)
omniroute config list # कॉन्फ़िगर किए गए CLI टूल दिखाएँ
omniroute provider list # उपलब्ध प्रोवाइडर सूचीबद्ध करें (providers list का उपनाम)
omniroute provider add # किसी टूल पर OmniRoute को प्रोवाइडर के रूप में पंजीकृत करें
omniroute keys add | list | remove # API कुंजियाँ प्रबंधित करें
omniroute models [provider] # मॉडल सूचीबद्ध करें (--json, --search)
omniroute combo list | switch | create | delete
omniroute backup # कॉन्फ़िगरेशन + DB का स्नैपशॉट बनाएँ
omniroute restore # पिछले स्नैपशॉट से पुनर्स्थापित करें
omniroute health # विस्तृत स्वास्थ्य स्थिति (ब्रेकर, कैश, मेमोरी)
omniroute quota # प्रोवाइडर कोटा उपयोग
omniroute cache # कैश स्थिति
omniroute cache clear # सिमैंटिक + सिग्नेचर कैश साफ़ करें
omniroute mcp status | restart # MCP सर्वर की स्थिति / पुनः आरंभ
omniroute a2a status | card # A2A सर्वर की स्थिति / एजेंट कार्ड
omniroute tunnel list | create | stop # टनल प्रबंधित करें (cloudflare/tailscale/ngrok)
omniroute env show | get <k> | set <k> <v> # env वेरिएबल जाँचें / सेट करें (अस्थायी)
omniroute test # प्रोवाइडर कनेक्टिविटी स्मोक टेस्ट
omniroute update # अपडेट की जाँच करें
omniroute completion # शेल कम्प्लीशन जनरेट करें| फ़्लैग | विवरण |
|---|---|
--no-open |
शुरू होने पर ब्राउज़र अपने-आप न खोलें |
--port <n> |
API पोर्ट को ओवरराइड करें (डिफ़ॉल्ट 20128) |
--mcp |
stdio पर MCP सर्वर के रूप में चलाएँ (IDE के लिए) |
--non-interactive |
CI मोड (कोई प्रॉम्प्ट नहीं; env/फ़्लैग से पढ़ता है) |
--json |
मशीन-पठनीय JSON आउटपुट (doctor, providers आदि) |
--help, -h |
कमांड-विशिष्ट सहायता दिखाएँ |
--version, -v |
इंस्टॉल किया गया संस्करण प्रिंट करें |
| एंडपॉइंट | विवरण | उपयोग |
|---|---|---|
/v1/chat/completions |
मानक चैट (सभी प्रदाता) | सभी आधुनिक टूल |
/v1/responses |
Responses API (OpenAI प्रारूप) | Codex, एजेंटिक वर्कफ़्लो |
/v1/completions |
लीगेसी टेक्स्ट कम्प्लीशन | prompt: का उपयोग करने वाले पुराने टूल |
/v1/embeddings |
टेक्स्ट एम्बेडिंग | RAG, खोज |
/v1/images/generations |
इमेज जनरेशन | GPT-Image, Flux, आदि |
/v1/audio/speech |
टेक्स्ट-टू-स्पीच | ElevenLabs, OpenAI TTS |
/v1/audio/transcriptions |
स्पीच-टू-टेक्स्ट | Deepgram, AssemblyAI |
टोकनयुक्त OmniRoute URL के साथ सीधे पेस्ट करने योग्य उदाहरण:
टोकन उदाहरण: sk-a3ab3c080beaee3a-69f4a4-070d71af
मानक OpenAI बेस: http://localhost:20128/v1
VS Code मॉडल: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models
VS Code चैट: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions
VS Code रिस्पॉन्स: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses
Ollama टैग: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags
Ollama चैट: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat| त्रुटि | कारण | समाधान |
|---|---|---|
Connection refused |
OmniRoute नहीं चल रहा है | omniroute serve |
401 Unauthorized |
गलत API कुंजी | /dashboard/api-manager में जाँचें |
No combo configured |
कोई सक्रिय रूटिंग कॉम्बो नहीं | /dashboard/combos में सेट अप करें |
| CLI में "not installed" दिखाई देता है | बाइनरी PATH में नहीं है | which <command> से जाँचें |
| इंस्टॉल करने के बाद डैशबोर्ड में "not detected" दिखाई देता है | कैश पुराना है | डैशबोर्ड में "⟳ Refresh detection" पर क्लिक करें |
पुराना लिंक /dashboard/cli-tools |
Pre-v3.8.6 बुकमार्क | /dashboard/cli-code (308) पर स्वतः रीडायरेक्ट किया गया |
पुराना लिंक /dashboard/agents |
Pre-v3.8.6 बुकमार्क | /dashboard/acp-agents (308) पर स्वतः रीडायरेक्ट किया गया |
किसी मौजूदा इन्फ़रेंस कुंजी को उसकी ID द्वारा देखने या अपडेट करने के लिए प्रमाणीकृत प्रबंधन संदर्भ का उपयोग करें (रिमोट मोड देखें):
omniroute --output json keys policy show KEY_ID
omniroute keys policy set KEY_ID --unrestricted
omniroute --output json keys policy show KEY_ID--unrestricted, --model-access-mode all का उपनाम है। यह अपडेट मॉडल अनुमति-सूची को साफ़ कर देता है। यह स्कोप, कनेक्शन नियम, ब्लॉक किए गए मॉडल, दर सीमाएँ और लागत सीमाएँ सुरक्षित रखता है, इसलिए वे अन्य नियंत्रण अब भी किसी अनुरोध को अस्वीकार कर सकते हैं। स्पष्ट रूप से दिया गया --allowed-models "" भी all चुनता है; बिना किसी अनुमत मॉडल वाली प्रतिबंधित कुंजी बनाए रखने के लिए इसे --model-access-mode restricted के साथ संयोजित करें। अल्पविराम से अलग की गई गैर-रिक्त सूची, जब तक स्पष्ट रूप से अन्यथा निर्दिष्ट न हो, restricted चुनती है। विरोधाभासी all और गैर-रिक्त अनुमति-सूची का संयोजन अनुरोध भेजे जाने से पहले अस्वीकार कर दिया जाता है।
--rate-limit 30 प्रति मिनट अनुरोधों की संख्या निर्धारित करता है और अन्य समयावधियों के नियम सुरक्षित रखता है। --max-cost 5 साप्ताहिक सीमा बदले बिना दैनिक USD सीमा सक्षम करता है; --max-cost 0 दैनिक सीमा हटाता है और मौजूदा उपयोग-सीमा टॉगल तथा साप्ताहिक सीमा सुरक्षित रखता है। छोड़े गए नीति फ़ील्ड अपरिवर्तित रहते हैं। दर में बदलाव पहले वर्तमान नीति पढ़ते हैं; एक ही कुंजी की दर-सीमा सरणी में समवर्ती संपादन से बचें।
नीति कमांड प्रमाणीकृत GET/PATCH /api/keys/{id} का उपयोग करते हैं और सक्रिय संदर्भ तथा वैश्विक --api-key विकल्प का पालन करते हैं। JSON आउटपुट में केवल नीति फ़ील्ड होते हैं, संग्रहीत कुंजी या उसका मास्क किया हुआ निरूपण नहीं। केवल-इन्फ़रेंस क्रेडेंशियल प्रबंधन परिवर्तनों को अधिकृत नहीं कर सकता। 401/403 मिलने पर प्रबंधन क्रेडेंशियल और संदर्भ की जाँच करना आवश्यक है; इससे स्थानीय CLI-टोकन या salt विफलता सिद्ध नहीं होती। अलग स्थानीय प्रमाणीकरण अनुबंध के लिए CLI टोकन देखें।