# 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) · 🇷🇺 [ru](../ru/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) · 🇵🇰 [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

# 🚀 OmniRoute — Безкоштовний ШІ-шлюз OmniRoute — Ніколи не припиняйте кодувати. Кожен ШІ-інструмент → 358 провайдерів — 150+ безкоштовних — через одну кінцеву точку. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity у БЕЗКОШТОВНІ Claude / GPT / Gemini з автоматичним резервуванням. Багаторівневе стиснення RTK + Caveman заощаджує 15–95% токенів (у середньому ~89%) — ніколи не досягайте лімітів. 358 ШІ-провайдерів · 150+ безкоштовних рівнів · ~1.62 млрд безкоштовних токенів/міс · 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 🏆 Що вирізняє 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 stealth, інструменти MCP 110, A2A, пам'ять, захисні механізми, оцінки та 39 000+ статичних тестових декларацій у 5 100+ відстежуваних тестових файлах.

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

## 🤝 За підтримки наших друзів з відкритим кодом

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **Хочете приєднатися як друг відкритого коду?** Це компанії, які підтримують відкритий код і допомагають OmniRoute розвиватися — і ми публічно повідомляємо, куди йде кожен токен, який вони нам надають. Зв'яжіться з нами: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Засновник-друг відкритого коду
Дякуємо Kimi (Moonshot AI), нашому засновнику-другу відкритого коду, за підтримку цього проекту! Kimi — це лабораторія ШІ, що стоїть за відкритими моделями K2 та K3 — Kimi K3 забезпечує контекстне вікно на 1 мільйон токенів, нативне бачення та кодування на передовому рівні за частку ціни закритих моделей, і працює "з коробки" з Claude Code, Codex та всіма інструментами кодування, які підтримує OmniRoute.

Що підтримує Kimi: Кредити API Kimi забезпечують конвеєр випуску OmniRoute, перевірений ШІ — етап перевірки злиття за допомогою Kimi K3, який перевіряє кожен запит на злиття перед його відправкою — а також щоденну розробку функцій. Першокласна підтримка Kimi доступна на обох шляхах: прямий Kimi API (kimi-k3) та план кодування Kimi Code (OAuth та ключ API). OmniRoute також є першим бразильським проектом з відкритим кодом у програмі підтримки Kimi. Отримайте ключ API Kimi з 15% додаткових кредитів →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Друг відкритого коду
Дякуємо Cheaper Inference, другу відкритого коду 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 →
Посилання, позначені aff=omniroute, є партнерськими. Вони фінансують проект без додаткових витрат для вас.
🎟️ Партнерська акція — безкоштовні купони на реєстрацію від провайдерів, яких ми не спонсоруємо (натисніть, щоб розгорнути) Цей розділ призначений лише для реферальних/купонних кодів. Спонсорські партнерства знаходяться вище в розділі 🤝 За підтримки наших друзів з відкритим кодом. 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 створить віртуальне комбо з підключених постачальників, оцінюючи їх у реальному часі:
Ідентифікатор моделіЩо оптимізує
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×, скидається через 60s/30s/15s із переходом до проби в стані HALF-OPEN, відкладене відновлення; у стані OPEN комбінація перенаправляє запити до наступного провайдера. Рівень 2: період очікування для з’єднання (один ключ/обліковий запис): базовий час — 5s для OAuth / 3s для API-ключа, експоненційна затримка ×2 із захистом від лавиноподібних одночасних запитів, для 429 враховується Retry-After, успішний запит очищає весь стан помилок; ключ у періоді очікування пропускається, тоді як інші ключі продовжують обслуговувати запити. Рівень 3: блокування моделі (одна модель): 429 для окремої моделі, локальна помилка 404 або відмови через режим блокують лише цю модель — але ніколи не все з’єднання. Кінцеві стани (заблоковано, термін дії минув, кредити вичерпано) призначені для оператора, а не для періодів очікування. 📖 [Рушій Auto-Combo](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, постійна пам'ять, захисні механізми (guardrails), хмарні агенти, приховування 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-код PIX для підтримки OmniRoute Ключ (випадковий): `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 Radar Основний показник безкоштовного рівня залишається на рівні **~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 у картці агента та панель дашборда з голосовим чатом Faro у режимі «натисни й говори». → [Сервер 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, які ігнорують змінні середовища проксі, за допомогою окремого CA для кожного 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` — і **кожне** середовище AI IDE або 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 моделей
10 тис. нейронів на день
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM безкоштовно
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1 млн токенів на день
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)
Анімована демонстрація OmniRoute CLI в терміналі — 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Семантичне відсікання за допомогою ML через 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, усуває першопричину, створює найменшу працездатну різницю. - **У мене РДУГ (спочатку дія)** — починає з наступної дії, нумерує кроки, наводить один конкретний наступний крок, без вступу. - **Лаконічна 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` або попередження про залежності? [Вони нешкідливі](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 # Використання Nix flakes nix develop npm run dev # Або використання devbox devbox run npm run dev ``` 📖 [Посібник із Docker](docs/guides/DOCKER_GUIDE.md) — профілі Compose, Caddy HTTPS, тунелі 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?** Відкрийте [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) або [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) із посиланням — і ми додамо його сюди.
# 📧 Спільнота й допомога > Усе в одному місці — стежте за супроводжувачем, спілкуйтеся зі спільнотою або відкрийте issue. | Канал | Де / як | | ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | 💼 **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) | | 🐛 **Повідомити про помилку** | [створити звернення](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](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 + авторизація MCP за областю дії · AES-256-GCM у стані спокою · DOMPurify
Невидимістьwreq-js — імітація відбитка TLS JA3 / JA4, 3-рівневий проксі
СтійкістьАвтоматичний вимикач, експоненційна затримка, захист від ефекту «стада», автоматичне комбіноване самовідновлення
Ведення журналівpino — структуровані JSON-журнали з контекстом запиту
ТестуванняNode.js test runner + Vitest — 39,000+ статичних оголошень тестів у 5,100+ відстежуваних тестових файлах (модульне, інтеграційне, наскрізне, безпеки, екосистеми)
ПлатформиДесктоп (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
Розгортання на VMПовний посібник: налаштування VM + 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 розвивається завдяки натхненній спільноті відкритого коду. Ці люди зробили винятковий внесок, який безпосередньо впливає на якість, стабільність і поширення проєкту. **Дякуємо.** ### Зовнішні учасники за кількістю об’єднаних запитів на злиття
МісцеУчасникОб’єднані 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 надійним і функціонально насиченим. Кожен pull request, кожен тестовий сценарій і кожен файл перекладу 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. Статус activeOnly у GitHub визначає наведені вище позначки активності; раніше оприлюдненим публічним одноразовим благодійникам ми й надалі дякуємо, а приватні спонсори залишаються анонімними. 💖 Стати спонсором → — кожен долар допомагає 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 та повторно перевірено на актуальній вершині dafb4ae808 гілки release/v3.8.50: 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. Відкрийте запит на злиття, указавши **base = відповідна гілка `release/vX.Y.Z`** Докладні настанови див. у [CONTRIBUTING.md](CONTRIBUTING.md). ### Випуск нової версії ```bash # Створіть випуск — npm publish виконається автоматично VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Зірки Графік історії зірок
## 🌍 StarMapper StarMapper

## 🙏 Подяки
OmniRoute стоїть на плечах гігантів. Він розпочався як форк **[9router](https://github.com/decolua/9router)** і TypeScript-порт проєкту **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**, написаного мовою Go, — а відтоді кожна наведена нижче підсистема надихалася проєктом із відкритим кодом, який реалізував її раніше. Кожен із них сформував конкретну частину 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 спиралася на його дизайн взаємодії з upstream через 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 — надихнув нас на видалення коментарів за допомогою парсера зі збереженням рядкових, шаблонних і regex-літералів.
### 🧠 Пам’ять і RAG
Проєкт⭐Як він надихнув OmniRoute
Mem063,902Універсальний шар пам’яті — його модель проксі як межі запису/читання сформувала нашу архітектуру пам’яті.
Letta (MemGPT)24,382Агенти зі збереженням стану та багаторівневою пам’яттю — надихнули нашу багаторівневу модель керування контекстом і відновлення (CCR).
WFGY1,781Таксономія ProblemMap із 16 повторюваних режимів відмов RAG/LLM — спільна термінологія в нашому посібнику з усунення несправностей.
### 🛰️ Перевірка трафіку, MITM і прозорий проксі
Проєкт⭐Як він надихнув OmniRoute
llm-interceptor66MITM-перехоплення й аналіз трафіку між асистентом із написання коду та LLM вплинули на початкові вимоги до інспектора трафіку. Чотири раніше похідні модулі — об’єднання SSE, нормалізація розмов, маскування секретів і санітизація заголовків — було замінено незалежними реалізаціями, створеними з нуля на основі загальнодоступних стандартів протоколів. Дві поверхні наскрізного передавання хоста (passthrough.ts і _internal/bypass.cjs) залишаються внутрішніми реалізаціями OmniRoute, класифікованими незалежно; їх не переписували в межах цієї заміни.
ProxyBridge5,995Прозора маршрутизація через проксі для кожного процесу — надихнула нас на стійке до збоїв завершення роботи MITM, тайм-аути бездіяльності сокетів, визначення належності процесів через /proc і перехоплення TPROXY.
### 📚 Дані моделей, спостережуваність та інтерфейс
Проєкт⭐Як він надихнув OmniRoute
models.dev6,555Відкрита база даних специфікацій, цін і можливостей моделей ШІ — синхронізується безпосередньо з нашим каталогом моделей.
React Flow / xyflow38,108Бібліотека вузлових графів, на якій працюють наші студії стиснення та комбінування/маршрутизації в реальному часі.
LangGraph40,314Візуалізація графа робочого процесу в реальному часі у LangGraph Studio надихнула на створення каскадного подання в реальному часі в наших студіях.
Langfuse33,592Її модель спостережуваності «трасування → проміжок → генерація» сформувала каскадне подання в нашій студії стиснення.
Kiali3,631Спостережуваність сервісної сітки Istio — надихнула на створення значків автоматичних вимикачів і візуалізації ребер із помилками в студії маршрутизації/комбінування.
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 надихнули на створення в OmniRoute автоматичного виявлення встановлених CLI-агентів.
CodexBar20,507Виявив інтерфейс квоти Grok Build; після цього OmniRoute незалежно перевірив і виправив актуальний формат передавання даних.
## 📄 Ліцензія Ліцензія MIT — подробиці див. у файлі [LICENSE](LICENSE). ---
**[⬆ Повернутися нагору](#-omniroute)** · Створено з ❤️ для спільноти ШІ з відкритим кодом. OmniRoute v3.8.51 · Node ≥22.22.2 · Ліцензія MIT · omniroute.online