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
70 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 · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇰🇭 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-ზე მიუთითებთ (იგივე ნაკადი, უფრო ფართო მოქმედების სფერო) | 10 |
| ACP აგენტები | /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-ს მოჰყვება
setup-* ბრძანება თითოეული მხარდაჭერილი CLI-სთვის, რომელიც გაშვებული
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 (host პროფილი compose-ში). ყოველი 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-mount-ით
არ არის მიმაგრებული, პასუხად ბრუნდება 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", მართვის პანელის გვერდებზე არ ჩანს — ისინი რეგისტრირებულია MITM-ის სამომავლო სამუშაოების სიაში მე-11 გეგმისთვის (იხილეთ _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 და გარსის ავტომატური შევსების გენერატორები მისგან იღებენ
სამიზნეების სიებს, ფსევდონიმების ამოხსნას (მაგალითად, 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 | name | vendor | baseUrlSupport | acpSpawnable |
|---|---|---|---|---|
| hermes-agent | Hermes Agent | Nous Research | full | false |
| openclaw | OpenClaw | OSS (P. Steinberger) | full | true |
| goose | Goose | Block / Linux Foundation | full | true |
| interpreter | Open Interpreter | OSS | full | true |
| warp | Warp AI | Warp Inc. | partial | true |
| agent-deck | Agent Deck | asheshgoplani (OSS) | full | false |
| omp | Oh My Pi | OSS | full | true |
| letta | Letta CLI | Letta | full | false |
| prime-agent | Prime Agent | Prime Intellect (OSS) | full | false |
| 5dive | 5dive | OSS (5dive-ai) | full | 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ყველა ხელსაწყოსთვის, თითოეულ ხელსაწყოზე 5s მოლოდინის ლიმიტით - კეში: მეხსიერებაში განთავსებული 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 |
კოპირებადი კონფიგურაციის ფრაგმენტის მოდალური ფანჯარა |
საზიარო ჰუკი (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-ს ROOT დონეზე (მისი 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 პროვაიდერი: OpenAI Compatible → საბაზისო 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-keyOmniRoute-ში შექმნილი 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 საკუთარ ავთენტიფიკაციას იყენებს — თავად Kiro CLI-სთვის OmniRoute ბექენდად საჭირო არ არის.
# სხვა ხელსაწყოებისთვის გამოიყენეთ 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 # კატალოგის გაფილტვრა იდენტიფიკატორის/სახელის/ფსევდონიმის/კატეგორიის მიხედვით
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-ში დაშიფრული ავტორიზაციის მონაცემების რეალურად განულება
ავტორიზაციის მონაცემების ექსპორტი (⚠ მოეპყარით სიფრთხილით)
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 |
ტექსტის შევსების მოძველებული API | ძველი ხელსაწყოები, რომლებიც იყენებენ 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 |
v3.8.6-მდელი სანიშნე | ავტომატურად გადამისამართდება /dashboard/cli-code-ზე (308) |
ძველი ბმული /dashboard/agents |
v3.8.6-მდელი სანიშნე | ავტომატურად გადამისამართდება /dashboard/acp-agents-ზე (308) |