Files
OmniRoute/docs/i18n/uz/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

45 KiB
Raw Blame History

CLI Tools — OmniRoute (Oʻzbekcha)

🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 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 · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW


Oxirgi yangilanish: 2026-08-23

OmniRoute uchta maxsus boshqaruv paneli sahifasida joylashgan CLI vositalarining uchta toifasi bilan integratsiyalashadi:

Sahifa Yoʻnalish Konsepsiya Soni
CLI kodlari /dashboard/cli-code OmniRouteʼga yoʻnaltiriladigan dasturlash vositalari (Mijoz → CLI → OmniRoute → Provayder) 26
CLI agentlari /dashboard/cli-agents OmniRouteʼga yoʻnaltiriladigan avtonom agentlar (bir xil oqim, kengroq qamrov) 10
ACP agentlari /dashboard/acp-agents OmniRoute stdio/ACP orqali backend sifatida ishga tushiradigan CLIʼlar (teskari oqim) reyestrga qarang

Eski yoʻnalishlar 308 orqali qayta yoʻnaltiriladi: /dashboard/cli-tools/dashboard/cli-code, /dashboard/agents/dashboard/acp-agents.


Bu qanday ishlaydi

CLI Code's / CLI Agents (isteʼmol oqimi):
Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ...
           │
           ▼  (barchasi OmniRoutega yoʻnaltiriladi)
    http://YOUR_SERVER:20128/v1
           │
           ▼  (OmniRoute soʻrovni tegishli provayderga yoʻnaltiradi)
    Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ...

ACP Agents (teskari ishga tushirish oqimi):
    Klient soʻrovi → OmniRoute → CLIni stdio/ACP orqali ishga tushiradi → javob

Afzalliklari:

  • Barcha vositalarni boshqarish uchun bitta API kaliti
  • Boshqaruv panelida barcha CLIlar boʻyicha xarajatlarni kuzatish
  • Har bir vositani qayta sozlamasdan modellarni almashtirish
  • Lokal va masofaviy serverlarda ishlaydi (VPS, Docker, Akamai, Cloudflare Tunnel)

setup-* yordamida avtomatik sozlash

Har bir vosita konfiguratsiyasini qoʻlda yozishingiz shart emas. OmniRoute har bir qoʻllab-quvvatlanadigan CLI uchun ishlayotgan OmniRoutedan (lokal yoki masofaviy) jonli modellar katalogini oʻqiydigan va vositaning oʻz konfiguratsiyasini kompyuteringizga yozadigan setup-* buyrugʻini taqdim etadi:

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

Har biri --remote <url> --api-key <key> (lokal vositani masofaviy OmniRoute bilan ishlashga sozlash), --dry-run (yozmasdan oldindan koʻrish) va --port parametrlarini qabul qiladi. Modellarni avtomatik aniqlash imkoniyati boʻlmagan vositalar (Cline, Kilo, Roo, Goose, Aider, Qwen, 5dive) --model <id> parametrini (interaktiv boʻlmagan ishga tushirishlar uchun esa --yes parametrini ham) qabul qiladi. setup-5dive$HOME ostiga yozmaydigan yagona retsept: u flot xostida rootga tegishli autentifikatsiya profilini yozish orqali 5dive agentlar flotini sozlaydi, shu sababli sudo orqali qayta ishga tushadi va oʻzining masofaviy rejimiga ega emas. Toʻgʻri muhit oʻzgaruvchilari kiritilgan holda va umuman hech qanday konfiguratsiya yozmasdan CLIni ishga tushirish uchun umumiy omniroute run <target> ishga tushirgichidan foydalaning (claude, codex, aider, goose, opencode, qwen, gemini — maqsadlar va taxalluslar bin/cli/cli-manifest.mjs faylidan olinadi); har bir vosita uchun eski omniroute launch (Claude Code) va omniroute launch-codex (Codex) ishga tushirgichlari hali ham mavjud. Gemini CLI faqat ishga tushirish uchun moʻljallangan: u omniroute run maqsadi hisoblanadi, biroq setup-*/configure retseptiga ega emas.

Toʻliq maʼlumotnoma: asosiy jadval — har bir buyruq nimani yozishi, barcha parametrlar, lokal va masofaviy rejimlar hamda qaysi vositalarga /v1 suffiksi kerakligi haqidagi maʼlumotlar — CLI integratsiyalari sahifasida joylashgan.

Bularni konteyner ichida ishga tushirish

OmniRoute konteyneri ichida bajarilgan setup-* buyrugʻi konteynerning oʻz uy katalogiga yozadi; bu katalogni xostdagi hech bir CLI oʻqimaydi va u konteyner bilan birga yoʻqoladi. OmniRoute buni aniqlaydi va yozish oʻrniga koʻrsatmalar bilan 2 kodi orqali chiqadi. Davom etishning ikkita qoʻllab-quvvatlanadigan usuli mavjud — CLIni xostga oʻrnating va konteynerga omniroute connect orqali ulaning yoki konfiguratsiya kataloglarini bind-mount qiling va CLI_CONFIG_HOME qiymatini belgilang (host compose profili). Har bir setup-* buyrugʻi, shuningdek, omniroute configure va omniroute config set, agar konteynerning oʻz CLIlarini sozlashni haqiqatan ham nazarda tutgan boʻlsangiz, --allow-container-write parametrini qabul qiladi; server uchun OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true xuddi shu vazifani bajaradi. Batafsil: Docker qoʻllanmasi → Xostdagi CLI vositalarini sozlash.

Boshqaruv panelining qoʻllash endpointi (POST /api/cli-tools/apply) xuddi shu himoyani taʼminlaydi: konteynerda xostdan bind-mount qilinmagan maqsadga yozish soʻrovi 422 kodi, containerEphemeralTarget: true, xavfsiz xato matni va — xost retseptiga ega vositalar (claude, codex, opencode, cline, kilo, continue) uchun — xostda ishga tushirilishi kerak boʻlgan hostSetupCommand (masalan, omniroute setup-opencode) bilan javob beradi; hech narsa yozilmaydi. dryRun: true konteyner rejimida ham ishlashda davom etadi va diskka tegmasdan yaratilgan kontent hamda maqsad yoʻlini qaytaradi, shuning uchun boshqaruv panelida oldindan koʻrib chiqib, xostda qoʻllashingiz mumkin. Bu xatti-harakat ataylab joriy qilingan va regressiyadan tests/unit/api/cli-tools/apply-container-guard.test.ts testi orqali himoyalangan — himoyani olib tashlash orqali 422 xatosini hech qachon “tuzatmang”.


Haqiqatning yagona manbai

Birlashtirilgan katalog src/shared/constants/cliTools.ts faylida CLI_TOOLS: Record<string, CliCatalogEntry> sifatida joylashgan.

Har bir yozuv quyidagi maydonlarga ega (src/shared/schemas/cliCatalog.ts faylida belgilangan):

Maydon Tur Tavsif
category "code" | "agent" Vosita qaysi sahifada korsatilishi
vendor string Vositaning kelib chiqishi ("Anthropic", "OSS (P. Gauthier)")
acpSpawnable boolean ACP Agent sifatida ham foydalanish mumkin (nishon korsatiladi)
baseUrlSupport "full" | "partial" | "none" Maxsus endpointni qollab-quvvatlash darajasi. "none" = MITM rejalar royxati
configType "env" | "custom" | "guide" | "custom-builder" | "mitm" Konfiguratsiya mexanizmi
id, name, color, description, docsUrl standart Asosiy korsatish maydonlari

baseUrlSupport: "none" qiymatiga ega yozuvlar boshqaruv paneli sahifalarida korsatilmaydi — ular 11-reja uchun MITM rejalar royxatida qayd etilgan (_tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md fayliga qarang).

Imkoniyat darajalari (kataloglangan × aniqlanadigan × sozlanadigan × ishga tushiriladigan)

Kataloglangan vositalarning hammasini ham aniqlash, sozlash yoki ishga tushirish mumkin emas. Har bir daraja bitta elon qiluvchi manbaga ega va tafovut testi ularning muvofiqligini saqlaydi:

Daraja Manosi Elon qilingan joy
Kataloglangan Boshqaruv paneli katalogida korsatiladi (nomi, yetkazib beruvchisi, hujjatlari, konfiguratsiya turi) src/shared/constants/cliTools.ts (CLI_TOOLS)
Aniqlanadigan Binar fayl/konfiguratsiyani aniqlash, holat tekshiruvlari, konfiguratsiya yollari src/shared/services/cliRuntime.ts (CLI_TOOLS ish vaqti katalogi)
Sozlanadigan omniroute configure <cli> tomonidan qollab-quvvatlanadi (sozlash retsepti mavjud) bin/cli/cli-manifest.mjs (configure: true)
Ishga tushiriladigan omniroute run <target> tomonidan qollab-quvvatlanadi (muhit/argumentlarni kiritish belgilangan) bin/cli/cli-manifest.mjs (run: true)

bin/cli/cli-manifest.mjs CLI buyruqlari interfeyslari uchun kanonik bajariladigan manifestdir: run, configure va shell avtomatik toldirish generatorlarining barchasi maqsadlar royxatini, taxalluslarni aniqlashni (masalan, kilocode/kilo-code/kilo_clikilo) hamda --model bayrogini ulashni undan oladi. Tafovutdan himoyalash testi tests/unit/cli/cli-manifest-drift.test.ts manifest, ish vaqti katalogi, UI katalogi va har bir istemolchi interfeysi sinxron holatda qolishini tekshiradi — faqat bitta interfeysga qoshilgan maqsad jimgina tafovut hosil qilish orniga testlar toplamining muvaffaqiyatsiz yakunlanishiga olib keladi.


1. CLI Code katalogi (26 ta vosita)

/dashboard/cli-code sahifasida korsatiladigan barcha vositalar. baseUrlSupport: none qiymatiga ega vositalar maxsus asosiy URL orniga MITM yoki qollanma orqali ulanadi:

id name vendor baseUrlSupport configType acpSpawnable
claude Claude Code Anthropic full env true
codex OpenAI Codex CLI OpenAI full custom true
zcode ZCode (GLM Coding Plan) Z.ai none custom false
cline Cline OSS (sobiq 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 (sobiq 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 Maxsus CLI full custom-builder false

baseUrlSupport: "partial" qiymatiga ega vositalarning boshqaruv panelidagi kartasida «⚠ Asosiy URL qisman qollab-quvvatlanadi» belgisi korsatiladi.

2. CLI agentlari katalogi (10 ta vosita)

/dashboard/cli-agents sahifasida korsatiladigan avtonom agentlar:

id nomi ishlab chiqaruvchi 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 agentlari (/dashboard/acp-agents)

Bu sahifa (avval /dashboard/agents deb nomlangan) OmniRoute stdio/ACP protokoli orqali backend ijro mexanizmlari sifatida ishga tushira oladigan CLI vositalarini korsatadi. Katalog src/lib/acp/registry.ts faylida alohida yuritiladi va CLI_TOOLS bilan bir xil emas.


4. MITM vazifalar royxati (boshqaruv panelida korsatilmaydi)

Quyidagi CLI vositalari maxsus asosiy URL manzilini tabiiy ravishda qollab-quvvatlamaydi va CLI Code yoki CLI Agents sahifalarida royxatga kiritilmagan. Ular 11-rejadagi MITM orqali tutib olish uchun nomzodlardir:

CLI Sabab
windsurf BYOK faqat ayrim Claude modellari hamda korporativ URL/token bilan cheklangan
amp Yopiq ekotizim (Sourcegraph)
amazon-q / kiro-cli AWS SSO autentifikatsiyasi, maxsus URL mavjud emas
cowork Anthropic Desktop, sozlanadigan endpoint mavjud emas

Toliq ozaro havolalar uchun _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md fayliga qarang.


5. Ommaviy aniqlash API interfeysi

Barcha vositalarni aniqlash bitta endpoint orqali birlashtirilgan:

GET /api/cli-tools/all-statuses

  • Autentifikatsiya: requireCliToolsAuth(request) (boshqa /api/cli-tools/ marshrutlari bilan bir xil)
  • Qaytaradi: Record<toolId, ToolBatchStatus> (tur: src/shared/types/cliBatchStatus.ts)
  • Strategiya: barcha vositalar boyicha Promise.all, har bir vosita uchun 5 soniyalik kutish chegarasi
  • Kesh: konfiguratsiya faylining mtime qiymati boyicha indekslangan, xotiradagi LRU. mtime ozgarganda kesh bekor qilinadi. Server qayta ishga tushirilganda tozalanadi.

Har bir vosita uchun javob tuzilishi:

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; // tozalangan, stek treyslari yoq
}

6. Yangi vositalar uchun sozlamalar ishlov beruvchilari

configType: "custom" qiymatiga ega yangi vositalar uchun maxsus sozlamalar API marshrutlari mavjud:

Marshrut Vosita
POST /api/cli-tools/forge-settings ForgeCode (.forge.toml)
POST /api/cli-tools/jcode-settings jcode (--base-url bayrogʻi)
POST /api/cli-tools/deepseek-tui-settings DeepSeek TUI (OPENAI_BASE_URL, eskirgan)
POST /api/cli-tools/codewhale-settings CodeWhale (OPENAI_BASE_URL, asosiy + eskirgan ~/.deepseek sinxronlashuvi)
POST /api/cli-tools/smelt-settings Smelt
POST /api/cli-tools/pi-settings Pi dasturlash agenti
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 + maxsus .env kaliti)

Barcha marshrutlar xato javoblari uchun sanitizeErrorMessage() funksiyasidan foydalanadi (Qatʼiy qoida #12).


7. Boshqaruv paneli sahifalari arxitekturasi

CLI Code (/dashboard/cli-code)

  • src/app/(dashboard)/dashboard/cli-code/page.tsx — server komponenti
  • src/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx — mijoz tomoni panjarasi
  • src/app/(dashboard)/dashboard/cli-code/[id]/page.tsx — vosita tafsilotlari sahifasi
  • src/app/(dashboard)/dashboard/cli-code/components/ — 12 ta maxsus vosita kartasi + ToolDetailClient.tsx

CLI agentlari (/dashboard/cli-agents)

  • src/app/(dashboard)/dashboard/cli-agents/page.tsx — server komponenti
  • src/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx — mijoz tomoni panjarasi
  • src/app/(dashboard)/dashboard/cli-agents/[id]/page.tsxToolDetailClientdan qayta foydalanadi

ACP agentlari (/dashboard/acp-agents)

  • src/app/(dashboard)/dashboard/acp-agents/page.tsx — server komponenti (agents/ katalogidan koʻchirilgan)

Umumiy UI komponentlari (src/shared/components/cli/)

Fayl Maqsad
CliToolCard.tsx Aqlli holat kartasi (aniqlash + konfiguratsiya + oxirgi nuqta)
CliConceptCard.tsx Har bir sahifa uchun tushuncha izohi kartasi
CliComparisonCard.tsx CLI turlari boʻyicha uch ustunli taqqoslash
BaseUrlSelect.tsx Oxirgi nuqta ochiluvchi roʻyxati (Mahalliy/Bulutli/Maxsus)
ApiKeySelect.tsx API kaliti tanlagichi
ManualConfigModal.tsx Nusxalash mumkin boʻlgan konfiguratsiya fragmenti oynasi

Umumiy huk (src/shared/hooks/cli/)

Fayl Maqsad
useToolBatchStatuses.ts /api/cli-tools/all-statusesdan maʼlumotlarni oladi, yuklash/yangilash holatini boshqaradi

8. i18n

14 F9 rejasida yangi nomlar fazolari qoʻshildi:

Nomlar fazosi Maqsad
cliCommon Umumiy matnlar (karta yorliqlari, tushuncha/taqqoslash matnlari, tafsilotlar sahifasi yorliqlari)
cliCode CLI Code sahifasi matnlari
cliAgents CLI Agents sahifasi matnlari
acpAgents ACP Agents sahifasi matnlari

Toʻliq PT-BR va EN tarjimalari taqdim etilgan. Qolgan 39 ta lokal src/i18n/request.ts faylidagi nomlar fazosi darajasidagi birlashtirish orqali avtomatik ravishda EN tiliga qaytadi.


9. Tezkor boshlash

1-qadam — OmniRoute API kalitini oling

  1. /dashboard/api-manager sahifasini oching → API kalitini yaratish
  2. Unga nom bering (masalan, cli-tools) va barcha ruxsatlarni tanlang
  3. Kalitni nusxalang — u quyidagi har bir CLI uchun kerak boʻladi

Kalitingiz quyidagicha koʻrinadi: sk-xxxxxxxxxxxxxxxx-xxxxxxxxx


2-qadam — CLI vositalarini oʻrnating

npm asosidagi barcha vositalar Node.js 22.22.2+ yoki 24.x versiyasini talab qiladi:

# 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` orqali ishga tushiriladi → /v1beta interfeysi)
npm install -g @google/gemini-cli

# Aider
pip install aider-chat

# Smelt
cargo install smelt  # Rust asosida

# Pi kodlash agenti
# oʻrnatish uchun https://github.com/zechnerj/pi-coding-agent sahifasiga qarang

# jcode
# oʻrnatish uchun https://github.com/1jehuang/jcode sahifasiga qarang

3-qadam — Boshqaruv paneli orqali sozlang

  1. http://localhost:20128/dashboard/cli-code manziliga oʻting
  2. Vositalar toʻridan kerakli vositani toping
  3. Vosita tafsilotlari sahifasini ochish uchun kartani bosing
  4. API kalitingiz va asosiy URL manzilini tanlang
  5. Konfiguratsiyani qoʻllash tugmasini bosing yoki qoʻlda sozlash parchasini nusxalang

4-qadam — Global muhit oʻzgaruvchilarini oʻrnating

# OmniRoute universal soʻnggi nuqtasi
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 manzilini ILDIZ darajasida oʻqiydi (uning SDKʼsi /v1beta/... qismini oʻzi qoʻshadi)
export GOOGLE_GEMINI_BASE_URL="http://localhost:20128"
export GEMINI_API_KEY="sk-your-omniroute-key"

Masofaviy server uchun localhost:20128 qismini server IP manzili yoki domeni bilan almashtiring, masalan, http://<your-server-ip>:20128.


4-qadam — Har bir vositani sozlang

Claude Code

# ~/.claude/settings.json faylini yarating:
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 uchun birlashtirilgan Anthropic shlyuzi ildizidan foydalaning. Bu yerda /v1 qoʻshmang.

Sinov: claude "say hello"


OpenAI Codex

Zamonaviy Codex (v0.137+) faqat ~/.codex/config.toml faylini oʻqiydi — eski config.yaml avvalgi npm CLIʼga tegishli va ogohlantirishsiz eʼtiborsiz qoldiriladi. API kaliti fayl ichida emas, balki OMNIROUTE_API_KEY muhit oʻzgaruvchisida (env_key) saqlanadi:

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"

Toʻliq maʼlumotnoma (profillar, wire_api, kontekst oynalari): CODEX-CLI-CONFIGURATION.md.

Sinov: 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

Sinov: opencode

Fikrlash variantlarini yuborish uchun opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant high buyrugʻidan foydalaning.


Cline (CLI yoki VS Code)

CLI rejimi:

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 rejimi: Cline kengaytmasi sozlamalari → API provayderi: OpenAI Compatible → Asosiy URL: http://localhost:20128/v1

Yoki OmniRoute boshqaruv panelidan foydalaning → CLI vositalari → Cline → Konfiguratsiyani qoʻllash.


KiloCode (CLI yoki VS Code)

CLI rejimi:

kilocode --api-base http://localhost:20128/v1 --api-key sk-your-omniroute-key

VS Code sozlamalari:

{
  "kilo-code.openAiBaseUrl": "http://localhost:20128/v1",
  "kilo-code.apiKey": "sk-your-omniroute-key"
}

Yoki OmniRoute boshqaruv panelidan foydalaning → CLI vositalari → KiloCode → Konfiguratsiyani qoʻllash.


Continue (VS Code kengaytmasi)

~/.continue/config.yaml faylini tahrirlang:

models:
  - name: OmniRoute
    provider: openai
    model: auto
    apiBase: http://localhost:20128/v1
    apiKey: sk-your-omniroute-key
    default: true

Tahrirlashdan soʻng VS Codeʼni qayta ishga tushiring.


VS Code Insiders (chatLanguageModels.json)

VS Code Insiders maxsus soʻnggi nuqta modellari uchun sozlanganida va OmniRouteʼning maxsus sarlavha maydonisiz ishlashini istasangiz, bundan foydalaning.

Tavsiya etilgan joylashuv:

  • Linux: ~/.config/Code - Insiders/User/chatLanguageModels.json
  • Windows: %APPDATA%/Code - Insiders/User/chatLanguageModels.json

Tokenlashtirilgan OmniRoute taxallusidan foydalanish misoli:

[
  {
    "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"
    }
  }
]

Eslatmalar:

  • sk-your-omniroute-key orniga OmniRouteda yaratilgan API kalitini kiriting.
  • url maydoni /api/v1/vscode/{token}/chat/completions manziliga yonaltirilishi kerak.
  • modelsUrl maydoni /api/v1/vscode/{token}/models manziliga yonaltirilishi kerak.
  • Mijoz maxsus sarlavhalarni qollab-quvvatlasa, odatiy /v1 + Bearer sarlavhasi usulidan foydalanish afzal.
  • URL ichiga joylashtirilgan tokenlar moslik uchun zaxira usulidir va muharrir jurnallarida yoki proksi tarixida korinishi mumkin.

Kiro CLI (Amazon)

# AWS/Kiro hisobingizga kiring:
kiro-cli login

# CLI oz autentifikatsiyasidan foydalanadi — Kiro CLIning ozi uchun OmniRoute backend sifatida kerak emas.
# Boshqa vositalar uchun kiro-clidan OmniRoute bilan birga foydalaning.
kiro-cli status

Kiro IDE ish stoli ilovasi uchun OmniRoute tomonidan taqdim etilgan MITM endpointidan /dashboard/cli-tools → Kiro bolimida foydalaning.


10. Ichki OmniRoute CLI

omniroute bajariluvchi fayli serverning hayotiy sikli, sozlash, diagnostika va provayderlarni boshqarish uchun buyruqlarni taqdim etadi. Kirish nuqtasi: bin/omniroute.mjs.

omniroute                              # Serverni ishga tushirish (standart port 20128)
omniroute setup                        # Interaktiv sozlash ustasi
omniroute doctor                       # Konfiguratsiya, DB, portlar va bajarilish muhitini tekshirish
omniroute providers list               # Sozlangan provayder ulanishlari
omniroute providers test-all           # Har bir faol ulanishni sinash
omniroute reset-password               # Administrator parolini tiklash
omniroute logs                         # Soʻrov jurnallarini oqimda koʻrsatish
omniroute health                       # Batafsil holat (uzgichlar, kesh, xotira)
omniroute --version                    # Versiyani chiqarish
omniroute --help                       # Barcha buyruqlarni koʻrsatish

Sozlash va ishga tayyorlash

omniroute setup                        # Interaktiv sozlash ustasi
omniroute setup --non-interactive      # CI/avtomatlashtirish rejimi (muhit oʻzgaruvchilari va bayroqlarni oʻqiydi)
omniroute setup --password '<value>'   # Administrator parolini bevosita oʻrnatish
omniroute setup --add-provider \
  --provider openai \
  --api-key '<value>' \
  --test-provider                      # Provayderni bir urinishda qoʻshish va sinash

Interaktiv boʻlmagan sozlash uchun tan olinadigan muhit oʻzgaruvchilari:

Oʻzgaruvchi Maqsad
OMNIROUTE_API_KEY Provayder API kaliti (Commander .env() orqali --api-key bilan bogʻlangan)
DATA_DIR OmniRoute maʼlumotlar katalogini qayta belgilash

Boshqa barcha interaktiv boʻlmagan kirish maʼlumotlari muhit oʻzgaruvchilari sifatida emas, bayroqlar sifatida uzatiladi: --password, --provider, --provider-name, --provider-base-url, --default-model (yuqoridagi omniroute setup parametrlariga qarang).

Diagnostika

omniroute doctor                       # Konfiguratsiya, DB, portlar, bajarilish muhiti, xotira va faollikni tekshirish
omniroute doctor --json                # Mashina oʻqiy oladigan JSON
omniroute doctor --no-liveness         # HTTP holat tekshiruvini oʻtkazib yuborish
omniroute doctor --host 0.0.0.0        # Faollik xostini qayta belgilash
omniroute doctor --liveness-url <url>  # Holat yakuniy nuqtasining toʻliq URL manzilini qayta belgilash

Doctor quyidagi tekshiruvlarni bajaradi: Config, Database, Storage/encryption, Port availability, Node runtime, Native binary (better-sqlite3), Memory va Server liveness. Agar biror tekshiruv fail boʻlsa, u noldan farqli kod bilan yakunlanadi.

Provayderlarni boshqarish

omniroute providers available                       # OmniRoute provayderlar katalogi
omniroute providers available --search openai       # Katalogni id/nom/taxallus/toifa boʻyicha filtrlash
omniroute providers available --category api-key    # Toifa boʻyicha filtrlash (api-key, oauth, free, ...)
omniroute providers available --json                # Mashina oʻqiy oladigan JSON

omniroute providers list                            # Sozlangan provayder ulanishlari
omniroute providers list --json

omniroute providers test <id|name>                  # Bitta sozlangan ulanishni sinash
omniroute providers test-all                        # Har bir faol ulanishni sinash
omniroute providers validate                        # Faqat mahalliy tuzilmaviy tekshirish
omniroute providers add <provider> --credential-env PROVIDER_KEY
omniroute providers import ./providers.json --dry-run --json
omniroute providers auth <provider>                 # Mavjud OAuth jarayoni
omniroute providers edit <id|name> --default-model <model>
omniroute providers remove <id|name> --yes

providers add/import/auth/edit/remove birinchi navbatda API orqali ishlaydi va shu sababli faol mahalliy yoki masofaviy kontekst bilan ishlaydi. Hisob maʼlumotlarini kiritish uchun --credential-stdin yoki --credential-env ishlatilishi kerak; --dry-run --json faqat tahrirlangan mavjudlik/tuzilma haqida hisobot beradi. providers available OmniRoute katalogini oʻqiydi; providers list/test/test-all/validate esa mahalliy SQLite xatti-harakatini saqlab qoladi va server ishlab turishini talab qilmaydi.

Tiklash va asl holatga qaytarish

omniroute reset-password                # Administrator parolini tiklash (shuningdek: omniroute-reset-password)
omniroute reset-encrypted-columns       # Shifrlangan hisob maʼlumotlarini tiklash uchun ogohlantirish va sinov rejimini koʻrsatish
omniroute reset-encrypted-columns --force  # SQLite ichidagi shifrlangan hisob maʼlumotlarini amalda null qilish

Hisob maʼlumotlarini eksport qilish (⚠ ehtiyotkorlik bilan foydalaning)

omniroute auth export                                 # Ogohlantirish va tasdiqlash bosqichini koʻrsatish — DBga kirilmaydi
omniroute auth export --force                          # BARCHA ulanishlarning SHIFRDAN OCHILGAN hisob maʼlumotlarini JSON sifatida stdoutga eksport qilish
omniroute auth export --force --id <id>                 # Faqat mos keluvchi ulanishni eksport qilish
omniroute auth export --force --format env               # OMNIROUTE_<PROVIDER>_<FIELD>=<value> qatorlarini chiqarish
omniroute auth export --force --out creds.json           # Faylga yozish (0600 ruxsatlari bilan yaratiladi)

auth export faqat mahalliy ishlaydi (SQLiteʼdan bevosita oʻqish, HTTP marshruti yoʻq) va ataylab ochiq matn koʻrinishidagi apiKey/accessToken/refreshToken/idToken qiymatlarini chiqaradi/yozadi — bu xato emas, balki funksiyaning oʻzidir. --force parametrisiz maʼlumotlar bazasidan hech narsa oʻqilmaydi va hech narsa shifrdan ochilmaydi. Har qanday ochiq matn chiqarilishidan oldin stderrʼda doimo ogohlantirish banneri koʻrsatiladi. STORAGE_ENCRYPTION_KEY oʻrnatilgan boʻlishi shart. Shifrdan ochib boʻlmaydigan maydon (eskirgan kalit, buzilgan shifrmatn) butun eksportni toʻxtatish yoki asosiy xatoni oshkor qilish oʻrniga <field>DecryptFailed: true sifatida xabar qilinadi.

Boshqa quyi buyruqlar

Alohida qayd etilmagan boʻlsa, bular ishlab turgan OmniRoute serverini talab qiladi:

omniroute status                       # Ishlash muhitining batafsil holati
omniroute logs                         # Soʻrov jurnallarini oqimda koʻrsatish (--json, --search, --follow)
omniroute config show                  # Joriy konfiguratsiyani koʻrsatish

omniroute provider list                # Mavjud provayderlarni roʻyxatlash (providers list taxallusi)
omniroute provider add                 # OmniRouteʼni vositada provayder sifatida roʻyxatdan oʻtkazish
omniroute keys add | list | remove     # API kalitlarini boshqarish
omniroute models [provider]            # Modellarni roʻyxatlash (--json, --search)
omniroute combo list | switch | create | delete

omniroute backup                       # Konfiguratsiya va DB oniy nusxasini yaratish
omniroute restore                      # Oldingi oniy nusxadan tiklash

omniroute health                       # Batafsil ishlash holati (uzgichlar, kesh, xotira)
omniroute quota                        # Provayder kvotasidan foydalanish
omniroute cache                        # Kesh holati
omniroute cache clear                  # Semantik va signatura keshlarini tozalash

omniroute mcp status | restart         # MCP serveri holati / qayta ishga tushirish
omniroute a2a status | card            # A2A serveri holati / agent kartasi

omniroute tunnel list | create | stop  # Tunnellarni boshqarish (cloudflare/tailscale/ngrok)
omniroute env show | get <k> | set <k> <v>  # Muhit oʻzgaruvchilarini tekshirish / oʻrnatish (vaqtinchalik)

omniroute test                         # Provayder ulanishini tezkor sinash
omniroute update                       # Yangilanishlarni tekshirish
omniroute completion                   # Qobiq uchun avtomatik toʻldirishni yaratish

Umumiy bayroqlar

Bayroq Tavsif
--no-open Ishga tushganda brauzerni avtomatik ochmaslik
--port <n> API portini almashtirish (standart 20128)
--mcp stdio orqali MCP serveri sifatida ishlatish (IDEʼlar uchun)
--non-interactive CI rejimi (soʻrovlarsiz; env/bayroqlardan oʻqiydi)
--json Mashina oʻqiy oladigan JSON chiqishi (doctor, providers va boshqalar)
--help, -h Buyruqqa oid yordamni koʻrsatish
--version, -v Oʻrnatilgan versiyani chiqarish

Mavjud API endpointlari

Endpoint Tavsif Qoʻllanishi
/v1/chat/completions Standart chat (barcha provayderlar) Barcha zamonaviy vositalar
/v1/responses Responses API (OpenAI formati) Codex, agentli ish jarayonlari
/v1/completions Eski matnli toʻldirishlar prompt: ishlatadigan eski vositalar
/v1/embeddings Matn embeddinglari RAG, qidiruv
/v1/images/generations Tasvir yaratish GPT-Image, Flux va boshqalar
/v1/audio/speech Matndan nutqqa ElevenLabs, OpenAI TTS
/v1/audio/transcriptions Nutqdan matnga Deepgram, AssemblyAI

Tokenlashtirilgan OmniRoute URL manzili bilan ishlatishga tayyor misollar:

Token misoli: sk-a3ab3c080beaee3a-69f4a4-070d71af

Standart OpenAI bazaviy manzili: http://localhost:20128/v1
VS Code modellari: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models
VS Code chati: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions
VS Code javoblari: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses
Ollama teglari: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags
Ollama chati: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat

Muammolarni bartaraf etish

Xato Sabab Yechim
Connection refused OmniRoute ishlamayapti omniroute serve
401 Unauthorized API kaliti notoʻgʻri /dashboard/api-manager sahifasida tekshiring
No combo configured Faol marshrutlash kombinatsiyasi yoʻq /dashboard/combos sahifasida sozlang
CLI "not installed" deb koʻrsatadi Binar fayl PATH ichida emas which <command> orqali tekshiring
Oʻrnatishdan keyin boshqaruv paneli "not detected" deb koʻrsatadi Kesh eskirgan Boshqaruv panelidagi "⟳ Aniqlashni yangilash" tugmasini bosing
Eski /dashboard/cli-tools havolasi v3.8.6 dan oldingi xatchoʻp Avtomatik ravishda /dashboard/cli-code manziliga yoʻnaltiriladi (308)
Eski /dashboard/agents havolasi v3.8.6 dan oldingi xatchoʻp Avtomatik ravishda /dashboard/acp-agents manziliga yoʻnaltiriladi (308)