Batch 2 of the locale expansion across the dashboard catalog, docs mirrors, CLI catalog, README, locale index and the site. 51 → 59 locales. Also: the translator restores the ICU literal escape around angle placeholders, and the docs chunker splits oversized sections before translating. ⚠️ base-red inherited: #12732 — the eight red checks fail identically on unrelated PRs cut from the same base (e.g. #13197); every gate is green locally after merging the base.
67 KiB
CLI-TOOLS (ខ្មែរ)
🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇮🇩 id · 🇮🇹 it · 🇯🇵 ja · 🇮🇳 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 · 🇻🇳 vi · 🇨🇳 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 (Client → CLI → OmniRoute → Provider) | 26 |
| CLI Agents | /dashboard/cli-agents |
Agent ស្វយ័តដែលអ្នកតម្រង់ទៅកាន់ 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 (លំហូរបង្កើតបញ្ច្រាស):
សំណើរបស់ Client → OmniRoute → បង្កើត CLI តាម stdio/ACP → ការឆ្លើយតប
អត្ថប្រយោជន៍៖
- គ្រប់គ្រងឧបករណ៍ទាំងអស់ដោយប្រើ API key តែមួយ
- តាមដានការចំណាយរបស់ 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៖ វាកំណត់រចនាសម្ព័ន្ធក្រុម agent របស់ 5dive ដោយ
សរសេរប្រូហ្វាល់ផ្ទៀងផ្ទាត់ដែលគ្រប់គ្រងដោយ root នៅលើម៉ាស៊ីនមេរបស់ក្រុម ដូច្នេះវាដំណើរការខ្លួនឯងឡើងវិញតាម sudo
ហើយមិនមានរបៀបពីចម្ងាយផ្ទាល់ខ្លួនទេ។ ដើម្បីបើកដំណើរការ CLI ដោយបញ្ចូល env
ដែលត្រឹមត្រូវ និងមិនសរសេរឯកសារកំណត់រចនាសម្ព័ន្ធអ្វីទាំងអស់ សូមប្រើកម្មវិធីបើកដំណើរការទូទៅ
omniroute run <target> (claude, codex, aider, goose, opencode, qwen,
gemini — target និង alias មកពី bin/cli/cli-manifest.mjs)។ កម្មវិធីបើកដំណើរការចាស់
សម្រាប់ឧបករណ៍នីមួយៗ omniroute launch (Claude Code) និង omniroute launch-codex
(Codex) នៅតែអាចប្រើបាន។ Gemini CLI អាចបើកដំណើរការបានតែប៉ុណ្ណោះ៖ វាជា target របស់ omniroute run
ប៉ុន្តែមិនមានរូបមន្ត setup-*/configure ទេ។
ឯកសារយោងពេញលេញ៖ តារាងមេ — អ្វីដែលពាក្យបញ្ជានីមួយៗសរសេរ flag ទាំងអស់ ការប្រើក្នុងម៉ាស៊ីនមូលដ្ឋានធៀបនឹងពីចម្ងាយ និងឧបករណ៍ណាខ្លះដែលត្រូវការបច្ច័យ
/v1— មាននៅក្នុង ការរួមបញ្ចូល CLI។
ការដំណើរការពាក្យបញ្ជាទាំងនេះនៅក្នុង container
ពាក្យបញ្ជា setup-* ដែលត្រូវបានប្រតិបត្តិនៅក្នុង container របស់ OmniRoute នឹងសរសេរទៅក្នុង
home ផ្ទាល់របស់ container ដែល CLI ណាមួយនៅលើ host មិនអាន ហើយវានឹងបាត់នៅពេល
container បាត់។ OmniRoute រកឃើញស្ថានភាពនេះ ហើយបិទដំណើរការជាមួយលេខកូដ 2 ព្រមទាំងបង្ហាញការណែនាំ ជំនួសឱ្យ
ការសរសេរ។ មានវិធីដែលគាំទ្រចំនួនពីរដើម្បីបន្ត — ដំឡើង CLI នៅលើ host ហើយ
ប្រើ omniroute connect ដើម្បីភ្ជាប់ទៅ container ឬ bind-mount ថតឯកសារកំណត់រចនាសម្ព័ន្ធ ហើយកំណត់
CLI_CONFIG_HOME (ប្រូហ្វាល់ host របស់ compose)។ រាល់ពាក្យបញ្ជា setup-* រួមទាំង
omniroute configure និង omniroute config set ទទួលយក
--allow-container-write នៅពេលការកំណត់រចនាសម្ព័ន្ធ CLI ផ្ទាល់របស់ container គឺជាអ្វីដែលអ្នក
ពិតជាចង់ធ្វើ។ OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true ក៏ធ្វើដូចគ្នាសម្រាប់
ម៉ាស៊ីនមេផងដែរ។ សូមមើល
មគ្គុទ្ទេសក៍ Docker → ការកំណត់រចនាសម្ព័ន្ធឧបករណ៍ CLI របស់ host។
apply endpoint របស់ផ្ទាំងគ្រប់គ្រង (POST /api/cli-tools/apply) អនុវត្ត
ការការពារដូចគ្នា៖ នៅក្នុង container ប្រតិបត្តិការសរសេរដែល target របស់វាមិនត្រូវបាន bind-mount ពី
host នឹងឆ្លើយតបដោយ 422 ជាមួយ containerEphemeralTarget: true អត្ថបទកំហុស
ដែលមានសុវត្ថិភាព និង — សម្រាប់ឧបករណ៍ដែលមានរូបមន្តសម្រាប់ host (claude, codex, opencode, cline,
kilo, continue) — hostSetupCommand មួយ (ឧ. omniroute setup-opencode) ដើម្បីដំណើរការ
នៅលើ host ជំនួសវិញ។ គ្មានអ្វីត្រូវបានសរសេរទេ។ dryRun: true នៅតែដំណើរការនៅក្នុងរបៀប container
ហើយត្រឡប់មាតិកាដែលបានបង្កើត + ផ្លូវ target ដោយមិនប៉ះពាល់ដល់ថាស ដូច្នេះ
អ្នកអាចមើលជាមុនពីផ្ទាំងគ្រប់គ្រង ហើយអនុវត្តនៅលើ host។ ឥរិយាបថនេះត្រូវបាន
បង្កើតឡើងដោយចេតនា និងត្រូវបានការពារពី regression ដោយ
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) |
| អាចរកឃើញ | ការរកឃើញ binary/config ការត្រួតពិនិត្យស្ថានភាព និងទីតាំងកំណត់រចនាសម្ព័ន្ធ | src/shared/services/cliRuntime.ts (កាតាឡុកពេលដំណើរការ CLI_TOOLS) |
| អាចកំណត់រចនាសម្ព័ន្ធ | គាំទ្រដោយ omniroute configure <cli> (មានរូបមន្តរៀបចំ) |
bin/cli/cli-manifest.mjs (configure: true) |
| អាចដំណើរការ | គាំទ្រដោយ omniroute run <target> (បានកំណត់ការបញ្ចូល env/args) |
bin/cli/cli-manifest.mjs (run: true) |
bin/cli/cli-manifest.mjs គឺជា manifest ដែលអាចប្រតិបត្តិបានជាគោលសម្រាប់ផ្ទៃបញ្ជា CLI៖ run, configure និងកម្មវិធីបង្កើតការបំពេញពាក្យបញ្ជា shell ទាំងអស់សុទ្ធតែទាញយក
បញ្ជីគោលដៅ ការដោះស្រាយឈ្មោះហៅក្រៅ (ឧទាហរណ៍ kilocode/kilo-code/kilo_cli → kilo)
និងការភ្ជាប់ flag --model ពីវា។ ឧបករណ៍ការពារភាពមិនស្របគ្នា
tests/unit/cli/cli-manifest-drift.test.ts ផ្ទៀងផ្ទាត់ថា manifest កាតាឡុកពេលដំណើរការ
កាតាឡុក UI និងផ្ទៃប្រើប្រាស់នីមួយៗនៅតែមានភាពស៊ីសង្វាក់គ្នា — គោលដៅដែលបានបន្ថែមទៅ
ផ្ទៃមួយដោយគ្មានផ្ទៃផ្សេងទៀត នឹងធ្វើឱ្យសំណុំតេស្តបរាជ័យ ជំនួសឱ្យការប្រែប្រួលខុសគ្នាដោយស្ងៀមស្ងាត់។
1. បញ្ជីឧបករណ៍របស់ CLI Code (26 ឧបករណ៍)
ឧបករណ៍ទាំងអស់ដែលបង្ហាញនៅក្នុង /dashboard/cli-code។ ឧបករណ៍ដែលមាន baseUrlSupport: none ត្រូវបានតភ្ជាប់តាមរយៈ MITM ឬការណែនាំដោយដៃ ជំនួសឱ្យ URL មូលដ្ឋានផ្ទាល់ខ្លួន៖
| id | ឈ្មោះ | អ្នកផ្គត់ផ្គង់ | ការគាំទ្រ URL មូលដ្ឋាន | ប្រភេទការកំណត់រចនាសម្ព័ន្ធ | អាចបង្កើត ACP |
|---|---|---|---|---|---|
| claude | Claude Code | Anthropic | ពេញលេញ | បរិស្ថាន | បាទ |
| codex | OpenAI Codex CLI | OpenAI | ពេញលេញ | ផ្ទាល់ខ្លួន | បាទ |
| zcode | ZCode (គម្រោងសរសេរកូដ GLM) | Z.ai | គ្មាន | ផ្ទាល់ខ្លួន | ទេ |
| cline | Cline | OSS (អតីត Claude Dev) | ពេញលេញ | ផ្ទាល់ខ្លួន | បាទ |
| kilo | Kilo Code | Kilo-Org | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| roo | Roo Code | Roo (OSS) | ពេញលេញ | ការណែនាំ | ទេ |
| continue | Continue | continue.dev | ពេញលេញ | ការណែនាំ | ទេ |
| aider | Aider | OSS (P. Gauthier) | ពេញលេញ | ការណែនាំ | បាទ |
| forge | ForgeCode | Antinomy HQ | ពេញលេញ | ផ្ទាល់ខ្លួន | បាទ |
| jcode | jcode | 1jehuang (OSS) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| deepseek-tui | DeepSeek TUI | Hunter Bown (OSS) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| codewhale | CodeWhale | Hmbown (OSS) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| opencode | OpenCode | Anomaly (អតីត SST) | ពេញលេញ | ការណែនាំ | បាទ |
| droid | Factory Droid | Factory AI | មួយផ្នែក | ការណែនាំ | ទេ |
| copilot | GitHub Copilot CLI | GitHub/MS | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| cursor-cli | Cursor CLI | Anysphere | មួយផ្នែក | ការណែនាំ | បាទ |
| smelt | Smelt | leonardcser (OSS) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| pi | Pi (pi-coding-agent) | M. Zechner (OSS) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| grok-build | Grok Build | xAI | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| crush | Crush | OSS (Charm) | ពេញលេញ | ផ្ទាល់ខ្លួន | ទេ |
| qwen | Qwen Code | Alibaba | ពេញលេញ | ការណែនាំ | បាទ |
| cursor | Cursor | Anysphere | គ្មាន | ការណែនាំ | ទេ |
| antigravity | Antigravity | គ្មាន | MITM | ទេ | |
| hermes | Hermes | Nous Research | គ្មាន | ការណែនាំ | ទេ |
| kiro | Kiro AI | Amazon | គ្មាន | MITM | ទេ |
| custom | CLI ផ្ទាល់ខ្លួន | — | ពេញលេញ | ឧបករណ៍បង្កើតផ្ទាល់ខ្លួន | ទេ |
ឧបករណ៍ដែលមាន 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 អាច បង្កើតដំណើរការ ជាម៉ាស៊ីនប្រតិបត្តិការ backend តាមរយៈពិធីការ stdio/ACP។ បញ្ជីនេះត្រូវបានថែទាំដោយឡែកនៅក្នុង src/lib/acp/registry.ts ហើយវា មិនមែន ដូចគ្នានឹង CLI_TOOLS ទេ។
4. បញ្ជីការងារ MITM ដែលនៅសល់ (មិនបង្ហាញក្នុង dashboard)
CLI ខាងក្រោមមិនគាំទ្រ base URL ផ្ទាល់ខ្លួនពីកំណើតទេ ហើយក៏ មិនត្រូវបានរាយបញ្ជី ក្នុងទំព័រ CLI Code ឬ CLI Agents ដែរ។ ពួកវាជាបេក្ខភាពសម្រាប់ការស្ទាក់ចាប់ MITM ក្នុងផែនការ 11៖
| CLI | មូលហេតុ |
|---|---|
| windsurf | BYOK ត្រូវបានកំណត់ត្រឹមម៉ូដែល Claude ដែលបានជ្រើសរើស + URL/token របស់សាជីវកម្ម |
| amp | ប្រព័ន្ធអេកូបិទជិត (Sourcegraph) |
| amazon-q / kiro-cli | ការផ្ទៀងផ្ទាត់ AWS SSO គ្មាន URL ផ្ទាល់ខ្លួន |
| cowork | Anthropic Desktop គ្មាន endpoint ដែលអាចកំណត់រចនាសម្ព័ន្ធបាន |
សូមមើល _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md សម្រាប់សេចក្ដីយោងឆ្លងពេញលេញ។
5. API សម្រាប់ការរកឃើញជាបាច់
ការរកឃើញឧបករណ៍ទាំងអស់ត្រូវបានប្រមូលផ្ដុំតាមរយៈ endpoint តែមួយ៖
GET /api/cli-tools/all-statuses
- ការផ្ទៀងផ្ទាត់៖
requireCliToolsAuth(request)(ដូចគ្នានឹង route/api/cli-tools/ផ្សេងទៀត) - ត្រឡប់៖
Record<toolId, ToolBatchStatus>(ប្រភេទ៖src/shared/types/cliBatchStatus.ts) - យុទ្ធសាស្ត្រ៖
Promise.allលើឧបករណ៍ទាំងអស់ ជាមួយរយៈពេលអតិបរមា 5 វិនាទីសម្រាប់ឧបករណ៍នីមួយៗ - ឃ្លាំងសម្ងាត់៖ LRU ក្នុងអង្គចងចាំ ដែលបានធ្វើលិបិក្រមតាម
mtimeរបស់ឯកសារកំណត់រចនាសម្ព័ន្ធ។ ឃ្លាំងសម្ងាត់នឹងត្រូវបានធ្វើឱ្យអសុពលភាព នៅពេលmtimeផ្លាស់ប្តូរ។ វានឹងត្រូវបានកំណត់ឡើងវិញ នៅពេល server ចាប់ផ្ដើមឡើងវិញ។
ទម្រង់ response សម្រាប់ឧបករណ៍នីមួយៗ៖
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; // បានសម្អាត គ្មាន stack trace
}
6. កម្មវិធីដោះស្រាយការកំណត់សម្រាប់ឧបករណ៍ថ្មី
ឧបករណ៍ថ្មីដែលមាន configType: "custom" មានផ្លូវ API សម្រាប់ការកំណត់ដោយឡែក៖
| ផ្លូវ | ឧបករណ៍ |
|---|---|
POST /api/cli-tools/forge-settings |
ForgeCode (.forge.toml) |
POST /api/cli-tools/jcode-settings |
jcode (--base-url flag) |
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 (/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 key |
ManualConfigModal.tsx |
ម៉ូឌុលបំណែកការកំណត់រចនាសម្ព័ន្ធដែលអាចចម្លងបាន |
Hook រួម (src/shared/hooks/cli/)
| ឯកសារ | គោលបំណង |
|---|---|
useToolBatchStatuses.ts |
ទាញយក /api/cli-tools/all-statuses និងគ្រប់គ្រងស្ថានភាពកំពុងផ្ទុក/ផ្ទុកឡើងវិញ |
8. i18n
Namespace ថ្មីៗដែលបានបន្ថែមក្នុងផែនការ 14 F9៖
| Namespace | គោលបំណង |
|---|---|
cliCommon |
ខ្សែអក្សររួម (ស្លាកកាត អត្ថបទគោលគំនិត/ការប្រៀបធៀប ស្លាកទំព័រលម្អិត) |
cliCode |
ខ្សែអក្សរសម្រាប់ទំព័រ CLI Code |
cliAgents |
ខ្សែអក្សរសម្រាប់ទំព័រ CLI Agents |
acpAgents |
ខ្សែអក្សរសម្រាប់ទំព័រ ACP Agents |
ការបកប្រែពេញលេញជា PT-BR និង EN ត្រូវបានផ្តល់ជូន។ Locale ចំនួន 39 ផ្សេងទៀតនឹងប្រើ EN ដោយស្វ័យប្រវត្តិជំនួស តាមរយៈការបញ្ចូលគ្នាកម្រិត namespace នៅក្នុង src/i18n/request.ts។
9. ចាប់ផ្តើមរហ័ស
ជំហានទី 1 — ទទួលយក OmniRoute API Key
- បើក
/dashboard/api-manager→ បង្កើត API Key - ដាក់ឈ្មោះឱ្យវា (ឧ.
cli-tools) ហើយជ្រើសរើសសិទ្ធិទាំងអស់ - ចម្លង key នោះ — អ្នកនឹងត្រូវការវាសម្រាប់ CLI នីមួយៗខាងក្រោម
Key របស់អ្នកមានទម្រង់ដូចនេះ៖
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 — កំណត់រចនាសម្ព័ន្ធតាមរយៈ Dashboard
- ចូលទៅកាន់
http://localhost:20128/dashboard/cli-code - ស្វែងរកឧបករណ៍របស់អ្នកនៅក្នុងក្រឡាចត្រង្គ
- ចុចលើកាតដើម្បីបើកទំព័រលម្អិតរបស់ឧបករណ៍
- ជ្រើសរើស API key និង base URL របស់អ្នក
- ចុច អនុវត្តការកំណត់រចនាសម្ព័ន្ធ ឬចម្លងសំណុំកូដកំណត់រចនាសម្ព័ន្ធដោយដៃ
ជំហានទី 4 — កំណត់អថេរបរិស្ថានសកល
# Endpoint សកលរបស់ 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
ប្រើ root របស់ Anthropic gateway រួមសម្រាប់ Claude Code។ កុំបន្ថែម /v1 នៅទីនេះ។
សាកល្បង៖ claude "say hello"
OpenAI Codex
Codex សម័យថ្មី (v0.137+) អានតែ ~/.codex/config.toml ប៉ុណ្ណោះ — config.yaml
ចាស់ជារបស់ npm CLI ជំនាន់មុន ហើយត្រូវបានរំលងដោយមិនបង្ហាញសារ។ API
key ត្រូវរក្សាទុកក្នុងអថេរបរិស្ថាន 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"
ឯកសារយោងពេញលេញ (profiles, wire_api, context windows)៖ 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ដើម្បីផ្ញើ thinking variants។
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 dashboard → ឧបករណ៍ 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 dashboard → ឧបករណ៍ 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 ត្រូវបានកំណត់រចនាសម្ព័ន្ធសម្រាប់ម៉ូដែល custom endpoint ហើយអ្នកចង់ឱ្យ OmniRoute ដំណើរការដោយមិនមាន custom header field។
ទីតាំងដែលបានណែនាំ៖
- 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ដោយ API key ដែលបានបង្កើតនៅក្នុង OmniRoute។ - វាល
urlគួរតែចង្អុលទៅ/api/v1/vscode/{token}/chat/completions។ - វាល
modelsUrlគួរតែចង្អុលទៅ/api/v1/vscode/{token}/models។ - គួរប្រើលំហូរធម្មតា
/v1+ Bearer header នៅពេល client គាំទ្រ custom headers។ - ថូខឹនដែលបានបង្កប់ក្នុង URL គឺជាជម្រើសបម្រុងសម្រាប់ភាពត្រូវគ្នា ហើយអាចបង្ហាញនៅក្នុងកំណត់ហេតុរបស់ editor ឬប្រវត្តិរបស់ proxy។
Kiro CLI (Amazon)
# ចូលគណនី AWS/Kiro របស់អ្នក៖
kiro-cli login
# CLI ប្រើការផ្ទៀងផ្ទាត់អត្តសញ្ញាណផ្ទាល់ខ្លួន — មិនចាំបាច់ប្រើ OmniRoute ជា backend សម្រាប់ Kiro CLI ខ្លួនវាទេ។
# ប្រើ kiro-cli រួមជាមួយ OmniRoute សម្រាប់ឧបករណ៍ផ្សេងទៀត។
kiro-cli status
សម្រាប់កម្មវិធីផ្ទៃតុ Kiro IDE សូមប្រើ MITM endpoint ដែល OmniRoute បានបើកផ្ដល់
នៅក្រោម /dashboard/cli-tools → Kiro។
10. OmniRoute CLI ខាងក្នុង
ឯកសារប្រតិបត្តិ omniroute ផ្តល់ពាក្យបញ្ជាសម្រាប់វដ្តជីវិតរបស់ម៉ាស៊ីនមេ ការដំឡើង ការវិនិច្ឆ័យបញ្ហា និងការគ្រប់គ្រងអ្នកផ្តល់សេវា។ ចំណុចចាប់ផ្តើម៖ bin/omniroute.mjs។
omniroute # ចាប់ផ្តើមម៉ាស៊ីនមេ (ច្រកលំនាំដើម 20128)
omniroute setup # អ្នកជំនួយការដំឡើងបែបអន្តរកម្ម
omniroute doctor # ពិនិត្យការកំណត់រចនាសម្ព័ន្ធ DB ច្រក និង runtime
omniroute providers list # ការតភ្ជាប់អ្នកផ្តល់សេវាដែលបានកំណត់រចនាសម្ព័ន្ធ
omniroute providers test-all # សាកល្បងរាល់ការតភ្ជាប់ដែលសកម្ម
omniroute reset-password # កំណត់ពាក្យសម្ងាត់អ្នកគ្រប់គ្រងឡើងវិញ
omniroute logs # ផ្សាយបន្តផ្ទាល់កំណត់ហេតុសំណើ
omniroute health # ស្ថានភាពសុខភាពលម្អិត (breakers, cache, memory)
omniroute --version # បង្ហាញកំណែ
omniroute --help # បង្ហាញពាក្យបញ្ជាទាំងអស់
ការដំឡើង និងការចាប់ផ្តើម
omniroute setup # អ្នកជំនួយការដំឡើងបែបអន្តរកម្ម
omniroute setup --non-interactive # របៀប CI/ស្វ័យប្រវត្តិកម្ម (អាន env vars + flags)
omniroute setup --password '<value>' # កំណត់ពាក្យសម្ងាត់អ្នកគ្រប់គ្រងដោយផ្ទាល់
omniroute setup --add-provider \
--provider openai \
--api-key '<value>' \
--test-provider # បន្ថែម និងសាកល្បងអ្នកផ្តល់សេវាក្នុងពេលតែមួយ
អថេរបរិស្ថានដែលត្រូវបានស្គាល់សម្រាប់ការដំឡើងមិនអន្តរកម្ម៖
| អថេរ | គោលបំណង |
|---|---|
OMNIROUTE_API_KEY |
សោ API របស់អ្នកផ្តល់សេវា (ភ្ជាប់ទៅ --api-key តាមរយៈ Commander .env()) |
DATA_DIR |
ជំនួសទីតាំងថតទិន្នន័យរបស់ OmniRoute |
ធាតុបញ្ចូលមិនអន្តរកម្មផ្សេងទៀតទាំងអស់ត្រូវបានបញ្ជូនជា flags មិនមែនអថេរបរិស្ថានទេ៖
--password, --provider, --provider-name, --provider-base-url, --default-model
(សូមមើលជម្រើស omniroute setup ខាងលើ)។
ការវិនិច្ឆ័យបញ្ហា
omniroute doctor # ពិនិត្យការកំណត់រចនាសម្ព័ន្ធ DB ច្រក runtime អង្គចងចាំ និងភាពរស់រវើក
omniroute doctor --json # JSON ដែលម៉ាស៊ីនអាចអានបាន
omniroute doctor --no-liveness # រំលងការស្ទង់ស្ថានភាពសុខភាព HTTP
omniroute doctor --host 0.0.0.0 # ជំនួស host សម្រាប់ការត្រួតពិនិត្យភាពរស់រវើក
omniroute doctor --liveness-url <url> # ជំនួស URL ពេញលេញរបស់ endpoint ស្ថានភាពសុខភាព
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/name/alias/category
omniroute providers available --category api-key # ត្រងតាមប្រភេទ (api-key, oauth, free, ...)
omniroute providers available --json # JSON ដែលម៉ាស៊ីនអាចអានបាន
omniroute providers list # ការតភ្ជាប់អ្នកផ្តល់សេវាដែលបានកំណត់រចនាសម្ព័ន្ធ
omniroute providers list --json
omniroute providers test <id|name> # សាកល្បងការតភ្ជាប់ដែលបានកំណត់រចនាសម្ព័ន្ធមួយ
omniroute providers test-all # សាកល្បងរាល់ការតភ្ជាប់ដែលសកម្ម
omniroute providers validate # ផ្ទៀងផ្ទាត់រចនាសម្ព័ន្ធតែក្នុងមូលដ្ឋាន
omniroute providers add <provider> --credential-env PROVIDER_KEY
omniroute providers import ./providers.json --dry-run --json
omniroute providers auth <provider> # លំហូរ OAuth ដែលមានស្រាប់
omniroute providers edit <id|name> --default-model <model>
omniroute providers remove <id|name> --yes
providers add/import/auth/edit/remove ប្រើ API ជាចម្បង ដូច្នេះដំណើរការជាមួយ
context មូលដ្ឋាន ឬពីចម្ងាយដែលកំពុងសកម្ម។ ការបញ្ចូលព័ត៌មានសម្ងាត់គួរប្រើ
--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 # បង្ហាញការព្រមាន + dry-run សម្រាប់កំណត់ព័ត៌មានសម្ងាត់ដែលបានអ៊ិនគ្រីបឡើងវិញ
omniroute reset-encrypted-columns --force # ពិតជាកំណត់ព័ត៌មានសម្ងាត់ដែលបានអ៊ិនគ្រីបទៅជា null ក្នុង SQLite
ការនាំចេញព័ត៌មានសម្ងាត់ (⚠ ប្រើប្រាស់ដោយប្រុងប្រយ័ត្ន)
omniroute auth export # បង្ហាញការព្រមាន + ជំហានបញ្ជាក់ — មិនចូលប្រើ DB
omniroute auth export --force # នាំចេញព័ត៌មានសម្ងាត់ដែលបានឌិគ្រីបរបស់ការតភ្ជាប់ទាំងអស់ទៅ stdout ជា JSON
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 route) ហើយបោះពុម្ព/សរសេរ
តម្លៃ apiKey/accessToken/refreshToken/idToken ជា អត្ថបទធម្មតា ដោយចេតនា — នេះជាមុខងារ មិនមែនជា
កំហុសទេ។ គ្មានអ្វីត្រូវបានអានពីមូលដ្ឋានទិន្នន័យ ហើយគ្មានអ្វីត្រូវបានឌិគ្រីបទេ បើគ្មាន --force។ ផ្ទាំង
ការព្រមាននៅ stderr តែងតែត្រូវបានបង្ហាញ មុនពេលអត្ថបទធម្មតាណាមួយត្រូវបានបញ្ចេញ។ តម្រូវឱ្យកំណត់ STORAGE_ENCRYPTION_KEY។
វាលដែលបរាជ័យក្នុងការឌិគ្រីប (សោហួសសុពលភាព ឬ ciphertext ខូច) ត្រូវបានរាយការណ៍ជា
<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 keys
omniroute models [provider] # រាយបញ្ជីម៉ូដែល (--json, --search)
omniroute combo list | switch | create | delete
omniroute backup # ថតចម្លងទុកការកំណត់រចនាសម្ព័ន្ធ + DB
omniroute restore # ស្តារឡើងវិញពីច្បាប់ចម្លងដែលបានថតទុកពីមុន
omniroute health # ស្ថានភាពសុខភាពលម្អិត (breakers, cache, memory)
omniroute quota # ការប្រើប្រាស់កូតារបស់អ្នកផ្តល់សេវា
omniroute cache # ស្ថានភាព cache
omniroute cache clear # សម្អាត semantic + signature caches
omniroute mcp status | restart # ស្ថានភាព / ការចាប់ផ្តើម MCP server ឡើងវិញ
omniroute a2a status | card # ស្ថានភាព A2A server / កាត agent
omniroute tunnel list | create | stop # គ្រប់គ្រង tunnels (cloudflare/tailscale/ngrok)
omniroute env show | get <k> | set <k> <v> # ពិនិត្យ / កំណត់ env vars (បណ្តោះអាសន្ន)
omniroute test # ការធ្វើតេស្តរហ័សលើការតភ្ជាប់របស់អ្នកផ្តល់សេវា
omniroute update # ពិនិត្យមើលបច្ចុប្បន្នភាព
omniroute completion # បង្កើតការបំពេញពាក្យបញ្ជា shell
ជម្រើសដែលប្រើជាទូទៅ
| ជម្រើស | សេចក្ដីពិពណ៌នា |
|---|---|
--no-open |
កុំបើកកម្មវិធីរុករកតាមអ៊ីនធឺណិតដោយស្វ័យប្រវត្តិនៅពេលចាប់ផ្តើម |
--port <n> |
កំណត់ API port ជំនួស (លំនាំដើម 20128) |
--mcp |
ដំណើរការជា MCP server តាមរយៈ stdio (សម្រាប់ IDEs) |
--non-interactive |
មុខងារ CI (គ្មានសំណួរបញ្ចូល; អានពី env/flags) |
--json |
លទ្ធផល JSON ដែលម៉ាស៊ីនអាចអានបាន (doctor, providers ជាដើម) |
--help, -h |
បង្ហាញជំនួយជាក់លាក់សម្រាប់ពាក្យបញ្ជា |
--version, -v |
បង្ហាញកំណែដែលបានដំឡើង |
API Endpoints ដែលមាន
| Endpoint | ការពិពណ៌នា | ប្រើសម្រាប់ |
|---|---|---|
/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 ដែលមាន token៖
ឧទាហរណ៍ token: sk-a3ab3c080beaee3a-69f4a4-070d71af
OpenAI base ស្តង់ដារ: 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 key មិនត្រឹមត្រូវ | ពិនិត្យក្នុង /dashboard/api-manager |
No combo configured |
មិនមាន routing combo ដែលសកម្ម | រៀបចំក្នុង /dashboard/combos |
| CLI បង្ហាញ "មិនបានដំឡើង" | Binary មិនស្ថិតក្នុង PATH | ពិនិត្យ which <command> |
| Dashboard បង្ហាញ "រកមិនឃើញ" បន្ទាប់ពីដំឡើង | Cache ចាស់ហួសសម័យ | ចុច "⟳ ផ្ទុកការរកឃើញឡើងវិញ" ក្នុង dashboard |
តំណចាស់ /dashboard/cli-tools |
Bookmark មុន v3.8.6 | បញ្ជូនបន្តដោយស្វ័យប្រវត្តិទៅ /dashboard/cli-code (308) |
តំណចាស់ /dashboard/agents |
Bookmark មុន v3.8.6 | បញ្ជូនបន្តដោយស្វ័យប្រវត្តិទៅ /dashboard/acp-agents (308) |