Files
OmniRoute/docs/i18n/ru

🚀 OmniRoute — The Free AI Gateway (Русский)

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


Never stop coding. Smart routing to FREE & low-cost AI models with automatic fallback.

Ваш универсальный API-прокси — одна конечная точка, более 60 провайдеров, нулевое время простоя. Теперь сMCP-сервером (25 инструментов),Протоколом A2A,Системами памяти/навыковиПриложением Electronic Desktop.

Завершение чата • Встраивание • Генерация изображений • Видео • Музыка • Аудио • Изменение рейтинга •Веб-поиск• Сервер MCP • Протокол A2A • 100 % TypeScript---

npm version Docker Hub

NPM Downloads NPM Downloads

NPM Downloads Docker Pulls GitHub Downloads (all assets, all releases)

stars open issues license last commit total contributions code size pr closed tag github streak followers fork watch

License Website WhatsApp

🌐 Веб-сайт • [🚀 Быстрый старт](#-быстрый старт) • [💡 Возможности](#-ключевые функции) • 📖 Документация • [💰 Цены](#-цены-краткий обзор) • 💬 WhatsApp

🌐Доступно на:🇺🇸 английский | 🇧🇷 Португальский (Бразилия) | 🇪🇸 Испанский | 🇫🇷 Французский | 🇮🇹 Итальянский | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Суоми | 🇮🇱 עברית | 🇭🇺 Мадьяр | 🇮🇩 Бахаса Индонезия | 🇰🇷 한국어 | 🇲🇾 Бахаса Мелаю | 🇳🇱 Нидерланды | 🇳🇴 Норск | 🇵🇹 Português (Португалия) | 🇷🇴 Романэ | 🇵🇱 Polski | 🇸🇰 Словенчина | 🇸🇪 Свенска | 🇵🇭 Филиппинский | 🇨🇿 Чештина---

🖼️ Main Dashboard

OmniRoute Dashboard

📸 Dashboard Preview

<подробности>

Нажмите, чтобы просмотреть снимки экрана панели управления
Страница Скриншот
Поставщики Поставщики
Комбинации Комбо
Аналитика Аналитика
Здоровье Здоровье
Переводчик Переводчик
Настройки Настройки
Инструменты интерфейса командной строки Инструменты CLI
Журналы использования Использование
Конечные точки Конечные точки

🤖 Free AI Provider for your favorite coding agents

Подключите любую среду IDE или интерфейс командной строки на базе искусственного интеллекта через OmniRoute — бесплатный шлюз API для неограниченного кодирования.

<таблица> <тр>

OpenClaw
ОпенКло

205 тыс. NanoBot
НаноБот

20,9 тыс. PicoClaw
Пикокоготь

14,6 тыс. ZeroClaw
Нулевой коготь

9,9 тыс. IronClaw
Железный коготь

2,1 тыс. <тр> OpenCode
Открытый код

106 тыс. CLI Codex
Интерфейс командной строки Кодекса

60,8 тыс. Код Клода
Код Клауда

67,3 тыс. Gemini CLI
Gemini CLI

94,7 тыс. Код Kilo
Код килограмма

15,5 тыс.

📡 Все агенты подключаются через http://localhost:20128/v1 или http://cloud.omniroute.online/v1 — одна конфигурация, неограниченное количество моделей и квота---

🤔 Why OmniRoute?

Хватит тратить деньги и превышать лимиты:

  • Квота подписки истекает каждый месяц, если она не используется.
  • Ограничения скорости не позволяют вам кодировать в середине
  • Дорогие API (2050 долларов США в месяц на каждого поставщика)
  • Ручное переключение между провайдерами

OmniRoute решает эту проблему:

  • Максимальное количество подписок- Отслеживайте квоту, используйте каждый бит перед сбросом
  • Автоматический возврат- Подписка → Ключ API → Дешево → Бесплатно, нулевое время простоя
  • Мультиаккаунт— Циклическое переключение между аккаунтами каждого провайдера.
  • Универсальность— Работает с Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw и любым инструментом CLI.---

📧 Support

💬Присоединяйтесь к нашему сообществу!Группа WhatsApp — Получайте помощь, делитесь советами и будьте в курсе событий.

-Веб-сайт: omniroute.online -GitHub: github.com/diegosouzapw/OmniRoute -Проблемы: github.com/diegosouzapw/OmniRoute/issues -WhatsApp: Группа сообщества -Вклад: посмотрите CONTRIBUTING.md, откройте PR или выберите «хороший первый выпуск». -Оригинальный проект: 9router от decolua### 🐛 Reporting a Bug?

При открытии задачи выполните команду system-info и прикрепите сгенерированный файл:```bash npm run system-info


При этом создается файл system-info.txt с вашей версией Node.js, версией OmniRoute, сведениями об ОС, установленными инструментами CLI (qoder, Gemini, Claude, Codex, AntiGravity, Droid и т. д.), статусом Docker/PM2 и системными пакетами — всем, что нам нужно для быстрого воспроизведения вашей проблемы. Прикрепите файл непосредственно к вашей задаче на GitHub.---

## 🔄 How It Works

┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking + Embeddings + Images │ │ • Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited)

Result: Never stop coding, minimal cost


---

## 🎯 What OmniRoute Solves — 30 Real Pain Points & Use Cases

>**Каждый разработчик, использующий инструменты искусственного интеллекта, ежедневно сталкивается с этими проблемами.**OmniRoute был создан для решения всех этих проблем — от перерасхода средств до региональных блоков, от нарушенных потоков OAuth до операций протокола и наблюдения за предприятием.

<подробности>
<summary><b>💸 1. «Я плачу за дорогую подписку, но меня все равно прерывают лимиты»</b></summary>

Разработчики платят 20200 долларов в месяц за Claude Pro, Codex Pro или GitHub Copilot. Даже при оплате квота имеет потолок — 5 часов использования, еженедельные лимиты или поминутные ограничения. В середине сеанса кодирования провайдер перестает отвечать, и разработчик теряет поток и производительность.

**Как OmniRoute решает эту проблему:**

-**Умный 4-уровневый резерв**— если квота подписки исчерпана, происходит автоматическое перенаправление на API-ключ → Дешево → Бесплатно без вмешательства вручную.
-**Отслеживание ограничений поставщика** — снимки кэшированных квот обновляются по расписанию на стороне сервера (по умолчанию `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES=70`) с ручным обновлением, доступным в пользовательском интерфейсе.
-**Поддержка нескольких учетных записей**— Несколько учетных записей у каждого провайдера с автоматическим циклическим перебором — когда один из них заканчивается, переключается на следующий
-**Пользовательские комбинации**— Настраиваемые резервные цепочки с 9 стратегиями балансировки (приоритет, взвешенная, сначала заполняется, циклический, P2C, случайный, наименее используемый, оптимизированный по затратам, строго случайный)
-**Бизнес-квоты Кодекса**— мониторинг квот рабочего пространства для бизнеса/команды непосредственно на панели управления.</details>

<подробности>
<summary><b>🔌 2. «Мне нужно использовать несколько поставщиков, но у каждого свой API»</b></summary>

OpenAI использует один формат, Claude (Anthropic) — другой, Gemini — третий. Если разработчик хочет протестировать модели от разных поставщиков или использовать резервный вариант между ними, ему необходимо перенастроить SDK, изменить конечные точки, разобраться с несовместимыми форматами. Пользовательские поставщики (FriendLI, NIM) имеют нестандартные конечные точки модели.

**Как OmniRoute решает эту проблему:**

-**Единая конечная точка** — один `http://localhost:20128/v1` служит прокси для всех более чем 60 провайдеров.
-**Перевод формата**— Автоматический и прозрачный: OpenAI ↔ Claude ↔ Gemini ↔ API ответов
-**Очистка ответов**— удаляются нестандартные поля (`x_groq`, `usage_breakdown`, `service_tier`), которые нарушают работу OpenAI SDK v1.83+.
-**Нормализация ролей**— преобразует «разработчик» → «система» для поставщиков, не поддерживающих OpenAI; `система` → `пользователь` для GLM/ERNIE
-**Think Tag Extraction**— извлекает блоки `<think>` из таких моделей, как DeepSeek R1, в стандартизированный `reasoning_content`.
-**Структурированный вывод для Gemini**— автоматическое преобразование `json_schema` → `responseMimeType`/`responseSchema`
-**`stream` по умолчанию имеет значение `false`**— соответствует спецификации OpenAI, что позволяет избежать неожиданного SSE в SDK Python/Rust/Go.</details>

<подробности>
<summary><b>🌐 3. «Мой провайдер ИИ блокирует мой регион/страну»</b></summary>

Такие провайдеры, как OpenAI/Codex, блокируют доступ из определенных географических регионов. Пользователи получают ошибки типа «unsupported_country_region_territory» во время подключений OAuth и API. Особенно это расстраивает разработчиков из развивающихся стран.

**Как OmniRoute решает эту проблему:**

-**3-уровневая конфигурация прокси**— настраиваемый прокси-сервер на трех уровнях: глобальный (весь трафик), для каждого провайдера (только один провайдер) и для каждого соединения/ключа.
-**Значки прокси с цветной кодировкой**— Визуальные индикаторы: 🟢 глобальный прокси, 🟡 прокси-сервер провайдера, 🔵 прокси-сервер подключения, всегда показывающий IP-адрес.
-**Обмен токенами OAuth через прокси**— поток OAuth также проходит через прокси, решая проблему `unsupported_country_region_territory`
-**Тесты подключения через прокси**— тесты подключения используют настроенный прокси-сервер (прямого обхода больше нет)
-**Поддержка SOCKS5**— Полная поддержка прокси-сервера SOCKS5 для исходящей маршрутизации.
-**Подмена отпечатка TLS**— отпечаток TLS, подобный браузеру, через `wreq-js` для обхода обнаружения ботов.
-**🔏 Сопоставление отпечатков CLI**— изменяет порядок заголовков и полей тела в соответствии с собственными двоичными сигнатурами CLI, что значительно снижает риск пометки учетной записи. IP-адрес прокси-сервера сохраняется — вы получаете одновременно скрытую**и**маскировку IP-адреса.</details>

<подробности>
<summary><b>🆓 4. «Я хочу использовать ИИ для кодирования, но у меня нет денег»</b></summary>

Не каждый может платить 20200 долларов в месяц за подписку на ИИ. Студентам, разработчикам из развивающихся стран, любителям и фрилансерам нужен доступ к качественным моделям по нулевой цене.

**Как OmniRoute решает эту проблему:**

-**Встроенные провайдеры уровня бесплатного пользования**— Встроенная поддержка 100% бесплатных провайдеров: Qoder (5 неограниченных моделей через OAuth: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen (4 неограниченных модели: qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, Vision-model), Kiro (Claude + AWS Builder ID бесплатно), Gemini CLI (180 тыс. токенов в месяц бесплатно)
-**Ollama Cloud**— модели Ollama, размещенные в облаке на api.ollama.com, с бесплатным уровнем «Легкое использование»; используйте префикс `ollamacloud/<model>`
-**Комбинации только бесплатно**— Цепочка `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = 0 долларов США в месяц с нулевым временем простоя.
-**Бесплатный доступ к NVIDIA NIM**— постоянный бесплатный доступ примерно на 40 об/мин к более чем 70 моделям на build.nvidia.com (переход от кредитов к чистым ограничениям скорости)
-**Стратегия оптимизации затрат**— стратегия маршрутизации, которая автоматически выбирает самого дешевого доступного провайдера.</details>

<подробности>
<summary><b>🔒 5. «Мне нужно защитить свой AI-шлюз от несанкционированного доступа»</b></summary>

При предоставлении доступа к сети AI-шлюза (LAN, VPS, Docker) любой, у кого есть адрес, может использовать токены/квоту разработчика. Без защиты API уязвимы для неправильного использования, быстрого внедрения и злоупотреблений.

**Как OmniRoute решает эту проблему:**

-**Управление ключами API**— генерация, ротация и определение области действия для каждого поставщика с помощью специальной страницы `/dashboard/api-manager`.
-**Разрешения на уровне модели** — Ограничьте ключи API определенными моделями (`openai/*`, шаблоны подстановочных знаков) с помощью переключателя Разрешить все/Ограничить.
-**API Endpoint Protection**— требует ключ для `/v1/models` и блокирует определенных поставщиков из списка.
-**Auth Guard + защита CSRF**— все маршруты информационной панели защищены промежуточным программным обеспечением withAuth + токенами CSRF.
-**Ограничитель скорости**— ограничение скорости для каждого IP с помощью настраиваемых окон.
-**IP-фильтрация**— список разрешенных/блокированных для контроля доступа.
-**Prompt Injection Guard**— очистка от вредоносных шаблонов подсказок.
-**Шифрование AES-256-GCM**— неактивные учетные данные зашифрованы.</details>

<подробности>
<summary><b>🛑 6. «Мой провайдер вышел из строя, и я потерял процесс кодирования»</b></summary>

Поставщики ИИ могут работать нестабильно, возвращать ошибки 5xx или достигать временных ограничений скорости. Если разработчик зависит от одного провайдера, его работу прерывают. Без автоматических выключателей повторные попытки могут привести к сбою приложения.

**Как OmniRoute решает эту проблему:**

-**Выключатель для каждой модели**— автоматическое открытие/закрытие с настраиваемыми пороговыми значениями и временем восстановления (закрыто/открыто/полуоткрыто), область действия зависит от модели, чтобы избежать каскадных блокировок.
-**Экспоненциальная задержка** – прогрессивная задержка повторных попыток.
-**Anti-Thundering Herd**— Мьютекс + защита семафора от одновременных штормов повторных попыток.
-**Комбо-резервные цепочки**— в случае сбоя основного поставщика автоматически проходит через цепочку без вмешательства.
-**Комбо-выключатель**— автоматически отключает неисправных поставщиков в комбинированной цепочке.
-**Панель состояния**— мониторинг работоспособности, состояния автоматических выключателей, блокировки, статистика кэша, задержка p50/p95/p99.</details>

<подробности>
<summary><b>🔧 7. «Настройка каждого инструмента ИИ утомительна и однообразна»</b></summary>

Разработчики используют Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Для каждого инструмента требуется своя конфигурация (конечная точка API, ключ, модель). Перенастройка при смене провайдера или модели — пустая трата времени.

**Как OmniRoute решает эту проблему:**

-**Панель инструментов CLI**— выделенная страница с настройкой в один клик Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline.
-**GitHub Copilot Config Generator**— генерирует `chatLanguageModels.json` для кода VS с массовым выбором модели.
-**Мастер адаптации** — пошаговая пошаговая настройка для начинающих пользователей.
-**Одна конечная точка, все модели**. Настройте http://localhost:20128/v1 один раз и получите доступ к более чем 60 провайдерам.</details>

<подробности>
<summary><b>🔑 8. «Управление токенами OAuth от нескольких провайдеров — это ад»</b></summary>

Claude Code, Codex, Gemini CLI, Copilot — все используют OAuth 2.0 с токенами с истекающим сроком действия. Разработчикам необходимо постоянно проходить повторную аутентификацию, решать проблемы «client_secret отсутствует», «redirect_uri_mismatch» и сбои на удаленных серверах. OAuth в LAN/VPS особенно проблематичен.

**Как OmniRoute решает эту проблему:**

-**Автоматическое обновление токенов**— токены OAuth обновляются в фоновом режиме до истечения срока их действия.
-**Встроенный OAuth 2.0 (PKCE)**— автоматический поток для Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder.
-**OAuth с несколькими учетными записями** – несколько учетных записей для каждого провайдера посредством извлечения токена JWT/ID.
-**OAuth LAN/Remote Fix**— обнаружение частного IP-адреса для redirect_uri + ручной режим URL-адреса для удаленных серверов.
-**OAuth за Nginx**— использует window.location.origin для совместимости с обратным прокси-сервером.
-**Руководство по удаленному OAuth**— пошаговое руководство по учетным данным Google Cloud на VPS/Docker.</details>

<подробности>
<summary><b>📊 9. «Я не знаю, сколько и куда я трачу»</b></summary>

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

**Как OmniRoute решает эту проблему:**

-**Панель анализа затрат**— отслеживание затрат на каждый токен и управление бюджетом для каждого поставщика.
-**Ограничения бюджета на уровень** — потолок расходов на уровень, который запускает автоматический возврат к резервному варианту.
-**Конфигурация цен на модель**— настраиваемые цены на модель.
-**Статистика использования каждого ключа API**— количество запросов и временная метка последнего использования для каждого ключа.
-**Панель аналитики**— карточки статистики, диаграмма использования модели, таблица поставщиков с показателями успеха и задержкой.</details>

<подробности>
<summary><b>🐛 10. «Я не могу диагностировать ошибки и проблемы в вызовах ИИ»</b></summary>

Когда вызов завершается неудачей, разработчик не знает, было ли это ограничение скорости, срок действия токена, неправильный формат или ошибка провайдера. Фрагментированные журналы на разных терминалах. Без наблюдаемости отладка осуществляется методом проб и ошибок.

**Как OmniRoute решает эту проблему:**

-**Панель управления унифицированными журналами**— 4 вкладки: журналы запросов, журналы прокси, журналы аудита, консоль.
-**Консольный просмотр журнала**— просмотрщик в режиме терминала в режиме реального времени с уровнями с цветовой кодировкой, автоматической прокруткой, поиском и фильтрацией.
-**Журналы прокси-сервера SQLite**— постоянные журналы, которые сохраняются после перезапуска сервера.
-**Площадка переводчика**— 4 режима отладки: Площадка (перевод формата), Тестер чата (туда и обратно), Тестовый стенд (пакетный), Мониторинг в реальном времени (в режиме реального времени).
-**Запрос телеметрии**— задержка p50/p95/p99 + отслеживание X-Request-Id
-**Файловое ведение журнала с ротацией**— журналы приложений чередуются по размеру, дням хранения и количеству архивов; Артефакты журнала вызовов чередуются по дням хранения и количеству файлов
-**Отчет о информации о системе**— `npm run system-info` генерирует `system-info.txt` с вашей полной средой (версия узла, версия OmniRoute, ОС, инструменты CLI, статус Docker/PM2). Прикрепите его при сообщении о проблемах для мгновенной сортировки.</details>

<подробности>
<summary><b>🏗️ 11. «Развертывание и обслуживание шлюза сложны»</b></summary>

Установка, настройка и обслуживание прокси-сервера AI в различных средах (локальных, VPS, Docker, облаке) — трудоемкий процесс. Такие проблемы, как жестко запрограммированные пути, EACCES в каталогах, конфликты портов и кроссплатформенные сборки, добавляют проблем.

**Как OmniRoute решает эту проблему:**

-**npm global install**— `npm install -g omniroute && omniroute` — готово
-**Мультиплатформенность Docker**— встроенная версия AMD64 + ARM64 (Apple Silicon, AWS Graviton, Raspberry Pi)
-**Профили Docker Compose**— `base` (без инструментов CLI) и `cli` (с Claude Code, Codex, OpenClaw).
-**Electron Desktop App**— собственное приложение для Windows/macOS/Linux с панелью задач, автозапуском и автономным режимом.
-**Режим разделения портов**— API и панель мониторинга на отдельных портах для расширенных сценариев (обратный прокси-сервер, сеть контейнеров).
-**Cloud Sync**— синхронизация конфигурации между устройствами через Cloudflare Workers.
-**Резервные копии БД**— автоматическое резервное копирование, восстановление, экспорт и импорт всех настроек с помощью DISABLE_SQLITE_AUTO_BACKUP для резервных копий, управляемых извне.</details>

<подробности>
<summary><b>🌍 12. «Интерфейс только на английском языке, а моя команда не говорит по-английски»</b></summary>

Команды в неанглоязычных странах, особенно в Латинской Америке, Азии и Европе, испытывают трудности с интерфейсами только на английском языке. Языковые барьеры сокращают внедрение и увеличивают количество ошибок в конфигурации.

**Как OmniRoute решает эту проблему:**

-**Панель управления i18n — 30 языков**— Все более 500 клавиш переведены, включая арабский, болгарский, датский, немецкий, испанский, финский, французский, иврит, хинди, венгерский, индонезийский, итальянский, японский, корейский, малайский, голландский, норвежский, польский, португальский (PT/BR), румынский, русский, словацкий, шведский, тайский, украинский, вьетнамский, китайский, филиппинский, английский
-**Поддержка RTL**— поддержка написания справа налево для арабского языка и иврита.
-**Многоязычные файлы README**— 30 полных переводов документации.
-**Выбор языка**— значок глобуса в заголовке для переключения в реальном времени.</details>

<подробности>
<summary><b>🔄 13. «Мне нужно больше, чем просто чат — мне нужны встраивания, изображения, аудио»</b></summary>

ИИ — это не просто завершение чата. Разработчикам необходимо генерировать изображения, расшифровывать аудио, создавать вложения для RAG, изменять ранжирование документов и модерировать контент. Каждый API имеет свою конечную точку и формат.

**Как OmniRoute решает эту проблему:**

-**Embeddings**— `/v1/embeddings` с 6 поставщиками и более чем 9 моделями.
-**Генерация изображений**— `/v1/images/generations` с 10 поставщиками и более чем 20 моделями (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI)
-**Преобразование текста в видео** — `/v1/videos/generations` — ComfyUI (AnimateDiff, SVD) и SD WebUI.
-**Преобразование текста в музыку**— `/v1/music/generations` — ComfyUI (Stable Audio Open, MusicGen)
-**Транскрипция аудио**— `/v1/audio/transcriptions`  Whisper + Nvidia NIM, HuggingFace, Qwen3
-**Преобразование текста в речь**— `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3,**Inworld**,**Cartesia**,**PlayHT**, + существующие поставщики
-**Модерации**— `/v1/moderations` — Проверки безопасности контента.
-**Реранжирование**— `/v1/rerank` — изменение ранжирования релевантности документа.
-**Responses API**— Полная поддержка `/v1/responses` для Кодекса.</details>

<подробности>
<summary><b>🧪 14. «У меня нет возможности тестировать и сравнивать качество разных моделей»</b></summary>

Разработчики хотят знать, какая модель лучше всего подходит для их варианта использования (код, перевод, рассуждения), но сравнение вручную занимает много времени. Интегрированных инструментов оценки не существует.

**Как OmniRoute решает эту проблему:**

-**Оценки LLM** — тестирование золотого набора с 10 предварительно загруженными вариантами, охватывающими приветствия, математику, географию, генерацию кода, соответствие JSON, перевод, уценку, отказ от безопасности.
-**4 стратегии сопоставления**— `точные`, `содержит`, `регулярное выражение`, `пользовательское` (функция JS).
-**Тестовый стенд Translator Playground**— пакетное тестирование с несколькими входными данными и ожидаемыми результатами, сравнение между поставщиками.
-**Тестер чата** — полный цикл с визуальным отображением ответов.
-**Живой монитор**— поток всех запросов, проходящих через прокси, в реальном времени.</details>

<подробности>
<summary><b>📈 15. «Мне нужно масштабироваться без потери производительности»</b></summary>

По мере роста объема запросов без кэширования одних и тех же вопросов возникают дублирующие затраты. Без идемпотентности дублирование запросов приводит к отходам обработки. Необходимо соблюдать ограничения по тарифам для каждого поставщика.

**Как OmniRoute решает эту проблему:**

-**Семантический кеш**— двухуровневый кеш (сигнатура + семантика) снижает стоимость и задержку.
-**Request Idempotency**— окно дедупликации 5 с для идентичных запросов.
-**Обнаружение ограничения скорости**— число оборотов в минуту для каждого провайдера, минимальный разрыв и максимальное одновременное отслеживание.
-**Редактируемые ограничения скорости**— настраиваемые значения по умолчанию в меню «Настройки» → «Устойчивость с постоянством».
-**Кэш проверки ключей API**— трехуровневый кеш для повышения производительности.
-**Панель состояния с телеметрией**— задержка p50/p95/p99, статистика кэша, время безотказной работы.</details>

<подробности>
<summary><b>🤖 16. «Я хочу глобально контролировать поведение модели»</b></summary>

Разработчики, которым нужны все ответы на определенном языке, с определенным тоном или которые хотят ограничить количество токенов рассуждения. Настраивать это в каждом инструменте/запросе непрактично.

**Как OmniRoute решает эту проблему:**

-**Внедрение системных подсказок**— глобальное приглашение применяется ко всем запросам.
-**Продуманная проверка бюджета**— контроль распределения токенов для каждого запроса (сквозной, автоматический, пользовательский, адаптивный)
-**9 стратегий маршрутизации**— глобальные стратегии, определяющие распределение запросов.
-**Wildcard Router**— шаблоны `provider/*` динамически маршрутизируются к любому провайдеру.
-**Переключение/включение комбо**— переключение комбо непосредственно с панели управления.
-**Переключение поставщика**— включение/отключение всех подключений к провайдеру одним щелчком мыши.
-**Заблокированные поставщики**— исключить определенных поставщиков из списка `/v1/models`.</details>

<подробности>
<summary><b>🧰 17. «Мне нужны инструменты MCP как первоклассные возможности продукта»</b></summary>

Многие шлюзы AI предоставляют MCP только как скрытую деталь реализации. Командам нужен видимый и управляемый операционный уровень.

**Как OmniRoute решает эту проблему:**

- MCP отображается на панели навигации панели управления и на вкладке протокола конечной точки.
- Отдельная страница управления MCP с процессами, инструментами, объемами работ и аудитом.
- Встроенный быстрый старт для `omniroute --mcp` и подключения клиента.</details>

<подробности>
<summary><b>🧠 18. «Мне нужна оркестрация A2A с путями задач синхронизации и потоковой передачи»</b></summary>

Рабочие процессы агента требуют как прямых ответов, так и длительного потокового выполнения с контролем жизненного цикла.

**Как OmniRoute решает эту проблему:**

- Конечная точка A2A JSON-RPC (`POST/a2a`) с `message/send` и `message/stream`
- Потоковая передача SSE с распространением состояния терминала
- API жизненного цикла задач для задач/получить и задач/отмены.</details>

<подробности>
<summary><b>🛰️ 19. «Мне нужно реальное состояние процесса MCP, а не угаданный статус»</b></summary>

Оперативным группам необходимо знать, действительно ли MCP работает, а не только доступен ли API.

**Как OmniRoute решает эту проблему:**

- Файл контрольного сигнала времени выполнения с PID, метками времени, транспортом, количеством инструментов и режимом области действия.
- API статуса MCP, объединяющий пульс + недавнюю активность
- Карты состояния пользовательского интерфейса для актуальности процессов, времени безотказной работы и пульса.</details>

<подробности>
<summary><b>📋 20. «Мне нужно проверяемое выполнение инструмента MCP»</b></summary>

Когда инструменты изменяют конфигурацию или запускают действия операционной системы, командам необходима судебно-медицинская отслеживаемость.

**Как OmniRoute решает эту проблему:**

- Ведение журнала аудита на основе SQLite для вызовов инструментов MCP.
- Фильтры по инструменту, успеху/неуспеху, ключу API и нумерации страниц.
- Таблица аудита панели мониторинга + конечные точки статистики для автоматизации</details>

<подробности>
<summary><b>🔐 21. «Мне нужны ограниченные разрешения MCP для каждой интеграции»</b></summary>

Разные клиенты должны иметь минимальный доступ к категориям инструментов.

**Как OmniRoute решает эту проблему:**

- 10 детальных областей MCP для контролируемого доступа к инструментам
- Обеспечение соблюдения границ и видимость в пользовательском интерфейсе управления MCP.
- Безопасное положение по умолчанию для рабочих инструментов.</details>

<подробности>
<summary><b>⚙️ 22. «Мне нужен оперативный контроль без передислокации»</b></summary>

Командам необходимы быстрые изменения во время выполнения во время инцидентов или событий, связанных с затратами.

**Как OmniRoute решает эту проблему:**

- Переключение комбо-активации прямо с панели управления MCP.
- Применение профилей устойчивости из предварительно определенных пакетов политик.
- Сброс состояния автоматического выключателя с той же панели управления.</details>

<подробности>
<summary><b>🔄 23. «Мне нужна оперативная видимость жизненного цикла задачи A2A и ее отмена»</b></summary>

Без прозрачности жизненного цикла инциденты с задачами становится трудно сортировать.

**Как OmniRoute решает эту проблему:**

- Список задач/фильтрация по состоянию/навыку с нумерацией страниц
- Детализация метаданных задачи, событий и артефактов.
- Конечная точка отмены задачи и действие пользовательского интерфейса с подтверждением.</details>

<подробности>
<summary><b>🌊 24. «Мне нужны метрики активного потока для загрузки A2A»</b></summary>

Рабочие процессы потоковой передачи требуют оперативного понимания параллелизма и живых соединений.

**Как OmniRoute решает эту проблему:**

- Счетчики активных потоков интегрированы в статус A2A
- Временная метка последней задачи и количество состояний
- Карты информационной панели A2A для мониторинга операций в реальном времени.</details>

<подробности>
<summary><b>🪪 25. «Мне нужно стандартное обнаружение агентов для клиентов»</b></summary>

Внешним клиентам и оркестраторам для адаптации необходимы машиночитаемые метаданные.

**Как OmniRoute решает эту проблему:**

- Карта агента доступна в `/.well-known/agent.json`
- Возможности и навыки, отображаемые в пользовательском интерфейсе управления.
- API статуса A2A включает метаданные обнаружения для автоматизации.</details>

<подробности>
<summary><b>🧭 26. «Мне нужна возможность обнаружения протоколов в UX продукта»</b></summary>

Если пользователи не могут обнаружить поверхности протокола, качество внедрения и поддержки снижается.

**Как OmniRoute решает эту проблему:**

- Объединенная страница**Конечные точки**с вкладками для конечных точек прокси, MCP, A2A и API.
- Переключение статуса встроенного сервиса (Онлайн/Офлайн) для MCP и A2A.
- Ссылки из обзора на специальные вкладки управления.</details>

<подробности>
<summary><b>🧪 27. «Мне нужна сквозная проверка протокола с реальными клиентами»</b></summary>

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

**Как OmniRoute решает эту проблему:**

- Пакет E2E, который загружает приложение и использует настоящий клиентский транспорт MCP SDK.
- Клиент A2A тестирует потоки обнаружения, отправки, потоковой передачи, получения и отмены.
- Перекрестная проверка утверждений с помощью API-интерфейсов аудита MCP и задач A2A.</details>

<подробности>
<summary><b>📡 28. «Мне нужна унифицированная наблюдаемость на всех интерфейсах»</b></summary>

Разделение наблюдаемости по протоколам создает «слепые зоны» и увеличивает MTTR.

**Как OmniRoute решает эту проблему:**

- Унифицированные дашборды/логи/аналитика в одном продукте
- Здоровье + аудит + телеметрия запросов на уровнях OpenAI, MCP и A2A.
- Операционные API для статуса и автоматизации</details>

<подробности>
<summary><b>💼 29. «Мне нужна одна среда выполнения для прокси + инструментов + оркестровки агентов»</b></summary>

Запуск множества отдельных служб увеличивает эксплуатационные расходы и количество видов сбоев.

**Как OmniRoute решает эту проблему:**

- OpenAI-совместимый прокси, сервер MCP и сервер A2A в одном стеке
- Общая аутентификация, устойчивость, хранилище данных и наблюдаемость.
- Согласованная модель политики на всех поверхностях взаимодействия.</details>

<подробности>
<summary><b>🚀 30. «Мне нужно реализовать агентские рабочие процессы без разрастания связующего кода»</b></summary>

Команды теряют скорость при объединении нескольких специальных сервисов и сценариев.

**Как OmniRoute решает эту проблему:**

- Единая стратегия конечных точек для клиентов и агентов
- Встроенные пользовательские интерфейсы управления протоколами и пути проверки дыма.
- Готовые к работе основы (безопасность, ведение журналов, отказоустойчивость, резервное копирование)</details>

### Example Playbooks (Integrated Use Cases)

**Пособие А: максимальное использование платной подписки + дешевое резервное копирование**```txt
Combo: "maximize-claude"
  1. cc/claude-opus-4-6
  2. glm/glm-4.7
  3. if/kimi-k2-thinking

Monthly cost: $20 + small backup spend
Outcome: higher quality, near-zero interruption

Пособие Б: стек кодирования с нулевой стоимостью```txt Combo: "free-forever"

  1. gc/gemini-3-flash
  2. if/kimi-k2-thinking
  3. qw/qwen3-coder-plus

Monthly cost: $0 Outcome: stable free coding workflow


**Пособие C: Всегда работающая резервная цепочка 24 часа в сутки, 7 дней в неделю**```txt
Combo: "always-on"
  1. cc/claude-opus-4-6
  2. cx/gpt-5.2-codex
  3. glm/glm-4.7
  4. minimax/MiniMax-M2.1
  5. if/kimi-k2-thinking

Outcome: deep fallback depth for deadline-critical workloads

Сборник D: Операции агента с помощью MCP + A2A```txt

  1. Start MCP transport (omniroute --mcp) for tool-driven operations
  2. Run A2A tasks via message/send and message/stream
  3. Observe via /dashboard/endpoint (MCP and A2A tabs)
  4. Toggle services via inline status controls

---

## 🆓 Start Free — Zero Configuration Cost

> Настройте ИИ-кодирование за считанные минуты по цене**0 долларов США в месяц**. Подключите эти бесплатные учетные записи и используйте встроенную комбинацию**Free Stack**.

| Шаг | Действие | Провайдеры разблокированы |
| ---- | -------------------------------------------------- | ------------------------------------------------------------------ |
| 1 | Подключите**Kiro**(идентификатор AWS Builder ID OAuth) | Клод Сонет 4.5, Haiku 4.5 —**без ограничений**|
| 2 | Подключите**Qoder**(Google OAuth) | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1... —**без ограничений**|
| 3 | Подключите**Qwen**(Код устройства) | qwen3-coder-plus, qwen3-coder-flash... —**без ограничений**|
| 4 | Подключите**Gemini CLI**(Google OAuth) | Gemini-3-flash, Gemini-2.5-pro —**180 тысяч в месяц бесплатно**|
| 5 | `/dashboard/combos` →**Бесплатный шаблон стека ($0)**| Автоматический циклический перебор всех бесплатных провайдеров |

**Укажите в любой IDE/CLI:**`http://localhost:20128/v1` · Ключ API: `any-string` · Готово.

>**Дополнительное покрытие (также бесплатно):**Ключ API Groq (30 об/мин бесплатно), NVIDIA NIM (40 об/мин бесплатно, более 70 моделей), Cerebras (1 млн токов в день), ключ API LongCat (50 млн токенов в день!), Cloudflare Workers AI (10 тыс. нейронов в день, более 50 моделей).## Быстрый старт

### 1) Install and run

```bash
npm install -g omniroute
omniroute

**Пользователи pnpm:**Запустите pnpm Approved-builds -g после установки, чтобы включить собственные сценарии сборки, необходимые better-sqlite3 и @swc/core:

pnpm install -g omniroute
pnpm Approval-Builds -g # Выбрать все пакеты → утвердить
всенаправленный маршрут

Панель мониторинга открывается по адресу http://localhost:20128, а базовый URL-адрес API — http://localhost:20128/v1.

Команда Описание
всенаправление Запустить сервер (PORT=20128, API и панель управления на одном порту)
omniroute --port 3000 Установите канонический порт/порт API на 3000
omniroute --mcp Запустить сервер MCP (транспорт stdio)
omniroute --no-open Не открывать браузер автоматически
omniroute --help Показать помощь

Дополнительный режим разделения портов:```bash PORT=20128 DASHBOARD_PORT=20129 omniroute

API: http://localhost:20128/v1

Dashboard: http://localhost:20129


### Long-Running Streaming Timeouts

Для большинства развертываний вам нужно только:

| Переменная | По умолчанию | Цель |
| ------------------------ | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| `REQUEST_TIMEOUT_MS` | `600000` | Общая базовая линия для восходящей выборки, скрытых тайм-аутов Undici, запросов отпечатков пальцев TLS и тайм-аутов запросов моста API/прокси |
| `STREAM_IDLE_TIMEOUT_MS` | наследует `REQUEST_TIMEOUT_MS` | Максимальный промежуток между фрагментами потоковой передачи, прежде чем OmniRoute прервет поток SSE |

Обратная совместимость сохраняется: существующие `FETCH_TIMEOUT_MS`, `API_BRIDGE_PROXY_TIMEOUT_MS` и другие переменные таймаута для каждого уровня по-прежнему работают и переопределяют общий базовый уровень.

Если вам нужен более точный контроль, доступны расширенные переопределения:| Переменная | По умолчанию | Цель |
| ---------------------------------------- | ----------------------------------------- | -------------------------------------------------------------------- |
| `FETCH_TIMEOUT_MS` | наследует `REQUEST_TIMEOUT_MS` | Общий тайм-аут восходящего запроса, используемый основным сигналом прерывания выборки |
| `FETCH_HEADERS_TIMEOUT_MS` | наследует `FETCH_TIMEOUT_MS` | Ограничение времени Undici для получения заголовков ответов восходящего потока |
| `FETCH_BODY_TIMEOUT_MS` | наследует `FETCH_TIMEOUT_MS` | Ограничение времени Undici между восходящими фрагментами тела (`0` отключает его) |
| `FETCH_CONNECT_TIMEOUT_MS` | `30000` | Тайм-аут TCP-соединения Undici |
| `FETCH_KEEPALIVE_TIMEOUT_MS` | `4000` | Тайм-аут сокета бездействия Undici |
| `TLS_CLIENT_TIMEOUT_MS` | наследует `FETCH_TIMEOUT_MS` | Таймаут для запросов отпечатков пальцев TLS, сделанных через `wreq-js` |
| `API_BRIDGE_PROXY_TIMEOUT_MS` | наследует `REQUEST_TIMEOUT_MS` или `30000` | Таймаут для переадресации прокси `/v1` с порта API на порт информационной панели |
| `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `макс(API_BRIDGE_PROXY_TIMEOUT_MS, 300000)` | Тайм-аут входящего запроса на сервере моста API |
| `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Тайм-аут входящего заголовка на сервере моста API |
| `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | `5000` | Таймаут поддержания активности на сервере моста API |
| `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | `0` | Тайм-аут бездействия сокета на сервере моста API (`0` отключает его) |

Если вы запускаете OmniRoute за Nginx, Caddy, Cloudflare или другим обратным прокси-сервером, убедитесь, что прокси-сервер
таймауты также превышают таймауты потока/выборки OmniRoute.### 2) Connect providers and create your API key

1. Откройте Dashboard → «Провайдеры» и подключите хотя бы одного провайдера (OAuth или ключ API).
2. Откройте Dashboard → «Конечные точки» и создайте ключ API.
3. (Необязательно) Откройте Панель управления → «Комбо» и установите резервную цепочку.### 3) Point your coding tool to OmniRoute

```txt
Base URL: http://localhost:20128/v1
API Key:  [copy from Endpoint page]
Model:    if/kimi-k2-thinking (or any provider/model prefix)

Работает с Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode и OpenAI-совместимыми SDK.### 4) Enable and validate protocols (v2.0)

MCP (для операций с использованием инструмента):```bash omniroute --mcp


Затем подключите клиент MCP через stdio и протестируйте такие инструменты, как:

- `omniroute_get_health`
- `omniroute_list_combos`

**A2A (для рабочих процессов между агентами):**```bash
curl http://localhost:20128/.well-known/agent.json
curl -X POST http://localhost:20128/a2a \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}'
npm run test:protocols:e2e

Этот пакет проверяет реальные клиентские потоки MCP и A2A на соответствие работающему приложению.### Alternative: run from source

cp .env.example .env
npm install
PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev

<подробности>

Void Linux (шаблон `xbps-src`)

Пользователи Void Linux могут создать собственный пакет с помощью xbps-src. Сохраните этот блок как srcpkgs/omniroute/template:```bash

Template file for 'omniroute'

pkgname=omniroute version=3.4.1 revision=1 hostmakedepends="nodejs python3 make" depends="openssl" short_desc="Universal AI gateway with smart routing for multiple LLM providers" maintainer="zenobit zenobit@disroot.org" license="MIT" homepage="https://github.com/diegosouzapw/OmniRoute" distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b system_accounts="_omniroute" omniroute_homedir="/var/lib/omniroute" export NODE_ENV=production export npm_config_engine_strict=false export npm_config_loglevel=error export npm_config_fund=false export npm_config_audit=false

do_build() { # Determine target CPU arch for node-gyp local _gyp_arch case "$XBPS_TARGET_MACHINE" in aarch64*) _gyp_arch=arm64 ;; armv7*|armv6*) _gyp_arch=arm ;; i686*) _gyp_arch=ia32 ;; *) _gyp_arch=x64 ;; esac

# 1) Install all deps  skip scripts (no network in do_build, native modules
#    compiled separately below; better-sqlite3 is serverExternalPackage so
#    Next.js does not execute it during next build)
NODE_ENV=development npm ci --ignore-scripts

# 2) Build the Next.js standalone bundle
npm run build

# 3) Copy static assets into standalone
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true

# 4) Compile better-sqlite3 native binding for the target architecture.
#    Use node-gyp directly so CC/CXX from xbps-src cross-toolchain are used
#    without npm altering them.
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")

# 5) Place the compiled binding into the standalone bundle
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"

# 6) Remove arch-specific sharp bundles  upstream sets images.unoptimized=true
#    so sharp is not used at runtime; x64 .so files would break aarch64 strip
rm -rf .next/standalone/node_modules/@img

# 7) Copy pino runtime deps omitted by Next.js static analysis:
#    pino-abstract-transport  required by pino's worker thread
#    split2  dep of pino-abstract-transport
#    process-warning  dep of pino itself
for _mod in pino-abstract-transport split2 process-warning; do
	cp -r "node_modules/$_mod" .next/standalone/node_modules/
done

}

do_check() { npm run test:unit }

do_install() { vmkdir usr/lib/omniroute/.next

vcopy .next/standalone/. usr/lib/omniroute/.next/standalone

# Prevent removal of empty Next.js app router dirs by the post-install hook
for _d in \
	.next/standalone/.next/server/app/dashboard \
	.next/standalone/.next/server/app/dashboard/settings \
	.next/standalone/.next/server/app/dashboard/providers; do
	touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done

cat > "${WRKDIR}/omniroute" <<'EOF'

#!/bin/sh export PORT="${PORT:-20128}" export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}" export LOG_TO_FILE="${LOG_TO_FILE:-false}" mkdir -p "${DATA_DIR}" exec node /usr/lib/omniroute/.next/standalone/server.js "$@" EOF vbin "${WRKDIR}/omniroute" }

post_install() { vlicense LICENSE }


</details>

---

## 🐳 Docker

OmniRoute доступен как общедоступный образ Docker на [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).

**Быстрый запуск:**```bash
docker run -d \
  --name omniroute \
  --restart unless-stopped \
  --stop-timeout 40 \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

С файлом среды:```bash

Copy and edit .env first

cp .env.example .env

docker run -d
--name omniroute
--restart unless-stopped
--stop-timeout 40
--env-file .env
-p 20128:20128
-v omniroute-data:/app/data
diegosouzapw/omniroute:latest


**Использование Docker Compose:**```bash
# Base profile (no CLI tools)
docker compose --profile base up -d

# CLI profile (Claude Code, Codex, OpenClaw built-in)
docker compose --profile cli up -d

Поддержка информационной панели для развертываний Docker теперь включает в себяCloudflare Quick Tunnelв один клик на панели инструментов → Конечные точки. Первое разрешение загружает cloudflare только при необходимости, запускает временный туннель к вашей текущей конечной точке /v1 и показывает сгенерированный URL-адрес https://*.trycloudflare.com/v1 непосредственно под вашим обычным общедоступным URL-адресом.

Примечания:

  • URL-адреса быстрого туннеля являются временными и изменяются после каждого перезапуска.
  • Быстрые туннели не восстанавливаются автоматически после перезапуска OmniRoute или контейнера. Re-enable them from the dashboard when needed.
  • Управляемая установка в настоящее время поддерживает Linux, macOS и Windows на x64/arm64. — Управляемые быстрые туннели по умолчанию используют транспорт HTTP/2, чтобы избежать шумных предупреждений буфера QUIC UDP в ограниченных контейнерных средах. Установите CLOUDFLARED_PROTOCOL=quic или auto, если вам нужен другой транспорт.
  • Образы Docker объединяют корни системного центра сертификации и передают их в управляемый «cloudflared», что позволяет избежать сбоев доверия TLS при загрузке туннеля внутри контейнера.
  • SQLite работает в режиме WAL. docker stop должен завершиться, чтобы OmniRoute мог проверить последние изменения обратно в storage.sqlite.
  • В комплекте файлов Compose уже установлен льготный период остановки в 40 секунд. Если вы запускаете образ напрямую, оставьте --stop-timeout 40 (или подобное), чтобы ручная остановка не прерывала очистку при завершении работы.
  • Установите CLOUDFLARED_BIN=/absolute/path/to/cloudflared, если вы хотите, чтобы OmniRoute использовал существующий двоичный файл вместо его загрузки.

Использование Docker Compose с Caddy (HTTPS Auto-TLS):

OmniRoute можно безопасно открыть с помощью автоматического обеспечения SSL Caddy. Убедитесь, что запись DNS A вашего домена указывает на IP-адрес вашего сервера.```yaml services: omniroute: image: diegosouzapw/omniroute:latest container_name: omniroute restart: unless-stopped volumes: - omniroute-data:/app/data environment: - PORT=20128 - NEXT_PUBLIC_BASE_URL=https://your-domain.com

caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" command: caddy reverse-proxy --from https://your-domain.com --to http://omniroute:20128

volumes: omniroute-data:


| Изображение | Тег | Размер | Описание |
| ------------------------ | -------- | ------ | --------------------- |
| `diegosouzapw/omniroute` | `последний` | ~250 МБ | Последняя стабильная версия |
| `diegosouzapw/omniroute` | `1.0.3` | ~250 МБ | Текущая версия |---

## 🖥️ Desktop App — Offline & Always-On

> 🆕**НОВИНКА!**OmniRoute теперь доступен как**собственное настольное приложение**для Windows, macOS и Linux.

Запускайте OmniRoute как отдельное настольное приложение — для локальных моделей не требуется ни терминала, ни браузера, ни Интернета. Приложение на базе Electron включает в себя:

- 🖥️**Встроенное окно**— выделенное окно приложения с интеграцией в системный трей.
- 🔄**Автозапуск**— запуск OmniRoute при входе в систему.
- 🔔**Встроенные уведомления**— получайте оповещения об исчерпании квоты или проблемах с поставщиком услуг.
- ⚡**Установка в один клик**— NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐**Офлайн-режим**— работает полностью в автономном режиме со встроенным сервером.### Быстрый старт

```bash
# Development mode
npm run electron:dev

# Build for your platform
npm run electron:build         # Current platform
npm run electron:build:win     # Windows (.exe)
npm run electron:build:mac     # macOS (.dmg) — x64 & arm64
npm run electron:build:linux   # Linux (.AppImage)

System Tray

В свернутом виде OmniRoute находится на панели задач и предлагает быстрые действия:

  • Открыть панель управления
  • Изменить порт сервера
  • Закрыть приложение

📖 Полная документация: electron/README.md---

💰 Pricing at a Glance

Уровень Провайдер Cost Сброс квоты Лучшее для
💳 ПОДПИСКА Клод Код (Про) 20 долларов США в месяц 5 часов + еженедельно Уже подписан
Кодекс (Плюс/Про) 20200 долларов в месяц 5 часов + еженедельно Пользователи OpenAI
Близнецы CLI БЕСПЛАТНО 180 тыс./мес + 1 тыс./день Каждый!
Второй пилот GitHub 1019 долларов в месяц Ежемесячно Пользователи GitHub
🔑 КЛЮЧ API NVIDIA НИМ БЕСПЛАТНО(для разработчиков навсегда) ~40 об/мин 70+ открытых моделей
Церебра БЕСПЛАТНО(1 миллион ток/день) 60 000 т/мин / 30 об/мин Самый быстрый в мире
Грок БЕСПЛАТНО(30 об/мин) 14,4К РПД Сверхбыстрая Лама/Джемма
ДипСик V3.2 0,27 доллара США/1,10 доллара США за 1 миллион Нет Лучшее соотношение цены и качества
xAI Грок-4 Быстрый 0,20 доллара США/0,50 доллара США за 1 месяц🆕 Нет Самый быстрый + вызов инструмента, сверхнизкий
xAI Грок-4 (стандартный) 0,20 доллара США/1,50 доллара США за 1 миллион 🆕 Нет Рассуждающий флагман от xAI
Мистраль Бесплатная пробная версия + платная Скорость ограничена Европейский ИИ
OpenRouter Оплата по факту использования Нет 100+ моделей общ.
💰 ДЕШЕВО GLM-5 (через Z.AI) 🆕 0,5 долл. США/1 млн Ежедневно в 10:00 Выход 128K, новейший флагман
ГЛМ-4.7 0,6 долл. США/1 млн Ежедневно в 10:00 Резервное копирование бюджета
МиниМакс М2.5 🆕 Вклад $0,3/1 млн 5-часовой прокат Рассуждение + агентные задачи
МиниМакс М2.1 0,2 долл. США/1 млн 5-часовой прокат Самый дешевый вариант
Кими K2.5 (Moonshot API) 🆕 Оплата по факту использования Нет Прямой доступ к Moonshot API
Кими К2 $9/mo flat 10 миллионов токенов в месяц Предсказуемая стоимость
🆓 БЕСПЛАТНО Кодер $0 Неограниченный 5 моделей без ограничений
Квен $0 Неограниченный 4 модели без ограничений
Киро $0 Неограниченный Клод Сонет/Haiku (AWS Builder)
LongCat Flash-Lite 🆕 0$(50 миллионов токов в день 🔥) 1 ЗП Самая большая бесплатная квота на Земле
Опыление AI 🆕 $0(ключ не требуется) 1 запрос/15 с GPT-5, Клод, DeepSeek, Лама 4
Рабочие Cloudflare AI 🆕 $0(10 тыс. нейронов в день) ~150 представителей/день Более 50 моделей, глобальное преимущество
Scaleway AI 🆕 $0(всего 1 млн токенов) Скорость ограничена ЕС/GDPR, Qwen3 235B, Лама 70B > 🆕**Добавлены новые модели (март 2026 г.):**Семейство Grok-4 Fast по цене 0,20 долл. США/0,50 долл. США/млн (тестовое время 1143 мс — на 30 % быстрее, чем Gemini 2.5 Flash), GLM-5 через Z.AI с выходом 128 КБ, рассуждения MiniMax M2.5, обновленная цена DeepSeek V3.2, Kimi K2.5 через Moonshot Direct API.

💡 Комбо-стек за 0 долларов США — полная бесплатная установка:```

🆓 Ultimate Free Stack 2026 — 11 Providers, $0 Forever

Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day 🔥 Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed Qwen (qw/) → qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next UNLIMITED Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free API key Cloudflare AI (cf/) → Llama 70B, Gemma 3, Mistral — 10K Neurons/day Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) Groq (groq/) → Llama/Gemma ultra-fast — 14.4K req/day NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day


**Нулевая стоимость. Кодирование никогда не прекращается.**Настройте это как одну комбинацию OmniRoute, и все резервные варианты будут выполняться автоматически — без ручного переключения.---

---

## 🆓 Free Models — What You Actually Get

> Все представленные ниже модели**на 100 % бесплатны, при этом кредитная карта не требуется**. OmniRoute автоматически выполняет маршрутизацию между ними, когда заканчивается одна квота — объедините их все для получения нерушимой комбинации стоимостью 0 долларов.### 🔵 CLAUDE MODELS (via Kiro — AWS Builder ID)

| Модель | Префикс | Лимит | Ограничение ставки |
| ------------------- | ------ | ------------- | --------------------- |
| `Клод-сонет-4.5` | `кр/` |**Неограниченно**| Нет сообщений о дневном лимите |
| `Клод-Хайку-4.5` | `кр/` |**Неограниченно**| Нет сообщений о дневном лимите |
| `Клод-опус-4.6` | `кр/` |**Неограниченно**| Последний опус через Киро |### 🟢 QODER MODELS (Free PAT via qodercli)

| Модель | Префикс | Лимит | Ограничение ставки |
| ------------------ | ------ | ------------- | --------------- |
| `кими-k2-мышление` | `если/` |**Неограниченно**| Ограничение не сообщается |
| `qwen3-кодер-плюс` | `если/` |**Неограниченно**| Ограничение не сообщается |
| `глубокий поиск-r1` | `если/` |**Неограниченно**| Ограничение не сообщается |
| `минимакс-м2.1` | `если/` |**Неограниченно**| Ограничение не сообщается |
| `кими-к2` | `если/` |**Неограниченно**| Ограничение не сообщается |

> Рекомендуемый метод подключения:**Токен личного доступа + `qodercli`**. OAuth браузера — это
> экспериментальный и отключен по умолчанию, если не настроены переменные среды `QODER_OAUTH_*`.### 🟡 QWEN MODELS (Device Code Auth)

| Модель | Префикс | Лимит | Ограничение ставки |
| ------------------- | ------ | ------------- | ------------------- |
| `qwen3-кодер-плюс` | `qw/` |**Неограниченно**| Ограничение не сообщается |
| `qwen3-coder-flash` | `qw/` |**Неограниченно**| Ограничение не сообщается |
| `qwen3-coder-next` | `qw/` |**Неограниченно**| Ограничение не сообщается |
| `видение-модель` | `qw/` |**Неограниченно**| Мультимодальный (изображения) |### 🟣 GEMINI CLI (Google OAuth)

| Модель | Префикс | Лимит | Ограничение ставки |
| ------------------------ | ------ | --------------------------- | ------------- |
| `gemini-3-flash-preview` | `gc/` |**180 тыс. ток/месяц**+ 1 тыс. ток/день | Ежемесячный сброс |
| `Близнецы-2.5-про` | `gc/` | 180 тыс. в месяц (общий пул) | Высокое качество |### ⚫ NVIDIA NIM (Free API Key — build.nvidia.com)

| Уровень | Дневной лимит | Ограничение ставки | Заметки |
| ---------- | ------------ | ----------- | ------------------------------------------------------ |
| Бесплатно (Для разработчиков) | Нет ограничения токена |**~40 об/мин**| 70+ моделей; переход на чистые лимиты ставок в середине 2025 года |

Популярные бесплатные модели: «moonshotai/kimi-k2.5» (Kimi K2.5), «z-ai/glm4.7» (GLM 4.7), «deepseek-ai/deepseek-v3.2» (DeepSeek V3.2), «nvidia/llama-3.3-70b-instruct», «deepseek/deepseek-r1»### ⚪ CEREBRAS (Free API Key — inference.cerebras.ai)

| Уровень | Дневной лимит | Ограничение ставки | Заметки |
| ---- | ----------------- | ---------------- | ------------------------------------------- |
| Бесплатно |**1 млн токенов в день**| 60 000 т/мин / 30 об/мин | Самый быстрый в мире вывод LLM; сбрасывается ежедневно |

Доступно бесплатно: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b`### 🔴 GROQ (Free API Key — console.groq.com)

| Уровень | Дневной лимит | Ограничение ставки | Заметки |
| ---- | ------------- | ---------------- | ----------------------------------------- |
| Бесплатно |**14,4 тыс. РПД**| 30 об/мин на модель | Нет кредитной карты; 429 по лимиту, не взимается |

Доступны бесплатно: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3`### 🔴 LONGCAT AI (Free API Key — longcat.chat) 🆕

| Модель | Префикс | Ежедневная бесплатная квота | Заметки |
| ----------------------------- | ------ | ----------------- | ----------------------- |
| `LongCat-Flash-Lite` | `ЖК/` |**50 миллионов токенов**💥 | Самая большая бесплатная квота за всю историю |
| `LongCat-Flash-Chat` | `ЖК/` | 500 тыс. жетонов | Многоходовой чат |
| `LongCat-Flash-Thinking` | `ЖК/` | 500 тыс. жетонов | Рассуждение / ЦТ |
| `LongCat-Flash-Thinking-2601` | `ЖК/` | 500 тыс. жетонов | Версия от января 2026 г. |
| `LongCat-Flash-Omni-2603` | `ЖК/` | 500 тыс. жетонов | Мультимодальный |

> 100% бесплатно во время публичной бета-версии. Зарегистрируйтесь на [longcat.chat](https://longcat.chat) по электронной почте или телефону. Сбрасывается ежедневно в 00:00 UTC.### 🟢 POLLINATIONS AI (No API Key Required) 🆕

| Модель | Префикс | Ограничение ставки | Поставщик позади |
| ---------- | ------ | ---------- | ------------------ |
| `опенай` | `пол/` | 1 запрос/15 с | ГПТ-5 |
| `Клод` | `пол/` | 1 запрос/15 с | Антропный Клод |
| `близнецы` | `пол/` | 1 запрос/15 с | Google Близнецы |
| `глубокий поиск` | `пол/` | 1 запрос/15 с | ДипСик V3 |
| `лама` | `пол/` | 1 запрос/15 с | Мета Лама 4 Разведчик |
| `мистраль` | `пол/` | 1 запрос/15 с | Мистраль ИИ |

> ✨**Нет проблем:**нет регистрации и нет ключа API. Добавьте поставщика Pollinations с пустым ключевым полем, и он сразу заработает.### 🟠 CLOUDFLARE WORKERS AI (Free API Key — cloudflare.com) 🆕

| Уровень | Ежедневные нейроны | Эквивалентное использование | Заметки |
| ---- | ------------- | --------------------------------------- | ----------------------- |
| Бесплатно |**10 000**| ~ 150 LLM соответственно / 500 с аудио / 15 тыс. вставок | Глобальное преимущество, более 50 моделей |

Популярные бесплатные модели: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (бесплатное аудио!), `@cf/qwen/qwen2.5-coder-15b-instruct`

> Требуется токен API + идентификатор учетной записи от [dash.cloudflare.com](https://dash.cloudflare.com). Сохраните идентификатор учетной записи в настройках провайдера.### 🟣 SCALEWAY AI (1M Free Tokens — scaleway.com) 🆕

| Уровень | Бесплатная квота | Местоположение | Заметки |
| ---- | ------------- | ------------ | -------------------- |
| Бесплатно |**1 млн токенов**| 🇫🇷 Париж, ЕС | Кредитная карта не требуется в определенных пределах |

Доступно бесплатно: qwen3-235b-a22b-instruct-2507 (Qwen3 235B!), llama-3.1-70b-instruct, mistral-small-3.2-24b-instruct-2506, deepseek-v3-0324.

> Соответствует ЕС/GDPR. Получите ключ API на странице [console.scaleway.com](https://console.scaleway.com).

>**💡 Ultimate Free Stack (11 провайдеров, 0 долларов США навсегда):**
>
> ```
> Киро (кр/) → Клод Сонет/Haiku UNLIMITED
> Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED
> LongCat Lite (lc/) → LongCat-Flash-Lite — 50 миллионов токенов в день 🔥
> Опыления (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — ключ не нужен
> Qwen (qw/) → модели qwen3-кодеров НЕОГРАНИЧЕННО
> Gemini (gemini/) → Gemini 2.5 Flash — 1500 запросов в день бесплатно
> Cloudflare AI (см./) → 50+ моделей — 10 тыс. нейронов в день
> Scaleway (scw/) → Qwen3 235B, Llama 70B — 1 миллион бесплатных жетонов (ЕС)
> Грок (groq/) → Лама/Джемма — 14,4 тыс. запросов в день сверхбыстро
> NVIDIA NIM (nvidia/) → 70+ открытых моделей — 40 об/мин навсегда
> Церебрас (cerebras/) → Лама/Квен самый быстрый в мире — 1 млн ток/день
> ```## 🎙️ Free Transcription Combo

> Транскрибируйте любое аудио/видео за**0 долларов США**— Deepgram лидирует с бесплатными 200 долларами, резервным вариантом AssemblyAI в 50 долларов и Groq Whisper в качестве неограниченного резервного копирования на случай чрезвычайной ситуации.

| Провайдер | Бесплатные кредиты | Лучшая модель | Ограничение ставки |
| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- |
| 🟢**Дипграмм**|**200 долларов США бесплатно**(регистрация) | `nova-3` — лучшая точность, более 30 языков | Нет лимита RPM на бесплатных кредитах |
| 🔵**АИ сборки**|**50 долларов США бесплатно**(регистрация) | `universal-3-pro` — главы, настроения, персональные данные | Нет лимита RPM на бесплатных кредитах |
| 🔴**Грок**|**Бесплатно навсегда**| `whisper-large-v3` — OpenAI Whisper | 30 об/мин (скорость ограничена) |

**Рекомендуемая комбинация в `/dashboard/combos`:**```
Name: free-transcription
Strategy: Priority
Nodes:
  [1] deepgram/nova-3          → uses $200 free first
  [2] assemblyai/universal-3-pro → fallback when Deepgram credits run out
  [3] groq/whisper-large-v3    → free forever, emergency fallback

Затем в /dashboard/media → вкладкаТранскрипция: загрузите любой аудио- или видеофайл → выберите конечную точку комбо → получите транскрипцию в поддерживаемых форматах.## 💡 Key Features

OmniRoute v2.0 создан как операционная платформа, а не просто прокси-сервер.### 🆕 New — ClawRouter-Inspired Improvements (Mar 2026)

Особенность Что он делает
Быстрая семья Грока-4 Модели xAI по цене 0,20/0,50 доллара США в месяц — измеренное время 1143 мс (на 30 % быстрее, чем у Gemini 2.5 Flash)
🧠GLM-5 через Z.AI Выходной контекст 128 тыс., $0,5/1 млн — новейший флагман семейства GLM
🔮МиниМакс М2,5 Рассуждение + агентские задачи по цене 0,30 долл. США/1 миллион — значительное обновление по сравнению с M2.1
🎯Флаг вызова инструмента для каждой модели toolCalling: true/false для каждой модели в реестре — AutoCombo пропускает модели, не поддерживающие инструменты
🌍Многоязычное обнаружение намерений Ключевые слова PT/ZH/ES/AR в оценке AutoCombo — лучший выбор модели для неанглоязычного контента
📊Резервные варианты на основе эталонного тестирования Реальная задержка p95 от запросов в реальном времени обеспечивает комбинированную оценку — AutoCombo учится на реальных данных
🔁Запросить дедупликацию Окно дедупликации на основе хэша контента — мультиагентная безопасность, предотвращает дублирование платежей
🔌Стратегия подключаемого маршрутизатора Расширяемый интерфейс RouterStrategy — добавляйте собственную логику маршрутизации в виде плагинов ### 🚀 Previous v2.0.9+ — Playground, CLI Fingerprints & ACP
Особенность Что он делает
🎮Игровая площадка Страница информационной панели для непосредственного тестирования любой модели — селекторы поставщика/модели/конечной точки, редактор Monaco, потоковая передача, прерывание, синхронизация
🔏Сопоставление отпечатков пальцев CLI Порядок заголовков/тела для каждого провайдера в соответствии с собственными подписями CLI — переключайте для каждого провайдера в «Настройки» > «Безопасность».Ваш IP-адрес прокси-сервера сохраняется
🤝Поддержка ACP (протокол агента-клиента) Обнаружение агентов CLI (Codex, Claude, Goose, Gemini CLI, OpenClaw и еще 9), генератор процессов, конечная точка /api/acp/agents
🤖Панель управления агентами ACP Страница «Отладка» «Агенты» — сетка из 14 агентов со статусом установки, версией, настраиваемой формой агента для любого инструмента CLI. ПользователиOpenCodeполучают кнопку «Загрузить opencode.json», которая автоматически генерирует готовую конфигурацию для всех доступных моделей.
🔧Маршрутизация пользовательской модели apiFormat Пользовательские модели с apiFormat: "responses" теперь правильно перенаправляются к переводчику API ответов
🏢Изоляция рабочего пространства Кодекса Несколько рабочих пространств Кодекса для одного электронного письма — OAuth правильно разделяет соединения по идентификатору рабочего пространства
🔄Электронное автоматическое обновление Настольное приложение проверяет наличие обновлений + автоматическая установка при перезапуске ### 🤖 Agent & Protocol Operations (v2.0)
Особенность Что он делает
🔧Сервер MCP (25 инструментов) Инструменты IDE/агента через 3 транспорта: stdio, SSE (/api/mcp/sse), Streamable HTTP (/api/mcp/stream). 18 ядер + 3 памяти + 4 инструмента навыков
🤝Сервер A2A (JSON-RPC + SSE) Выполнение задач между агентами с синхронизацией и потоковой передачей
🧭Объединенная страница конечных точек Страница управления с вкладками Endpoint Proxy, MCP, A2A и API Endpoints
🎚️Переключатели включения/отключения службы Переключатели ВКЛ/ВЫКЛ для MCP и A2A с сохранением настроек (по умолчанию: ВЫКЛ)
🛰️Сердцебиение среды выполнения MCP Реальный статус процесса (pid, время безотказной работы, возраст контрольного сигнала, транспорт, режим области)
📋Аудитский журнал MCP Фильтруемые журналы аудита с указанием успехов/неуспехов и присвоением ключей
🔐Обеспечение соблюдения требований MCP 10 расширенных разрешений для контролируемого доступа к инструментам
📡Управление жизненным циклом задач A2A Список/фильтрация задач, проверка событий/артефактов, отмена запущенных задач
📋Обнаружение карты агента /.well-known/agent.json для автоматического обнаружения клиентов
🧪Тестовый жгут протокола E2E Реальные потоки клиента MCP SDK + A2A в test:protocols:e2e
⚙️Оперативный контроль Комбинированное переключение, применение профилей устойчивости, сброс прерывателей с одной панели управления ### 🧠 Routing & Intelligence
Особенность Что он делает
🎯Умный 4-уровневый резерв Авто-маршрутизация: Подписка → Ключ API → Дешево → Бесплатно
📊Отслеживание квот в реальном времени Подсчет токенов в реальном времени + сброс обратного отсчета для каждого провайдера
🔄Перевод формата OpenAI ↔ Клод ↔ Gemini ↔ Ответы с безопасными для схемы преобразованиями
👥Поддержка нескольких аккаунтов Несколько учетных записей у каждого провайдера с интеллектуальным выбором
🔄Автоматическое обновление токена Токены OAuth автоматически обновляются при повторной попытке
🎨Пользовательские комбинации 9 стратегий балансировки + резервный контроль цепочки
🌐Маршрутизатор с подстановочными знаками provider/* динамическая маршрутизация
🧠Продуманный бюджетный контроль Ограничения сквозного, автоматического, пользовательского и адаптивного рассуждения
🔀Псевдонимы моделей Встроенное + пользовательское сглаживание моделей и безопасность миграции
Фоновая деградация Перенаправить фоновые задачи с низким приоритетом на более дешевые модели
🧪Умная маршрутизация с учетом задач Автоматический выбор модели по типу контента (кодирование/видение/анализ/суммирование)
🔄Рабочие процессы агента A2A Детерминированный оркестратор FSM для многоэтапного выполнения агентов с отслеживанием состояния
🔀Адаптивная маршрутизация Динамическое переопределение стратегии в зависимости от объема токенов и сложности запросов
🎲Разнообразие поставщиков Оценка энтропии Шеннона, балансирующая автоматическое комбинированное распределение трафика
💬Внедрение системных подсказок Глобальный контроль поведения применяется последовательно
📄Совместимость API ответов Полная поддержка /v1/responses для Кодекса и расширенных агентских рабочих процессов ### 🎵 Multi-Modal APIs
Особенность Что он делает
🖼️Генерация изображений /v1/images/generations с облачными и локальными серверными модулями
📐Встраивания /v1/embeddings для конвейеров поиска и RAG
🎤Аудиотранскрипция /v1/audio/transcriptions — 7 провайдеров (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), автоматическое определение языка, поддержка MP4/MP3/WAV
🔊Преобразование текста в речь /v1/audio/speech — 10 провайдеров (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) с правильными сообщениями об ошибках
🎬Создание видео /v1/videos/generations (рабочие процессы ComfyUI + SD WebUI)
🎵Генерация музыки /v1/music/generations (рабочие процессы ComfyUI)
🛡️Модерация /v1/moderations проверки безопасности
🔀Изменение рейтинга /v1/rerank для оценки релевантности
🔍Веб-поиск🆕 /v1/search — 5 провайдеров (Serper, Brave, Perplexity, Exa, Tavily), более 6500 бесплатно в месяц, автоматическое переключение при отказе, кэш ### 🛡️ Resilience, Security & Governance
Особенность Что он делает
🔌Автоматические выключатели Отключение/восстановление для каждой модели с пороговым управлением
🎯Модели с поддержкой конечных точек Пользовательские модели объявляют поддерживаемые конечные точки + формат API
🛡️Антигромовое стадо Защита мьютексом и семафором при повторных попытках/частотах событий
🧠Семантический кэш + сигнатуры Снижение затрат и задержек за счет двух слоев кэша
Запросить идемпотентность Окно защиты от дубликатов
🔒Подмена отпечатка пальца TLS Браузерный отпечаток TLS —уменьшает обнаружение ботов и пометку учетных записей
🔏Сопоставление отпечатков пальцев CLI Соответствует собственным сигнатурам запросов CLI —снижает риск бана, сохраняя при этом IP-адрес прокси
🌐IP-фильтрация Управление списками разрешенных/черных списков для открытых развертываний
📊Редактируемые ограничения ставок Настраиваемые глобальные ограничения/пределы на уровне поставщика с сохранением
📉Изящная деградация Многоуровневые возможности резервного копирования, защищающие операции основного шлюза
📜След аудита конфигурации Отслеживание изменений на основе различий, предотвращающее дрейф в работе с помощью простых откатов
Синхронизация состояния поставщика Проактивный мониторинг истечения срока действия токена, вызывающий оповещения перед сбоями авторизации
🚪Автоматическое отключение заблокированных аккаунтов Операционный выключатель автоматически запечатывает постоянно заблокированные токены-аккаунты
🔑Управление ключами API + определение области действия Безопасная выдача/ротация ключей и контроль модели/поставщика
👁️Раскрытие ключа API с ограниченной областью🆕 Согласие на восстановление ключей API через ALLOW_API_KEY_REVEAL
🛡️Защищенные /модели Дополнительная аутентификация и скрытие поставщика для каталога моделей ### 📊 Observability & Analytics
Особенность Что он делает
📝Запрос + регистрация через прокси Полное ведение журнала запросов/ответов и прокси
📉Подробные журналы в потоковом режиме🆕 Четко реконструирует потоки полезной нагрузки SSE в пользовательский интерфейс
📋Единая панель журналов Представления запросов, прокси, аудита и консоли на одной странице
🔍Запросить телеметрию Задержка p50/p95/p99 и отслеживание запросов
🏥Панель здоровья Время работы, состояния прерывателей, блокировки, статистика кэша
💰Отслеживание затрат Контроль бюджета и прозрачность цен для каждой модели
📈Аналитическая визуализация Анализ использования моделей/провайдеров и обзор тенденций
🧪Система оценки Тестирование золотого сета с настраиваемыми стратегиями сопоставления
📡Живая диагностика🆕 Обход семантического кэша для точного комбинированного тестирования в реальном времени ### ☁️ Deployment & Platform
Особенность Что он делает
🌐Развертывание где угодно Локальный хост, VPS, Docker, облачные среды
🚇Туннель Cloudflare🆕 Интеграция Quick Tunnel в один клик с панели управления
🔑Фильтрация модели ключей API Собственный ответ /v1/models фильтруется с помощью назначенных ролей контекста носителя
Умный обход кэша Настраиваемая эвристика TTL и элементы управления принудительной выборкой
🔄Резервное копирование/восстановление Экспорт/импорт и потоки аварийного восстановления
🧙Мастер адаптации Пошаговая настройка при первом запуске
🔧Панель инструментов CLI Настройка популярных инструментов кодирования в один клик
🎮Игровая площадка Протестируйте любого поставщика/модель/конечную точку с помощью панели управления
🔏Переключатель отпечатков пальцев CLI Сопоставление отпечатков пальцев для каждого поставщика в меню «Настройки» > «Безопасность»
🌐i18n (30 языков) Полная информационная панель + языковая поддержка документации с RTL
🧹Очистить все модели Очистка списка моделей в сведениях о поставщике в один клик
👁️Элементы управления боковой панелью🆕 Скрыть компоненты и интеграции в настройках внешнего вида
📋Шаблоны задач Стандартизированные шаблоны GitHub для ошибок и функций
📂Каталог пользовательских данных DATA_DIR переопределить место хранения ### Feature Deep Dive

Smart fallback with practical cost control

Combo: "my-coding-stack"
  1. cc/claude-opus-4-6
  2. nvidia/llama-3.3-70b
  3. glm/glm-4.7
  4. if/kimi-k2-thinking

При сбое квоты, скорости или работоспособности OmniRoute автоматически переходит к следующему кандидату без ручного переключения.#### Protocol management that is visible and operable

  • MCP + A2A доступны для обнаружения в пользовательском интерфейсе и документах (не скрыты)
  • API-интерфейсы состояния протокола предоставляют оперативные данные в реальном времени (/api/mcp/*, /api/a2a/*)
  • Панели мониторинга включают действия для операций второго дня (переключение комбо, сброс выключателя, отмена задачи)#### Translator + validation workflow

Раздел «Переводчик» включает в себя:

-Игровая площадка: запросить проверку трансформации. -Тестер чата: полный цикл запросов и ответов. -Тестовый стенд: несколько случаев за один запуск. -Живой монитор: просмотр трафика в реальном времени.

Плюс проверка протокола на реальных клиентах с помощью npm run test:protocols:e2e.

📖MCP Server README— Справочник по инструментам, конфигурации IDE и примеры клиентов.

📖README сервера A2A— навыки, методы JSON-RPC, потоковая передача и жизненный цикл задачи.## 🧪 Evaluations (Evals)

OmniRoute включает в себя встроенную систему оценки для проверки качества ответов LLM на соответствие «золотому набору». Доступ к нему осуществляется черезАналитика → Оценкина панели управления.### Built-in Golden Set

Предварительно загруженный «Золотой набор OmniRoute» содержит тестовые сценарии для:

  • Приветствую, математика, география, генерация кода
  • Соответствие формата JSON, перевод, создание уценки
  • Отказ безопасности (вредный контент), подсчет, булева логика### Evaluation Strategies
Стратегия Описание Пример
точный Вывод должен точно совпадать "4"
содержит Вывод должен содержать подстроку (без учета регистра) "Париж"
регулярное выражение Вывод должен соответствовать шаблону регулярного выражения "1.*2.*3"
обычай Пользовательская функция JS возвращает true/false (выход) => выход.длина > 10 ---

📖 Setup Guide

Protocol Setup (MCP + A2A)

<подробности>

🧩 Настройка MCP (протокол контекста модели)

Запустите транспорт MCP в режиме stdio:```bash omniroute --mcp


Рекомендуемый порядок проверки:

1. Подключите клиент MCP через stdio.
2. Запустите omniroute_get_health.
3. Запустите `omniroute_list_combos`.
4. Откройте `/dashboard/mcp`, чтобы проверить пульс, активность и аудит.

Полезные API для автоматизации:

- `GET /api/mcp/status`
- `GET /api/mcp/tools`
- `GET /api/mcp/audit`
- `GET /api/mcp/audit/stats`</details>

<подробности>
<summary><b>🤝 Настройка A2A (Agent2Agent)</b></summary>

Откройте для себя агента:```bash
curl http://localhost:20128/.well-known/agent.json

Отправить задачу:```bash curl -X POST http://localhost:20128/a2a
-H 'content-type: application/json'
-d '{"jsonrpc":"2.0","id":"setup-a2a","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Summarize quota status."}]}}'


Управлять жизненным циклом:

- `GET /api/a2a/status`
- `GET /api/a2a/tasks`
- `GET /api/a2a/tasks/:id`
- `POST /api/a2a/tasks/:id/cancel`

Оперативный интерфейс:

- `/dashboard/a2a` для наблюдения за задачей/состоянием/потоком и действий по дыму</details>

<подробности>
<summary><b>🧪 Сквозная проверка протокола</b></summary>

Проверьте оба протокола на реальных клиентах:```bash
npm run test:protocols:e2e

Это проверяет:

  • Клиент MCP SDK подключается/списывает/вызовает
  • Обнаружение/отправка/потоковая передача A2A/получение/отмена
  • Перекрестная проверка данных в аудите MCP и API управления задачами A2A.

<подробности>

💳 Поставщики подписки### Claude Code (Pro/Max)
Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking

Models:
  cc/claude-opus-4-6
  cc/claude-sonnet-4-5-20250929
  cc/claude-haiku-4-5-20251001

**Совет для профессионалов.**Используйте Opus для сложных задач и Sonnet для скорости. OmniRoute отслеживает квоту на каждую модель!### OpenAI Codex (Plus/Pro)

Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset

Models:
  cx/gpt-5.2-codex
  cx/gpt-5.1-codex-max

Codex Account Limit Management (5h + Weekly)

Каждая учетная запись Кодекса теперь имеет переключатели политики в «Панель управления -> Поставщики»:

  • 5h (ВКЛ/ВЫКЛ): применить политику порогового значения 5-часового окна.
  • «Еженедельно» (ВКЛ/ВЫКЛ): применение политики порогового значения еженедельного окна.
  • Пороговое поведение: когда включенное окно достигает >=90% использования, эта учетная запись пропускается.
  • Порядок ротации: OmniRoute автоматически направляет данные к следующей подходящей учетной записи Кодекса.
  • Поведение при сбросе: по истечении времени, установленного поставщиком resetAt, учетная запись снова становится подходящей для автоматически.

Сценарии:

  • 5h ON + Weekly ON: учетная запись пропускается, когда любое окно достигает порогового значения.
  • «5 часов ВЫКЛ» + «Еженедельно ВКЛ»: только еженедельное использование может заблокировать учетную запись.
  • «5 часов включено» + «Еженедельно выключено»: только 5-часовое использование может заблокировать учетную запись.
  • resetAt пройден: учетная запись снова входит в ротацию автоматически (без повторного включения вручную).### Gemini CLI (FREE 180K/month!)
Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day

Models:
  gc/gemini-3-flash-preview
  gc/gemini-2.5-pro

**Лучшая цена:**Огромный уровень бесплатного пользования! Используйте это перед платными уровнями.### GitHub Copilot

Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)

Models:
  gh/gpt-5
  gh/claude-4.5-sonnet
  gh/gemini-3.1-pro-preview

<подробности>

🔑 Поставщики ключей API### NVIDIA NIM (FREE developer access — 70+ models)
  1. Зарегистрируйтесь: build.nvidia.com
  2. Получите бесплатный ключ API (включая 1000 кредитов вывода)
  3. Панель управления → Добавить провайдера → NVIDIA NIM:
    • Ключ API: nvapi-your-key

**Модели:**nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct и более 50 других.

**Совет для профессионалов.**API-интерфейс, совместимый с OpenAI, отлично работает с преобразованием форматов OmniRoute!### DeepSeek

  1. Зарегистрируйтесь: platform.deepseek.com
  2. Получите ключ API
  3. Панель управления → Добавить провайдера → DeepSeek.

Модели:deepseek/deepseek-chat, deepseek/deepseek-coder### Groq (Free Tier Available!)

  1. Зарегистрируйтесь: console.groq.com
  2. Получите ключ API (включая бесплатный уровень)
  3. Панель управления → Добавить провайдера → Groq.

Модели:groq/llama-3.3-70b, groq/mixtral-8x7b

**Совет для профессионалов.**Сверхбыстрый вывод — лучший вариант для кодирования в реальном времени!### OpenRouter (100+ Models)

  1. Зарегистрируйтесь: openrouter.ai
  2. Получите ключ API
  3. Панель управления → Добавить провайдера → OpenRouter.

**Модели.**Получите доступ к более чем 100 моделям от всех основных поставщиков с помощью одного ключа API.

Поведение информационной панели:Управление моделями OpenRouter осуществляется из разделаДоступные модели. Добавление вручную, импорт и автоматическая синхронизация обновляют один и тот же список.

<подробности>

💰 Дешевые провайдеры (резервный)### GLM-4.7 (Daily reset, $0.6/1M)
  1. Зарегистрируйтесь: Zhipu AI
  2. Получите ключ API из плана кодирования.
  3. Панель управления → Добавить ключ API:
    • Провайдер: glm
    • Ключ API: ваш-ключ

Используйте:glm/glm-4.7

**Совет для профессионалов.**План кодирования предлагает 3-кратную квоту за 1/7 стоимости! Сброс ежедневно в 10:00.### MiniMax M2.1 (5h reset, $0.20/1M)

  1. Зарегистрируйтесь: MiniMax
  2. Получите ключ API
  3. Панель управления → Добавить ключ API.

Используйте:minimax/MiniMax-M2.1

**Совет для профессионалов:**Самый дешевый вариант для длинного контекста (1 млн токенов)!### Kimi K2 ($9/month flat)

  1. Подпишитесь: Moonshot AI
  2. Получите ключ API
  3. Панель управления → Добавить ключ API.

Используйте:kimi/kimi-latest

**Совет для профессионалов:**Фиксированные 9 долларов США в месяц за 10 миллионов токенов = эффективная стоимость 0,90 долларов США/1 миллион долларов!

<подробности>

🆓 БЕСПЛАТНЫЕ поставщики (аварийное резервное копирование)### Qoder (5 FREE models via OAuth)
Dashboard → Connect Qoder
→ Qoder OAuth login
→ Unlimited usage

Models:
  if/kimi-k2-thinking
  if/qwen3-coder-plus
  if/glm-4.7
  if/minimax-m2
  if/deepseek-r1

Qwen (4 FREE models via Device Code)

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

Models:
  qw/qwen3-coder-plus
  qw/qwen3-coder-flash

Kiro (Claude FREE)

Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5

<подробности>

🎨 Создавайте комбинации### Example 1: Maximize Subscription → Cheap Backup
Dashboard → Combos → Create New

Name: premium-coding
Models:
  1. cc/claude-opus-4-6 (Subscription primary)
  2. glm/glm-4.7 (Cheap backup, $0.6/1M)
  3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)

Use in CLI: premium-coding

Example 2: Free-Only (Zero Cost)

Name: free-combo
Models:
  1. gc/gemini-3-flash-preview (180K free/month)
  2. if/kimi-k2-thinking (unlimited)
  3. qw/qwen3-coder-plus (unlimited)

Cost: $0 forever!

<подробности>

🔧 Интеграция CLI### Cursor IDE
Settings → Models → Advanced:
  OpenAI API Base URL: http://localhost:20128/v1
  OpenAI API Key: [from OmniRoute dashboard]
  Model: cc/claude-opus-4-6

Claude Code

Используйте страницуИнструменты CLIна панели управления для настройки одним щелчком мыши или отредактируйте ~/.claude/settings.json вручную.### Codex CLI

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"

codex "your prompt"

OpenClaw

Вариант 1  Панель управления (рекомендуется):``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply


**Вариант 2 — Вручную:**Отредактируйте `~/.openclaw/openclaw.json`:```json
{
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://127.0.0.1:20128/v1",
        "apiKey": "sk_omniroute",
        "api": "openai-completions"
      }
    }
  }
}

**Примечание.**OpenClaw работает только с локальным OmniRoute. Используйте «127.0.0.1» вместо «localhost», чтобы избежать проблем с разрешением IPv6.### Cline / Continue / RooCode

Settings → API Configuration:
  Provider: OpenAI Compatible
  Base URL: http://localhost:20128/v1
  API Key: [from OmniRoute dashboard]
  Model: if/kimi-k2-thinking

OpenCode

**Шаг 1.**Добавьте OmniRoute в качестве собственного поставщика:```bash opencode /connect

Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key


**Шаг 2.**Создайте/измените `opencode.json` в корне вашего проекта:```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "omniroute": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "OmniRoute",
      "options": {
        "baseURL": "http://localhost:20128/v1"
      },
      "models": {
        "cc/claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
        "gg/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
        "if/kimi-k2-thinking": { "name": "Kimi K2 (Free)" }
      }
    }
  }
}

**Шаг 3:**Выберите модель в OpenCode:```bash /models

Select any OmniRoute model from the list


>**Совет.**Добавьте любую модель, доступную в конечной точке `/v1/models` OmniRoute, в раздел `models`. Используйте формат «поставщик/идентификатор модели» на панели управления OmniRoute.</details>

---

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

<подробности>
<summary><b>Нажмите, чтобы развернуть руководство по устранению неполадок</b></summary>

**"Языковая модель не предоставила сообщения"**

- Квота провайдера исчерпана → Проверьте трекер квот на панели управления.
- Решение: используйте запасной вариант комбо или переключитесь на более дешевый уровень.

**Ограничение скорости**

- Исчерпана квота подписки → Переход на GLM/MiniMax
- Добавить комбо: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`

**Срок действия токена OAuth истек**

- Автоматическое обновление OmniRoute
- Если проблемы не устранены: Панель управления → Поставщик → Переподключиться.

**Высокие затраты**

- Проверьте статистику использования в Личном кабинете → Расходы.
- Переключение основной модели на GLM/MiniMax.
- Используйте уровень бесплатного пользования (Gemini CLI, Qoder) для некритических задач.

**Порты панели управления/API неверны**

- `PORT` — это канонический базовый порт (и порт API по умолчанию).
- API_PORT переопределяет только прослушиватель API, совместимый с OpenAI.
- DASHBOARD_PORT переопределяет только панель мониторинга/прослушиватель Next.js.
 Установите `NEXT_PUBLIC_BASE_URL` для вашей панели управления/публичного URL-адреса (для обратных вызовов OAuth).

**Ошибки синхронизации с облаком**

 Убедитесь, что `BASE_URL` указывает на ваш работающий экземпляр.
 Убедитесь, что `CLOUD_URL` указывает на ожидаемую конечную точку облака.
- Сохраняйте значения `NEXT_PUBLIC_*` в соответствии со значениями на стороне сервера.

**Первый вход в систему не работает**

- Проверьте `INITIAL_PASSWORD` в `.env`
- Если параметр не установлен, резервный пароль — «123456».

**Нет журналов запросов**

- Артефакты запроса записываются в `DATA_DIR/call_logs/` как один файл JSON для каждого запроса.
- Включите захват конвейера на панели мониторинга → Журналы → Журналы запросов, если вам нужны подробные полезные данные для каждого этапа.
- Установите `APP_LOG_TO_FILE=true`, если вы также хотите, чтобы журналы консоли приложения находились в `logs/application/app.log`
- При необходимости настройте `APP_LOG_MAX_FILE_SIZE`, `APP_LOG_RETENTION_DAYS`, `APP_LOG_MAX_FILES` и `CALL_LOG_MAX_ENTRIES`.

**Проверка соединения показывает «Недействительно» для провайдеров, совместимых с OpenAI**

- Многие провайдеры не предоставляют конечную точку `/models`.
- OmniRoute v1.0.6+ включает резервную проверку посредством завершения чата.
 Убедитесь, что базовый URL-адрес содержит суффикс `/v1`.### 🔐 OAuth on a Remote Server

<a name="oauth-on-a-remote-server"></a>
<a name="oauth-em-servidor-remoto"></a>

>**⚠️ Важно для пользователей, использующих OmniRoute на VPS, Docker или любом удаленном сервере**#### Why does Antigravity / Gemini CLI OAuth fail on remote servers?

Поставщики**Antigravity**и**Gemini CLI**используют**Google OAuth 2.0**. Google требует, чтобы redirect_uri в потоке OAuth точно соответствовал одному из предварительно зарегистрированных URI в Google Cloud Console приложения.

Учетные данные OAuth, включенные в OmniRoute, регистрируются**только для «localhost»**. Когда вы получаете доступ к OmniRoute на удаленном сервере (например, https://omniroute.myserver.com), Google отклоняет аутентификацию с помощью:```
Error 400: redirect_uri_mismatch

Solution: Configure your own OAuth credentials

Вам необходимо создатьИдентификатор клиента OAuth 2.0в Google Cloud Console с URI вашего сервера.#### Step-by-step

1. Откройте Google Cloud Console

Перейдите по адресу: https://console.cloud.google.com/apis/credentials.

2. Создайте новый идентификатор клиента OAuth 2.0

  • Нажмите**"+ Создать учетные данные""Идентификатор клиента OAuth"**.
  • Тип приложения:"Веб-приложение"
  • Имя: любое, что вам нравится (например, «OmniRoute Remote»)

3. Добавить авторизованные URI перенаправления

В поле**"Авторизованные URI перенаправления"**добавьте:``` https://your-server.com/callback


> Замените `your-server.com` на домен или IP-адрес вашего сервера (при необходимости укажите порт, например `http://45.33.32.156:20128/callback`).

**4. Сохраните и скопируйте учетные данные**

После создания Google покажет**Идентификатор клиента**и**Секрет клиента**.

**5. Установить переменные среды**

В вашем `.env` (или переменных среды Docker):```bash
# For Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

# For Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret

6. Перезапустите OmniRoute```bash

npm:

npm run dev

Docker:

docker restart omniroute


**7. Попробуйте подключиться еще раз**

Панель управления → Провайдеры → Антигравитация (или Gemini CLI) → OAuth.

Google теперь будет правильно перенаправляться на https://your-server.com/callback.---

#### Temporary workaround (without custom credentials)

Если вы не хотите настраивать свои собственные учетные данные прямо сейчас, вы все равно можете использовать**ручной поток URL**:

1. OmniRoute открывает URL-адрес авторизации Google.
2. После авторизации Google пытается перенаправить на `localhost` (на удаленном сервере не получается)
3.**Скопируйте полный URL-адрес**из адресной строки браузера (даже если страница не загружается).
4. Вставьте этот URL-адрес в поле, отображаемое в модальном окне подключения OmniRoute.
5. Нажмите**"Подключиться"**.

> Это работает, поскольку код авторизации в URL-адресе действителен независимо от того, загружена ли страница перенаправления.---

<подробности>
<summary><b>🇧🇷 Версия на португальском языке</b></summary>#### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?

Используйте**Антигравитацию**и**Gemini CLI**, используя**Google OAuth 2.0**для аутентификации. Google объяснил, что `redirect_uri` не использует поток OAuth, поэтому**exatamente**указывает на URI, предварительно подготовленные к кадастрам, без приложения Google Cloud Console.

В качестве подтверждения OAuth не используется OmniRoute, который является кадастровым**apenas para `localhost`**. Когда вы хотите получить доступ к OmniRoute на удаленном сервере (например: «https://omniroute.meuservidor.com») или Google подтвердить аутентификацию через:```
Error 400: redirect_uri_mismatch

Solução: Configure suas próprias credenciais OAuth

Точно назовитеИдентификатор клиента OAuth 2.0без Google Cloud Console с URI вашего сервера.#### Passo a passo

1. Доступ к Google Cloud Console

Абра: https://console.cloud.google.com/apis/credentials

2. Crie um novo Идентификатор клиента OAuth 2.0

  • Нажимаем**"+ Create Credentials""Идентификатор клиента OAuth"** Тип приложения:"Веб-приложение".
  • Имя: имя escolha qualquer (например: OmniRoute Remote).

3. Adicione как авторизованные URI перенаправления

Нет надписи**"Авторизованные URI перенаправления"**, дополнение:``` https://seu-servidor.com/callback


> Замените `seu-servidor.com` на домен или IP-адрес своего сервера (включая необходимый порт, например: `http://45.33.32.156:20128/callback`).

**4. Сохраните и скопируйте как удостоверение**

В ответ на запрос Google выберите**Идентификатор клиента**и**Секрет клиента**.

**5. Настроить как вариант окружения**

Нет файла .env (или вариантов окружения Docker):```bash
# Para Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

# Para Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

6. Рейниси или OmniRoute```bash

Se usando npm:

npm run dev

Se usando Docker:

docker restart omniroute


**7. Tente conectar novamente**

Панель управления → Провайдеры → Антигравитация (или Gemini CLI) → OAuth

Агора или Google перенаправляются на «https://seu-servidor.com/callback» и обеспечивают функцию аутентификации.---

#### Workaround temporário (sem configurar credenciais próprias)

Если вы не хотите писать собственные данные, вы можете использовать или Fluxo**руководство по URL**:

1. OmniRoute перейдет по URL-адресу авторизации Google.
2. После вашего авторизации вы можете перенаправить Google на «localhost» (если нет удаленного сервера)
3.**Скопируйте URL-адрес полностью**из окна браузера (сообщение, которое страница не поддерживает)
4. URL-адрес не отображается в модальном режиме подключения к OmniRoute.
5. Нажимаем**"Подключиться"**

> Эта функция обхода позволяет выполнить перенаправление на URL-адрес независимо от кода авторизации или перенаправления.</details>

---

</details>

## 🛠️ Tech Stack

<подробности>
<summary><b>Нажмите, чтобы развернуть подробную информацию о технологическом стеке</b></summary>

-**Среда выполнения**: Node.js 1822 LTS (⚠️ Node.js 24+**не поддерживается**— собственные двоичные файлы `better-sqlite3` несовместимы)
-**Язык**: TypeScript 5.9 —**100% TypeScript**в `src/` и `open-sse/` (ноль `any` в основных модулях, начиная с версии 2.0)
-**Фреймворк**: Next.js 16 + React 19 + Tailwind CSS 4.
-**База данных**: LowDB (JSON) + SQLite (состояние домена + журналы прокси-сервера + аудит MCP + решения о маршрутизации).
-**Схемы**: Zod (проверка ввода-вывода инструмента MCP, контракты API)
-**Протоколы**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE).
-**Потоковая передача**: события, отправленные сервером (SSE).
-**Аутентификация**: OAuth 2.0 (PKCE) + JWT + ключи API + авторизация с ограниченной областью действия MCP.
-**Тестирование**: средство запуска тестов Node.js + Vitest (более 900 тестов, включая модульные тесты, интеграцию, E2E)
-**CI/CD**: действия GitHub (автоматическая публикация npm + Docker Hub при выпуске)
-**Веб-сайт**: [omniroute.online](https://omniroute.online)
-**Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
-**Докер**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
-**Устойчивость**: автоматический выключатель, экспоненциальное отключение, защита от громового стада, подмена TLS, автоматическое комбинированное самовосстановление.</details>

---

## Документация

| Документ | Описание |
| --------------------------------------------- | -------------------------------------------------- |
| [Руководство пользователя](docs/USER_GUIDE.md) | Провайдеры, комбинации, интеграция CLI, развертывание |
| [Справочник API](docs/API_REFERENCE.md) | Все конечные точки с примерами |
| [Сервер MCP](open-sse/mcp-server/README.md) | 16 инструментов MCP, конфигурации IDE, клиенты Python/TS/Go |
| [Сервер A2A](src/lib/a2a/README.md) | Протокол JSON-RPC 2.0, навыки, потоковая передача, управление задачами |
| [Механизм автоматического комбинирования](docs/auto-combo.md) | 6-факторная оценка, пакеты режимов, самовосстановление |
| [Устранение неполадок](docs/TROUBLESHOOTING.md) | Распространенные проблемы и решения |
| [Архитектура](docs/ARCHITECTURE.md) | Архитектура и внутреннее устройство системы |
| [Содействие](CONTRIBUTING.md) | Настройка и рекомендации по разработке |
| [Спецификация OpenAPI](docs/openapi.yaml) | Спецификация OpenAPI 3.0 |
| [Политика безопасности](SECURITY.md) | Отчеты об уязвимостях и методы обеспечения безопасности |
| [Развертывание виртуальной машины](docs/VM_DEPLOYMENT_GUIDE.md) | Полное руководство: настройка VM + nginx + Cloudflare |
| [Галерея функций](docs/FEATURES.md) | Визуальный обзор панели управления со скриншотами |
| [Контрольный список выпуска](docs/RELEASE_CHECKLIST.md) | Этапы проверки перед выпуском |---

## 🗺️ Roadmap

В OmniRoute запланировано**более 210 функций**на нескольких этапах разработки. Вот ключевые направления:

| Категория | Планируемые функции | Основные моменты |
| ----------------------------- | ---------------- | -------------------------------------------------------------------------------------- |
| 🧠**Маршрутизация и разведка**| 25+ | Маршрутизация с минимальной задержкой, маршрутизация на основе тегов, предварительная проверка квот, выбор учетной записи P2C |
| 🔒**Безопасность и соответствие требованиям**| 20+ | Усиление защиты SSRF, сокрытие учетных данных, ограничение скорости на конечную точку, определение области действия ключей управления |
| 📊**Наблюдаемость**| 15+ | Интеграция OpenTelemetry, мониторинг квот в реальном времени, отслеживание затрат на каждую модель |
| 🔄**Интеграция поставщиков**| 20+ | Реестр динамических моделей, время восстановления поставщика, Кодекс с несколькими учетными записями, анализ квот Copilot |
| ⚡**Представление**| 15+ | Двойной уровень кэша, кэш запросов, кэш ответов, потоковая поддержка активности, пакетный API |
| 🌐**Экосистема**| 10+ | WebSocket API, горячая перезагрузка конфигурации, распределенное хранилище конфигураций, коммерческий режим |### 🔜 Coming Soon

- 🔗**Интеграция OpenCode**— поддержка встроенного поставщика для IDE OpenCode AI для кодирования.
- 🔗**Интеграция TRAE**— Полная поддержка среды разработки TRAE AI.
- 📦**Пакетный API**— асинхронная пакетная обработка массовых запросов.
- 🎯**Маршрутизация на основе тегов**— маршрутизация запросов на основе пользовательских тегов и метаданных.
- 💰**Стратегия наименьших затрат**— автоматически выбирает самого дешевого доступного провайдера.

> 📝 Полные спецификации функций доступны в [`docs/new-features/`](docs/new-features/) (217 подробных спецификаций)---

## 👥 Contributors

[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)

### How to Contribute

1. Форкните репозиторий
2. Создайте свою ветку функций (`git checkout -b Feature/amazing-feature`).
3. Зафиксируйте изменения (`git commit -m 'Добавить замечательную функцию'`)
4. Нажмите на ветку (`git push origin Feature/amazing-feature`)
5. Откройте запрос на включение

См. [CONTRIBUTING.md](CONTRIBUTING.md) для получения подробных инструкций.### Releasing a New Version

```bash
# Create a release — npm publish happens automatically
gh release create v2.0.0 --title "v2.0.0" --generate-notes

📊 Star History

Stargazers over time

Stargazers over time

🙏 Acknowledgments

Особая благодарность**9routerотdecolua**— оригинального проекта, вдохновившего на создание этого форка. OmniRoute опирается на эту невероятную основу с дополнительными функциями, мультимодальными API и полной переработкой TypeScript.

Особая благодарность**CLIProxyAPI**— оригинальной реализации Go, которая послужила вдохновением для создания этого порта JavaScript.---

Лицензия

Лицензия MIT — подробности см. в разделе ЛИЦЕНЗИЯ.---

Built with ❤️ for developers who code 24/7
omniroute.online