Files
OmniRoute/docs/i18n/km/docs/reference/CLI-TOOLS.md
Diego Rodrigues de Sa e Souza 0d13ef4fbb feat(i18n): 8 new locales — Kannada, Malayalam, Odia, Punjabi, Nepali, Sinhala, Burmese, Khmer (59 locales) (#13660)
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.
2026-09-14 18:22:01 -03:00

67 KiB
Raw Blame History

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_clikilo) និងការភ្ជាប់ 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 Google គ្មាន 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

  1. បើក /dashboard/api-managerបង្កើត API Key
  2. ដាក់ឈ្មោះឱ្យវា (ឧ. cli-tools) ហើយជ្រើសរើសសិទ្ធិទាំងអស់
  3. ចម្លង 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

  1. ចូលទៅកាន់ http://localhost:20128/dashboard/cli-code
  2. ស្វែងរកឧបករណ៍របស់អ្នកនៅក្នុងក្រឡាចត្រង្គ
  3. ចុចលើកាតដើម្បីបើកទំព័រលម្អិតរបស់ឧបករណ៍
  4. ជ្រើសរើស API key និង base URL របស់អ្នក
  5. ចុច អនុវត្តការកំណត់រចនាសម្ព័ន្ធ ឬចម្លងសំណុំកូដកំណត់រចនាសម្ព័ន្ធដោយដៃ

ជំហានទី 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)