Files
OmniRoute/docs/i18n/am/docs/reference/CLI-TOOLS.md
Diego Rodrigues de Sa e Souza b637350680 fix(docs): re-sync the 65 documentation mirror sets; section-level docs pipeline; drift gate blocking (#13940)
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
2026-09-17 02:55:31 -03:00

50 KiB
Raw Blame History

CLI Tools — OmniRoute (አማርኛ)

🌐 Languages: 🇺🇸 English · 🇸🇦 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 · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


የመጨረሻ ዝማኔ፦ 2026-08-23

OmniRoute በሦስት የተለዩ የዳሽቦርድ ገጾች ላይ ከተከፋፈሉ ሦስት የCLI መሣሪያዎች ምድቦች ጋር ይዋሃዳል፦

ገጽ መስመር ጽንሰ-ሐሳብ ብዛት
CLI ኮዶች /dashboard/cli-code ወደ OmniRoute የሚያመለክቷቸው የኮድ መጻፊያ መሣሪያዎች (ደንበኛ → CLI → OmniRoute → አቅራቢ) 26
CLI ወኪሎች /dashboard/cli-agents ወደ OmniRoute የሚያመለክቷቸው ራስ-ገዝ ወኪሎች (ተመሳሳይ ፍሰት፣ ሰፋ ያለ ወሰን) 10
ACP ወኪሎች /dashboard/acp-agents OmniRoute በstdio/ACP በኩል እንደ backend የሚያስነሳቸው CLIዎች (ተቃራኒ ፍሰት) registryን ይመልከቱ

የቆዩ መስመሮች በ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 እየሠራ ካለ OmniRoute (አካባቢያዊ ወይም የርቀት) ቀጥታ የሞዴል ካታሎግን የሚያነብና የመሣሪያውን የራሱን ውቅር በማሽንዎ ላይ የሚጽፍ ለእያንዳንዱ የሚደገፍ CLI የsetup-* ትዕዛዝ ይዞ ይመጣል፦

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 ሥር የማይጽፍ ብቸኛው አሠራር ነው፦ በመንጋው አስተናጋጅ ላይ በroot ባለቤትነት የተያዘ የማረጋገጫ መገለጫ በመጻፍ የ5dive ወኪል መንጋን ያዋቅራል፤ ስለዚህ በsudo በኩል ራሱን እንደገና ያስኬዳል እና የራሱ የርቀት ሁነታ የለውም። ትክክለኛው env ተካቶ ምንም ውቅር ሳይጻፍ CLIን ለማስጀመር፣ አጠቃላዩን omniroute run <target> ማስጀመሪያ ይጠቀሙ (claude፣ codex፣ aider፣ goose፣ opencode፣ qwen፣ gemini — ዒላማዎችና ተለዋጭ ስሞች ከbin/cli/cli-manifest.mjs ይመጣሉ)፤ የቆዩት ለየመሣሪያው የተዘጋጁ ማስጀመሪያዎች omniroute launch (Claude Code) እና omniroute launch-codex (Codex) አሁንም ይገኛሉ። Gemini CLI ለማስጀመር ብቻ ነው፦ የomniroute run ዒላማ ነው፣ ነገር ግን የsetup-*/configure አሠራር የለውም።

ሙሉ ማጣቀሻ፦ ዋናው ሰንጠረዥ — እያንዳንዱ ትዕዛዝ ምን እንደሚጽፍ፣ ሁሉም ጥቆማዎች፣ አካባቢያዊ ከርቀት ጋር ሲነጻጸር፣ እና የትኞቹ መሣሪያዎች የ/v1 ቅጥያ እንደሚፈልጉ — በ የCLI ውህደቶች ውስጥ ይገኛል።

እነዚህን በኮንቴይነር ውስጥ ማስኬድ

በOmniRoute ኮንቴይነር ውስጥ የተፈጸመ የsetup-* ትዕዛዝ ወደ ኮንቴይነሩ የራሱ home ይጽፋል፤ ምንም የአስተናጋጅ CLI ይህን አያነበውም፣ እንዲሁም ከ ኮንቴይነሩ ጋር ይጠፋል። OmniRoute ይህን ፈልጎ ያውቅና ከመጻፍ ይልቅ ከመመሪያዎች ጋር በ2 ይወጣል። ሁለት የሚደገፉ የቀጣይ እርምጃ መንገዶች አሉ — CLIን በአስተናጋጁ ላይ ጭነው omniroute connectን ወደ ኮንቴይነሩ መጠቀም፣ ወይም የውቅር ማውጫዎቹን bind-mount አድርጎ CLI_CONFIG_HOMEን ማዘጋጀት (የcompose host መገለጫ)። እያንዳንዱ የsetup-* ትዕዛዝ፣ ከ omniroute configure እና omniroute config set ጋር፣ በእርግጥ ያሰቡት የኮንቴይነሩን የራሱን CLIዎች ማዋቀር ከሆነ --allow-container-writeን ይቀበላል፤ OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true ለአገልጋዩ ተመሳሳይ ነገር ያደርጋል። የDocker መመሪያ → የአስተናጋጅ CLI መሣሪያዎችን ማዋቀርን ይመልከቱ።

የዳሽቦርዱ የተግባራዊነት መጨረሻ ነጥብ (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" ያላቸው ግቤቶች በዳሽቦርድ ገጾች ላይ አይታዩም — ለዕቅድ 11 በMITM የኋላ መዝገብ ውስጥ ተመዝግበዋል (_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.mdን ይመልከቱ)።

የችሎታ ደረጃዎች (ካታሎግ የተደረገ × ሊገኝ የሚችል × ሊዋቀር የሚችል × ሊጀመር የሚችል)

ካታሎግ የተደረገ መሣሪያ ሁሉ ሊገኝ፣ ሊዋቀር ወይም ሊጀመር የሚችል አይደለም። እያንዳንዱ ደረጃ አንድ የሚያውጅ ምንጭ አለው፣ እና የልዩነት ሙከራ ተመሳስለው እንዲቆዩ ያደርጋል፦

ደረጃ ትርጉም የሚገለጽበት
ካታሎግ የተደረገ በዳሽቦርድ ካታሎግ ውስጥ ይታያል (ስም፣ አቅራቢ፣ ሰነዶች፣ የውቅረት ዓይነት) src/shared/constants/cliTools.ts (CLI_TOOLS)
ሊገኝ የሚችል የባይነሪ/ውቅረት ማግኘት፣ የጤና ፍተሻዎች፣ የውቅረት ዱካዎች src/shared/services/cliRuntime.ts (CLI_TOOLS የአሂድ ጊዜ ካታሎግ)
ሊዋቀር የሚችል omniroute configure <cli> የተደገፈ (የማዋቀሪያ አሰራር አለ) bin/cli/cli-manifest.mjs (configure: true)
ሊጀመር የሚችል omniroute run <target> የተደገፈ (የenv/args ማስገባት ተገልጿል) bin/cli/cli-manifest.mjs (run: true)

bin/cli/cli-manifest.mjs ለCLI ትዕዛዝ በይነገጾች መደበኛው ተፈጻሚ ማኒፌስት ነው፦ runconfigure እና የshell-completion አመንጪዎች ሁሉ የዒላማ ዝርዝሮቻቸውን፣ የቅጽል ስም ማስተካከያቸውን (ለምሳሌ kilocode/kilo-code/kilo_clikilo) እና የ--model አማራጭ ግንኙነትን ከእሱ ያገኛሉ። የልዩነት መከላከያው tests/unit/cli/cli-manifest-drift.test.ts ማኒፌስቱ፣ የአሂድ ጊዜ ካታሎጉ፣ የUI ካታሎጉ እና እያንዳንዱ የተጠቃሚ በይነገጽ ተመሳስለው መቆየታቸውን ያረጋግጣል — ሌሎቹ ሳይዘመኑ ወደ አንድ በይነገጽ የታከለ ዒላማ በዝምታ ልዩነት እንዲፈጥር ከመፍቀድ ይልቅ የሙከራ ስብስቡን ያሳንፋል።


1. የCLI Code ካታሎግ (26 መሣሪያዎች)

/dashboard/cli-code ውስጥ የሚታዩ ሁሉም መሣሪያዎች። baseUrlSupport: none ያላቸው መሣሪያዎች ብጁ base URL ከመጠቀም ይልቅ በMITM ወይም በእጅ መመሪያ በኩል ይገናኛሉ፦

id ስም አቅራቢ 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 Google 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" ያላቸው መሣሪያዎች በዳሽቦርድ ካርዱ ላይ "⚠ ከፊል Base 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 የተሰየመው እንደገና) OmniRoute በstdio/ACP ፕሮቶኮል በኩል እንደ የጀርባ ክፍል ማስፈጸሚያ ሞተሮች ማስጀመር የሚችላቸውን CLIዎች ያሳያል። ካታሎጉ በsrc/lib/acp/registry.ts ውስጥ በተናጠል የሚተዳደር ሲሆን ከCLI_TOOLS ጋር ተመሳሳይ አይደለም


4. የMITM ቀሪ ሥራዎች (በዳሽቦርዱ ውስጥ አይታዩም)

የሚከተሉት CLIዎች ብጁ base URLን በተፈጥሯዊ ሁኔታ አይደግፉም፣ እንዲሁም በCLI Code ወይም CLI Agents ገጾች ውስጥ አልተዘረዘሩም። በዕቅድ 11 ውስጥ ለMITM ጣልቃ ገብነት እጩዎች ናቸው፦

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) (ከሌሎች የ/api/cli-tools/ መስመሮች ጋር ተመሳሳይ)
  • የሚመልሰው፦ Record<toolId, ToolBatchStatus> (ዓይነት፦ src/shared/types/cliBatchStatus.ts)
  • ስልት፦ በሁሉም መሣሪያዎች ላይ Promise.all፣ ለእያንዳንዱ መሣሪያ 5s የጊዜ ገደብ
  • መሸጎጫ፦ በውቅር ፋይሉ mtime የሚመዘገብ የውስጠ-ማህደረ ትውስታ LRU። 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; // የጸዳ፣ የstack ዱካዎች የሉትም
}

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 Agents (/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.tsxToolDetailClientን እንደገና ይጠቀማል

ACP Agents (/dashboard/acp-agents)

  • src/app/(dashboard)/dashboard/acp-agents/page.tsx — የአገልጋይ ኮምፖነንት (ከagents/ የተዛወረ)

የጋራ UI ኮምፖነንቶች (src/shared/components/cli/)

ፋይል ዓላማ
CliToolCard.tsx ብልህ የሁኔታ ካርድ (ማወቅ + ውቅር + መዳረሻ)
CliConceptCard.tsx የእያንዳንዱ ገጽ ጽንሰ-ሐሳብ ማብራሪያ ካርድ
CliComparisonCard.tsx በCLI ዓይነቶች መካከል ባለሦስት-ዓምድ ንጽጽር
BaseUrlSelect.tsx የመዳረሻ ተቆልቋይ ምርጫ (አካባቢያዊ/ደመና/ብጁ)
ApiKeySelect.tsx የAPI ቁልፍ መራጭ
ManualConfigModal.tsx ሊቀዳ የሚችል የውቅር ቅንጣቢ ሞዳል

የጋራ Hook (src/shared/hooks/cli/)

ፋይል ዓላማ
useToolBatchStatuses.ts /api/cli-tools/all-statusesን ያመጣል፣ የመጫን/የማደስ ሁኔታን ያስተዳድራል

8. i18n

በዕቅድ 14 F9 ውስጥ የታከሉ አዲስ namespaces፦

Namespace ዓላማ
cliCommon የጋራ ጽሑፎች (የካርድ መለያዎች፣ የፅንሰ-ሐሳብ/ንፅፅር ጽሑፎች፣ የዝርዝር ገጽ መለያዎች)
cliCode የCLI Code ገጽ ጽሑፎች
cliAgents የCLI Agents ገጽ ጽሑፎች
acpAgents የACP Agents ገጽ ጽሑፎች

ሙሉ የPT-BR እና EN ትርጉሞች ቀርበዋል። ሌሎች 39 locales በsrc/i18n/request.ts ውስጥ ባለው የnamespace-ደረጃ ውህደት አማካኝነት በራስ-ሰር ወደ EN ይመለሳሉ።


9. ፈጣን መጀመሪያ

ደረጃ 1 — የOmniRoute API ቁልፍ ያግኙ

  1. /dashboard/api-managerን ይክፈቱ → የAPI ቁልፍ ይፍጠሩ
  2. ስም ይስጡት (ለምሳሌ cli-tools) እና ሁሉንም ፈቃዶች ይምረጡ
  3. ቁልፉን ይቅዱ — ከታች ላለው እያንዳንዱ 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 surface)
npm install -g @google/gemini-cli

# Aider
pip install aider-chat

# Smelt
cargo install smelt  # በRust ላይ የተመሠረተ

# Pi coding agent
# ለመጫኛ መመሪያ 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 ቁልፍዎን እና base URLን ይምረጡ
  5. ውቅረትን ተግብርን ጠቅ ያድርጉ ወይም በእጅ የሚዋቀርበትን ቅንጣቢ ይቅዱ

ደረጃ 4 — ዓለም አቀፍ Environment Variables ያዘጋጁ

# OmniRoute ሁለንተናዊ Endpoint
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"

ርቀት server localhost:20128ን በserver IP ወይም domain ይተኩ፣ ለምሳሌ 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 gateway root ይጠቀሙ። እዚህ /v1ን አይጨምሩ።

ሙከራ፦ claude "say hello"


OpenAI Codex

ዘመናዊው Codex (v0.137+) ~/.codex/config.tomlን ብቻ ያነባል — የቀድሞው config.yaml የlegacy npm CLI ነው እና ያለምንም ማስጠንቀቂያ ችላ ይባላል። የAPI ቁልፉ ሁልጊዜ በOMNIROUTE_API_KEY environment variable (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

የthinking variantsን ለመላክ 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 extension ቅንብሮች → API Provider፦ OpenAI Compatible → Base URL፦ http://localhost:20128/v1

ወይም የOmniRoute dashboardን ይጠቀሙ → CLI Tools → 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 Tools → KiloCode → ውቅረትን ተግብር


Continue (VS Code Extension)

~/.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 ለብጁ endpoint models ሲዋቀር እና OmniRoute ያለብጁ 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ን በOmniRoute ውስጥ በተፈጠረ API ቁልፍ ይተኩ።
  • url መስክ ወደ /api/v1/vscode/{token}/chat/completions ማመልከት አለበት።
  • modelsUrl መስክ ወደ /api/v1/vscode/{token}/models ማመልከት አለበት።
  • ደንበኛው ብጁ ራስጌዎችን የሚደግፍ ከሆነ፣ መደበኛውን /v1 + Bearer ራስጌ ፍሰት ይምረጡ።
  • በURL ውስጥ የተካተቱ ቶከኖች ለተኳኋኝነት የሚያገለግሉ አማራጭ መፍትሔዎች ሲሆኑ፣ በአርታዒ ምዝግቦች ወይም በፕሮክሲ ታሪክ ውስጥ ሊታዩ ይችላሉ።

Kiro CLI (Amazon)

# ወደ AWS/Kiro መለያዎ ይግቡ፦
kiro-cli login

# CLIው የራሱን ማረጋገጫ ይጠቀማል — ለKiro CLI ራሱ OmniRoute እንደ ጀርባ አገልግሎት አያስፈልግም።
# ለሌሎች መሣሪያዎች kiro-cliን ከOmniRoute ጎን ለጎን ይጠቀሙ።
kiro-cli status

Kiro IDE ዴስክቶፕ መተግበሪያ፣ በOmniRoute የሚቀርበውን MITM መጨረሻ ነጥብ በ/dashboard/cli-tools → Kiro ስር ይጠቀሙ።


10. ውስጣዊ OmniRoute CLI

omniroute binary ለሰርቨር የሕይወት ዑደት፣ ለማዋቀር፣ ለምርመራ እና ለአቅራቢ አስተዳደር ትዕዛዞችን ያቀርባል። የመግቢያ ነጥብ፦ bin/omniroute.mjs

omniroute                              # ሰርቨሩን አስጀምር (ነባሪ port 20128)
omniroute setup                        # በይነተገናኝ የማዋቀሪያ አዋቂ
omniroute doctor                       # config፣ DB፣ ports እና 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                      # አቅራቢን በአንድ ጊዜ ጨምር እና ፈትሽ

በይነተገናኝ ላልሆነ ማዋቀር የሚታወቁ environment variables፦

Var ዓላማ
OMNIROUTE_API_KEY የአቅራቢ API key (በCommander .env() በኩል ከ--api-key ጋር የተያያዘ)
DATA_DIR የOmniRoute ውሂብ ማውጫን ይተካል

ሌሎች በይነተገናኝ ያልሆኑ ግብዓቶች በሙሉ እንደ flags ይተላለፋሉ፤ environment variables አይደሉም፦ --password, --provider, --provider-name, --provider-base-url, --default-model (ከላይ ያሉትን የomniroute setup አማራጮች ይመልከቱ)።

ምርመራዎች

omniroute doctor                       # config፣ DB፣ ports፣ runtime፣ memory እና liveness ፈትሽ
omniroute doctor --json                # በማሽን ሊነበብ የሚችል JSON
omniroute doctor --no-liveness         # የHTTP health probeን ዝለል
omniroute doctor --host 0.0.0.0        # የliveness hostን ተካ
omniroute doctor --liveness-url <url>  # ሙሉውን የhealth endpoint URL ተካ

doctor እነዚህን ፍተሻዎች ያካሂዳል፦ ConfigDatabaseStorage/encryptionPort availabilityNode runtimeNative 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    # በcategory አጣራ (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       # ለencrypted credential reset ማስጠንቀቂያ + dry-run አሳይ
omniroute reset-encrypted-columns --force  # በSQLite ውስጥ encrypted credentialsን በእርግጥ null አድርግ

የማረጋገጫ መረጃ ወደ ውጭ መላክ (⚠ በጥንቃቄ ይያዙ)

omniroute auth export                                 # ማስጠንቀቂያ + የማረጋገጫ ደረጃ አሳይ — የDB መዳረሻ የለም
omniroute auth export --force                          # የሁሉንም ግንኙነቶች DECRYPTED credentials እንደ 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 route የለም) እና ሆን ብሎ plaintext የሆኑ apiKey/accessToken/refreshToken/idToken እሴቶችን ያትማል/ይጽፋል — ይህ ባህሪው ነው፣ ስህተት አይደለም። --force ሳይኖር ከdatabase ምንም አይነበብም፣ እንዲሁም ምንም አይፈታም። ማንኛውም plaintext ከመውጣቱ በፊት የstderr ማስጠንቀቂያ ባነር ሁልጊዜ ይታተማል። STORAGE_ENCRYPTION_KEY መዘጋጀት ያስፈልገዋል። መፍታት ያልተሳካለት field (ጊዜው ያለፈ key፣ የተበላሸ ciphertext) ሙሉውን export ከማቋረጥ ወይም ዋናውን ስህተት ከማጋለጥ ይልቅ <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                   # የshell ማጠናቀቂያ ይፍጠሩ

የተለመዱ አማራጮች

አማራጭ መግለጫ
--no-open ሲጀመር አሳሹን በራስ-ሰር አትክፈት
--port <n> የAPI ወደቡን ቀይር (ነባሪው 20128)
--mcp በstdio ላይ እንደ MCP አገልጋይ አሂድ (ለIDEዎች)
--non-interactive የCI ሁነታ (ጥያቄዎች የሉም፤ ከአካባቢ ተለዋዋጮች/አማራጮች ያነባል)
--json በማሽን ሊነበብ የሚችል የJSON ውጤት (doctor፣ providers፣ ወዘተ)
--help, -h ለትእዛዙ የተወሰነ እገዛ አሳይ
--version, -v የተጫነውን ስሪት አትም

የሚገኙ API መገናኛ ነጥቦች

መገናኛ ነጥብ መግለጫ የአጠቃቀም ዓላማ
/v1/chat/completions መደበኛ ውይይት (ሁሉም አቅራቢዎች) ሁሉም ዘመናዊ መሣሪያዎች
/v1/responses Responses API (OpenAI ቅርጸት) Codex፣ በወኪል የሚከናወኑ የሥራ ፍሰቶች
/v1/completions የቆዩ የጽሑፍ ማጠናቀቂያዎች prompt: የሚጠቀሙ የቆዩ መሣሪያዎች
/v1/embeddings የጽሑፍ 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 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 ንቁ የማዘዋወሪያ combo የለም /dashboard/combos ውስጥ ያዋቅሩ
CLI «አልተጫነም» ያሳያል Binary በPATH ውስጥ የለም which <command>ን ያረጋግጡ
ከመጫን በኋላ Dashboard «አልተገኘም» ያሳያል Cache ጊዜው ያለፈበት ነው በdashboard ውስጥ «⟳ ማግኘትን አድስ»ን ጠቅ ያድርጉ
የቆየ አገናኝ /dashboard/cli-tools ከv3.8.6 በፊት የተቀመጠ ዕልባት በራስ-ሰር ወደ /dashboard/cli-code (308) ይዛወራል
የቆየ አገናኝ /dashboard/agents ከv3.8.6 በፊት የተቀመጠ ዕልባት በራስ-ሰር ወደ /dashboard/acp-agents (308) ይዛወራል