Batch 3 (last) of the locale-expansion plan: ha, yo, ig, am, uz, ka, hy on every surface — dashboard catalog, docs mirror (22-file core + llm.txt + CHANGELOG), CLI catalog, README flag block, locale tables and 🌐 language bars. Also closes the key gap the batch-1 (43 keys) and batch-2 (10 keys) catalogs carried since their base merges, fixes the Igbo "Model" copy and allowlists the Uzbek cognate. Translation-ratio baseline covers 65 locales. ⚠️ base-red inherited: #12732
56 KiB
CLI-TOOLS (Հայերեն)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 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
title: "CLI գործիքներ — OmniRoute" version: 3.8.50 lastUpdated: 2026-08-23
CLI գործիքներ — OmniRoute
Վերջին թարմացումը՝ 2026-08-23
OmniRoute-ը ինտեգրվում է CLI գործիքների երեք կատեգորիաների հետ, որոնք բաշխված են կառավարման վահանակի երեք առանձին էջերում.
| Էջ | Երթուղի | Հայեցակարգ | Քանակ |
|---|---|---|---|
| CLI Code's | /dashboard/cli-code |
Ծրագրավորման գործիքներ, որոնք ուղղում եք դեպի OmniRoute (Հաճախորդ → CLI → OmniRoute → Մատակարար) | 26 |
| CLI Agents | /dashboard/cli-agents |
Ինքնավար գործակալներ, որոնք ուղղում եք դեպի OmniRoute (նույն հոսքը, ավելի լայն ընդգրկում) | 10 |
| ACP Agents | /dashboard/acp-agents |
CLI-ներ, որոնք OmniRoute-ը գործարկում է որպես backend՝ 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 → գործարկում է CLI-ն stdio/ACP-ի միջոցով → պատասխան
Առավելություններ.
- Մեկ API բանալի՝ բոլոր գործիքները կառավարելու համար
- Բոլոր CLI-ների ծախսերի հետևում կառավարման վահանակում
- Մոդելի փոխարկում՝ առանց յուրաքանչյուր գործիքը վերակազմաձևելու
- Աշխատում է տեղային և հեռակա սերվերներում (VPS, Docker, Akamai, Cloudflare Tunnel)
Ինքնակազմաձևում setup-*-ի միջոցով
Պարտադիր չէ յուրաքանչյուր գործիքի կազմաձևումը ձեռքով գրել։ 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
Յուրաքանչյուրն ընդունում է --remote <url> --api-key <key> (տեղային գործիքը կազմաձևել հեռակա
OmniRoute-ի համար), --dry-run (նախադիտել՝ առանց գրելու) և --port։ Մոդելների
ինքնահայտնաբերում չունեցող գործիքները (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive) ընդունում են
--model <id> (և --yes՝ ոչ ինտերակտիվ գործարկումների համար)։ setup-5dive-ը միակ
բաղադրատոմսն է, որը չի գրում $HOME-ի ներքո. այն կազմաձևում է 5dive գործակալների խումբը՝
խմբի հոսթում գրելով root-ին պատկանող նույնականացման պրոֆիլ, ուստի այն վերագործարկվում է sudo-ի
միջոցով և չունի սեփական հեռակա ռեժիմ։ CLI-ն համապատասխան
միջավայրի ներմուծված փոփոխականներով և ընդհանրապես առանց կազմաձևում գրելու գործարկելու համար օգտագործեք ընդհանուր
omniroute run <target> գործարկիչը (claude, codex, aider, goose, opencode, qwen,
gemini — թիրախներն ու կեղծանունները վերցվում են bin/cli/cli-manifest.mjs-ից)։ Հնացած՝
առանձին գործիքների համար նախատեսված omniroute launch (Claude Code) և omniroute launch-codex
(Codex) գործարկիչները շարունակում են հասանելի լինել։ Gemini CLI-ն նախատեսված է միայն գործարկման համար. այն omniroute run-ի
թիրախ է, սակայն չունի setup-*/configure բաղադրատոմս։
Ամբողջական տեղեկատու. հիմնական աղյուսակը՝ ինչ է գրում յուրաքանչյուր հրաման, բոլոր դրոշները, տեղայինն ընդդեմ հեռակայի, և որ գործիքներն են պահանջում
/v1վերջածանց, գտնվում է CLI ինտեգրումներ բաժնում։
Դրանց գործարկումը կոնտեյների ներսում
OmniRoute կոնտեյների ներսում կատարված setup-* հրամանը գրում է հենց
կոնտեյների սեփական home-ում, որը հոսթի ոչ մի CLI չի կարդում և որը վերանում է
կոնտեյների հետ միասին։ OmniRoute-ը հայտնաբերում է դա և գրելու փոխարեն
հրահանգներով ավարտում է աշխատանքը 2 կոդով։ Առաջարկվում է երկու աջակցվող տարբերակ՝ CLI-ն տեղադրել հոսթում և
կատարել omniroute connect դեպի կոնտեյները, կամ bind-mount անել կազմաձևման պանակները և սահմանել
CLI_CONFIG_HOME-ը (compose-ի host պրոֆիլը)։ Յուրաքանչյուր setup-* հրաման, ինչպես նաև
omniroute configure-ը և omniroute config set-ը, ընդունում են
--allow-container-write, երբ իրականում ցանկանում եք կազմաձևել հենց կոնտեյների սեփական CLI-ները։
OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true-ը նույնն է անում
սերվերի համար։ Տե՛ս
Docker ուղեցույց → Հոսթի CLI գործիքների կազմաձևում։
Կառավարման վահանակի կիրառման endpoint-ը (POST /api/cli-tools/apply) կիրառում է
նույն սահմանափակումը. կոնտեյներում գրելու գործողությունը, որի թիրախը հոսթից bind-mounted չէ,
պատասխանում է 422 կոդով՝ containerEphemeralTarget: true, անվտանգ սխալի
տեքստով և հոսթի բաղադրատոմս ունեցող գործիքների համար (claude, codex, opencode, cline,
kilo, continue)՝ hostSetupCommand-ով (օրինակ՝ omniroute setup-opencode), որը պետք է գործարկել
հոսթում. ոչինչ չի գրվում։ dryRun: true-ը շարունակում է աշխատել կոնտեյների
ռեժիմում և վերադարձնում է ստեղծված բովանդակությունն ու թիրախային ուղին՝ առանց սկավառակին դիպչելու, այնպես որ
կարող եք նախադիտել կառավարման վահանակից և կիրառել հոսթում։ Այս վարքագիծը
միտումնավոր է և ռեգրեսիայից պաշտպանված է
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>-ի կողմից (սահմանված է միջավայրի փոփոխականների/արգումենտների ներարկումը) |
bin/cli/cli-manifest.mjs (run: true) |
bin/cli/cli-manifest.mjs-ը CLI հրամանների հասանելի մակերեսների կանոնական գործարկվող մանիֆեստն է․ run, configure և shell-ի ավտոլրացման գեներատորները դրանից են ստանում իրենց թիրախների ցուցակները, այլանունների լուծումը (օրինակ՝ kilocode/kilo-code/kilo_cli → kilo) և --model դրոշի կապակցումը։ Շեղումների պաշտպանիչ թեստը՝ tests/unit/cli/cli-manifest-drift.test.ts, հաստատում է, որ մանիֆեստը, գործարկման կատալոգը, UI կատալոգը և օգտագործող բոլոր մակերեսները մնում են համաժամացված․ միայն մեկ մակերեսում ավելացված թիրախը ձախողում է թեստերի փաթեթը՝ լուռ շեղվելու փոխարեն։
1. CLI Code-ի կատալոգը (26 գործիք)
Բոլոր գործիքները, որոնք ցուցադրվում են /dashboard/cli-code-ում։ baseUrlSupport: none ունեցողները հատուկ բազային URL-ի փոխարեն միացված են MITM-ի միջոցով կամ ձեռքով կազմաձևման ուղեցույցով․
| id | name | vendor | 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 (ex-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 (ex-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 |
| 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 |
baseUrlSupport: "partial" ունեցող գործիքների կառավարման վահանակի քարտում ցուցադրվում է «⚠ Մասնակի բազային URL» նշանը։
2. CLI գործակալների կատալոգ (10 գործիք)
Ինքնավար գործակալներ, որոնք ցուցադրվում են /dashboard/cli-agents-ում․
| id | անուն | մատակարար | baseUrlSupport | acpSpawnable |
|---|---|---|---|---|
| hermes-agent | Hermes Agent | Nous Research | ամբողջական | false |
| openclaw | OpenClaw | OSS (P. Steinberger) | ամբողջական | true |
| goose | Goose | Block / Linux Foundation | ամբողջական | true |
| interpreter | Open Interpreter | OSS | ամբողջական | true |
| warp | Warp AI | Warp Inc. | մասնակի | true |
| agent-deck | Agent Deck | asheshgoplani (OSS) | ամբողջական | false |
| omp | Oh My Pi | OSS | ամբողջական | true |
| letta | Letta CLI | Letta | ամբողջական | false |
| prime-agent | Prime Agent | Prime Intellect (OSS) | ամբողջական | false |
| 5dive | 5dive | OSS (5dive-ai) | ամբողջական | false |
3. ACP գործակալներ (/dashboard/acp-agents)
Այս էջը (վերանվանված է /dashboard/agents-ից) ցուցադրում է այն CLI-ները, որոնք OmniRoute-ը կարող է գործարկել որպես հետնամասային կատարման շարժիչներ՝ stdio/ACP արձանագրության միջոցով։ Կատալոգն առանձին պահպանվում է src/lib/acp/registry.ts-ում և նույնը չէ, ինչ CLI_TOOLS-ը։
4. MITM-ի չկատարված աշխատանքների ցանկ (կառավարման վահանակում չի ցուցադրվում)
Հետևյալ CLI-ները չեն աջակցում հատուկ բազային URL-ին ներկառուցված եղանակով և ցուցակված չեն CLI Code-ի կամ CLI Agents-ի էջերում։ Դրանք պլան 11-ում MITM գաղտնալսման թեկնածուներ են․
| CLI | Պատճառ |
|---|---|
| windsurf | BYOK-ը սահմանափակված է ընտրված Claude մոդելներով + կորպորատիվ URL/թոքեն |
| amp | Փակ էկոհամակարգ (Sourcegraph) |
| amazon-q / kiro-cli | AWS SSO նույնականացում, հատուկ URL չկա |
| cowork | Anthropic Desktop, կարգավորվող վերջնակետ չկա |
Ամբողջական խաչաձև հղումների համար տե՛ս _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md։
5. Փաթեթային հայտնաբերման API
Բոլոր գործիքների հայտնաբերումը միավորված է մեկ վերջնակետի միջոցով․
GET /api/cli-tools/all-statuses
- Նույնականացում՝
requireCliToolsAuth(request)(նույնը, ինչ մյուս/api/cli-tools/երթուղիների համար) - Վերադարձնում է՝
Record<toolId, ToolBatchStatus>(տիպ՝src/shared/types/cliBatchStatus.ts) - Ռազմավարություն՝
Promise.allբոլոր գործիքների համար, յուրաքանչյուր գործիքի համար՝ 5 վրկ․ սպասման ժամանակի սահմանաչափ - Քեշ՝ հիշողության մեջ գտնվող LRU, որը ինդեքսավորվում է կազմաձևման ֆայլի
mtime-ով։ Քեշը անվավեր է դառնում, երբ 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; // մաքրված է, ստեկի հետագծումներ չկան
}
6. Նոր գործիքների կարգավորումների մշակիչներ
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)։
7. Վահանակի էջերի ճարտարապետություն
CLI Code (/dashboard/cli-code)
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
CLI գործակալներ (/dashboard/cli-agents)
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-ը
ACP գործակալներ (/dashboard/acp-agents)
src/app/(dashboard)/dashboard/acp-agents/page.tsx— սերվերային բաղադրիչ (տեղափոխված էagents/-ից)
Համօգտագործվող UI բաղադրիչներ (src/shared/components/cli/)
| Ֆայլ | Նպատակ |
|---|---|
CliToolCard.tsx |
Խելացի վիճակի քարտ (հայտնաբերում + կազմաձևում + վերջնակետ) |
CliConceptCard.tsx |
Յուրաքանչյուր էջի հայեցակարգի բացատրության քարտ |
CliComparisonCard.tsx |
Եռասյուն համեմատություն CLI տեսակների միջև |
BaseUrlSelect.tsx |
Վերջնակետի բացվող ցանկ (Տեղային/Ամպային/Հատուկ) |
ApiKeySelect.tsx |
API բանալու ընտրիչ |
ManualConfigModal.tsx |
Պատճենվող կազմաձևման հատվածով մոդալ պատուհան |
Համօգտագործվող Hook (src/shared/hooks/cli/)
| Ֆայլ | Նպատակ |
|---|---|
useToolBatchStatuses.ts |
Ստանում է /api/cli-tools/all-statuses-ը, կառավարում բեռնման/թարմացման վիճակը |
8. i18n
14 F9 պլանում ավելացվել են նոր անվանատարածքներ․
| Անվանատարածք | Նպատակ |
|---|---|
cliCommon |
Ընդհանուր տողեր (քարտերի պիտակներ, հասկացությունների/համեմատությունների տեքստեր, մանրամասների էջի պիտակներ) |
cliCode |
CLI Code-ի էջի տողերը |
cliAgents |
CLI Agents-ի էջի տողերը |
acpAgents |
ACP Agents-ի էջի տողերը |
Տրամադրված են ամբողջական PT-BR և EN թարգմանություններ։ Մնացած 39 տեղայնացումներն ավտոմատ կերպով օգտագործում են EN-ը՝ src/i18n/request.ts-ում անվանատարածքի մակարդակով միաձուլման միջոցով։
9. Արագ մեկնարկ
Քայլ 1 — Ստացեք OmniRoute API բանալի
- Բացեք
/dashboard/api-manager→ Ստեղծել API բանալի - Անվանեք այն (օրինակ՝
cli-tools) և ընտրեք բոլոր թույլտվությունները - Պատճենեք բանալին. այն անհրաժեշտ կլինի ստորև նշված յուրաքանչյուր CLI-ի համար
Ձեր բանալին ունի հետևյալ տեսքը՝
sk-xxxxxxxxxxxxxxxx-xxxxxxxxx
Քայլ 2 — Տեղադրեք CLI գործիքները
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
Քայլ 3 — Կարգավորեք կառավարման վահանակի միջոցով
- Անցեք
http://localhost:20128/dashboard/cli-code - Ցանցում գտեք ձեր գործիքը
- Սեղմեք քարտի վրա՝ գործիքի մանրամասների էջը բացելու համար
- Ընտրեք ձեր API բանալին և բազային URL-ը
- Սեղմեք Կիրառել կազմաձևումը կամ պատճենեք ձեռքով կազմաձևման հատվածը
Քայլ 4 — Սահմանեք միջավայրի գլոբալ փոփոխականները
# 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։
Քայլ 4 — Կարգավորեք յուրաքանչյուր գործիքը
Claude Code
# Ստեղծեք ~/.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"
}
}
EOF
Claude Code-ի համար օգտագործեք Anthropic-ի միասնական դարպասի արմատային հասցեն։ Այստեղ մի՛ ավելացրեք /v1։
Փորձարկում՝ claude "say hello"
OpenAI Codex
Ժամանակակից 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?"
OpenCode
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։
Cline (CLI կամ VS Code)
CLI ռեժիմ՝
mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF
{
"apiProvider": "openai",
"openAiBaseUrl": "http://localhost:20128/v1",
"openAiApiKey": "sk-your-omniroute-key"
}
EOF
VS Code ռեժիմ՝
Cline ընդլայնման կարգավորումներ → API Provider՝ OpenAI Compatible → Base URL՝ http://localhost:20128/v1
Կամ օգտագործեք OmniRoute-ի կառավարման վահանակը → CLI գործիքներ → Cline → Կիրառել կազմաձևումը։
KiloCode (CLI կամ VS Code)
CLI ռեժիմ՝
kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key
VS Code-ի կարգավորումներ՝
{
"kilo-code.openAiBaseUrl": "http://localhost:20128/v1",
"kilo-code.apiKey": "sk-your-omniroute-key"
}
Կամ օգտագործեք OmniRoute-ի կառավարման վահանակը → CLI գործիքներ → KiloCode → Կիրառել կազմաձևումը։
Continue (VS Code ընդլայնում)
Խմբագրեք ~/.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 (chatLanguageModels.json)
Օգտագործեք սա, երբ 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-ում ներդրված թոքենները համատեղելիության պահուստային տարբերակ են և կարող են հայտնվել խմբագրիչի մատյաններում կամ պրոքսիի պատմության մեջ։
Kiro CLI (Amazon)
# Մուտք գործեք ձեր AWS/Kiro հաշիվ՝
kiro-cli login
# CLI-ն օգտագործում է սեփական նույնականացումը. OmniRoute-ը որպես հետնամաս անհրաժեշտ չէ հենց Kiro CLI-ի համար։
# Այլ գործիքների համար օգտագործեք kiro-cli-ն OmniRoute-ի հետ միասին։
kiro-cli status
Kiro IDE աշխատասեղանի հավելվածի համար օգտագործեք OmniRoute-ի տրամադրած MITM վերջնակետը՝
/dashboard/cli-tools → Kiro բաժնում։
10. Ներքին OmniRoute CLI
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/ավտոմատացման ռեժիմ (կարդում է միջավայրի փոփոխականներն ու դրոշակները)
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-ի վերասահմանում
Doctor-ը կատարում է հետևյալ ստուգումները՝ 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-ի/անվան/այլանվան/կատեգորիայի
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> --yes
providers add/import/auth/edit/remove-ը նախևառաջ օգտագործում են API-ն և, հետևաբար, աշխատում են
ակտիվ տեղային կամ հեռակա համատեքստի հետ։ Հավատարմագրերը պետք է մուտքագրել
--credential-stdin-ի կամ --credential-env-ի միջոցով։ --dry-run --json-ը հայտնում է միայն
գաղտնազերծված առկայության/կառուցվածքի մասին։ providers available-ը կարդում է OmniRoute-ի կատալոգը։
providers list/test/test-all/validate-ը պահպանում են իրենց տեղային SQLite վարքագիծը և
չեն պահանջում, որ սերվերը գործարկված լինի։
Վերականգնում և վերակայում
omniroute reset-password # Վերակայել ադմինիստրատորի գաղտնաբառը (նաև՝ omniroute-reset-password)
omniroute reset-encrypted-columns # Ցուցադրել նախազգուշացում և փորձնական գործարկում՝ կոդավորված հավատարմագրերը վերակայելու համար
omniroute reset-encrypted-columns --force # Իրականում SQLite-ում կոդավորված հավատարմագրերի արժեքը դարձնել null
Հավատարմագրերի արտահանում (⚠ զգուշությամբ օգտագործեք)
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 show # Ցուցադրել ընթացիկ կազմաձևումը
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> # Դիտել / սահմանել միջավայրի փոփոխականները (ժամանակավոր)
omniroute test # Մատակարարի կապակցման արագ ստուգում
omniroute update # Ստուգել թարմացումների առկայությունը
omniroute completion # Գեներացնել հրամանային թաղանթի ինքնալրացումը
Ընդհանուր դրոշակներ
| Դրոշակ | Նկարագրություն |
|---|---|
--no-open |
Գործարկման ժամանակ ինքնաշխատ չբացել դիտարկիչը |
--port <n> |
Վերասահմանել API միացքը (լռելյայն՝ 20128) |
--mcp |
Աշխատեցնել որպես MCP սերվեր՝ stdio-ի միջոցով (IDE-ների համար) |
--non-interactive |
CI ռեժիմ (առանց հարցումների․ կարդում է միջավայրից/դրոշակներից) |
--json |
Մեքենայաընթեռնելի JSON արտածում (doctor, providers և այլն) |
--help, -h |
Ցուցադրել տվյալ հրամանին հատուկ օգնությունը |
--version, -v |
Արտածել տեղադրված տարբերակը |
Հասանելի API վերջնակետեր
| Վերջնակետ | Նկարագրություն | Օգտագործման նպատակը |
|---|---|---|
/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 |
Ակտիվ երթուղավորման combo չկա | Կարգավորեք /dashboard/combos-ում |
| CLI-ը ցույց է տալիս «տեղադրված չէ» | Երկուական ֆայլը PATH-ում չէ | Ստուգեք which <command> |
| Տեղադրումից հետո վահանակը ցույց է տալիս «չի հայտնաբերվել» | Քեշը հնացած է | Վահանակում սեղմեք «⟳ Թարմացնել հայտնաբերումը» |
Հին հղում՝ /dashboard/cli-tools |
Մինչև v3.8.6 տարբերակի էջանիշ | Ավտոմատ վերահղվում է դեպի /dashboard/cli-code (308) |
Հին հղում՝ /dashboard/agents |
Մինչև v3.8.6 տարբերակի էջանիշ | Ավտոմատ վերահղվում է դեպի /dashboard/acp-agents (308) |