# CLI Tools โ€” OmniRoute (Kiswahili) ๐ŸŒ **Languages:** ๐Ÿ‡บ๐Ÿ‡ธ [English](../../../../reference/CLI-TOOLS.md) ยท ๐Ÿ‡ช๐Ÿ‡น [am](../../../am/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ธ๐Ÿ‡ฆ [ar](../../../ar/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฆ๐Ÿ‡ฟ [az](../../../az/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ง๐Ÿ‡ฌ [bg](../../../bg/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ง๐Ÿ‡ฉ [bn](../../../bn/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ง๐Ÿ‡ฆ [bs](../../../bs/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡จ๐Ÿ‡ฟ [cs](../../../cs/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฉ๐Ÿ‡ฐ [da](../../../da/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฉ๐Ÿ‡ช [de](../../../de/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฌ๐Ÿ‡ท [el](../../../el/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ช๐Ÿ‡ธ [es](../../../es/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ช๐Ÿ‡ช [et](../../../et/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ท [fa](../../../fa/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ซ๐Ÿ‡ฎ [fi](../../../fi/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ซ๐Ÿ‡ท [fr](../../../fr/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ช [ga](../../../ga/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [gu](../../../gu/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ฌ [ha](../../../ha/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ฑ [he](../../../he/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [hi](../../../hi/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ญ๐Ÿ‡ท [hr](../../../hr/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ญ๐Ÿ‡บ [hu](../../../hu/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฆ๐Ÿ‡ฒ [hy](../../../hy/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ฉ [id](../../../id/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ฌ [ig](../../../ig/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡น [it](../../../it/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฏ๐Ÿ‡ต [ja](../../../ja/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฌ๐Ÿ‡ช [ka](../../../ka/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฐ๐Ÿ‡ญ [km](../../../km/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [kn](../../../kn/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฐ๐Ÿ‡ท [ko](../../../ko/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฑ๐Ÿ‡น [lt](../../../lt/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฑ๐Ÿ‡ป [lv](../../../lv/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [ml](../../../ml/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [mr](../../../mr/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฒ๐Ÿ‡พ [ms](../../../ms/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฒ๐Ÿ‡น [mt](../../../mt/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฒ๐Ÿ‡ฒ [my](../../../my/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ต [ne](../../../ne/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ฑ [nl](../../../nl/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ด [no](../../../no/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [or](../../../or/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [pa](../../../pa/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ต๐Ÿ‡ญ [phi](../../../phi/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ต๐Ÿ‡ฑ [pl](../../../pl/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ต๐Ÿ‡น [pt](../../../pt/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ง๐Ÿ‡ท [pt-BR](../../../pt-BR/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ท๐Ÿ‡ด [ro](../../../ro/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ท๐Ÿ‡บ [ru](../../../ru/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฑ๐Ÿ‡ฐ [si](../../../si/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ธ๐Ÿ‡ฐ [sk](../../../sk/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ธ๐Ÿ‡ฎ [sl](../../../sl/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ท๐Ÿ‡ธ [sr](../../../sr/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ธ๐Ÿ‡ช [sv](../../../sv/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [ta](../../../ta/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ฎ๐Ÿ‡ณ [te](../../../te/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡น๐Ÿ‡ญ [th](../../../th/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡น๐Ÿ‡ท [tr](../../../tr/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡บ๐Ÿ‡ฆ [uk-UA](../../../uk-UA/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ต๐Ÿ‡ฐ [ur](../../../ur/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡บ๐Ÿ‡ฟ [uz](../../../uz/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ป๐Ÿ‡ณ [vi](../../../vi/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡ณ๐Ÿ‡ฌ [yo](../../../yo/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡จ๐Ÿ‡ณ [zh-CN](../../../zh-CN/docs/reference/CLI-TOOLS.md) ยท ๐Ÿ‡น๐Ÿ‡ผ [zh-TW](../../../zh-TW/docs/reference/CLI-TOOLS.md) --- Ilisasishwa mwisho: 2026-08-23 OmniRoute huunganishwa na makundi matatu ya zana za CLI yaliyosambazwa katika kurasa tatu mahususi za dashibodi: | Ukurasa | Njia | Dhana | Idadi | | ------------------- | ----------------------- | ----------------------------------------------------------------------------------------------- | -------------- | | **Misimbo ya CLI** | `/dashboard/cli-code` | Zana za uandishi wa msimbo unazozielekeza kwa OmniRoute (Mteja โ†’ CLI โ†’ OmniRoute โ†’ Mtoa huduma) | 26 | | **Mawakala wa CLI** | `/dashboard/cli-agents` | Mawakala wanaojiendesha unaowaelekeza kwa OmniRoute (mtiririko uleule, wigo mpana zaidi) | 10 | | **Mawakala wa ACP** | `/dashboard/acp-agents` | CLI ambazo OmniRoute huanzisha kama backend kupitia stdio/ACP (mtiririko wa kinyume) | angalia sajili | Njia za zamani huelekeza kwingine kupitia 308: `/dashboard/cli-tools` โ†’ `/dashboard/cli-code`, `/dashboard/agents` โ†’ `/dashboard/acp-agents`. --- ## Jinsi Inavyofanya Kazi ``` Misimbo ya CLI / Mawakala wa CLI (mtiririko wa matumizi): Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ... โ”‚ โ–ผ (zote zinaelekezwa kwa OmniRoute) http://YOUR_SERVER:20128/v1 โ”‚ โ–ผ (OmniRoute huelekeza kwa mtoa huduma anayefaa) Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ... Mawakala wa ACP (mtiririko wa uanzishaji wa kinyume): Ombi la mteja โ†’ OmniRoute โ†’ huanzisha CLI kupitia stdio/ACP โ†’ jibu ``` **Faida:** - Ufunguo mmoja wa API wa kudhibiti zana zote - Ufuatiliaji wa gharama katika CLI zote kwenye dashibodi - Kubadilisha modeli bila kusanidi upya kila zana - Hufanya kazi ndani ya mashine na kwenye seva za mbali (VPS, Docker, Akamai, Cloudflare Tunnel) --- ## Sanidi kiotomatiki kwa `setup-*` Si lazima uandike usanidi wa kila zana mwenyewe. OmniRoute huja na amri ya `setup-*` kwa kila CLI inayotumika, ambayo husoma katalogi ya modeli ya **moja kwa moja** kutoka kwa OmniRoute inayoendeshwa (ndani ya mashine au kwa mbali) na kuandika usanidi wa zana hiyo kwenye mashine yako: ```bash 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 ``` Kila moja hukubali `--remote --api-key ` (sanidi zana ya ndani dhidi ya OmniRoute ya mbali), `--dry-run` (hakiki bila kuandika), na `--port`. Zana zisizo na ugunduzi wa modeli kiotomatiki (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive) hutumia `--model ` (na `--yes` kwa utekelezaji usiohitaji mwingiliano). `setup-5dive` ndiyo utaratibu pekee ambao hauandiki chini ya `$HOME`: husanidi kundi la mawakala wa 5dive kwa kuandika wasifu wa uthibitishaji unaomilikiwa na root kwenye seva ya kundi hilo, kwa hiyo hujitekeleza upya kupitia `sudo` na haina hali yake yenyewe ya mbali. Ili kuanzisha CLI huku mazingira sahihi yakiingizwa bila kuandika usanidi wowote, tumia kizinduzi cha jumla `omniroute run ` (claude, codex, aider, goose, opencode, qwen, gemini โ€” shabaha na majina mbadala hutoka kwenye `bin/cli/cli-manifest.mjs`); vizinduzi vya zamani vya kila zana `omniroute launch` (Claude Code) na `omniroute launch-codex` (Codex) bado vinapatikana. Gemini CLI ni ya kuanzisha pekee: ni shabaha ya `omniroute run` lakini haina utaratibu wa `setup-*`/`configure`. > **Rejeleo kamili:** jedwali kuu โ€” kile ambacho kila amri huandika, kila alama, > matumizi ya ndani dhidi ya mbali, na zana zipi zinahitaji kiambishi cha `/v1` โ€” linapatikana katika > **[Miunganisho ya CLI](../guides/CLI-INTEGRATIONS.md)**. ### Kuendesha hizi ndani ya kontena Amri ya `setup-*` inayotekelezwa ndani ya kontena la OmniRoute huandika kwenye saraka ya nyumbani ya kontena lenyewe, ambayo haisomwi na CLI yoyote ya host na ambayo hutoweka pamoja na kontena. OmniRoute hugundua hilo na hutoka kwa msimbo `2` ikiwa na maelekezo badala ya kuandika. Kuna njia mbili zinazotumika za kuendelea โ€” sakinisha CLI kwenye host na utumie `omniroute connect` kuunganisha kwenye kontena, au bind-mount saraka za usanidi na uweke `CLI_CONFIG_HOME` (wasifu wa compose wa `host`). Kila amri ya `setup-*`, pamoja na `omniroute configure` na `omniroute config set`, hukubali `--allow-container-write` ikiwa ulichokusudia hasa ni kusanidi CLI za kontena lenyewe; `OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true` hufanya vivyo hivyo kwa seva. Angalia [Mwongozo wa Docker โ†’ Kusanidi zana za CLI za host](../guides/DOCKER_GUIDE.md#configuring-host-cli-tools-when-omniroute-runs-in-docker). **Endpoint ya utekelezaji** ya dashibodi (`POST /api/cli-tools/apply`) hutekeleza ulinzi huohuo: ndani ya kontena, jaribio la kuandika ambalo shabaha yake haijawekwa kama bind mount kutoka kwa host hujibu kwa **`422`** likiwa na `containerEphemeralTarget: true`, maandishi salama ya hitilafu na โ€” kwa zana zilizo na utaratibu wa host (claude, codex, opencode, cline, kilo, continue) โ€” `hostSetupCommand` (k.m. `omniroute setup-opencode`) ya kutekelezwa kwenye host badala yake; hakuna chochote kinachoandikwa. `dryRun: true` huendelea kufanya kazi katika hali ya kontena na hurudisha hakikisho lililofichwa taarifa nyeti + njia lengwa bila kugusa diski. Maudhui ya hakikisho si usanidi wenye taarifa tambulishi unaopaswa kunakiliwa au kuingizwa. Tekeleza kwa ingizo asili la zana/URL msingi/ufunguo wa API/modeli kwenye host, au tumia amri iliyoonyeshwa ya usanidi kwenye host. Angalia [Usalama wa usanidi wa CLI](../security/CLI-CONFIGURATION.md) kwa kichwa cha hakikisho na mkataba wa ombi. Tabia hii ni ya makusudi na inalindwa dhidi ya uharibifu wa utendaji na `tests/unit/api/cli-tools/apply-container-guard.test.ts` โ€” kamwe โ€œusirekebisheโ€ 422 kwa kuondoa ulinzi. --- ## Chanzo Rasmi cha Taarifa Katalogi iliyounganishwa ipo katika `src/shared/constants/cliTools.ts` kama `CLI_TOOLS: Record`. Kila ingizo lina sehemu hizi (zilizofafanuliwa katika `src/shared/schemas/cliCatalog.ts`): | Sehemu | Aina | Maelezo | | ----------------------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------------ | | `category` | `"code" \| "agent"` | Ukurasa ambao zana inaonekana | | `vendor` | `string` | Asili ya zana ("Anthropic", "OSS (P. Gauthier)") | | `acpSpawnable` | `boolean` | Pia inaweza kutumika kama ACP Agent (beji inaonyeshwa) | | `baseUrlSupport` | `"full" \| "partial" \| "none"` | Kiwango cha usaidizi wa endpoint maalum. `"none"` = foleni ya MITM | | `configType` | `"env" \| "custom" \| "guide" \| "custom-builder" \| "mitm"` | Utaratibu wa usanidi | | `id`, `name`, `color`, `description`, `docsUrl` | kawaida | Sehemu kuu za uonyeshaji | Maingizo yenye `baseUrlSupport: "none"` **hayaonyeshwi** katika kurasa za dashibodi โ€” yamesajiliwa kwenye foleni ya MITM kwa mpango wa 11 (angalia `_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md`). ### Viwango vya uwezo (vilivyoorodheshwa ร— vinavyotambulika ร— vinavyosanidika ร— vinavyoweza kuzinduliwa) Si kila zana iliyoorodheshwa inaweza kutambuliwa, kusanidiwa au kuzinduliwa. Kila kiwango kina chanzo kimoja cha utangazaji, na jaribio la mkengeuko huviweka katika uwiano: | Kiwango | Maana | Kimetangazwa katika | | ----------------------- | ----------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | **Imeorodheshwa** | Huonekana katika katalogi ya dashibodi (jina, msambazaji, nyaraka, aina ya usanidi) | `src/shared/constants/cliTools.ts` (`CLI_TOOLS`) | | **Inatambulika** | Utambuzi wa binary/usanidi, ukaguzi wa afya, njia za usanidi | `src/shared/services/cliRuntime.ts` (katalogi ya utekelezaji ya `CLI_TOOLS`) | | **Inasanidika** | Inatumika na `omniroute configure ` (kichocheo cha usanidi kipo) | `bin/cli/cli-manifest.mjs` (`configure: true`) | | **Inaweza kuzinduliwa** | Inatumika na `omniroute run ` (uingizaji wa env/args umefafanuliwa) | `bin/cli/cli-manifest.mjs` (`run: true`) | `bin/cli/cli-manifest.mjs` ndiyo manifesti tekelezi rasmi kwa sehemu za amri za CLI: `run`, `configure` na vizalishaji vya ukamilishaji wa shell vyote hupata orodha zao za malengo, utatuzi wa majina mbadala (kwa mfano `kilocode`/`kilo-code`/`kilo_cli` โ†’ `kilo`) na uunganishaji wa bendera ya `--model` kutoka humo. Kilinzi cha mkengeuko `tests/unit/cli/cli-manifest-drift.test.ts` huthibitisha kwamba manifesti, katalogi ya utekelezaji, katalogi ya UI na kila sehemu inayotumia hubaki katika uwiano โ€” lengo lililoongezwa kwenye sehemu moja bila nyingine husababisha mkusanyiko wa majaribio kushindwa badala ya kukengeuka kimyakimya. --- ## 1. Katalogi ya Msimbo wa CLI (zana 26) Zana zote zinazoonekana katika `/dashboard/cli-code`. Zile zenye `baseUrlSupport: none` huunganishwa kupitia MITM au mwongozo wa hatua za mikono badala ya URL msingi maalum: | id | jina | msambazaji | 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 | Zana zenye `baseUrlSupport: "partial"` huonyesha beji ya "โš  URL msingi kwa kiasi" kwenye kadi ya dashibodi. --- ## 2. Katalogi ya Mawakala wa CLI (zana 10) Mawakala huru wanaoonekana katika `/dashboard/cli-agents`: | id | name | vendor | baseUrlSupport | acpSpawnable | | ------------ | ---------------- | ------------------------ | -------------- | ------------ | | hermes-agent | Hermes Agent | Nous Research | kamili | false | | openclaw | OpenClaw | OSS (P. Steinberger) | kamili | true | | goose | Goose | Block / Linux Foundation | kamili | true | | interpreter | Open Interpreter | OSS | kamili | true | | warp | Warp AI | Warp Inc. | sehemu | true | | agent-deck | Agent Deck | asheshgoplani (OSS) | kamili | false | | omp | Oh My Pi | OSS | kamili | true | | letta | Letta CLI | Letta | kamili | false | | prime-agent | Prime Agent | Prime Intellect (OSS) | kamili | false | | 5dive | 5dive | OSS (5dive-ai) | kamili | false | --- ## 3. Mawakala wa ACP (/dashboard/acp-agents) Ukurasa huu (uliobadilishwa jina kutoka `/dashboard/agents`) unaonyesha CLI ambazo OmniRoute inaweza **kuanzisha** kama injini za utekelezaji za upande wa nyuma kupitia itifaki ya stdio/ACP. Katalogi inadumishwa kando katika `src/lib/acp/registry.ts` na **si** sawa na `CLI_TOOLS`. --- ## 4. Orodha ya Kazi Zinazosubiri za MITM (haionyeshwi kwenye dashibodi) CLI zifuatazo hazitumii URL maalum ya msingi moja kwa moja na **hazijaorodheshwa** katika kurasa za CLI Code au CLI Agents. Ni wagombea wa kunaswa na MITM katika mpango wa 11: | CLI | Sababu | | ------------------- | ------------------------------------------------------------------------ | | windsurf | BYOK imewekewa mipaka kwa miundo teule ya Claude + URL/tokeni ya shirika | | amp | Mfumo funge (Sourcegraph) | | amazon-q / kiro-cli | Uthibitishaji wa AWS SSO, hakuna URL maalum | | cowork | Anthropic Desktop, hakuna endpoint inayoweza kusanidiwa | Tazama `_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md` kwa marejeleo mtambuka kamili. --- ## 5. API ya Ugunduzi wa Kundi Ugunduzi wote wa zana unakusanywa kupitia endpoint moja: **`GET /api/cli-tools/all-statuses`** - Uthibitishaji: `requireCliToolsAuth(request)` (sawa na njia nyingine za `/api/cli-tools/`) - Hurejesha: `Record` (aina: `src/shared/types/cliBatchStatus.ts`) - Mkakati: `Promise.all` kwenye zana zote, muda wa kuisha wa sekunde 5 kwa kila zana - Akiba: LRU ya ndani ya kumbukumbu iliyoorodheshwa kwa `mtime` ya faili ya usanidi. Akiba hubatilishwa `mtime` inapobadilika. Huwekwa upya seva inapoanzishwa upya. Muundo wa jibu kwa kila zana: ```ts 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; // imesafishwa, hakuna ufuatiliaji wa mrundikano } ``` --- ## 6. Vishughulikiaji vya Mipangilio kwa Zana Mpya Zana mpya zenye `configType: "custom"` zina njia mahususi za API ya mipangilio: | Njia | Zana | | ------------------------------------------- | ----------------------------------------------------------------------------- | | `POST /api/cli-tools/forge-settings` | ForgeCode (.forge.toml) | | `POST /api/cli-tools/jcode-settings` | jcode (alama ya --base-url) | | `POST /api/cli-tools/deepseek-tui-settings` | DeepSeek TUI (OPENAI_BASE_URL, ya zamani) | | `POST /api/cli-tools/codewhale-settings` | CodeWhale (OPENAI_BASE_URL, ya msingi + usawazishaji wa zamani `~/.deepseek`) | | `POST /api/cli-tools/smelt-settings` | Smelt | | `POST /api/cli-tools/pi-settings` | Ajenti wa uandishi wa msimbo wa 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` + ufunguo mahususi wa `.env`) | Njia zote hutumia `sanitizeErrorMessage()` kwa majibu ya hitilafu (Kanuni Isiyobadilika #12). --- ## 7. Muundo wa Kurasa za Dashibodi ### Misimbo ya CLI (`/dashboard/cli-code`) - `src/app/(dashboard)/dashboard/cli-code/page.tsx` โ€” kijenzi cha seva - `src/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx` โ€” gridi ya mteja - `src/app/(dashboard)/dashboard/cli-code/[id]/page.tsx` โ€” ukurasa wa maelezo ya zana - `src/app/(dashboard)/dashboard/cli-code/components/` โ€” kadi 12 maalumu za zana + `ToolDetailClient.tsx` ### Ajenti za CLI (`/dashboard/cli-agents`) - `src/app/(dashboard)/dashboard/cli-agents/page.tsx` โ€” kijenzi cha seva - `src/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx` โ€” gridi ya mteja - `src/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx` โ€” hutumia tena `ToolDetailClient` ### Ajenti za ACP (`/dashboard/acp-agents`) - `src/app/(dashboard)/dashboard/acp-agents/page.tsx` โ€” kijenzi cha seva (kimehamishwa kutoka `agents/`) ### Vijenzi vya UI Vinavyoshirikiwa (`src/shared/components/cli/`) | Faili | Kusudi | | ----------------------- | ----------------------------------------------------------- | | `CliToolCard.tsx` | Kadi mahiri ya hali (utambuzi + usanidi + sehemu ya mwisho) | | `CliConceptCard.tsx` | Kadi ya ufafanuzi wa dhana kwa kila ukurasa | | `CliComparisonCard.tsx` | Ulinganisho wa safu tatu kati ya aina za CLI | | `BaseUrlSelect.tsx` | Orodha kunjuzi ya sehemu ya mwisho (Ya Ndani/Wingu/Maalumu) | | `ApiKeySelect.tsx` | Kiteuzi cha ufunguo wa API | | `ManualConfigModal.tsx` | Dirisha la msimbo wa usanidi unaoweza kunakiliwa | ### Hook Inayoshirikiwa (`src/shared/hooks/cli/`) | Faili | Kusudi | | ------------------------- | -------------------------------------------------------------------------------- | | `useToolBatchStatuses.ts` | Huleta `/api/cli-tools/all-statuses`, hudhibiti hali ya upakiaji/uonyeshaji upya | --- ## 8. i18n Nafasi mpya za majina zilizoongezwa katika mpango 14 F9: | Nafasi ya majina | Kusudi | | ---------------- | --------------------------------------------------------------------------------------------------- | | `cliCommon` | Mifuatano inayoshirikiwa (lebo za kadi, maandishi ya dhana/ulinganisho, lebo za ukurasa wa maelezo) | | `cliCode` | Mifuatano ya ukurasa wa CLI Code | | `cliAgents` | Mifuatano ya ukurasa wa CLI Agents | | `acpAgents` | Mifuatano ya ukurasa wa ACP Agents | Tafsiri kamili za PT-BR na EN zimetolewa. Lugha nyingine 39 hutumia EN kiotomatiki kupitia uunganishaji katika kiwango cha nafasi ya majina ndani ya `src/i18n/request.ts`. --- ## 9. Kuanza Haraka ### Hatua ya 1 โ€” Pata Ufunguo wa API wa OmniRoute 1. Fungua `/dashboard/api-manager` โ†’ **Unda Ufunguo wa API** 2. Upe jina (k.m. `cli-tools`) na uchague ruhusa zote 3. Nakili ufunguo โ€” utauhitaji kwa kila CLI hapa chini > Ufunguo wako unaonekana hivi: `sk-xxxxxxxxxxxxxxxx-xxxxxxxxx` --- ### Hatua ya 2 โ€” Sakinisha Zana za CLI Zana zote zinazotegemea npm zinahitaji Node.js 22.22.2+ au 24.x: ```bash # 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 (inaweza kuzinduliwa kupitia `omniroute run gemini` โ†’ kiolesura cha /v1beta) npm install -g @google/gemini-cli # Aider pip install aider-chat # Smelt cargo install smelt # Inategemea Rust # Ajenti wa uwekaji msimbo wa Pi # tazama https://github.com/zechnerj/pi-coding-agent kwa maelekezo ya usakinishaji # jcode # tazama https://github.com/1jehuang/jcode kwa maelekezo ya usakinishaji ``` --- ### Hatua ya 3 โ€” Sanidi kupitia Dashibodi 1. Nenda kwenye `http://localhost:20128/dashboard/cli-code` 2. Tafuta zana yako kwenye gridi 3. Bofya kadi ili kufungua ukurasa wa maelezo ya zana 4. Chagua ufunguo wako wa API na URL ya msingi 5. Bofya **Tekeleza Usanidi** au nakili kijisehemu cha usanidi wa moja kwa moja --- ### Hatua ya 4 โ€” Weka Vigeu vya Mazingira vya Jumla ```bash # Kiunganishi cha Jumla cha 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 husoma GOOGLE_GEMINI_BASE_URL kwenye ROOT (SDK yake huongeza /v1beta/... yenyewe) export GOOGLE_GEMINI_BASE_URL="http://localhost:20128" export GEMINI_API_KEY="sk-your-omniroute-key" ``` > Kwa **seva ya mbali** badilisha `localhost:20128` na IP au kikoa cha seva, > k.m. `http://:20128`. --- ### Hatua ya 4 โ€” Sanidi Kila Zana #### Claude Code ```bash # Unda ~/.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 ``` Tumia mzizi uliounganishwa wa lango la Anthropic kwa Claude Code. Usiongeze `/v1` hapa. **Jaribio:** `claude "say hello"` --- #### OpenAI Codex Codex ya kisasa (v0.137+) husoma `~/.codex/config.toml` pekee โ€” faili ya zamani ya `config.yaml` ni ya CLI ya zamani ya npm na hupuuzwa kimya kimya. Ufunguo wa API hubaki katika kigeu cha mazingira cha `OMNIROUTE_API_KEY` (`env_key`), kamwe usiwekwe ndani ya faili: ```bash 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" ``` Marejeleo kamili (wasifu, `wire_api`, madirisha ya muktadha): [CODEX-CLI-CONFIGURATION.md](../guides/CODEX-CLI-CONFIGURATION.md). **Jaribio:** `codex "what is 2+2?"` --- #### OpenCode ```bash 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 ``` **Jaribio:** `opencode` > Tumia `opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant high` > kutuma vibadala vya kufikiri. --- #### Cline (CLI au VS Code) **Hali ya CLI:** ```bash mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF { "apiProvider": "openai", "openAiBaseUrl": "http://localhost:20128/v1", "openAiApiKey": "sk-your-omniroute-key" } EOF ``` **Hali ya VS Code:** Mipangilio ya kiendelezi cha Cline โ†’ Mtoa API: `OpenAI Compatible` โ†’ URL ya Msingi: `http://localhost:20128/v1` Au tumia dashibodi ya OmniRoute โ†’ **Zana za CLI โ†’ Cline โ†’ Tekeleza Usanidi**. --- #### KiloCode (CLI au VS Code) **Hali ya CLI:** ```bash kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key ``` **Mipangilio ya VS Code:** ```json { "kilo-code.openAiBaseUrl": "http://localhost:20128/v1", "kilo-code.apiKey": "sk-your-omniroute-key" } ``` Au tumia dashibodi ya OmniRoute โ†’ **Zana za CLI โ†’ KiloCode โ†’ Tekeleza Usanidi**. --- #### Continue (Kiendelezi cha VS Code) Hariri `~/.continue/config.yaml`: ```yaml models: - name: OmniRoute provider: openai model: auto apiBase: http://localhost:20128/v1 apiKey: sk-your-omniroute-key default: true ``` Anzisha upya VS Code baada ya kuhariri. --- #### VS Code Insiders (`chatLanguageModels.json`) Tumia hii wakati VS Code Insiders imesanidiwa kwa miundo ya kiunganishi maalum na unataka OmniRoute ifanye kazi bila uga maalum wa kichwa. **Eneo linalopendekezwa:** - Linux: `~/.config/Code - Insiders/User/chatLanguageModels.json` - Windows: `%APPDATA%/Code - Insiders/User/chatLanguageModels.json` **Mfano unaotumia lakabu ya OmniRoute yenye tokeni:** ```json [ { "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" } } ] ``` **Vidokezo:** - Badilisha `sk-your-omniroute-key` na ufunguo wa API ulioundwa katika OmniRoute. - Sehemu ya `url` inapaswa kuelekeza kwenye `/api/v1/vscode/{token}/chat/completions`. - Sehemu ya `modelsUrl` inapaswa kuelekeza kwenye `/api/v1/vscode/{token}/models`. - Pendelea mtiririko wa kawaida wa `/v1` pamoja na kichwa cha Bearer wakati kiteja kinaauni vichwa maalum. - Tokeni zilizopachikwa kwenye URL ni njia mbadala ya uoanifu na zinaweza kuonekana katika kumbukumbu za kihariri au historia ya proksi. --- #### Kiro CLI (Amazon) ```bash # Ingia katika akaunti yako ya AWS/Kiro: kiro-cli login # CLI hutumia uthibitishaji wake wenyewe โ€” OmniRoute haihitajiki kama mfumo wa nyuma wa Kiro CLI yenyewe. # Tumia kiro-cli pamoja na OmniRoute kwa zana nyingine. kiro-cli status ``` Kwa programu ya eneo-kazi ya **Kiro IDE**, tumia endpoint ya MITM inayotolewa na OmniRoute chini ya `/dashboard/cli-tools โ†’ Kiro`. --- ## 10. CLI ya Ndani ya OmniRoute Faili tekelezi ya `omniroute` hutoa amri za mzunguko wa maisha wa seva, usanidi, uchunguzi, na usimamizi wa watoa huduma. Sehemu ya kuanzia: `bin/omniroute.mjs`. ```bash omniroute # Anzisha seva (mlango chaguo-msingi 20128) omniroute setup # Msaidizi shirikishi wa usanidi omniroute doctor # Kagua usanidi, DB, milango, mazingira ya utekelezaji omniroute providers list # Miunganisho ya watoa huduma iliyosanidiwa omniroute providers test-all # Jaribu kila muunganisho unaotumika omniroute reset-password # Weka upya nenosiri la msimamizi omniroute logs # Tiririsha kumbukumbu za maombi omniroute health # Hali ya kina (vikatiza mzunguko, akiba, kumbukumbu) omniroute --version # Chapisha toleo omniroute --help # Onyesha amri zote ``` ### Usanidi na Uanzishaji ```bash omniroute setup # Msaidizi shirikishi wa usanidi omniroute setup --non-interactive # Hali ya CI/otomatiki (husoma vigezo vya mazingira + bendera) omniroute setup --password '' # Weka nenosiri la msimamizi moja kwa moja omniroute setup --add-provider \ --provider openai \ --api-key '' \ --test-provider # Ongeza na ujaribu mtoa huduma kwa hatua moja ``` Vigezo vya mazingira vinavyotambuliwa kwa usanidi usio shirikishi: | Kigezo | Kusudi | | ------------------- | --------------------------------------------------------------------------------------- | | `OMNIROUTE_API_KEY` | Ufunguo wa API wa mtoa huduma (umeunganishwa na `--api-key` kupitia Commander `.env()`) | | `DATA_DIR` | Batilisha saraka ya data ya OmniRoute | Ingizo lingine lote lisilo shirikishi hupitishwa kama bendera, si vigezo vya mazingira: `--password`, `--provider`, `--provider-name`, `--provider-base-url`, `--default-model` (tazama chaguo za `omniroute setup` hapo juu). ### Uchunguzi ```bash omniroute doctor # Kagua usanidi, DB, milango, mazingira ya utekelezaji, kumbukumbu, na uhai omniroute doctor --json # JSON inayoweza kusomwa na mashine omniroute doctor --no-liveness # Ruka uchunguzi wa afya wa HTTP omniroute doctor --host 0.0.0.0 # Batilisha hosti ya ukaguzi wa uhai omniroute doctor --liveness-url # Batilisha URL kamili ya ncha-tumizi ya afya ``` Amri ya doctor huendesha ukaguzi huu: `Config`, `Database`, `Storage/encryption`, `Port availability`, `Node runtime`, `Native binary` (better-sqlite3), `Memory`, na `Server liveness`. Hutoka kwa msimbo usio sifuri ikiwa ukaguzi wowote ni `fail`. ### Usimamizi wa Watoa Huduma ```bash omniroute providers available # Katalogi ya watoa huduma ya OmniRoute omniroute providers available --search openai # Chuja katalogi kwa kitambulisho/jina/ibadala/kategoria omniroute providers available --category api-key # Chuja kwa kategoria (api-key, oauth, free, ...) omniroute providers available --json # JSON inayoweza kusomwa na mashine omniroute providers list # Miunganisho ya watoa huduma iliyosanidiwa omniroute providers list --json omniroute providers test # Jaribu muunganisho mmoja uliosanidiwa omniroute providers test-all # Jaribu kila muunganisho unaotumika omniroute providers validate # Uthibitishaji wa muundo wa ndani pekee omniroute providers add --credential-env PROVIDER_KEY omniroute providers import ./providers.json --dry-run --json omniroute providers auth # Mtiririko uliopo wa OAuth omniroute providers edit --default-model omniroute providers remove --yes ``` `providers add/import/auth/edit/remove` hutanguliza API na kwa hiyo hufanya kazi dhidi ya muktadha amilifu wa ndani au wa mbali. Ingizo la kitambulisho linapaswa kutumia `--credential-stdin` au `--credential-env`; `--dry-run --json` huripoti tu uwepo/muundo uliofichwa. `providers available` husoma katalogi ya OmniRoute; `providers list/test/test-all/validate` hudumisha tabia yake ya ndani ya SQLite na haihitaji seva iwe inaendeshwa. Kwa nodi maalum inayooana na OpenAI au Anthropic, ambatisha vitambulisho kwenye kitambulisho cha nodi kilichorejeshwa na `omniroute nodes add`, ukitumia `omniroute keys add "$NODE_ID" --stdin`. Hili linahitaji seva inayoendeshwa na uthibitishaji wa usimamizi kwa muktadha amilifu. CLI hutumia `POST /api/providers`, ambayo huthibitisha nodi na kunakili mipangilio ya ncha-tumizi yake kwenye muunganisho. Nodi inayokosekana, hitilafu ya uidhinishaji, au seva isiyopatikana hurejesha hitilafu bila kuunda kitambulisho mbadala cha ndani. `nodes add --base-url` huweka ncha-tumizi ya nodi; ni tofauti na anwani ya seva katika `OMNIROUTE_BASE_URL`. Kwa faili za OpenAPI, tumia `omniroute openapi dump --format json --out ./openapi.json`; `--output` ya kimataifa huchagua uumbizaji wa onyesho la CLI, si jina la faili lengwa. ### Urejeshaji na Uwekaji Upya ```bash omniroute reset-password # Weka upya nenosiri la msimamizi (pia: omniroute-reset-password) omniroute reset-encrypted-columns # Onyesha onyo + jaribio kavu la kuweka upya vitambulisho vilivyosimbwa omniroute reset-encrypted-columns --force # Kwa hakika, weka vitambulisho vilivyosimbwa kuwa null katika SQLite ``` ### Uhamishaji wa Vitambulisho (โš  shughulikia kwa uangalifu) ```bash omniroute auth export # Onyesha onyo + hatua ya uthibitisho โ€” hakuna ufikiaji wa DB omniroute auth export --force # Hamisha vitambulisho VYOTE VILIVYOSIMBULIWA vya miunganisho kwenda stdout kama JSON omniroute auth export --force --id # Hamisha muunganisho unaolingana pekee omniroute auth export --force --format env # Toa mistari ya OMNIROUTE__= omniroute auth export --force --out creds.json # Andika kwenye faili (iliyoundwa kwa ruhusa za 0600) ``` `auth export` ni ya **ndani ya mashine pekee** (husoma SQLite moja kwa moja, bila njia ya HTTP) na kwa makusudi huchapisha/huandika thamani za **maandishi wazi** za `apiKey`/`accessToken`/`refreshToken`/`idToken` โ€” hicho ndicho kipengele, si hitilafu. Hakuna chochote kinachosomwa kutoka kwenye hifadhidata, wala kusimbuliwa, bila `--force`. Bango la onyo kwenye stderr huchapishwa kila mara kabla ya maandishi yoyote wazi kutolewa. Inahitaji `STORAGE_ENCRYPTION_KEY` iwe imewekwa. Sehemu ambayo imeshindikana kusimbuliwa (ufunguo wa zamani, maandishi yaliyosimbwa yaliyoharibika) huripotiwa kama `DecryptFailed: true` badala ya kusitisha uhamishaji wote au kufichua hitilafu ya msingi. ### Amri nyingine ndogo Hizi huchukulia kuwa seva ya OmniRoute inaendeshwa, isipokuwa pale ilipoelezwa vinginevyo: ```bash omniroute status # Hali ya kina ya wakati wa utekelezaji omniroute logs # Tiririsha kumbukumbu za maombi (--json, --search, --follow) omniroute config list # Onyesha zana za CLI zilizosanidiwa omniroute provider list # Orodhesha watoa huduma wanaopatikana (jina mbadala la providers list) omniroute provider add # Sajili OmniRoute kama mtoa huduma kwenye zana omniroute keys add | list | remove # Dhibiti funguo za API omniroute models [provider] # Orodhesha modeli (--json, --search) omniroute combo list | switch | create | delete omniroute backup # Tengeneza taswira ya usanidi + DB omniroute restore # Rejesha kutoka kwenye taswira ya awali omniroute health # Hali ya kina ya afya (vikatiza, akiba, kumbukumbu) omniroute quota # Matumizi ya mgao wa mtoa huduma omniroute cache # Hali ya akiba omniroute cache clear # Futa akiba za kisemantiki + sahihi omniroute mcp status | restart # Hali / uanzishaji upya wa seva ya MCP omniroute a2a status | card # Hali ya seva ya A2A / kadi ya wakala omniroute tunnel list | create | stop # Dhibiti vichuguu (cloudflare/tailscale/ngrok) omniroute env show | get | set # Kagua / weka vigeu vya mazingira (kwa muda) omniroute test # Jaribio la haraka la muunganisho wa mtoa huduma omniroute update # Angalia masasisho omniroute completion # Tengeneza ukamilishaji wa shell ``` ### Bendera za kawaida | Bendera | Maelezo | | ------------------- | -------------------------------------------------------------- | | `--no-open` | Usifungue kivinjari kiotomatiki wakati wa kuanza | | `--port ` | Badilisha port ya API (chaguo-msingi 20128) | | `--mcp` | Endesha kama seva ya MCP kupitia stdio (kwa IDE) | | `--non-interactive` | Hali ya CI (hakuna vidokezo; husoma kutoka env/bendera) | | `--json` | Towe la JSON linalosomeka na mashine (doctor, providers, n.k.) | | `--help`, `-h` | Onyesha msaada mahususi wa amri | | `--version`, `-v` | Chapisha toleo lililosakinishwa | --- ## Endpointi za API Zinazopatikana | Endpointi | Maelezo | Tumia Kwa | | -------------------------- | ------------------------------------ | ------------------------------------- | | `/v1/chat/completions` | Gumzo la kawaida (watoa huduma wote) | Zana zote za kisasa | | `/v1/responses` | API ya majibu (muundo wa OpenAI) | Codex, mitiririko ya kazi ya mawakala | | `/v1/completions` | Ukamilishaji wa maandishi wa zamani | Zana za zamani zinazotumia `prompt:` | | `/v1/embeddings` | Upachikaji wa maandishi | RAG, utafutaji | | `/v1/images/generations` | Uundaji wa picha | GPT-Image, Flux, n.k. | | `/v1/audio/speech` | Maandishi-kuwa-matamshi | ElevenLabs, OpenAI TTS | | `/v1/audio/transcriptions` | Matamshi-kuwa-maandishi | Deepgram, AssemblyAI | Mifano iliyo tayari kubandikwa yenye URL ya OmniRoute iliyowekewa tokeni: ```txt Mfano wa tokeni: sk-a3ab3c080beaee3a-69f4a4-070d71af Msingi wa kawaida wa OpenAI: http://localhost:20128/v1 Miundo ya VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models Gumzo la VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions Majibu ya VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses Lebo za Ollama: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags Gumzo la Ollama: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat ``` --- ## Utatuzi wa Matatizo | Hitilafu | Sababu | Suluhisho | | ----------------------------------------------------------- | ----------------------------------------- | ----------------------------------------------------------- | | `Connection refused` | OmniRoute haifanyi kazi | `omniroute serve` | | `401 Unauthorized` | Ufunguo wa API si sahihi | Angalia katika `/dashboard/api-manager` | | `No combo configured` | Hakuna mchanganyiko amilifu wa uelekezaji | Sanidi katika `/dashboard/combos` | | CLI inaonyesha "haijasakinishwa" | Faili tekelezi haipo katika PATH | Angalia `which ` | | Dashibodi inaonyesha "haijatambuliwa" baada ya usakinishaji | Akiba imepitwa na wakati | Bofya "โŸณ Onyesha upya utambuzi" katika dashibodi | | Kiungo cha zamani `/dashboard/cli-tools` | Alamisho la kabla ya v3.8.6 | Huelekezwa kiotomatiki kwenye `/dashboard/cli-code` (308) | | Kiungo cha zamani `/dashboard/agents` | Alamisho la kabla ya v3.8.6 | Huelekezwa kiotomatiki kwenye `/dashboard/acp-agents` (308) | ## Dhibiti sera ya ufunguo wa inferensi kwa kutumia OmniRoute CLI Tumia muktadha wa usimamizi uliothibitishwa (tazama [Hali ya Mbali](../guides/REMOTE-MODE.md)) kukagua au kusasisha ufunguo uliopo wa inferensi kwa kutumia ID yake: ```bash omniroute --output json keys policy show KEY_ID omniroute keys policy set KEY_ID --unrestricted omniroute --output json keys policy show KEY_ID ``` `--unrestricted` ni jina mbadala la `--model-access-mode all`. Sasisho huondoa orodha ya miundo inayoruhusiwa. Huhifadhi mawanda, sheria za muunganisho, miundo iliyozuiwa, vikomo vya kasi na vikomo vya gharama, kwa hivyo vidhibiti hivyo vingine bado vinaweza kukataa ombi. Thamani bayana ya `--allowed-models ""` pia huchagua `all`; iunganishe na `--model-access-mode restricted` ili kudumisha ufunguo uliozuiliwa bila miundo yoyote inayoruhusiwa. Orodha isiyo tupu iliyotenganishwa kwa koma huchagua `restricted` isipokuwa ikiwa imebainishwa vinginevyo. Mchanganyiko kinzani wa `all` pamoja na orodha isiyo tupu ya ruhusa hukataliwa kabla ya kutuma ombi. `--rate-limit 30` huweka idadi ya maombi kwa dakika na huhifadhi sheria za vipindi vingine vya muda. `--max-cost 5` huwezesha kikomo cha kila siku cha USD bila kubadilisha kikomo cha kila wiki; `--max-cost 0` huondoa kikomo cha kila siku na huhifadhi kibadilishaji kilichopo cha kikomo cha matumizi na kikomo cha kila wiki. Sehemu za sera zilizoachwa hubaki bila kubadilishwa. Mabadiliko ya kasi husoma sera ya sasa kwanza; epuka kufanya mabadiliko ya wakati mmoja kwenye safu ya vikomo vya kasi ya ufunguo huo huo. Amri za sera hutumia `GET`/`PATCH /api/keys/{id}` iliyothibitishwa na huheshimu muktadha amilifu na chaguo la jumla la `--api-key`. Towe la JSON lina sehemu za sera pekee, bila ufunguo uliohifadhiwa au uwakilishi wake uliofichwa. Kitambulisho cha inferensi pekee hakiwezi kuidhinisha mabadiliko ya usimamizi. 401/403 inahitaji kukagua kitambulisho cha usimamizi na muktadha; haithibitishi hitilafu ya tokeni ya ndani ya CLI au chumvi. Tazama [Tokeni ya CLI](../security/CLI_TOKEN.md) kwa mkataba tofauti wa uthibitishaji wa ndani.