Files
OmniRoute/docs/i18n/ru/docs/reference/CLI-TOOLS.md
Xiangzhe 0cd107b9ae docs(i18n): retranslate the CLI reference and integrations guide across all 42 locales
The translated CLI docs predated the relay-like CLI work: every locale still shipped
the legacy Codex `config.yaml` quickstart (dropped from the English source when the
generator moved to TOML), none mentioned the `omniroute run` launcher or the Gemini
target, and CLI-INTEGRATIONS.md existed only in Polish.

Regenerated through the project pipeline (npm run i18n:run) for the two guides the
CLI effort changed:
- docs/i18n/*/docs/reference/CLI-TOOLS.md — 42 locales updated; the obsolete YAML
  quickstart is gone from all of them (the remaining config.yaml mentions mirror the
  English legacy note and Continue's own config)
- docs/i18n/*/docs/guides/CLI-INTEGRATIONS.md — 42 locales, 41 of them new files

ENVIRONMENT.md is deliberately not included: at ~26 chunks per locale it exceeds the
pipeline's 60s per-chunk timeout and fails after retries. It needs a raised
OMNIROUTE_TRANSLATION_TIMEOUT_MS, which is a separate maintenance run.

Verified: check:docs-all exits 0, doc-links reports no broken internal links, and
spot-checks confirm technical identifiers, front-matter and language bars survive
translation intact.
2026-08-18 18:32:39 -03:00

53 KiB
Raw Blame History

CLI-TOOLS (Русский)

🌐 Languages: 🇺🇸 English · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇪🇸 es · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇳 gu · 🇮🇱 he · 🇮🇳 hi · 🇭🇺 hu · 🇮🇩 id · 🇮🇩 in · 🇮🇹 it · 🇯🇵 ja · 🇰🇷 ko · 🇮🇳 mr · 🇲🇾 ms · 🇳🇱 nl · 🇳🇴 no · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇸🇰 sk · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇻🇳 vi · 🇨🇳 zh-CN · 🇹🇼 zh-TW



title: "CLI Инструменты — OmniRoute" version: 3.8.50 lastUpdated: 2026-08-18

CLI Инструменты — OmniRoute

Последнее обновление: 2026-08-18

OmniRoute интегрируется с тремя категориями CLI инструментов, распределенными по трем специализированным страницам панели управления:

Страница Маршрут Концепция Количество
CLI Код /dashboard/cli-code Инструменты кодирования, которые вы настраиваете на OmniRoute (Клиент → CLI → OmniRoute → Провайдер) 26
CLI Агенты /dashboard/cli-agents Автономные агенты, которые вы настраиваете на OmniRoute (тот же поток, более широкий охват) 8
ACP Агенты /dashboard/acp-agents CLI, которые OmniRoute создает как бэкенд через stdio/ACP (обратный поток) см. реестр

Устаревшие маршруты перенаправляют через 308: /dashboard/cli-tools/dashboard/cli-code, /dashboard/agents/dashboard/acp-agents.


Как это работает

CLI Код / CLI Агенты (поток потребления):
Claude / Codex / OpenCode / Cline / KiloCode / Continue / Hermes Agent / Goose / ...
           │
           ▼  (все указывают на OmniRoute)
    http://YOUR_SERVER:20128/v1
           │
           ▼  (OmniRoute направляет к правильному провайдеру)
    Anthropic / OpenAI / Gemini / DeepSeek / Groq / Mistral / ...

ACP Агенты (обратный поток создания):
    Запрос клиента → OmniRoute → создает CLI через stdio/ACP → ответ

Преимущества:

  • Один API ключ для управления всеми инструментами
  • Отслеживание затрат по всем CLI в панели управления
  • Переключение моделей без перенастройки каждого инструмента
  • Работает локально и на удаленных серверах (VPS, Docker, Akamai, Cloudflare Tunnel)

Автоконфигурация с setup-*

Вам не нужно вручную писать конфигурацию для каждого инструмента. OmniRoute поставляется с командой setup-* для каждого поддерживаемого CLI, которая считывает живой каталог моделей из работающего OmniRoute (локально или удаленно) и записывает собственную конфигурацию инструмента на вашем компьютере:

omniroute setup-codex        omniroute setup-claude       omniroute setup-opencode
omniroute setup-cline        omniroute setup-kilo         omniroute setup-continue
omniroute setup-cursor       omniroute setup-roo          omniroute setup-crush
omniroute setup-goose        omniroute setup-qwen         omniroute setup-aider

Каждая команда принимает --remote <url> --api-key <key> (настроить локальный инструмент для работы с удаленным OmniRoute), --dry-run (предварительный просмотр без записи) и --port. Инструменты без автоматического обнаружения модели (Cline, Kilo, Roo, Goose, Aider, Qwen) принимают --model <id>--yes для неинтерактивных запусков). Чтобы запустить CLI с правильной средой и без записи конфигурации, используйте универсальный omniroute run <target> (claude, codex, aider, goose, opencode, qwen, gemini — цели и псевдонимы берутся из bin/cli/cli-manifest.mjs); устаревшие запускатели для каждого инструмента omniroute launch (Claude Code) и omniroute launch-codex (Codex) остаются доступными. Gemini CLI является только для запуска: это цель omniroute run, но не имеет рецепта setup-*/configure.

Полная справка: мастер-таблица — что каждая команда записывает, каждый флаг, локально против удаленно, и какие инструменты требуют суффикс /v1 — находится в CLI Интеграции.

Запуск этих команд внутри контейнера

Команда setup-*, выполненная внутри контейнера OmniRoute, записывает в домашнюю директорию контейнера, которую ни один хост CLI не считывает и которая исчезает с контейнером. OmniRoute это обнаруживает и завершает работу с кодом 2, предоставляя инструкции вместо записи. Два поддерживаемых способа — установить CLI на хосте и omniroute connect к контейнеру, или смонтировать директории конфигурации и установить CLI_CONFIG_HOME (профиль host в compose). Каждая команда setup-*, а также omniroute configure и omniroute config set, принимает --allow-container-write, когда вы на самом деле имели в виду настроить собственные CLI контейнера; OMNIROUTE_ALLOW_CONTAINER_CONFIG_WRITE=true делает то же самое для сервера. См. Docker Guide → Конфигурирование CLI инструментов на хосте.

Точка применения панели управления (POST /api/cli-tools/apply) применяет такую же защиту: в контейнере запись, цель которой не смонтирована с хоста, отвечает 422 с containerEphemeralTarget: true, безопасным текстом ошибки и — для инструментов с рецептом на хосте (claude, codex, opencode, cline, kilo, continue) — командой hostSetupCommand (например, omniroute setup-opencode), которую нужно выполнить на хосте вместо этого; ничего не записывается. dryRun: true продолжает работать в режиме контейнера и возвращает сгенерированное содержимое + целевой путь без изменения диска, так что вы можете предварительно просмотреть из панели управления и применить на хосте. Это поведение намеренное и защищено от регрессий с помощью tests/unit/api/cli-tools/apply-container-guard.test.ts — никогда не "исправляйте" 422, удаляя защиту.


Источник правды

Унифицированный каталог находится в src/shared/constants/cliTools.ts как CLI_TOOLS: Record<string, CliCatalogEntry>.

Каждая запись имеет следующие поля (определены в src/shared/schemas/cliCatalog.ts):

Поле Тип Описание
category "code" | "agent" На какой странице появляется инструмент
vendor string Происхождение инструмента ("Anthropic", "OSS (P. Gauthier)")
acpSpawnable boolean Также может использоваться как ACP Agent (значок отображается)
baseUrlSupport "full" | "partial" | "none" Уровень поддержки пользовательского конечного пункта. "none" = MITM backlog
configType "env" | "custom" | "guide" | "custom-builder" | "mitm" Механизм конфигурации
id, name, color, description, docsUrl стандарт Основные поля отображения

Записи с baseUrlSupport: "none" не отображаются на страницах панели управления — они зарегистрированы в MITM backlog для плана 11 (см. _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md).

Уровни возможностей (каталогизированные × обнаруживаемые × настраиваемые × запускаемые)

Не каждый каталогизированный инструмент является обнаруживаемым, настраиваемым или запускаемым. Каждый уровень имеет один объявляющий источник, и тест на отклонение поддерживает их согласованность:

Уровень Значение Объявлено в
Каталогизированный Появляется в каталоге панели управления (имя, поставщик, документация, тип конфигурации) src/shared/constants/cliTools.ts (CLI_TOOLS)
Обнаруживаемый Обнаружение бинарных файлов/конфигураций, проверки состояния, пути конфигурации src/shared/services/cliRuntime.ts (CLI_TOOLS runtime catalog)
Настраиваемый Поддерживается omniroute configure <cli> (существует рецепт настройки) bin/cli/cli-manifest.mjs (configure: true)
Запускаемый Поддерживается omniroute run <target> (определена инъекция env/args) bin/cli/cli-manifest.mjs (run: true)

bin/cli/cli-manifest.mjs является каноническим исполняемым манифестом для команд CLI поверхностей: run, configure и генераторы автозаполнения оболочки все получают свои списки целей, разрешение псевдонимов (например, kilocode/kilo-code/kilo_clikilo) и подключение флага --model из него. Защитник отклонений tests/unit/cli/cli-manifest-drift.test.ts утверждает, что манифест, каталог времени выполнения, каталог UI и каждая поверхность потребителя остаются синхронизированными — цель, добавленная к одной поверхности без других, приводит к сбою тестов вместо тихого отклонения.

1. Каталог CLI-кода (26 инструментов)

Все инструменты, которые появляются в /dashboard/cli-code. Те, у которых baseUrlSupport: none, подключены через MITM или с помощью ручного руководства вместо пользовательского базового URL:

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 (ex-Claude Dev) full custom true
kilo Kilo Code Kilo-Org full custom false
roo Roo Code Roo (OSS) full guide false
continue Continue continue.dev full guide false
aider Aider OSS (P. Gauthier) full guide true
forge ForgeCode Antinomy HQ full custom true
jcode jcode 1jehuang (OSS) full custom false
deepseek-tui DeepSeek TUI Hunter Bown (OSS) full custom false
codewhale CodeWhale Hmbown (OSS) full custom false
opencode OpenCode Anomaly (ex-SST) full guide true
droid Factory Droid Factory AI partial guide false
copilot GitHub Copilot CLI GitHub/MS full custom false
cursor-cli Cursor CLI Anysphere partial guide true
smelt Smelt leonardcser (OSS) full custom false
pi Pi (pi-coding-agent) M. Zechner (OSS) full custom false
grok-build Grok Build xAI full custom false
crush Crush OSS (Charm) full custom false
qwen Qwen Code Alibaba full guide true
cursor Cursor Anysphere none guide false
antigravity Antigravity Google none mitm false
hermes Hermes Nous Research none guide false
kiro Kiro AI Amazon none mitm false
custom Custom CLI full custom-builder false

Инструменты с baseUrlSupport: "partial" показывают значок "⚠ Частичный базовый URL" на карточке панели управления.

2. Каталог CLI-агентов (8 инструментов)

Автономные агенты, которые появляются в /dashboard/cli-agents:

id name vendor baseUrlSupport acpSpawnable
hermes-agent Агент Гермес Nous Research полный ложь
openclaw OpenClaw OSS (P. Steinberger) полный истина
goose Гусь Block / Linux Foundation полный истина
interpreter Открытый Интерпретатор OSS полный истина
warp Warp AI Warp Inc. частичный истина
agent-deck Колода агентов asheshgoplani (OSS) полный ложь
omp Oh My Pi OSS полный истина
letta Letta CLI Letta полный ложь

3. ACP-агенты (/dashboard/acp-agents)

Эта страница (переименованная из /dashboard/agents) показывает CLI, которые OmniRoute может создавать в качестве движков выполнения на стороне сервера через протокол stdio/ACP. Каталог поддерживается отдельно в src/lib/acp/registry.ts и не является тем же, что и CLI_TOOLS.


4. MITM-отложенные задачи (не отображаются на панели управления)

Следующие CLI не поддерживают пользовательский базовый URL нативно и не перечислены на страницах кода CLI или агентов CLI. Они являются кандидатами для перехвата MITM в плане 11:

CLI Причина
windsurf BYOK ограничен выбором моделей Claude + корпоративный URL/токен
amp Закрытая экосистема (Sourcegraph)
amazon-q / kiro-cli AWS SSO аутентификация, нет пользовательского URL
cowork Anthropic Desktop, нет настраиваемой конечной точки

Смотрите _tasks/features-v3.8.6/refactorpages/_orchestration/_plan11-mitm-backlog.md для полного перекрестного ссылки.


5. API обнаружения пакетов

Все обнаружения инструментов агрегируются через единую конечную точку:

GET /api/cli-tools/all-statuses

  • Аутентификация: requireCliToolsAuth(request) (так же, как и другие маршруты /api/cli-tools/)
  • Возвращает: Record<toolId, ToolBatchStatus> (тип: src/shared/types/cliBatchStatus.ts)
  • Стратегия: Promise.all для всех инструментов, таймаут 5 секунд на инструмент
  • Кэш: в памяти LRU, индексированный по mtime конфигурационного файла. Кэш недействителен, когда mtime изменяется. Сбрасывается при перезапуске сервера.

Форма ответа для каждого инструмента:

interface ToolBatchStatus {
  detection: {
    installed: boolean;
    runnable: boolean;
    version?: string;
    command?: string;
    commandPath?: string;
    reason?: string;
  };
  config: {
    status: "configured" | "not_configured" | "not_installed" | "unknown" | "other";
    endpoint?: string | null;
    lastConfiguredAt?: string | null;
  };
  error?: string; // очищено, без трассировок стека
}

6. Обработчики настроек для новых инструментов

Новые инструменты с configType: "custom" имеют выделенные маршруты API настроек:

Маршрут Инструмент
POST /api/cli-tools/forge-settings ForgeCode (.forge.toml)
POST /api/cli-tools/jcode-settings jcode (--base-url flag)
POST /api/cli-tools/deepseek-tui-settings DeepSeek TUI (OPENAI_BASE_URL, legacy)
POST /api/cli-tools/codewhale-settings CodeWhale (OPENAI_BASE_URL, primary + legacy ~/.deepseek sync)
POST /api/cli-tools/smelt-settings Smelt
POST /api/cli-tools/pi-settings Pi coding agent
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 + dedicated .env key)

Все маршруты используют sanitizeErrorMessage() для ответов об ошибках (Жесткое правило #12).


7. Архитектура страниц панели управления

CLI Код (/dashboard/cli-code)

  • src/app/(dashboard)/dashboard/cli-code/page.tsx — серверный компонент
  • src/app/(dashboard)/dashboard/cli-code/CliCodePageClient.tsx — клиентская сетка
  • src/app/(dashboard)/dashboard/cli-code/[id]/page.tsx — страница деталей инструмента
  • src/app/(dashboard)/dashboard/cli-code/components/ — 12 специализированных карточек инструментов + ToolDetailClient.tsx

CLI Агенты (/dashboard/cli-agents)

  • src/app/(dashboard)/dashboard/cli-agents/page.tsx — серверный компонент
  • src/app/(dashboard)/dashboard/cli-agents/CliAgentsPageClient.tsx — клиентская сетка
  • src/app/(dashboard)/dashboard/cli-agents/[id]/page.tsx — повторно использует ToolDetailClient

ACP Агенты (/dashboard/acp-agents)

  • src/app/(dashboard)/dashboard/acp-agents/page.tsx — серверный компонент (перемещен из agents/)

Общие UI Компоненты (src/shared/components/cli/)

Файл Назначение
CliToolCard.tsx Умная карточка статуса (обнаружение + конфигурация + конечная точка)
CliConceptCard.tsx Карточка объяснения концепции на странице
CliComparisonCard.tsx Сравнение по трем колонкам между типами CLI
BaseUrlSelect.tsx Выпадающий список конечных точек (Локальная/Облачная/Пользовательская)
ApiKeySelect.tsx Выбор ключа API
ManualConfigModal.tsx Модальное окно с копируемым фрагментом конфигурации

Общий Хук (src/shared/hooks/cli/)

Файл Назначение
useToolBatchStatuses.ts Получает /api/cli-tools/all-statuses, управляет состоянием загрузки/обновления

8. i18n

Новые пространства имен добавлены в план 14 F9:

Пространство имен Назначение
cliCommon Общие строки (ярлыки карточек, тексты концепций/сравнений, ярлыки страниц деталей)
cliCode Строки страниц CLI Code
cliAgents Строки страниц CLI Agents
acpAgents Строки страниц ACP Agents

Полные переводы на португальский (Бразилия) и английский предоставлены. 39 других локалей автоматически используют английский через объединение на уровне пространства имен в src/i18n/request.ts.


9. Быстрый старт

Шаг 1 — Получите ключ API OmniRoute

  1. Откройте /dashboard/api-managerСоздать ключ API
  2. Дайте ему имя (например, cli-tools) и выберите все разрешения
  3. Скопируйте ключ — он вам понадобится для каждого CLI ниже

Ваш ключ выглядит так: sk-xxxxxxxxxxxxxxxx-xxxxxxxxx


Шаг 2 — Установите инструменты CLI

Все инструменты на основе npm требуют Node.js 22.22.2+ или 24.x:

# Claude Code (Anthropic)
npm install -g @anthropic-ai/claude-code

# OpenAI Codex
npm install -g @openai/codex

# OpenCode
npm install -g opencode-ai

# Cline
npm install -g cline

# KiloCode
npm install -g kilocode

# Qwen Code
npm install -g @qwen-code/qwen-code

# Google Gemini CLI (запускается через `omniroute run gemini` → /v1beta surface)
npm install -g @google/gemini-cli

# Aider
pip install aider-chat

# Smelt
cargo install smelt  # на основе Rust

# Pi coding agent
# см. https://github.com/zechnerj/pi-coding-agent для установки

# jcode
# см. https://github.com/1jehuang/jcode для установки

Шаг 3 — Настройте через панель управления

  1. Перейдите по адресу http://localhost:20128/dashboard/cli-code
  2. Найдите ваш инструмент в сетке
  3. Нажмите на карточку, чтобы открыть страницу деталей инструмента
  4. Выберите ваш ключ API и базовый URL
  5. Нажмите Применить конфигурацию или скопируйте фрагмент конфигурации вручную

Шаг 4 — Установите глобальные переменные окружения

# Универсальная конечная точка OmniRoute
export OPENAI_BASE_URL="http://localhost:20128/v1"
export OPENAI_API_KEY="sk-your-omniroute-key"
export ANTHROPIC_BASE_URL="http://localhost:20128"
export ANTHROPIC_AUTH_TOKEN="sk-your-omniroute-key"
# Gemini CLI читает GOOGLE_GEMINI_BASE_URL на корне (его SDK добавляет /v1beta/... самостоятельно)
export GOOGLE_GEMINI_BASE_URL="http://localhost:20128"
export GEMINI_API_KEY="sk-your-omniroute-key"

Для удаленного сервера замените localhost:20128 на IP-адрес или домен сервера, например, http://<your-server-ip>:20128.


Шаг 4 — Настройте каждый инструмент

Claude Code

# Создайте ~/.claude/settings.json:
mkdir -p ~/.claude && cat > ~/.claude/settings.json << EOF
{
  "env": {
    "ANTHROPIC_BASE_URL": "http://localhost:20128",
    "ANTHROPIC_AUTH_TOKEN": "sk-your-omniroute-key"
  }
}
EOF

Используйте единый корень шлюза Anthropic для Claude Code. Не добавляйте /v1 здесь.

Тест: claude "say hello"


OpenAI Codex

Современный Codex (v0.137+) читает ~/.codex/config.toml только — старый config.yaml принадлежит устаревшему npm CLI и игнорируется без предупреждений. Ключ API остается в переменной окружения OMNIROUTE_API_KEY (env_key), никогда не внутри файла:

mkdir -p ~/.codex && cat > ~/.codex/config.toml << EOF
model_provider = "omniroute"

[model_providers.omniroute]
name                 = "OmniRoute"
base_url             = "http://localhost:20128/v1"
env_key              = "OMNIROUTE_API_KEY"
requires_openai_auth = false
EOF
export OMNIROUTE_API_KEY="sk-your-omniroute-key"

Полная справка (профили, wire_api, контекстные окна): CODEX-CLI-CONFIGURATION.md.

Тест: codex "what is 2+2?"


OpenCode

mkdir -p ~/.config/opencode && cat > ~/.config/opencode/opencode.json << EOF
{
  "\$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniroute": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniRoute",
      "options": {
        "baseURL": "http://localhost:20128/v1",
        "apiKey": "sk-your-omniroute-key"
      },
      "models": {
        "claude-sonnet-4-5": { "name": "claude-sonnet-4-5" },
        "claude-sonnet-4-5-thinking": { "name": "claude-sonnet-4-5-thinking" },
        "gemini-3-flash": { "name": "gemini-3-flash" }
      }
    }
  }
}
EOF

Тест: opencode

Используйте opencode run "your prompt" --model omniroute/claude-sonnet-4-5-thinking --variant high для отправки вариантов мышления.


Cline (CLI или VS Code)

Режим CLI:

mkdir -p ~/.cline/data && cat > ~/.cline/data/globalState.json << EOF
{
  "apiProvider": "openai",
  "openAiBaseUrl": "http://localhost:20128/v1",
  "openAiApiKey": "sk-your-omniroute-key"
}
EOF

Режим VS Code: Настройки расширения Cline → Поставщик API: OpenAI Compatible → Базовый URL: http://localhost:20128/v1

Или используйте панель управления OmniRoute → CLI Tools → Cline → Применить конфигурацию.


KiloCode (CLI или VS Code)

Режим CLI:

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

Настройки VS Code:

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

Или используйте панель управления OmniRoute → CLI Tools → KiloCode → Применить конфигурацию.


Continue (расширение VS Code)

Отредактируйте ~/.continue/config.yaml:

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

Перезапустите VS Code после редактирования.


VS Code Insiders (chatLanguageModels.json)

Используйте это, когда VS Code Insiders настроен для пользовательских моделей конечных точек, и вы хотите, чтобы OmniRoute работал без пользовательского заголовка.

Рекомендуемое местоположение:

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

Пример с использованием токенизированного псевдонима OmniRoute:

[
  {
    "vendor": "customendpoint",
    "id": "auto",
    "name": "OmniRoute Auto",
    "family": "gpt-4",
    "version": "1.0.0",
    "url": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/chat/completions",
    "modelsUrl": "http://localhost:20128/api/v1/vscode/sk-your-omniroute-key/models",
    "requestFormat": "openai-chat-completions",
    "contextWindow": 256000,
    "maxOutputTokens": 32768,
    "auth": {
      "type": "none"
    }
  }
]

Примечания:

  • Замените sk-your-omniroute-key на ключ API, созданный в OmniRoute.
  • Поле url должно указывать на /api/v1/vscode/{token}/chat/completions.
  • Поле modelsUrl должно указывать на /api/v1/vscode/{token}/models.
  • Предпочитайте обычный поток /v1 + заголовок Bearer, когда клиент поддерживает пользовательские заголовки.
  • Встроенные в URL токены являются запасным вариантом совместимости и могут появляться в журналах редактора или истории прокси.

Kiro CLI (Amazon)

# Войдите в свою учетную запись AWS/Kiro:
kiro-cli login

# CLI использует свою собственную аутентификацию — OmniRoute не нужен как бэкенд для самого Kiro CLI.
# Используйте kiro-cli вместе с OmniRoute для других инструментов.
kiro-cli status

Для настольного приложения Kiro IDE используйте конечную точку MITM, предоставленную OmniRoute по адресу /dashboard/cli-tools → Kiro.


10. Внутренний OmniRoute CLI

Бинарный файл omniroute предоставляет команды для жизненного цикла сервера, настройки, диагностики и управления провайдерами. Точка входа: bin/omniroute.mjs.

omniroute                              # Запустить сервер (порт по умолчанию 20128)
omniroute setup                        # Интерактивный мастер настройки
omniroute doctor                       # Проверить конфигурацию, БД, порты, время выполнения
omniroute providers list               # Настроенные соединения провайдеров
omniroute providers test-all           # Протестировать каждое активное соединение
omniroute reset-password               # Сбросить пароль администратора
omniroute logs                         # Поток журналов запросов
omniroute health                       # Подробное состояние (размыкатели, кэш, память)
omniroute --version                    # Печать версии
omniroute --help                       # Показать все команды

Настройка и инициализация

omniroute setup                        # Интерактивный мастер настройки
omniroute setup --non-interactive      # CI/автоматизированный режим (читает переменные окружения + флаги)
omniroute setup --password '<value>'   # Установить пароль администратора напрямую
omniroute setup --add-provider \
  --provider openai \
  --api-key '<value>' \
  --test-provider                      # Добавить и протестировать провайдера за один раз

Признанные переменные окружения для неинтерактивной настройки:

Var Назначение
OMNIROUTE_API_KEY API-ключ провайдера (связан с --api-key через Commander .env())
DATA_DIR Переопределить каталог данных OmniRoute

Все остальные неинтерактивные вводы передаются как флаги, а не переменные окружения: --password, --provider, --provider-name, --provider-base-url, --default-model (см. опции omniroute setup выше).

Диагностика

omniroute doctor                       # Проверить конфигурацию, БД, порты, время выполнения, память, работоспособность
omniroute doctor --json                # Читаемый машиной JSON
omniroute doctor --no-liveness         # Пропустить HTTP-пробу работоспособности
omniroute doctor --host 0.0.0.0        # Переопределить хост работоспособности
omniroute doctor --liveness-url <url>  # Полное переопределение URL конечной точки здоровья

Доктор выполняет следующие проверки: Конфигурация, База данных, Хранение/шифрование, Доступность порта, Время выполнения узла, Нативный бинарный файл (better-sqlite3), Память и Работоспособность сервера. Он завершает работу с ненулевым кодом, если любая проверка не удалась.

Управление провайдерами

omniroute providers available                       # Каталог провайдеров OmniRoute
omniroute providers available --search openai       # Фильтровать каталог по id/имени/псевдониму/категории
omniroute providers available --category api-key    # Фильтровать по категории (api-key, oauth, free, ...)
omniroute providers available --json                # Читаемый машиной JSON

omniroute providers list                            # Настроенные соединения провайдеров
omniroute providers list --json

omniroute providers test <id|name>                  # Протестировать одно настроенное соединение
omniroute providers test-all                        # Протестировать каждое активное соединение
omniroute providers validate                        # Локальная структурная проверка
omniroute providers add <provider> --credential-env PROVIDER_KEY
omniroute providers import ./providers.json --dry-run --json
omniroute providers auth <provider>                 # Существующий OAuth поток
omniroute providers edit <id|name> --default-model <model>
omniroute providers remove <id|name> --yes

providers add/import/auth/edit/remove работают по принципу API и, следовательно, действуют в активном локальном или удаленном контексте. Ввод учетных данных должен использовать --credential-stdin или --credential-env; --dry-run --json сообщает только о редактированных присутствии/форме. providers available читает каталог OmniRoute; providers list/test/test-all/validate сохраняют свое локальное поведение SQLite и не требуют, чтобы сервер работал.

Восстановление и сброс

omniroute reset-password                # Сбросить пароль администратора (также: omniroute-reset-password)
omniroute reset-encrypted-columns       # Показать предупреждение + пробный запуск для сброса зашифрованных учетных данных
omniroute reset-encrypted-columns --force  # На самом деле обнулить зашифрованные учетные данные в SQLite

Экспорт учетных данных (⚠ обращайтесь с осторожностью)

omniroute auth export                                 # Показать предупреждение + подтверждение — доступ к БД отсутствует
omniroute auth export --force                          # Экспортировать ВСЕ расшифрованные учетные данные соединений в stdout в формате JSON
omniroute auth export --force --id <id>                 # Экспортировать только соответствующее соединение
omniroute auth export --force --format env               # Вывести строки OMNIROUTE_<PROVIDER>_<FIELD>=<value>
omniroute auth export --force --out creds.json           # Записать в файл (созданный с правами 0600)

auth export является локальным (прямое чтение из SQLite, без HTTP маршрута) и намеренно печатает/записывает в открытом виде значения apiKey/accessToken/refreshToken/idToken — это функция, а не ошибка. Ничего не читается из базы данных, и ничего не расшифровывается без --force. Перед выводом любого открытого текста всегда печатается предупреждающий баннер в stderr. Требуется установить STORAGE_ENCRYPTION_KEY. Поле, которое не удалось расшифровать (устаревший ключ, поврежденный шифротекст), сообщается как <field>DecryptFailed: true, вместо того чтобы прерывать весь экспорт или утекать основную ошибку.

Другие подкоманды

Эти команды предполагают работающий сервер OmniRoute, если не указано иное:

omniroute status                       # Комплексный статус времени выполнения
omniroute logs                         # Поток журналов запросов (--json, --search, --follow)
omniroute config show                  # Показать текущую конфигурацию

omniroute provider list                # Список доступных провайдеров (псевдоним для providers list)
omniroute provider add                 # Зарегистрировать OmniRoute как провайдера в инструменте
omniroute keys add | list | remove     # Управление API-ключами
omniroute models [provider]            # Список моделей (--json, --search)
omniroute combo list | switch | create | delete

omniroute backup                       # Снимок конфигурации + БД
omniroute restore                      # Восстановление из предыдущего снимка

omniroute health                       # Подробное состояние (размыкатели, кэш, память)
omniroute quota                        # Использование квоты провайдера
omniroute cache                        # Статус кэша
omniroute cache clear                  # Очистить семантические + сигнатурные кэши

omniroute mcp status | restart         # Статус сервера MCP / перезапуск
omniroute a2a status | card            # Статус сервера A2A / карточка агента

omniroute tunnel list | create | stop  # Управление туннелями (cloudflare/tailscale/ngrok)
omniroute env show | get <k> | set <k> <v>  # Просмотр / установка переменных окружения (временные)

omniroute test                         # Тест подключения провайдера
omniroute update                       # Проверка обновлений
omniroute completion                   # Генерация завершения для оболочки

Общие флаги

Флаг Описание
--no-open Не открывать браузер автоматически при запуске
--port <n> Переопределить порт API (по умолчанию 20128)
--mcp Запускать как сервер MCP через stdio (для IDE)
--non-interactive CI режим (без запросов; читает из env/флагов)
--json Читаемый машиной JSON вывод (doctor, providers и т.д.)
--help, -h Показать справку по конкретной команде
--version, -v Печать установленной версии

Доступные API конечные точки

Конечная точка Описание Используется для
/v1/chat/completions Стандартный чат (все провайдеры) Все современные инструменты
/v1/responses API ответов (формат OpenAI) Codex, агентные рабочие процессы
/v1/completions Устаревшие текстовые дополнения Старые инструменты, использующие prompt:
/v1/embeddings Текстовые встраивания RAG, поиск
/v1/images/generations Генерация изображений GPT-Image, Flux и др.
/v1/audio/speech Текст в речь ElevenLabs, OpenAI TTS
/v1/audio/transcriptions Речь в текст Deepgram, AssemblyAI

Готовые к вставке примеры с токенизированным URL OmniRoute:

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

Стандартная база OpenAI: http://localhost:20128/v1
Модели VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/models
Чат VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/chat/completions
Ответы VS Code: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/responses
Теги Ollama: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/tags
Чат Ollama: http://localhost:20128/api/v1/vscode/sk-a3ab3c080beaee3a-69f4a4-070d71af/api/chat

Устранение неполадок

Ошибка Причина Исправление
Connection refused OmniRoute не запущен omniroute serve
401 Unauthorized Неправильный API ключ Проверьте в /dashboard/api-manager
No combo configured Нет активной маршрутизации Настройте в /dashboard/combos
CLI показывает "not installed" Бинарный файл не в PATH Проверьте which <command>
Панель управления показывает "not detected" после установки Кэш устарел Нажмите "⟳ Обновить обнаружение" на панели управления
Старая ссылка /dashboard/cli-tools Закладка до v3.8.6 Авто-перенаправление на /dashboard/cli-code (308)
Старая ссылка /dashboard/agents Закладка до v3.8.6 Авто-перенаправление на /dashboard/acp-agents (308)