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
56 KiB
CLI Tools — OmniRoute (Հայերեն)
🌐 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
Վերջին թարմացումը՝ 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-ը գործարկում է որպես հետնամաս՝ 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) |