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
45 KiB
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 OmniRoute’ga 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 → CLI’ni stdio/ACP orqali ishga tushiradi → javob
Afzalliklari:
- Barcha vositalarni boshqarish uchun bitta API kaliti
- Boshqaruv panelida barcha CLI’lar 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
OmniRoute’dan (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 root’ga 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 CLI’ni 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
/v1suffiksi 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 — CLI’ni 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 CLI’larini
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 ko‘rsatilishi |
vendor |
string |
Vositaning kelib chiqishi ("Anthropic", "OSS (P. Gauthier)") |
acpSpawnable |
boolean |
ACP Agent sifatida ham foydalanish mumkin (nishon ko‘rsatiladi) |
baseUrlSupport |
"full" | "partial" | "none" |
Maxsus endpoint’ni qo‘llab-quvvatlash darajasi. "none" = MITM rejalar ro‘yxati |
configType |
"env" | "custom" | "guide" | "custom-builder" | "mitm" |
Konfiguratsiya mexanizmi |
id, name, color, description, docsUrl |
standart | Asosiy ko‘rsatish maydonlari |
baseUrlSupport: "none" qiymatiga ega yozuvlar boshqaruv paneli sahifalarida ko‘rsatilmaydi — ular 11-reja uchun MITM rejalar ro‘yxatida 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 e’lon qiluvchi manbaga ega va tafovut testi ularning muvofiqligini saqlaydi:
| Daraja | Ma’nosi | E’lon qilingan joy |
|---|---|---|
| Kataloglangan | Boshqaruv paneli katalogida ko‘rsatiladi (nomi, yetkazib beruvchisi, hujjatlari, konfiguratsiya turi) | src/shared/constants/cliTools.ts (CLI_TOOLS) |
| Aniqlanadigan | Binar fayl/konfiguratsiyani aniqlash, holat tekshiruvlari, konfiguratsiya yo‘llari | src/shared/services/cliRuntime.ts (CLI_TOOLS ish vaqti katalogi) |
| Sozlanadigan | omniroute configure <cli> tomonidan qo‘llab-quvvatlanadi (sozlash retsepti mavjud) |
bin/cli/cli-manifest.mjs (configure: true) |
| Ishga tushiriladigan | omniroute run <target> tomonidan qo‘llab-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 to‘ldirish generatorlarining barchasi maqsadlar
ro‘yxatini, taxalluslarni aniqlashni (masalan, kilocode/kilo-code/kilo_cli → kilo)
hamda --model bayrog‘ini ulashni undan oladi. Tafovutdan himoyalash testi
tests/unit/cli/cli-manifest-drift.test.ts manifest, ish vaqti katalogi,
UI katalogi va har bir iste’molchi interfeysi sinxron holatda qolishini tekshiradi — faqat
bitta interfeysga qo‘shilgan maqsad jimgina tafovut hosil qilish o‘rniga testlar to‘plamining muvaffaqiyatsiz yakunlanishiga olib keladi.
1. CLI Code katalogi (26 ta vosita)
/dashboard/cli-code sahifasida ko‘rsatiladigan barcha vositalar. baseUrlSupport: none qiymatiga ega vositalar maxsus asosiy URL o‘rniga MITM yoki qo‘llanma 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 | 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 qo‘llab-quvvatlanadi» belgisi ko‘rsatiladi.
2. CLI agentlari katalogi (10 ta vosita)
/dashboard/cli-agents sahifasida ko‘rsatiladigan 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 ko‘rsatadi. Katalog src/lib/acp/registry.ts faylida alohida yuritiladi va CLI_TOOLS bilan bir xil emas.
4. MITM vazifalar ro‘yxati (boshqaruv panelida ko‘rsatilmaydi)
Quyidagi CLI vositalari maxsus asosiy URL manzilini tabiiy ravishda qo‘llab-quvvatlamaydi va CLI Code yoki CLI Agents sahifalarida ro‘yxatga 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 |
To‘liq o‘zaro 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 bo‘yicha
Promise.all, har bir vosita uchun 5 soniyalik kutish chegarasi - Kesh: konfiguratsiya faylining
mtimeqiymati bo‘yicha indekslangan, xotiradagi LRU.mtimeo‘zgarganda 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 yo‘q
}
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 komponentisrc/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx— mijoz tomoni panjarasisrc/app/(dashboard)/dashboard/cli-code/[id]/page.tsx— vosita tafsilotlari sahifasisrc/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 komponentisrc/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx— mijoz tomoni panjarasisrc/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx—ToolDetailClientdan 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
/dashboard/api-managersahifasini oching → API kalitini yaratish- Unga nom bering (masalan,
cli-tools) va barcha ruxsatlarni tanlang - 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
http://localhost:20128/dashboard/cli-codemanziliga oʻting- Vositalar toʻridan kerakli vositani toping
- Vosita tafsilotlari sahifasini ochish uchun kartani bosing
- API kalitingiz va asosiy URL manzilini tanlang
- 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:20128qismini 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 highbuyrugʻ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-keyo‘rniga OmniRoute’da yaratilgan API kalitini kiriting.urlmaydoni/api/v1/vscode/{token}/chat/completionsmanziliga yo‘naltirilishi kerak.modelsUrlmaydoni/api/v1/vscode/{token}/modelsmanziliga yo‘naltirilishi kerak.- Mijoz maxsus sarlavhalarni qo‘llab-quvvatlasa, odatiy
/v1+ Bearer sarlavhasi usulidan foydalanish afzal. - URL ichiga joylashtirilgan tokenlar moslik uchun zaxira usulidir va muharrir jurnallarida yoki proksi tarixida ko‘rinishi mumkin.
Kiro CLI (Amazon)
# AWS/Kiro hisobingizga kiring:
kiro-cli login
# CLI o‘z autentifikatsiyasidan foydalanadi — Kiro CLI’ning o‘zi uchun OmniRoute backend sifatida kerak emas.
# Boshqa vositalar uchun kiro-cli’dan OmniRoute bilan birga foydalaning.
kiro-cli status
Kiro IDE ish stoli ilovasi uchun OmniRoute tomonidan taqdim etilgan MITM endpointidan
/dashboard/cli-tools → Kiro bo‘limida 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) |