# README (Русский) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
OmniRoute Dashboard

# 🚀 OmniRoute — Бесплатный AI-шлюз OmniRoute — Никогда не прекращайте кодировать. Каждый инструмент ИИ → 358 провайдеров — 150+ бесплатных — через одну конечную точку. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity в БЕСПЛАТНЫЙ Claude / GPT / Gemini с автоматическим резервированием. Сжатие RTK + Caveman экономит 15–95% токенов (~89% в среднем) — никогда не достигайте лимитов. 358 провайдеров ИИ · 150+ бесплатных тарифов · ~1.62B бесплатных токенов/мес · 19 стратегий маршрутизации · $0 для начала.
## 💰 ~1,62 млрд бесплатных токенов в месяц
> Объединять бесплатные тарифы вручную непросто — десятки SDK, десятки ограничений скорости и никакого понимания, сколько ресурсов у вас на самом деле. OmniRoute каталогизирует **489 записей бесплатных тарифов в 35 ключах регулярно пополняемых пулов** и рассчитывает итоговое количество токенов на основе **17 пулов с опубликованным положительным месячным бюджетом, а также пяти отдельных лимитов Groq для каждой модели**, исключая повторный учёт общих пулов. Квоты, доступные только после региональной проверки личности (сейчас это ModelScope), отображаются отдельно: ещё ~6 млн после региональной проверки личности — и никогда не включаются в итоговую цифру. Результат всегда доступен на панели управления (`/dashboard/free-tiers`). Карточка бюджета бесплатных тарифов OmniRoute: стабильно ~1,62 млрд бесплатных токенов в месяц и до ~2,22 млрд в первый месяц с учётом бонусов за регистрацию, из 35 задокументированных ключей регулярно пополняемых пулов, охватывающих 489 каталогизированных записей бесплатных тарифов за одной конечной точкой. Честный расчёт с исключением повторного учёта пулов — каждый общий пул учитывается один раз, включая 17 регулярно пополняемых пулов с опубликованным положительным месячным бюджетом токенов и пять отдельных лимитов Groq для каждой модели; 13 провайдеров помечены в каталоге рисков условий использования как нежелательные, а решение остаётся за вами. Полоса бюджета включает Mistral 1 млрд, Nara 210 млн, LLM7 150 млн, xKiro 150 млн, Groq 30 млн (пять отдельных лимитов для каждой модели) и меньшие пулы, а бонусы за регистрацию в первый месяц и постоянно бесплатные провайдеры без ограничения по количеству токенов отображаются отдельно, чтобы они никогда не завышали итоговую цифру. Актуальные данные об использованных и оставшихся токенах доступны на /dashboard/free-tiers. > Анимированная сводка актуальной страницы `/dashboard/free-tiers`. Полная методология (исключение повторного учёта пулов, уровни бонусов, условия провайдеров): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Эти показатели повторно проверяются каждые две недели по актуальному каталогу и **могут меняться в обе стороны** — если провайдер отменяет бесплатный тариф, значение уменьшается; если появляется новый, оно увеличивается. Мы публикуем фактический результат вычислений каталога, а не округлённый в большую сторону наилучший сценарий.

⭐ Поставьте звезду репозиторию, если OMNIROUTE помог вам сэкономить деньги и упростить работу.

[![Звёзды](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Позиция в истории звёзд](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Присоединяйтесь к сообществу **👋 Подпишитесь на сопровождающего проекта, чтобы первыми узнавать о новых провайдерах, выпусках и советах:** [![Подписаться на Diego в LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Подписаться на @diegosouzapw в GitHub](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp для всех стран](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp для Бразилии](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Веб-сайт](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Вопросы, советы по провайдерам, дорожная карта и поддержка → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Для всех стран](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Бразилия](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Портал](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Шлюз продолжает расти
| | v3.8.49 | **v3.8.50** | `v3.8.51+` | | ----------------------------- | :-----: | :-----------------------: | :-----------: | | 🌐 Провайдеры | 290 | **357** | ещё в очереди | | 🧠 Уникальные ID моделей чата | 1185 | **1312** | — | | 🖼️ Мост модальностей | — | 🆕 зрение + аудио + видео | — | | 📡 Бесплатный каталог Radar | — | 🆕 по желанию | — | | ⚖️ Планирование с учётом квот | — | 🆕 Quota-Share | — | | 📊 Телеметрия квот | — | 🆕 в реальном времени | — | **→ [Дорожная карта](ROADMAP.md) — движемся по рельсам к `v3.9.0 LTS`**

## 🧩 Доступно [![версия npm](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Загрузки NPM за месяц](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Лицензия: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Загрузки Docker](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Загрузки Electron](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Начало работы 🚀 Быстрый старт 📦 Установка 🆓 Без настройки
💡 Подробнее 💥 Обещание 🤔 Почему OmniRoute 🏆 Ключевые отличия
⚙️ Возможности 🎯 Комбинации 🌐 Провайдеры 🔌 CLI и MCP
🗜️ Сжатие 🖥️ Где запускается 🔒 Конфиденциальность
👀 Посмотреть 🎬 В действии ✨ Что нового 🤖 Совместимые CLI
💚 Поддержка 💚 Поддержать / Пожертвовать 💬 Сообщество 💖 Спонсоры
📦 Проект 🛠️ Технологический стек 📖 Документация 👥 Участники
🌐 На 66 языках

English (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy)


## 🆓 Работает сразу после установки — без ключей, без настройки
Работает сразу после установки — без настройки. Три шага: 1. Установите — npm i -g omniroute, сервер запускается на localhost:20128. 2. Направьте свой инструмент на http://localhost:20128/v1 — любой совместимый с OpenAI инструмент (Claude Code, Cursor, Cline). 3. Он отвечает — вызовите модель auto для мгновенного ответа, без ключа API, без регистрации, без настройки. Бесключевой провайдер OpenCode Free предварительно подключен к комбинации auto, поэтому свежая установка отвечает сразу после установки. ```bash # Свежая установка, без учетных данных — `auto` уже работает: curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` Предпочитаете конкретный бесплатный бэкенд? Вызовите `oc/…` (OpenCode Free) напрямую. Затем перейдите на `auto` и позвольте OmniRoute выбрать. 📦 Скрипты быстрого старта для **Python, Node.js, PHP и cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Обещание
Обещание — Одна конечная точка и 358 провайдеров. Автоматический откат продолжает маршрутизацию, пока доступна другая здоровая цель. Шесть столпов: устойчивый откат по 358 провайдерам · до 95% экономии токенов на подходящих рабочих нагрузках · $0 для начала со 150+ бесплатными уровнями и 54 постоянными/бесключевыми бесплатными провайдерами · 36 интеграций CLI/агентов через одну конфигурацию · совместимость с OpenAI, Claude, Gemini и Responses API на /v1 · производственные средства управления, включая автоматические выключатели, скрытность TLS, 110 инструментов MCP, A2A, память, защитные ограждения, оценки и 39 000+ статических тестовых объявлений в 5 100+ отслеживаемых тестовых файлах.

# 🤔 Почему OmniRoute?
Почему OmniRoute — перестаньте жонглировать 10 панелями управления, мертвыми ключами API и неожиданными счетами. Десять ежедневных проблем против решений: квота истекает неиспользованной → максимизировать подписки; ограничения скорости во время кодирования → 4-уровневый автооткат (Подписка → API → Дешевый → Бесплатный); вывод инструментов сжигают токены → сжатие RTK + Caveman (15–95%); дорогие API → маршрутизация, оптимизированная по стоимости; каждый инструмент своя настройка → одна конечная точка, одна панель управления; ИИ заблокирован → 3-уровневый прокси + скрытность TLS; мертвые ключи → 3-уровневая отказоустойчивость (автоматические выключатели, охлаждение ключей, блокировка модели); команда использует одну подписку → пулы ключей с квотами справедливого распределения; запросы через чье-то облако → локальный подход с ключами, зашифрованными AES-256-GCM; отсутствие видимости расходов → живая аналитика (использование, квота, экономия, задержка p95).
Поток запросов OmniRoute: ваша IDE или CLI (Claude Code, Cursor, Cline…) вызывает одну локальную конечную точку (http://localhost:20128/v1); интеллектуальный маршрутизатор OmniRoute (сжатие RTK + Caveman, 19 стратегий маршрутизации, автоматические выключатели, скрытность TLS, MCP, A2A, защитные ограждения) может откатываться по 4 уровням провайдеров, пока доступна подходящая здоровая цель — Уровень 1 Подписка, Уровень 2 Ключ API, Уровень 3 Дешевый и Уровень 4 Бесплатный.

## 🤝 Поддерживается нашими друзьями из Open Source

Kimi K3 — Передовая разведка · 2.8T параметров · контекст 1M токенов

> **Хотите присоединиться в качестве друга Open Source?** Это компании, которые поддерживают открытый исходный код и помогают OmniRoute развиваться — и мы публично сообщаем, куда идет каждый токен, который они нам дают. Свяжитесь с нами: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Основатель-друг Open Source
Благодарим Kimi (Moonshot AI), нашего основателя-друга Open Source, за поддержку этого проекта! Kimi — это лаборатория ИИ, стоящая за семействами моделей K2 и K3 с открытым весом — Kimi K3 предоставляет окно контекста в 1M токенов, нативное зрение и передовое кодирование за долю цены закрытых моделей, и работает из коробки с Claude Code, Codex и каждым инструментом кодирования, который обслуживает OmniRoute.

Что обеспечивает поддержка Kimi: Кредиты API Kimi обеспечивают работу конвейера выпуска OmniRoute, проверенного ИИ — этап *проверки слияния на базе Kimi K3*, который проверяет каждый pull request перед его отправкой — плюс ежедневную разработку функций. Первоклассная поддержка Kimi поставляется по обоим каналам: прямой Kimi API (kimi-k3) и план кодирования Kimi Code (OAuth и API key). OmniRoute также является первым бразильским проектом с открытым исходным кодом в программе поддержки Kimi. Получите Kimi API key с 15% дополнительными кредитами →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Друг Open Source
Благодарим Cheaper Inference, друга Open Source OmniRoute, за поддержку этого проекта! Cheaper Inference — это шлюз с ранжированием по стоимости, который перепродает 42 передовые модели — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok и MiniMax — через единую OpenAI-совместимую конечную точку, маршрутизируя каждый запрос к самому дешевому подходящему провайдеру, никогда не взимая плату выше прейскурантной цены производителя модели.

Первоклассная поддержка в OmniRoute: Chat Completions, нативная конечная точка /v1/responses, зрение, вызов инструментов и 3 модели изображений (grok-imagine, nano-banana-pro, nano-banana-2, доступные как cheaperinference/<model>). Получить API key →
Ссылки с тегом aff=omniroute являются партнерскими ссылками. Они финансируют проект без дополнительных затрат для вас.
🎟️ Партнерские акции — бесплатные купоны на регистрацию от провайдеров, которых мы не спонсируем (нажмите, чтобы развернуть) Этот раздел предназначен только для реферальных/купонных кодов. Спонсируемые партнерства находятся в разделе **🤝 Поддерживается нашими друзьями из Open Source** выше. OmniRoute не имеет спонсорства или партнерства с провайдерами, перечисленными здесь — это публичные купоны, которые может использовать любой желающий.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — партнерская регистрация · $100 бесплатных кредитов при регистрации (бесплатный сервер, ожидайте более высокой задержки — лучше всего для тестирования, не для продакшена). Первоклассная поддержка в OmniRoute с v3.8.50: Chat Completions, Anthropic-совместимый формат данных и OpenAI-совместимый путь. Доступные модели включают claude-opus-4-8, claude-opus-5, gpt-5.6-sol и другие. Заберите свои $100 →

⚠️ Партнерская ссылка — OmniRoute не имеет спонсорства или партнерства с этим провайдером.
Знаете другого провайдера с щедрым бесплатным купоном на регистрацию, который принесет пользу пользователям OmniRoute? Откройте issue, и мы добавим его сюда.

## 🎯 Комбо — флагманская функция
Все 19 стратегий маршрутизации комбо в анимации — по одной плитке на стратегию: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Описание каждой из них приведено в таблице выше. > **Комбо** — это цепочка моделей, между которыми OmniRoute выполняет маршрутизацию **автоматически**. Если квота исчерпана, провайдер недоступен или стоимость резко возросла, комбо может перейти к следующей подходящей работоспособной модели. 🛡️ ### ⚡ Нулевая настройка — просто используйте `auto` Создавать комбо не нужно. Укажите в качестве модели `auto` (или один из вариантов), и OmniRoute создаст виртуальное комбо из подключённых провайдеров с оценкой в реальном времени:
ID моделиЧто оптимизируется
auto🎯 Сбалансированный вариант по умолчанию (LKGP — закрепляется за последним успешно работавшим провайдером)
auto/coding🧑💻 Веса с приоритетом качества для генерации кода
auto/fast⚡ Сначала варианты с наименьшей задержкой
auto/cheap💰 Сначала варианты с наименьшей стоимостью токена
auto/offline🔋 Сначала варианты с наибольшим запасом квоты / лимита запросов
auto/smart🔭 Приоритет качества + 10% на исследование для поиска более подходящих моделей
auto/lkgp📌 Явное закрепление за последним успешно работавшим провайдером
auto/chaos🧪 Веса с внедрением сбоев для тестирования отказоустойчивости (хаос-инжиниринг)
## ### 🔀 Или создайте собственное комбо — 19 стратегий маршрутизации Все **19** стратегий — комбинируйте их на каждом шаге комбо:
# Стратегия Что она делает
1 priority Упорядоченный список с приоритетом первой цели — каждая исчерпывается перед переходом к следующей 🥇
2 fill-first Полностью использует квоту каждой цели перед переходом к следующей
3 weighted Случайный выбор с учётом веса каждой цели
4 round-robin Последовательно перебирает цели по кругу
5 p2c Случайная балансировка нагрузки методом выбора из двух вариантов
6 least-used Выбирает цель с наименьшей текущей нагрузкой
7 random Равномерный случайный выбор (без дубликатов)
8 strict-random Случайный выбор без удаления повторов 🎲
9 cost-optimized Минимизирует стоимость запроса в $ по актуальным ценам из каталога 💸
10 headroom Выбирает цель с наибольшей оставшейся квотой
11 reset-window Отдаёт предпочтение цели, окно квоты которой сбросится раньше всего
12 reset-aware Ранжирует по времени сброса квоты — сначала короткие окна 📊
13 context-relay Передаёт контекст между целями в длительных диалогах 🧠
14 context-optimized Выбирает наиболее подходящую цель для текущего размера контекста
15 cache-optimized Закрепляет каждый повторно используемый префикс промпта за одной учётной записью, максимально увеличивая число попаданий в кеш промптов 🎯
16 lkgp Последний заведомо исправный маршрут — закрепляется за последним успешно работавшим провайдером, а затем использует резервные правила
17 auto Оценка каждого подключения в реальном времени по 16 факторам 🤖
18 fusion Параллельно отправляет запрос группе моделей, после чего модель-судья формирует единый ответ 🧬
19 pipeline Объединяет шаги в цепочку — выход каждой цели передаётся следующей 🔗
Механизм Auto-Combo оценивает каждого кандидата по **16 факторам** (работоспособность, квота, стоимость, задержка, соответствие задаче, качество, доступность сессии…) — см. [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 Отказоустойчивость встроена изначально (3 независимых уровня) Отказоустойчивость OmniRoute — 3 независимых уровня самовосстановления, каждый для соответствующего типа сбоя. Уровень 1: автоматический выключатель провайдера (весь провайдер): срабатывает только при 408/5xx, пороговые значения — OAuth 8× / API-ключ 12× / локальный 2×, сбрасывается через 60с/30с/15с с переходом к пробному запросу в состоянии HALF-OPEN, ленивое восстановление; в состоянии OPEN комбинация перенаправляет запросы к следующему провайдеру. Уровень 2: период ожидания подключения (один ключ/аккаунт): базовый интервал — 5с для OAuth / 3с для API-ключа, экспоненциальная задержка ×2 с защитой от лавинообразных одновременных запросов, при 429 учитывается Retry-After, успешный запрос сбрасывает всё состояние ошибок; один ключ в периоде ожидания пропускается, а остальные ключи продолжают обслуживать запросы. Уровень 3: блокировка модели (одна модель): 429 для конкретной модели, локальная ошибка 404 или отказы из-за режима блокируют только эту модель — но не всё подключение. Терминальные состояния (заблокирован, истёк срок действия, исчерпаны кредиты) предназначены для вмешательства оператора, а не для периодов ожидания. 📖 [Механизм автокомбинаций](docs/routing/AUTO-COMBO.md) · [Руководство по отказоустойчивости](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Что отличает OmniRoute
Что отличает OmniRoute — устаревший снимок функций по сравнению с 9router, OpenRouter, CLIProxyAPI и LiteLLM по 13 возможностям. OmniRoute: 358 провайдеров, 150+ бесплатных тарифов, 19 стратегий маршрутизации, 12-движковая компрессия токенов, встроенный MCP-сервер со 110 инструментами, протокол агентов A2A, постоянная память, защитные механизмы, облачные агенты, скрытность TLS-отпечатков, Desktop/Termux/PWA и 42 локали пользовательского интерфейса. OmniRoute имеет лицензию MIT и может быть развернут самостоятельно. Возможности и количество конкурентов могут меняться; см. связанную методологию. 📊 Полная методология и подробное описание функций по сравнению с 9router, OpenRouter, CLIProxyAPI и LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Поддержать OmniRoute OmniRoute распространяется по лицензии MIT и разрабатывается открыто. Если он экономит ваше время или деньги, вот как можно помочь ему оставаться независимым — выберите подходящий вариант. Спонсорская поддержка никогда не влияет на приоритет маршрутизации; она даёт видимость, а не место в рейтинге.
⭐ Поставить звезду репозиториюБесплатно — действительно помогает повысить видимостьПоставить звезду OmniRoute
🐙 GitHub SponsorsРазовый или ежемесячный платёж · без комиссии платформыgithub.com/sponsors/diegosouzapw
☕ Ko-fiБыстрое разовое пожертвование, регистрация для спонсора не требуетсяko-fi.com/diegosouzapw
🧋 Buy Me a CoffeeНебольшой неформальный знак поддержкиbuymeacoffee.com/diegosouzapw
🖐 LiberapayРегулярные пожертвования · некоммерческая платформа · открытый исходный кодliberapay.com/diegosouzapw
🇧🇷 PIX (Бразилия)Мгновенно, без комиссииключ и QR-код ниже
₿ КриптовалютаBTC · ETH · USDT-TRC20 · USDC-Solanaадреса ниже
**🇧🇷 PIX** — мгновенно, без комиссии (Бразилия) QR-код OmniRoute для PIX Ключ (случайный): `5d865059-bc44-483a-962d-43ceb80126eb` Pix copia-e-cola: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Криптовалюта — BTC · ETH · USDT-TRC20 · USDC-Solana (нажмите, чтобы развернуть)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Отправляйте каждую монету только через указанную сеть — отправка через неверную сеть может привести к потере средств.
🐛 Нашли ошибку или хотите поделиться отзывом? Создайте [обсуждение](https://github.com/diegosouzapw/OmniRoute/discussions).

Примечания для разработчиков: Во время npm install/postinstall проект может создать локальный файл .env для удобства разработчика. Этот файл намеренно игнорируется через .gitignore (см. .gitignore) и никогда не должен попадать в коммиты — если он был случайно добавлен в коммит, замените все раскрытые секреты и удалите файл из истории. Рекомендации по управлению локальными файлами окружения и секретами см. в docs/DEVELOPER-ENVIRONMENT.md.

## 📡 Радар OmniRoute Основной показатель бесплатного уровня по-прежнему составляет **~1,62 млрд токенов в месяц** согласно приведённому выше документированному каталогу с устранением дублирования пулов. Временные приветственные кредиты провайдеров могут отдельно увеличить объём в первый месяц до **~2,22 млрд**. Radar — это необязательное подписанное дополнение к каталогу для тех, кому нужна более актуальная информация о доступности бесплатных моделей между выпусками OmniRoute; каталог сообщества и все существующие бесплатные функции остаются бесплатными. Сторонники проекта могут получать актуальный каталог и сведения о дополнительных предложениях провайдеров. Его отдельный изменяемый верхний предел составляет **не более приблизительно 3 млрд токенов в месяц** в зависимости от доступности провайдеров. Этот предел не гарантируется: провайдеры могут в любое время изменять квоты, требования к участникам, модели или регионы. Radar используется по желанию и выполняет только GET-запросы. Клиент OmniRoute не отправляет запросы пользователей, данные о трафике, конфигурацию провайдеров, телеметрию использования или локальное состояние скрытия объявлений. Узнать о требованиях к участникам и ознакомиться с текущим каталогом можно на странице **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Что нового
> Последние ключевые изменения в версиях **v3.8.20 → v3.8.50**. Полная история приведена в [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — входящее делегирование A2A вашему парку агентов, навыки Conductor в Agent Card и панель управления с голосовым чатом Faro в режиме push-to-talk. → [Сервер A2A](docs/frameworks/A2A-SERVER.md) - **🛂 Адаптивный контроль доступа и защита от перегрузки** — ресурсоёмкие запросы чата ставятся в очередь вместо возврата 503, с атомарными скользящими квотами RPM для каждого подключения. → [Руководство по отказоустойчивости](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Канонический порядок `/v1/models`** — один непрерывный блок с группировкой по провайдеру для каждого провайдера (комбинации закреплены в начале), стабильный для всех источников каталога. → [Справочник API](docs/reference/API_REFERENCE.md) - **🗜️ Усиленная защита сжатия** — включённая по умолчанию защита от чрезмерного раздувания, пакеты Caveman для DE / FR / JA + китайского (wényán), фильтры RTK для Gradle и .NET. → [Сжатие](docs/compression/COMPRESSION_ENGINES.md) - **💸 Честная стоимость по фиксированному тарифу** — провайдеры с подпиской / тарифным планом для программирования показывают **$0** в аналитике затрат; оценка бюджета, квот и маршрутизации сохраняется. → [Справочник API](docs/reference/API_REFERENCE.md) - **⚖️ Маршрутизация Quota-Share** — справедливое распределение квоты общей учётной записи между объединёнными ключами с эффективным использованием ресурсов: неактивные доли временно передаются другим. → [Руководство по отказоустойчивости](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Настройка CLI/агента одной командой** — 13 зарегистрированных команд `setup-*`; `omniroute run` запускает 7 CLI (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` поддерживает 10 целей с интерактивным выбором провайдера и модели, а также избранным для каждого контекста. → [Интеграции CLI](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Удалённый режим** — управление удалённым экземпляром OmniRoute с помощью токенов с ограниченными областями действия (`connect` / `contexts` / `tokens`) и OAuth-помощника `antigravity` для установок на VPS. → [Удалённый режим](docs/guides/REMOTE-MODE.md) - **🧭 Более интеллектуальная автомаршрутизация** — комбинации `auto/:`, **Fusion** (панель моделей + модель-судья), маршрутизация с учётом задачи, переопределение модели / режима / бюджета в USD для каждого запроса. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Подключаемое сжатие** — 12 комбинируемых движков + Compression Studios: LLMLingua-2, двухуровневый Ultra, omniglyph, контроль точности на каждом этапе, GCF v3.2, редактор с изменением порядка перетаскиванием. → [Сжатие](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Прозрачная MITM-расшифровка (TPROXY)** — перехват CLI, игнорирующих переменные среды прокси, с отдельным центром сертификации для каждого SNI и установщиком в хранилище доверенных сертификатов. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Телеметрия затрат повсюду** — заголовки стоимости/использования `X-OmniRoute-*` на каждой конечной точке, заголовок экономии при попадании в кеш и квоты расходов в USD для каждого ключа. → [Справочник API](docs/reference/API_REFERENCE.md) - **🧠 Память под вашим контролем** — по умолчанию отключена; опциональная int8-квантизация векторов + типизированное затухание, `x-omniroute-no-memory` для каждого запроса. → [Память](docs/frameworks/MEMORY.md) - **🛡️ Безопасность** — защита от инъекций промптов на каждом маршруте LLM (набор тестов red-team), опциональный защитный механизм маскировки учётных данных (скрывает утёкшие API-ключи/секреты в обоих направлениях), бесплатный веб-поиск через DuckDuckGo в качестве крайней меры и опциональный шлюз входа OIDC для панели управления (вход по паролю всегда остаётся доступен). → [Защитные механизмы](docs/security/GUARDRAILS.md) - **🖼️ Новые конечные точки** — `/v1/ocr` (Mistral OCR) и `/v1/audio/translations` (в стиле Whisper) дополняют возможности для работы с медиа. → [Справочник API](docs/reference/API_REFERENCE.md) - **🎨 Генерация изображений / видео / аудио** — единый API для медиа: видео через xAI Grok Imagine и Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind, а также речевые провайдеры, такие как ElevenLabs. → [Справочник API](docs/reference/API_REFERENCE.md) - **🌍 Развёртывание и эксплуатация** — `basePath` для обратного прокси, автоматическое определение языка браузера, отслеживание устройств для каждого ключа, настройка доверия MITM без прав root, локализация zh-TW. → [Переменные среды](docs/reference/ENVIRONMENT.md) - **🤝 Больше провайдеров и агентов** — облачные агенты (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) с входом через браузер + OAuth, полноценная карточка Ollama, Claude Opus 5 и Sonnet 5, официальное партнёрство с Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… и обновлённый **каталог из 352 провайдеров**. → [Провайдеры](docs/reference/PROVIDER_REFERENCE.md) - **📡 Прозрачность маршрутизации** — каждый ответ содержит заголовок `X-OmniRoute-Decision`, указывающий обслужившие его стратегию/провайдера/задержку; новая стратегия комбинации `cache-optimized` + фактор Auto-Combo `cacheAffinity` направляют повторные запросы обратно к подключению, содержащему кешированный префикс, а доступная только для чтения конечная точка `/v1/auto-combo/{channel}/candidates` предоставляет текущий пул кандидатов канала `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Локальная производительность и инфраструктура** — локальный Redis в один клик, средства развёртывания ретрансляторов Cloudflare Workers / Deno Deploy, Bifrost и Mux в качестве управляемых встроенных сервисов. → [Встроенные сервисы](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Также в комплекте** — платформа плагинов + маркетплейс, платформы навыков Omni/Agent/GitHub, интеграция с хранилищем Obsidian (22 инструмента MCP), совместимые с OpenAI API Batch и Files, семантический кеш ответов, геймификация с таблицами лидеров, обнаружение агентов ACP (15 встроенных агентов), экспорт журналов в BigQuery по расписанию, внедрение сбоев `auto/chaos`, мост для Telegram-бота, встроенный менеджер версий и рейтинги бесплатных провайдеров LMArena-ELO. → [Документация](docs/README.md)
## 🤖 Совместимые CLI и агенты для программирования > Одна конфигурация — `http://localhost:20128/v1` — и **любая** ИИ-среда разработки или CLI работает с бесплатными и недорогими моделями.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ также работает с · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · любым OpenAI-совместимым инструментом
📖 Настройка каждого из 36 инструментов (26 CLI для работы с кодом + 10 CLI-агентов) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Плагин OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Запускайте любой поддерживаемый CLI через OmniRoute одной командой** — без записи файлов конфигурации, с передачей учётных данных отдельному процессу и временным изолированным домашним каталогом для Qwen/Gemini: ```bash omniroute run claude --model openai/gpt-5.4 # Claude Code omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI omniroute run aider --model glm/glm-5.2 -- --message "reply OK" omniroute run goose --model glm/glm-5.2 omniroute run opencode --model glm/glm-5.2 -- run "reply OK" omniroute run qwen --model glm/glm-5.2 -- -p "reply OK" omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK" # Или выберите провайдера и модель в интерактивном режиме и запишите собственную конфигурацию инструмента: omniroute configure codex # также: claude opencode qwen aider goose gemini cline continue kilo ``` Каждая команда учитывает активный удалённый контекст (`omniroute connect `), `--dry-run` показывает точные переменные окружения и аргументы без выполнения, а `--api-key-env NAME` не позволяет секретам попасть в историю командной оболочки. → [Интеграции с CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 поставщиков ИИ — 152 отмечены в каталоге как бесплатные
> **357 зарегистрированных поставщиков** в канонических коллекциях чатов, медиа, поиска, локальных моделей, облачных агентов и систем, включая **152 с метаданными обнаружения `hasFree: true`**. Реестр чат-моделей охватывает **229 поставщиков / 2 554 уникальные пары «поставщик — модель» / 1 283 исходных идентификатора моделей**; отдельный каталог бесплатных лимитов содержит **491 запись по отдельным моделям**, **35 возобновляемых пулов** и **54 поставщика с возобновляемым или бессрочным бесплатным доступом без ключа**. Эти знаменатели намеренно различаются; определения и расчёты с устранением дубликатов пулов приведены в разделах [Справочник поставщиков](docs/reference/PROVIDER_REFERENCE.md) и [Бесплатные тарифы](docs/reference/FREE_TIERS.md).
### 🏢 Все ведущие лаборатории — через единую конечную точку
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…и ещё более 330 — каждая иконка загружается напрямую из каталога поставщиков панели управления. 📖 [Справочник поставщиков](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Бесплатно навсегда — $0, карта не требуется
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Без ограничения токенов
Kilo Code
Kilo Code
Автомаршрутизация, Tencent Hy3
Бесплатно навсегда
Requesty
Requesty
GPT-OSS 120B, Nemotron
Бесплатно навсегда
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Бесплатный тариф
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Бесплатно навсегда
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Бесплатно навсегда
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
БЕСПЛАТНО без ограничений
Pollinations
Pollinations
GPT, Llama, Claude
Ключ не требуется
Cloudflare AI
Cloudflare AI
Более 50 моделей
10K нейронов в день
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM бесплатно
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1M токенов в день
OpenRouter
OpenRouter
Модели :free
+$10 → более высокий RPM
📖 Полный машиночитаемый каталог → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Где работает OmniRoute — везде
> То же приложение, ваше устройство, ваши правила. От глобальной установки через npm до **вашего телефона** с помощью Termux.
ПлатформаУстановкаОсобенности
📦 npm (глобально)npm install -g omnirouteОдна команда, любая ОС
🐳 Dockerdocker run … diegosouzapw/omnirouteМультиархитектурная поддержка AMD64 + ARM64
🖥️ Десктопное приложение (Electron)npm run electron:buildНативное окно + системный трей — Windows / macOS / Linux
🎩 Строка меню (OmniRouteTray)brew install --cask zoispag/tap/omniroute-trayКонтролирует и автоматически обновляет сервер — macOS
💪 ARMнативная поддержка arm64Raspberry Pi, ARM-серверы, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteРаботает на вашем телефоне круглосуточно и без root-прав
📲 PWA«Добавить на главный экран»Полноэкранный режим, офлайн-работа, установка из браузера
🧩 Плагин OpenCode@omniroute/opencode-providerНативная интеграция с OpenCode
🤖 VS Code Copilot Chatустановите расширение OmniCopilotВсе модели OmniRoute в нативном списке выбора Copilot Chat — стабильная версия и Insiders
🛠️ Из исходного кодаnpm install && npm run devИзменяйте код и вносите свой вклад
📖 [Руководство по Docker](docs/guides/DOCKER_GUIDE.md) · [Десктопное приложение](electron/README.md) · [Приложение для строки меню](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Новинка: OmniRoute внутри нативного Copilot Chat в VS Code
> Никакой новой боковой панели и нового интерфейса чата — каждая модель, предоставляемая OmniRoute, отображается прямо в > **уже знакомом вам списке выбора моделей Copilot Chat**. Начиная с VS Code 1.122 модели провайдеров работают > без входа в GitHub и подписки Copilot — режим агента, вызов инструментов и обработка изображений > доступны бесплатно. Установите расширение **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, укажите адрес вашего сервера OmniRoute (по умолчанию `localhost:20128`), затем откройте Copilot Chat → список выбора моделей → **Управление моделями…** → **OmniRoute**.
МагазинСсылкаСовместимость
🧩 VS Code MarketplaceУстановить →VS Code — стабильная версия и Insiders
🔓 Open VSX RegistryУстановить →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
В редакторе откройте представление **Расширения**, найдите **"OmniRoute"** и нажмите **Установить** — в обоих магазинах всё работает одинаково. Исходный код, задачи и руководство по публикации находятся в [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [Руководство по VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — настройка, содержимое списка выбора, панель управления во вкладке, устранение неполадок
### 🎩 Новинка: OmniRouteTray — ваш шлюз в строке меню
> `omniroute serve` лучше всего работает постоянно. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > превращает его в приложение для строки меню macOS, которое можно один раз настроить и забыть: оно запускает сервер, поддерживает его работу > после перезагрузок, обновляет его на месте и предоставляет доступ к текущему бюджету токенов одним щелчком — **без > постоянно открытого окна терминала и без необходимости следить за `npm install -g omniroute`.** Приложение создано с помощью [Tauri v2](https://v2.tauri.app/) (ядро на Rust пренебрежимо малого размера) и поставляется с собственной подписанной средой выполнения Node 24, а также управляет отдельной установкой OmniRoute, поэтому не конфликтует с вашими глобальными `node`/`bun`. Оно **использует существующие конфигурацию и базу данных из `~/.omniroute/`** — это тот же OmniRoute, который вы уже запускаете, только теперь в шляпе. 🎩
Что оно делаетКак
🟢 Контролирует серверЗапускает omniroute serve и подключается к уже работающему экземпляру вместо создания дубликата
📊 Использование в реальном времениИндикаторы квот провайдеров, лимиты Claude на сеанс и неделю с обратным отсчётом до сброса, разбивка расходов за 30 дней
🔄 Автоматически обновляется на местеПоэтапная установка, атомарная замена, откат при сбое — всегда самая новая версия
🚀 Запускается при входе в системуНеобязательный запуск при входе; только в строке меню, без значка в Dock
🩺 Диагностика и журналыДиагностика одним щелчком и доступ к журналам сервера
```sh brew install --cask zoispag/tap/omniroute-tray ``` Предпочитаете скачать? Загрузите последнюю версию .dmg из раздела Релизы. Исходный код, сообщения о проблемах и документация по сборке доступны в zoispag/omniroute-tray.
💛 Проект сообщества от @zoispag — неофициальный выпуск OmniRoute.

## 🔒 Приватность и локальная работа прежде всего
Приватность и локальная работа прежде всего — шлюз и плоскость управления OmniRoute работают на вашем компьютере. Запросы отправляются вышестоящему провайдеру, выбранному для каждого запроса; OmniRoute не добавляет промежуточный облачный узел для обработки запросов, а телеметрия по умолчанию отключена. Учётные данные шифруются при хранении с помощью AES-256-GCM; средства защиты включают разграничение областей действия API-ключей, фильтрацию IP-адресов, ограничения частоты запросов, защиту от инъекций в промпты, очистку заголовков вышестоящих сервисов, опциональное удаление персональных данных, безопасные сообщения об ошибках и локальный журнал аудита SQLite. OmniRoute распространяется по лицензии MIT и поддерживает самостоятельный хостинг. 📖 [Авторизация](docs/architecture/AUTHZ_GUIDE.md) · [Защитные механизмы](docs/security/GUARDRAILS.md) · [Соответствие требованиям](docs/security/COMPLIANCE.md)
## 🔌 Полнофункциональный CLI + A2A и MCP
> Помимо сервера, OmniRoute — это **полноценный центр управления из командной строки** с **более чем 80 командами**, а также открытыми агентскими протоколами, благодаря которым ИИ-агент может управлять им **самостоятельно**. ### ⌨️ Настоящий CLI (не только `start`) ```bash omniroute # запустить шлюз и панель управления (порт 20128) omniroute chat # интерактивный TUI-клиент чата (команды: /model /combo /skill /memory) omniroute setup # пошаговый мастер первоначальной настройки omniroute doctor # диагностика провайдеров, портов и нативных зависимостей ``` ### 🛰️ Удалённый режим — CLI здесь, OmniRoute на VPS OmniRoute работает на сервере? Управляйте им с ноутбука с помощью **того же CLI**. Один раз войдите с токеном доступа с заданной областью действия — после этого каждая команда будет обращаться к удалённому серверу. ```bash omniroute connect 192.168.0.15 # пароль → токен с заданной областью действия, сохранённый как контекст omniroute models list # ← выполняется на УДАЛЁННОМ сервере omniroute configure codex # ← выбирает удалённую модель и создаёт локальный профиль Codex omniroute tokens create --name ci --scope read # выпускает токены с более узкими правами для других компьютеров omniroute contexts use default # ← переключение обратно на локальный сервер ``` Токены имеют области действия `read` / `write` / `admin`; маршруты, запускающие процессы, остаются доступными только через loopback-интерфейс. 📖 [Удалённый режим](docs/guides/REMOTE-MODE.md)
Анимированная демонстрация CLI OmniRoute в терминале — omniroute providers list, omniroute combo list и omniroute health — с последовательным показом 86 команд верхнего уровня: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Подключите агента — и он будет самостоятельно управлять OmniRoute Предоставьте доступ к OmniRoute через **MCP**, **A2A**, **REST API**, **вебхуки** или **удалённый CLI** — любой подходящий агент (или ваш собственный код) получит полный контроль над шлюзом: маршрутизацией, провайдерами, комбинациями, кешем, сжатием и памятью — автономно. Указанные ниже HTTP-эндпоинты доступны по адресу `http://localhost:20128`.
ИнтерфейсЭндпоинт / командаНазначение
🧰 MCP (stdio)omniroute --mcpПодключение к Claude Desktop, Cursor или любому MCP-клиенту
🌊 MCP (HTTP)/api/mcp/streamУдалённый MCP — 110 инструментов, 33 области действия (применение включается отдельно), полный журнал аудита
📡 MCP (SSE)/api/mcp/sseПотоковый транспорт MCP
🤝 A2A/.well-known/agent.jsonВзаимодействие между агентами, JSON-RPC 2.0 + SSE, 6 навыков
🌐 REST API/v1/*Совместимость с OpenAI — чат, эмбеддинги, изображения, аудио, OCR
🔔 Вебхуки/api/webhooksОтправка событий запросов и квот в Slack, Discord, Telegram или на любой URL
🛰️ Удалённый CLIomniroute connect Управление удалённым экземпляром с помощью токенов доступа с заданными областями действия
```bash # Предоставьте Claude Code полный набор инструментов OmniRoute через MCP: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [Сервер MCP](docs/frameworks/MCP-SERVER.md) · [Сервер A2A](docs/frameworks/A2A-SERVER.md) · [Агентские протоколы](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Экономьте 15–95% токенов — автоматически
### 📖 Как это работает — конвейер, архитектура и расчёт экономии Конвейер сжатия OmniRoute: наглядный клиентский запрос из 10 000 токенов проходит через 12 комбинируемых движков — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra и OmniGlyph — и в приведённом примере последовательного применения может поступить провайдеру в объёме около 1 080 токенов. Структурированное содержимое защищено механизмами сохранения и проверками точности на каждом этапе; явно включённые режимы с потерями или экспериментальные режимы могут преобразовывать подходящее содержимое. Стандартная последовательная комбинация запускает `RTK → Caveman`. Когда оба движка обрабатывают одни и те же данные инструмента или контекста, экономия суммируется: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Блоки кода, URL-адреса, JSON и структурированные данные **всегда защищены** механизмом сохранения. > **Зачем использовать много токенов, если достаточно нескольких?** Каждый запрос проходит через конвейер сжатия OmniRoute **прозрачно** — никаких изменений на стороне клиента. Теперь это **набор из 12 комбинируемых движков**, которые запускаются по порядку и сочетаются для каждой комбинации маршрутизации, развивая идеи [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) и [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 Набор из 12 движков Движки запускаются в порядке конвейера; каждый из них можно независимо включать, отключать и настраивать для каждой комбинации:
#ДвижокЧто он делает
1Session-DedupУдаляет содержимое, повторяющееся в разных репликах (с адресацией по содержимому и поддержкой нескольких реплик)
2CCRАрхивирует большие блоки за маркерами извлечения, позволяя загружать их по требованию
3LiteУдаляет лишние пробелы и сокращает URL-адреса изображений (быстрая базовая обработка)
4RTKИнтеллектуальная фильтрация, дедупликация и усечение результатов инструментов (с учётом команд)
5Responses Tool OutputПриоритетное сжатие JSON без потерь и ограниченное сжатие диагностических данных для результатов оболочки, исправлений, поиска и сборки (Responses API)
6HeadroomТабличное уплотнение массивов JSON без потерь (~30%) с помощью встроенной копии кодека GCF
7RelevanceЭкстрактивная оценка предложений относительно последнего запроса пользователя
8CavemanСжатие текста на основе правил (~65–75% на выходе)
9AggressiveСуммаризация и постепенное сокращение старых реплик
10LLMLingua-2Семантическое сокращение с помощью машинного обучения на базе MobileBERT ONNX — безопасное для кода, асинхронное
11UltraЭвристическое сокращение токенов с дополнительным уровнем на базе малой модели (SLM)
12OmniGlyphЭкспериментальное кодирование контекста в виде изображения для протестированной Claude Fable 5 при прямом подключении к Anthropic; трансформеры GPT 5.6 продолжают блокировать обработку до получения подтверждений от провайдера. Четыре профиля сжатия (агрессивный по умолчанию, сбалансированный, безопасный для программирования, без преобразований) (самый агрессивный; требует явного включения)
Блоки кода, URL-адреса и структурированные данные **всегда сохраняются** с точностью до байта. **Предустановки, активируемые одним щелчком**, объединяют движки:
РежимЭкономияЛучше всего подходит для
🪶 Lite~15%Безопасная настройка по умолчанию для постоянного использования
🪨 Standard (Caveman)~30%Повседневной разработки
⚡ Aggressive~50%Длительных сеансов с активным использованием инструментов
🔥 Ultra~75%Максимальной экономии
🧰 RTK60–90%Результатов оболочки, тестов, сборки и git
🔗 Stacked (RTK → Caveman)78–95%Смешанных запросов и журналов инструментов
**Реальный пример — режим Standard:** > **До (69 токенов):** _«Причина повторного рендеринга вашего компонента React, вероятно, заключается в том, что при каждом цикле рендеринга вы создаёте новую ссылку на объект. Когда вы передаёте встроенный объект как свойство, поверхностное сравнение React каждый раз определяет его как другой объект, что запускает повторный рендеринг. Я рекомендую использовать useMemo для мемоизации объекта»._ > > **После (19 токенов):** _«Новая ссылка на объект при каждом рендеринге. Встроенный объект-свойство = новая ссылка = повторный рендеринг. Оберните в useMemo»._ > > **Тот же ответ. На 72% меньше токенов. Без потери точности.** ✅ **Пример на PT-BR — режим [Troglodita](https://github.com/leninejunior/troglodita):** > **До (42 токена):** _«Проблема в том, что компонент повторно рендерится, поскольку в каждом цикле рендеринга создаётся новая ссылка на объект. Я бы рекомендовал использовать useMemo»._ > > **После (12 токенов):** _«Повторный рендеринг: новая ссылка в каждом цикле (встроенный объект создаётся заново). Использовать `useMemo`»._ > > **Тот же ответ. Примерно на 70% меньше токенов. Техническая точность сохранена.** ✅
### 🎚️ Помимо движков — стили вывода, адаптивный регулятор и управление на уровне отдельных запросов Приведённые выше 12 движков сокращают то, что поступает **на вход**. Ещё три уровня определяют, **как**, **когда** и что выходит **на выходе**: - **🪄 Стили вывода** _(управление по оси вывода)_ — внедряют детерминированные, безопасные для кеширования инструкции по формированию ответа; их можно комбинировать, выбирая для каждой интенсивность `lite` / `full` / `ultra`. Добавление стиля — это одна строка в реестре: - **Лаконичная проза** — убрать лишние слова / артикли / оговорки; в точности сохранить техническую суть. - **Меньше кода** — YAGNI в стиле «ленивого старшего разработчика»: минимальное рабочее изменение без незапрошенной обвязки. - **Конский хвост (ленивый старший разработчик)** — подняться по лестнице YAGNI, устранить первопричину, внести минимальный рабочий diff. - **У меня СДВГ (сначала действие)** — начинать со следующего действия, нумеровать шаги, предлагать один конкретный следующий шаг, без вступления. - **Лаконичный CJK (文言)** — сверхлаконичный стиль классического китайского языка (доступен только для локали `zh`). - **🎯 Адаптивный бюджет контекста** _(регулятор)_ — вместо единственного порога токенов «вкл./выкл.» постепенно подключает самые дешёвые движки с минимальными потерями лишь настолько, насколько необходимо, чтобы **уложиться в контекстное окно модели**. Политика: `reserve-output` (по умолчанию, с учётом модели) · `percentage` · `absolute`. Режим: `floor` (гарантировать соответствие лимиту) · `replace-autotrigger` (ваш явный выбор имеет приоритет) · `off` (устаревший порог). - **🎛️ Где принимается решение о сжатии** _(приоритет от высокого к низкому)_ — заголовок `x-omniroute-compression` для отдельного запроса › переопределение комбинации маршрутизации › активный именованный профиль › адаптивный режим / автозапуск › значение по умолчанию из панели › выключено. Применённый план возвращается в заголовке ответа `X-OmniRoute-Compression: ; source=`. Настройте автозапуск по порогу токенов, включите адаптивный регулятор, закрепите именованный профиль, задайте разовую настройку для отдельного запроса или назначьте конвейер комбинации маршрутизации — выберите то, что подходит вашей рабочей нагрузке. Опциональный автономный **набор инструментов для оценки** (`npm run eval:compression`) оценивает точность относительно экономии на закреплённом корпусе перед внедрением изменения. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Быстрый старт
**1) Установите и запустите** ```bash npm install -g omniroute omniroute ``` > 💡 Видите `npm warn ERESOLVE` или предупреждения о зависимостях peer-dep? [Они безвредны](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). Панель управления доступна по адресу `http://localhost:20128` · API — по адресу `http://localhost:20128/v1`. **2) Подключите БЕСПЛАТНОГО провайдера (без регистрации)** Панель управления → **Провайдеры** → подключите **Kiro AI** (бесплатный Claude, около 50 кредитов в месяц на аккаунт) или **OpenCode Free** (без аутентификации) → готово. **3) Настройте свой инструмент для программирования** ```txt Базовый URL: http://localhost:20128/v1 Ключ API: [скопируйте из раздела «Панель управления → Конечные точки»] Модель: auto (умная маршрутизация без настройки — либо любой провайдер/модель) ``` **4) Убедитесь, что всё работает** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Вы должны увидеть список подключённых моделей. 🎉 Вот и всё — приступайте к программированию, а OmniRoute автоматически выполнит маршрутизацию и переключится на резервный вариант при необходимости. Если ваш клиент не может отправлять пользовательские заголовки, OmniRoute также предоставляет токенизированные псевдонимы для совместимости: ```txt Каталог OpenAI: http://localhost:20128/vscode/YOUR_KEY/ Модели OpenAI: http://localhost:20128/vscode/YOUR_KEY/models Чат OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions Ответы OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses Чат Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat Теги Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Используйте их только для клиентов, которые не могут добавлять `Authorization: Bearer ...`. Аутентификация через заголовок остаётся предпочтительным способом.
## 📦 Другие способы установки — Docker, исходный код, pnpm, Arch **🐳 Docker** ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Тег `:latest` соответствует самой новой **опубликованной** стабильной версии SemVer. Он не отслеживает ветку git `main`. Для GitOps закрепляйте тег `:X.Y.Z`. См. [каналы выпусков Docker](docs/guides/DOCKER_GUIDE.md#release-channels). В образе задано значение **`OMNIROUTE_MEMORY_MB=1024`**. Этого достаточно для панели управления и непродолжительных чатов. **Агенты для программирования** (`POST /v1/responses` из Claude Code, Codex, Grok, …) требуют значительно большего объёма кучи V8, иначе при двух перекрывающихся длинных контекстах процесс завершается с `FATAL ERROR` примерно на 12 ГиБ. Выделяйте контейнеру больше памяти, чем размер кучи (нативные буферы размещаются за пределами V8): | Рабочая нагрузка | Куча (`-e OMNIROUTE_MEMORY_MB`) | Контейнер (`--memory`) | | ------------------------------------------------- | ------------------------------- | ---------------------- | | Панель управления / лёгкий чат | `1024` (по умолчанию в образе) | ≥2 ГиБ | | Один агент для программирования | `8192` | ≥10 ГиБ | | Два одновременных длинных запроса `/v1/responses` | `10240`–`12288` | ≥12–16 ГиБ | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Полная таблица: [руководство по Docker — оперативная память во время выполнения](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Канал предварительных выпусков Docker:** `diegosouzapw/omniroute:next` и > `diegosouzapw/omniroute:next-web` отслеживают текущую ветку `release/v*` > по умолчанию. Эти изменяемые теги предназначены только для тестирования ещё не выпущенных исправлений и > **не поддерживаются в рабочей среде**. См. > [каналы выпусков Docker](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** Стандартные `bun install` и глобальная установка (`bun install -g omniroute`) поддерживаются благодаря определению среды выполнения Bun: - **Встроенный `bun:sqlite`**: при запуске в Bun OmniRoute использует встроенный драйвер Bun `bun:sqlite`, а в Node.js переключается на `better-sqlite3` или `sql.js`. - **Автоматический выбор сборщика Webpack при разработке**: режим разработки (`bun run dev`) автоматически определяет Bun и отключает Turbopack в пользу Webpack, чтобы предотвратить несовместимость нативных привязок V8. Производственные сборки (`bun run build`) учитывают `OMNIROUTE_USE_TURBOPACK` точно так же, как в Node: по умолчанию используется Turbopack, а `OMNIROUTE_USE_TURBOPACK=0` включает сборку с Webpack (`Dockerfile.bun` предоставляет эту настройку как `--build-arg`). - **Специализированный Dockerfile для Bun**: многоэтапный `Dockerfile.bun` для производственных развёртываний на нативном Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Установка и запуск с Bun bun install bun run dev ``` **🛠️ Из исходного кода** ```bash cp .env.example .env && npm install PORT=20128 npm run dev ``` **📦 pnpm** ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute ``` **🐧 Arch Linux (AUR)** ```bash yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` **🔧 Nix (Flake)** ```bash # Использование flakes Nix nix develop npm run dev # Или использование devbox devbox run npm run dev ``` 📖 [Руководство по Docker](docs/guides/DOCKER_GUIDE.md) — профили Compose, HTTPS через Caddy, туннели Cloudflare. **🦭 Podman** ```bash # 1. Подготовьте каталог данных, подключаемый через bind mount mkdir -p data # 2. Только для Linux и локального rootless Podman (никогда не для удалённого клиента Podman Machine): podman unshare chown 1000:1000 ./data # 3. Задайте подсказку среды выполнения, соберите локальный образ Compose и запустите его echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` В macOS или Windows Podman использует удалённую Podman Machine: пропустите `podman unshare` и следуйте [рекомендациям по каталогу данных для вашей топологии](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Руководство по Podman](contrib/podman/README.md) — сборки Compose, Podman Machine и настройка Quadlet с Linux/systemd. **⚡ Более быстрая и компактная установка (без нативной сборки)** Нативный движок SQLite (`better-sqlite3`) является **необязательной** зависимостью, поэтому глобальная установка никогда не блокируется из-за компиляции из исходного кода: используется предварительно собранный бинарный файл, если он соответствует вашей платформе/версии Node, а в противном случае выполняется прозрачное переключение на движок на чистом JS (`node:sqlite` в Node 22+ либо встроенный WASM-модуль `sql.js`) — инструменты сборки не требуются. Чтобы полностью пропустить нативную инициализацию после установки (для CI, безголовых или медленных систем): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 также пропускает её ``` Для максимально быстрой установки рекомендуется **pnpm** (контентно-адресуемое хранилище + жёсткие ссылки — см. выше). Для безголового запуска без панели управления используйте профиль Docker `base` (см. выше) или [руководство по Termux](docs/guides/TERMUX_GUIDE.md). CLI и веб-панель обслуживаются одним и тем же процессом на одном порту, поэтому отдельного пакета только для CLI сейчас нет.
# 🎬 OmniRoute в действии
## 📹 Видеоруководства
Снимок панели на 2026-08-24 · Исходный каталог: YT 809 | TT 137 | IG 124 · Актуальность (дни): YT 1 | TT 21 | IG 22
Instagram Reel
🎬 #1 — Instagram
nick_saraev — 3,042,474 просмотров
Instagram Reel — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 просмотров
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 просмотров
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 просмотров
Instagram Reel — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 просмотров
**Полный рейтинг (дедуплицированные канонические URL, `v > 0`, максимальный охват):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Канонические метрики на 2026-08-24: **1.029 уникальных видео** · **11.132.922 известных просмотров** (`v > 0`) · **639 каналов/профилей по сетям**. Исходная панель содержит 1.070 строк; 41 дубликат из Instagram был нормализован по каноническому URL с сохранением наибольшего количества просмотров для каждого видео. > 🎬 **Сняли видео об OmniRoute?** Создайте [задачу](https://github.com/diegosouzapw/OmniRoute/issues/new) или начните [обсуждение](https://github.com/diegosouzapw/OmniRoute/discussions), указав ссылку, — и мы добавим его сюда.
# 📧 Сообщество и помощь > Всё в одном месте — подпишитесь на сопровождающего проекта, общайтесь с сообществом или создайте задачу. | Канал | Где / как | | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — подписаться на автора | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — релизы и советы | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Весь мир** | [присоединиться к группе](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Бразилия** | [присоединиться к группе](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Веб-сайт** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍Сообщество StHub OmniRoute (бесплатно)** | [портал StHub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Исходный код** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Сообщить об ошибке** | [создать issue](https://github.com/diegosouzapw/OmniRoute/issues) — приложите вывод `npm run system-info` | | 🤝 **Внести вклад** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Модель ветвления и релизов](docs/ops/BRANCHING_MODEL.md) · выберите `good first issue` | | 💚 **Поддержать проект** | [Способы поддержки ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Технологический стек
УровеньТехнология
Среда выполненияNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
ЯзыкTypeScript 6.0 — 100% TypeScript в src/ и open-sse/ (ноль any в ядре с версии v2.0)
ФреймворкNext.js 16 + React 19 + Tailwind CSS 4
База данныхbetter-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 122 доменных модуля, 183 миграции
Памятьполнотекстовый поиск SQLite FTS5 + int8-квантованные векторные вложения, типизированный распад
СхемыZod 4 — валидация ввода/вывода инструмента MCP + контракты API
ПротоколыMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
Потоковая передачаServer-Sent Events (SSE) + мост WebSocket (/v1/ws)
Сжатиеконвейер из 12 движков — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Аутентификация и безопасностьOAuth 2.0 (PKCE) + JWT + API Keys + авторизация MCP по областям · AES-256-GCM в состоянии покоя · DOMPurify
Скрытностьwreq-js — подмена отпечатков JA3 / JA4 TLS, 3-уровневый прокси
Устойчивостьавтоматический выключатель, экспоненциальная задержка, защита от эффекта «громовой толпы», автокомбинированное самовосстановление
Логированиеpino — структурированные JSON-логи с контекстом запроса
ТестированиеNode.js test runner + Vitest — 39,000+ статических объявлений тестов в более чем 5,100 отслеживаемых тестовых файлах (модульные, интеграционные, E2E, безопасность, экосистема)
ПлатформыДесктоп (Electron) · Android (Termux) · PWA (любой браузер)
CI/CDGitHub Actions — автоматическая публикация npm + Docker Hub при релизе
СсылкиВеб-сайт · npm · Docker Hub

## 📖 Документация
### 📘 Начало работы
ДокументОписание
Руководство пользователяПровайдеры, комбинации, интеграция с CLI, развёртывание
Руководство по настройкеВсе способы установки, конфигурации инструментов CLI, настройка протоколов, оптимизация тайм-аутов
Руководство по инструментам CLIНастройка отдельных инструментов: Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot
Удалённый режимУправление удалённым OmniRoute (VPS) из CLI на ноутбуке с помощью токенов доступа с ограниченной областью действия
Конфигурация Claude CodeПодключение Claude Code к OmniRoute (локальному или удалённому) с помощью launch и отдельных профилей для моделей
Быстрый старт3 шага: установка → подключение → настройка
### 🔧 Эксплуатация и развёртывание
ДокументОписание
Руководство по DockerDocker run, профили Compose, Caddy HTTPS, туннели, теги образов
Руководство по PodmanИнтеграция Quadlet с systemd, podman-compose, SELinux
Развёртывание на виртуальной машинеПолное руководство: настройка виртуальной машины, nginx и Cloudflare
Развёртывание на Fly.ioРазвёртывание на Fly.io с постоянным хранилищем
Руководство по TermuxЗапуск OmniRoute на Android через Termux
Руководство по PWAУстановка прогрессивного веб-приложения, кэширование, архитектура
Руководство по удалениюПолное удаление для всех способов установки
Конфигурация окруженияПолный список переменных .env и справочные сведения
### 🧠 Возможности и архитектура
ДокументОписание
АрхитектураАрхитектура системы, поток данных и внутреннее устройство
Руководство по сжатиюКонвейер с 7 вариантами: выключено / облегчённое / стандартное / агрессивное / ультра / RTK / составное
Сжатие RTKСжатие вывода команд, фильтры, доверие, проверка, восстановление необработанного вывода
Механизмы сжатияCaveman, RTK, составные конвейеры, интерфейсы панели управления/API/MCP
Формат правил сжатияСхемы пакетов правил JSON для фильтров Caveman и RTK
Языковые пакеты сжатияОпределение языка и создание пакетов правил Caveman
Руководство по отказоустойчивостиАвтоматические выключатели, периоды ожидания, очередь, защита от лавинообразной нагрузки, подмена TLS
Механизм Auto-ComboОценка по 16 факторам, пакеты режимов, самовосстановление
Руководство по проксиТрёхуровневая система прокси, торговая площадка 1proxy, CRUD-операции с реестром
Бесплатные уровниСводный каталог: 35 документированных возобновляемых пулов / 489 каталогизированных предложений бесплатного уровня
Галерея возможностейВизуальный обзор панели управления со снимками экрана
Документация кодовой базыПонятный для начинающих обзор кодовой базы
### 🤖 Протоколы и API
ДокументОписание
Справочник APIВсе конечные точки с примерами
Спецификация OpenAPIСпецификация OpenAPI 3.0
Сервер MCP110 инструментов MCP, конфигурации IDE, клиенты Python/TS/Go
Руководство по серверу MCPУстановка MCP, транспорты и справочник инструментов
Сервер A2AПротокол JSON-RPC 2.0, навыки, потоковая передача, управление задачами
Руководство по серверу A2AКарточка агента A2A, задачи, навыки и потоковая передача
### 📋 Проект и качество
ДокументОписание
Участие в разработкеНастройка среды разработки и рекомендации
Модель ветвления и выпусковНа какие ветки нацелены PR (release/*) и что означают main и теги
Журнал измененийПолная история выпусков по версиям
Политика безопасностиСообщение об уязвимостях и методы обеспечения безопасности
Руководство по i18nПоддержка 42 языков, процесс перевода, RTL
Контрольный список выпускаЭтапы проверки перед выпуском
План покрытияСтратегия тестового покрытия для более чем 39 000 статических объявлений тестов в более чем 5 100 отслеживаемых файлах тестов

# ⭐ Ведущие участники > OmniRoute развивается благодаря увлечённому сообществу открытого исходного кода. Эти люди внесли выдающийся вклад, непосредственно повлиявший на качество, стабильность и охват проекта. **Спасибо.** ### Внешние участники по количеству объединённых pull request
МестоУчастникОбъединённые PR~Изменённых строк
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Данные зафиксированы на актуальной вершине release/v3.8.50 — dafb4ae808, с учётом слияний по 2026-08-24 05:26:03 UTC. Постраничная статистика GitHub GraphQL включает 5 911 объединённых PR: 2 707 от владельца репозитория, 179 от Dependabot и 3 025 внешних PR от 535 различных участников. «Изменённые строки» — это сумма добавлений и удалений по данным GitHub, включая сгенерированные файлы, файлы блокировки, каталоги, переводы и документацию; это объём изменений, а не количество написанных строк кода. Участники с одинаковыми показателями на границе списка сохранены. ### Коммиты, атрибутированные GitHub
backryun
backryun

🥇 220 коммитов, учтённых GitHub
Paijo
Paijo

🥈 219 коммитов, учтённых GitHub
Randi
Randi

🥉 108 коммитов, учтённых GitHub
Ravi Tharuma
Ravi Tharuma

🏅 81 коммит, учтённый GitHub
Chris
Chris

🏅 70 коммитов, учтённых GitHub
Markus Hartung
Markus Hartung

🏅 69 коммитов, учтённых GitHub · делит 6-е место
Dizzle
Dizzle

🏅 69 коммитов, учтённых GitHub · делит 6-е место
Jan Leon
Jan Leon

🏅 64 коммита, учтённых GitHub
zenobit
zenobit

🏅 62 коммита, учтённых GitHub
Bob.Hou
Bob.Hou

🏅 51 коммит, учтённый GitHub · делит 10-е место
Xiangzhe
Xiangzhe

🏅 51 коммит, учтённый GitHub · делит 10-е место
Повторно проверено 2026-08-24 06:14:31 UTC: коммиты, учтённые GitHub и представленные API участников репозитория для ветки release/v3.8.50, используемой по умолчанию. API вернул 525 идентификаторов (415 пользователей, 2 бота и 108 анонимных участников); из этой таблицы исключены сопровождающий проекта, боты и анонимные участники, а одинаковые места сохранены. Этот рейтинг отличается как от приведённого выше рейтинга по объединённым PR, так и от приведённой ниже переписи 639 участников на основе метаданных Git. > 🙏 Функции, исправления ошибок и улучшения инфраструктуры, созданные этими участниками, — **неотъемлемая часть** того, что делает OmniRoute надёжным и многофункциональным. Каждый запрос на включение изменений, каждый тестовый сценарий и каждый файл перевода i18n имеют значение. Открытый исходный код создаётся такими людьми, как они.
---
## 💖 Спонсоры
Огромное спасибо людям, которые финансируют OmniRoute из собственного кармана — каждый вклад помогает проекту оставаться бесплатным, независимым и продолжать развиваться.
Andrew
Andrew

💛 Активный ежемесячный спонсор
Vlad I
Vlad I

💛 Активный ежемесячный спонсор
Paco Cartones
Paco Cartones

💛 Активный разовый спонсор
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Разовый спонсор в прошлом
longtao
longtao

💛 Разовый спонсор в прошлом
… и другие, предпочитающие сохранять конфиденциальность 💛 Публичные спонсоры GitHub были повторно проверены 2026-08-24. Статус GitHub activeOnly определяет указанные выше активные категории; мы по-прежнему благодарим ранее объявленных публичных разовых спонсоров, а частные спонсоры остаются анонимными. 💖 Стать спонсором → — каждый доллар помогает OmniRoute оставаться бесплатным и независимым.

## 👥 Более 600 участников
[![Участники](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Аудит проведён 2026-08-24 на зафиксированной базе ac02c5b42f, а повторная проверка — на актуальной вершине release/v3.8.50 dafb4ae808: 639 нормализованных Git-идентификаторов людей — 407 указаны как авторы коммитов (включая сопровождающего проекта), а 232 встречаются только в явных трейлерах Co-authored-by. При подсчёте нормализуются идентификаторы GitHub noreply, исключаются 26 идентификаторов ботов, агентов, сервисов и заполнителей, а обычные адреса электронной почты не объединяются только на основании совпадения отображаемых имён. ### Как внести вклад 1. Создайте форк репозитория 2. Создайте ветку от вершины **активной** ветки `release/vX.Y.Z` (не от `main`) — см. [Модель ветвления и выпуска](docs/ops/BRANCHING_MODEL.md) 3. Создайте ветку для своей функциональности (`git checkout -b feat/amazing-feature`) 4. Зафиксируйте изменения (`git commit -m 'feat: add amazing feature'`) 5. Отправьте изменения в ветку (`git push origin feat/amazing-feature`) 6. Откройте Pull Request, указав **base = эта ветка `release/vX.Y.Z`** Подробные рекомендации см. в [CONTRIBUTING.md](CONTRIBUTING.md). ### Выпуск новой версии ```bash # Создайте релиз — публикация в npm произойдёт автоматически VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Звёзды График истории звёзд
## 🌍 StarMapper StarMapper

## 🙏 Благодарности
OmniRoute стоит на плечах гигантов. Он начинался как форк **[9router](https://github.com/decolua/9router)** и порт проекта **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** с Go на TypeScript, а затем каждая из перечисленных ниже подсистем создавалась под влиянием проекта с открытым исходным кодом, который уже реализовал подобную идею. Каждый из них сформировал определённую часть OmniRoute. Так мы выражаем им всем свою благодарность. 🙏 > ⭐ количество звёзд проверено через REST API GitHub 24 августа 2026 года — поставьте звезду этим проектам. Указанные значения являются точным снимком на эту дату и со временем, естественно, изменятся. ### 🧬 Происхождение и шлюз
Проект⭐Как он повлиял на OmniRoute
9router26,161Исходный проект, на основе которого создан этот форк, — здесь он расширен мультимодальными API и полностью переписан на TypeScript.
CLIProxyAPI48,497Реализация на Go, вдохновившая на создание этого порта на JavaScript / TypeScript.
LiteLLM57,100Шлюз ИИ, чей общедоступный набор данных о ценах используется для синхронизации отслеживания наших затрат, а модель нормализации провайдеров легла в основу нашей маршрутизации.
codex-chatgpt-web1,410Исходный код под лицензией MIT, адаптированный во встроенный мост ChatGPT Web → Codex Responses, включая адаптеры браузерных сеансов, фрейминга ответов, учёта использования и веб-поиска.
free-claude-code48,112Шаблоны, перенесённые в восстановление потоков, псевдонимы без рассуждений, резервный веб-поиск, ограничения скользящего окна, редактирование журналов и усиленные процессы запуска.
composer-api322Шаблоны Cursor Composer для выбора инструментов, ограничений вывода и фиксации инструментов, адаптированные для нативного исполнителя Cursor.
codex-multi-auth457Шаблоны нового входа и ротации токенов обновления, перенесённые в повторную аутентификацию Codex OAuth.
opencode-anthropic-auth510Совместимые с Claude Code стандартные преобразования и поведение заголовков биллинга, обобщённые в управляемом конфигурацией мосте OmniRoute.
grok2api-merged2Его сопоставления моделей Grok, генератор Statsig с имитацией TypeError, стандартные параметры запросов и устройств, а также обработчик ответов NDJSON были существенно адаптированы для исполнителя Grok Web в OmniRoute.
TQZHR/grok2api705Основной транзитивный источник кода для grok2api-merged; его реализации моделей, заголовков, полезных нагрузок, Statsig и обработчиков сохранены в цепочке происхождения Grok Web.
chenyme/grok2api7,520Базовый исходный код под лицензией MIT для полезной нагрузки Grok и стандартных параметров устройств, генератора Statsig и обработчика result.response, унаследованных через TQZHR и grok2api-merged.
grok2api-pro27Транзитивный источник, указанный grok2api-merged для слоя пула прокси; OmniRoute сохраняет упоминание об этом происхождении, но не заявляет о переносе пула прокси в свой ограниченный исполнитель Grok Web.
GrokProxy50Его прокси Grok с аутентификацией по cookie и шаблон потоковой передачи result.response.token повлияли на транспорт Grok Web в OmniRoute.
GrokBridge5При создании исходной реализации Grok Web учитывалась его архитектура вышестоящего HTTP/браузерного взаимодействия; прямой HTTP-путь основан на GrokProxy, поэтому о независимом переносе кода не заявляется.
grok-web-api14Его схемы Rust ChatOptions и конвертов ответов легли в основу типов запросов Grok и потоковых ответов на TypeScript в OmniRoute.
### 🗜️ Сжатие контекста и токенов — движки
Проект⭐Как он вдохновил OmniRoute
Caveman100,538Вирусный проект «зачем много токен, если мало токен делать дело» — его философия пещерной речи лежит в основе нашего стандартного режима сжатия и более 30 правил удаления слов-паразитов и уплотнения текста.
RTK – Rust Token Killer77,185Высокопроизводительное сжатие вывода команд — вдохновило нас на создание движка RTK, DSL для фильтрации JSON, восстановление необработанного вывода и составной конвейер RTK → Caveman.
headroom67,310Обратимое сжатие контекста (SmartCrusher) — вдохновило нас на создание движка headroom и шаблона маркера извлечения ccr.
LLMLingua6,598Исследования по сжатию промптов (LLMLingua / LLMLingua-2) — вдохновили нас на создание асинхронного, безопасного для кода и отказоустойчивого движка llmlingua.
llmlingua-2-js31Порт на JS/ONNX (MobileBERT / XLM-RoBERTa), используемый как бэкенд на основе рабочего потока для нашего движка LLMLingua.
Troglodita40Сжатие токенов для PT-BR — лежит в основе нашего языкового пакета pt-BR: сокращение плеоназмов и удаление слов-паразитов с учётом грамматики бразильского варианта португальского языка.
ponytail108,957Вирусный навык YAGNI-программиста в стиле «ленивого сеньора» — вдохновил нас на создание стиля вывода less-code: ориентации на минимальные работающие изменения, которая сокращает _генерируемый_ код (аналог лаконичной прозы Caveman для оси вывода).
i-have-adhd23,526Его ориентированный на действия и удобный для людей с СДВГ стиль ответов был адаптирован в лаконичный стиль вывода OmniRoute на пяти языках.
### 🧩 Компактные форматы, исследования токенов и инструменты с учётом кода
Проект⭐Как он вдохновил OmniRoute
TOON25,233Токен-ориентированная объектная нотация — её колоночная модель с заголовком и строками определила структуру нашего этапа табличного уплотнения.
GCF – Graph Compact Format41Его компактный формат графов и универсальная архитектура профилей повлияли на табличное уплотнение OmniRoute и формат кодека Headroom.
gcf-typescript4Реализация на TypeScript под лицензией MIT, непосредственно встроенная и расширенная в качестве кодека универсального профиля Headroom.
token-optimizer-mcp494Кэш Brotli/SQLite и дельта контекста для каждого сеанса — вдохновили нас на создание движка session-dedup.
token-savior1,122Уплотнение вывода Bash и профили MCP — вдохновили наш принцип отказа от неэффективного сжатия и сокращение манифестов инструментов MCP.
token-saver138Учитывающее содержимое сжатие вывода для каждого типа файлов с отказом при неудаче — подтвердило правильность нашей маршрутизации по типам и пропуска при недостаточном выигрыше.
token-optimizer1,951«Найдите токены-призраки» — его схема выгрузки с восстанавливаемыми дескрипторами повлияла на наш подход к выгрузке CCR.
TokenMizer28Архитектура графа сеанса и межрепликовой дедупликации строк, повлиявшая на структуру нашего механизма session-dedup.
OmniCompress3Колоночный JSON на Rust, адресуемое по содержимому извлечение и межсообщенческая дедупликация — подтвердили правильность архитектуры наших движков headroom/ccr/session-dedup и стабильного для кэша инварианта «сжатая форма не зависит от позиции».
mcp-compressor113Сжатие схем и описаний инструментов MCP — повлияло на наш подход к сокращению количества элементов в манифестах инструментов MCP.
RepoMapper197Ранжирование карт репозитория в стиле Aider — повлияло на наши исследования карт репозиториев и ранжирования результатов извлечения.
quiet-shell-mcp4Декларативное сокращение вывода командной оболочки через MCP — подтвердило правильность нашего декларативного уплотнения вывода Bash.
ts-morph6,162Инструментарий TypeScript Compiler API — вдохновил нас на удаление комментариев на основе парсера с сохранением строковых, шаблонных и литералов регулярных выражений.
### 🧠 Память и RAG
Проект⭐Как он вдохновил OmniRoute
Mem063,902Универсальный слой памяти — его модель прокси как границы записи и чтения сформировала нашу архитектуру памяти.
Letta (MemGPT)24,382Агенты с сохранением состояния и многоуровневой памятью — они вдохновили нашу многоуровневую модель управления контекстом и восстановления (CCR).
WFGY1,781Таксономия ProblemMap, включающая 16 повторяющихся режимов отказа RAG/LLM, — общий словарь терминов в нашем руководстве по устранению неполадок.
### 🛰️ Анализ трафика, MITM и прозрачный прокси
Проект⭐Как он вдохновил OmniRoute
llm-interceptor66MITM-перехват и анализ трафика между ассистентом для программирования и LLM повлияли на ранние требования к Traffic Inspector. Четыре ранее заимствованных модуля — объединение SSE, нормализация диалогов, маскирование секретов и очистка заголовков — были заменены независимыми реализациями, созданными с нуля на основе общедоступных стандартов протоколов. Два компонента сквозной передачи на уровне хоста (passthrough.ts и _internal/bypass.cjs) остаются внутренними реализациями OmniRoute, классифицированными независимо; они не переписывались в рамках этой замены.
ProxyBridge5,995Прозрачная маршрутизация через прокси для отдельных процессов — она вдохновила нашу отказоустойчивую деинициализацию MITM, тайм-ауты бездействия сокетов, атрибуцию процессов через /proc и перехват TPROXY.
### 📚 Данные о моделях, наблюдаемость и пользовательский интерфейс
Проект⭐Как он вдохновил OmniRoute
models.dev6,555Открытая база данных со спецификациями, ценами и возможностями моделей ИИ — она напрямую синхронизируется с нашим каталогом моделей.
React Flow / xyflow38,108Библиотека узловых графов, на которой работают наши Compression Studio и Combo/Routing Studio в реальном времени.
LangGraph40,314Визуализация графа рабочих процессов в реальном времени из LangGraph Studio вдохновила аналогичное каскадное представление в наших студиях.
Langfuse33,592Его модель наблюдаемости «трассировка → интервал → генерация» сформировала каскадное представление в нашем Compression Studio.
Kiali3,631Наблюдаемость сервисной сетки Istio — она вдохновила значки автоматического выключателя и визуализацию рёбер с ошибками в Routing/Combo Studio.
lobe-icons2,428Логотипы брендов ИИ/LLM, используемые для отображения значков поставщиков на нашей панели управления.
flag-icons12,354Предоставляет SVG-флаги по лицензии MIT, используемые в селекторе языка README.
### 🛡️ Безопасность
Проект⭐Как он вдохновил OmniRoute
awesome-secure-defaults721Тщательно подобранный список библиотек с безопасными настройками по умолчанию, которым мы руководствуемся при выборе средств безопасности (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Дополняющие инструменты
Проект⭐Как он вдохновил OmniRoute
ClawRouter6,564Вдохновил дедупликацию запросов, аварийный бесплатный резервный вариант, подключаемые стратегии Auto-Combo и многоязычную классификацию намерений.
Antigravity-Manager30,652Его переназначение моделей с учётом учётных записей, проверка путей к исполняемым файлам и логика меток тарифных планов повлияли на среду выполнения Antigravity в OmniRoute.
vscode-antigravity-cockpit4,817Его компактный формат обратного отсчёта до сброса квоты вдохновил соответствующее отображение лимитов поставщиков в OmniRoute.
AionUi32,230Его интеграции ACP вдохновили автоматическое обнаружение установленных CLI-агентов в OmniRoute.
CodexBar20,507Выявил интерфейс квот Grok Build; затем OmniRoute независимо проверил и исправил фактический формат передаваемых данных.
## 📄 Лицензия Лицензия MIT — подробности см. в файле [LICENSE](LICENSE). ---
**[⬆ Вернуться наверх](#-omniroute)** · Создано с ❤️ для сообщества разработчиков ИИ с открытым исходным кодом. OmniRoute v3.8.51 · Node ≥22.22.2 · Лицензия MIT · omniroute.online