160 KiB
🚀 OmniRoute — The Free AI Gateway (Български)
🌐 Languages: 🇺🇸 English · 🇪🇸 es · 🇫🇷 fr · 🇩🇪 de · 🇮🇹 it · 🇷🇺 ru · 🇨🇳 zh-CN · 🇯🇵 ja · 🇰🇷 ko · 🇸🇦 ar · 🇮🇳 hi · 🇮🇳 in · 🇹🇭 th · 🇻🇳 vi · 🇮🇩 id · 🇲🇾 ms · 🇳🇱 nl · 🇵🇱 pl · 🇸🇪 sv · 🇳🇴 no · 🇩🇰 da · 🇫🇮 fi · 🇵🇹 pt · 🇷🇴 ro · 🇭🇺 hu · 🇧🇬 bg · 🇸🇰 sk · 🇺🇦 uk-UA · 🇮🇱 he · 🇵🇭 phi · 🇧🇷 pt-BR · 🇨🇿 cs · 🇹🇷 tr
Never stop coding. Smart routing to FREE & low-cost AI models with automatic fallback.
Вашият универсален API прокси — една крайна точка, 60+ доставчици, нулев престой. Сега сMCP сървър (25 инструмента),A2A протокол,Системи за памет/уменияиElectron Desktop App.
Завършвания на чат • Вграждания • Генериране на изображения • Видео • Музика • Аудио • Прекласиране •Уеб търсене• MCP сървър • A2A протокол • 100% TypeScript---
🌐 Уебсайт • [🚀 Бърз старт](#-бърз старт) • 💡 Функции • 📖 Документи • [💰 Ценообразуване](#-ценообразуване с един поглед) • 💬 WhatsApp
🌐Налично на:🇺🇸 английски | 🇧🇷 Португалски (Бразилия) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 италиански | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Нидерландия | 🇳🇴 Norsk | 🇵🇹 Português (Португалия) | 🇷🇴 Română | 🇵🇱 Полски | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 филипински | 🇨🇿 Чещина---
🖼️ Main Dashboard
📸 Dashboard Preview
<подробности>
| Страница | Екранна снимка | |
|---|---|---|
| Доставчици | ![]() |
|
| Комбота | ![]() |
|
| Анализ | ![]() |
|
| Здраве | ![]() |
|
| Преводач | ![]() |
|
| Настройки | ![]() |
|
| CLI инструменти | ![]() |
|
| Дневници за използване | ![]() |
|
| Крайни точки | ![]() |
🤖 Free AI Provider for your favorite coding agents
Свържете всеки базиран на AI IDE или CLI инструмент чрез OmniRoute — безплатен API шлюз за неограничено кодиране.
<таблица>
OpenClaw
⭐ 205K
NanoBot
⭐ 20,9K
PicoClaw
⭐ 14,6K
ZeroClaw
⭐ 9,9K
Железен нокът
⭐ 2,1K
OpenCode
⭐ 106K
Codex CLI
⭐ 60,8K
Клод Код
⭐ 67,3K
Gemini CLI
⭐ 94,7K
Код на килограм
⭐ 15,5K
📡 Всички агенти се свързват чрез http://localhost:20128/v1 или http://cloud.omniroute.online/v1 — една конфигурация, неограничени модели и квота---
🤔 Why OmniRoute?
Спрете да пилеете пари и да достигате лимити:
Абонаментната квота изтича неизползвана всеки месец
Ограниченията на скоростта ви спират да кодирате по средата
Скъпи API ($20-50/месец на доставчик)
Ръчно превключване между доставчици
OmniRoute решава това:
- ✅Увеличете максимално абонаментите- Проследете квотата, използвайте всеки бит преди нулиране
- ✅Автоматичен резервен режим- Абонамент → API ключ → Евтини → Безплатно, нулев престой
- ✅Множество акаунти- Кръгови сметки между акаунти на доставчик
- ✅Универсален- Работи с Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, всеки CLI инструмент---
📧 Support
💬Присъединете се към нашата общност!WhatsApp Group — Получавайте помощ, споделяйте съвети и бъдете в течение.
-Уебсайт: omniroute.online -GitHub: github.com/diegosouzapw/OmniRoute -Проблеми: github.com/diegosouzapw/OmniRoute/issues -WhatsApp: Група на общността -Принос: Вижте CONTRIBUTING.md, отворете PR или изберете „добър първи брой“ -Оригинален проект: 9router от decolua### 🐛 Reporting a Bug?
Когато отваряте проблем, моля, изпълнете командата system-info и прикачете генерирания файл:```bash npm run system-info
Това генерира `system-info.txt` с вашата версия на Node.js, версия на OmniRoute, подробности за операционната система, инсталирани CLI инструменти (qoder, gemini, claude, codex, antigravity, droid и т.н.), състояние на Docker/PM2 и системни пакети – всичко, от което се нуждаем, за да възпроизведем бързо проблема ви. Прикачете файла директно към вашия проблем с GitHub.---
## 🔄 How It Works
┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ • Format translation (OpenAI ↔ Claude) │ │ • Quota tracking + Embeddings + Images │ │ • Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] Qoder, Qwen, Kiro (unlimited)
Result: Never stop coding, minimal cost
---
## 🎯 What OmniRoute Solves — 30 Real Pain Points & Use Cases
>**Всеки разработчик, използващ AI инструменти, се сблъсква с тези проблеми всеки ден.**OmniRoute е създаден, за да разреши всички тях — от преразход на разходите до регионални блокове, от повредени OAuth потоци до операции на протоколи и корпоративна наблюдаемост.
<подробности>
<summary><b>💸 1. „Плащам за скъп абонамент, но все още ме прекъсват ограниченията“</b></summary>
Разработчиците плащат $20–200/месец за Claude Pro, Codex Pro или GitHub Copilot. Дори и да плащате, квотата има таван — 5 часа използване, седмични лимити или лимити на цените на минута. По средата на сесията на кодиране, доставчикът спира да отговаря и разработчикът губи поток и производителност.
**Как OmniRoute го решава:**
-**Smart 4-Tier Fallback**— Ако квотата за абонамент се изчерпи, автоматично пренасочва към API Key → Евтино → Безплатно с нулева ръчна намеса
-**Проследяване на ограниченията на доставчика**— Кешираните моментни снимки на квотата се опресняват по график от страна на сървъра (по подразбиране `PROVIDER_LIMITS_SYNC_INTERVAL_MINUTES=70`) с ръчно опресняване, налично в потребителския интерфейс
-**Поддръжка на множество акаунти**— Множество акаунти на доставчик с автоматичен кръгов режим — когато единият свърши, превключва към следващия
-**Персонализирани комбинации**— Резервни вериги с възможност за персонализиране с 9 стратегии за балансиране (приоритетни, претеглени, първо запълване, кръгови, P2C, произволни, най-малко използвани, оптимизирани по отношение на разходите, строго произволни)
-**Codex Business Quotas**— Мониторинг на квотите на работното пространство на бизнеса/екипа директно в таблото за управление</details>
<подробности>
<summary><b>🔌 2. „Трябва да използвам няколко доставчика, но всеки има различен API“</b></summary>
OpenAI използва един формат, Claude (Anthropic) използва друг, Gemini още един. Ако разработчикът иска да тества модели от различни доставчици или резервен вариант между тях, той трябва да преконфигурира SDK, да промени крайните точки, да се справи с несъвместими формати. Персонализираните доставчици (FriendLI, NIM) имат крайни точки на нестандартен модел.
**Как OmniRoute го решава:**
-**Unified Endpoint**— Един `http://localhost:20128/v1` служи като прокси за всички 60+ доставчици
-**Превод на формати**— Автоматично и прозрачно: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
-**Response Sanitization**— Премахва нестандартните полета (`x_groq`, `usage_breakdown`, `service_tier`), които нарушават OpenAI SDK v1.83+
-**Нормализиране на ролята**— Преобразува `developer` → `system` за доставчици, които не са OpenAI; `система` → `потребител` за GLM/ERNIE
-**Think Tag Extraction**— Извлича `<think>` блокове от модели като DeepSeek R1 в стандартизирано `reasoning_content`
-**Структуриран изход за Gemini**— `json_schema` → `responseMimeType`/`responseSchema` автоматично преобразуване
-**`stream` по подразбиране е `false`**— Подравнява се със спецификацията на OpenAI, като се избягват неочаквани SSE в SDK на Python/Rust/Go</details>
<подробности>
<summary><b>🌐 3. „Моят доставчик на AI блокира моя регион/държава“</b></summary>
Доставчици като OpenAI/Codex блокират достъпа от определени географски региони. Потребителите получават грешки като `unsupported_country_region_territory` по време на OAuth и API връзки. Това е особено разочароващо за разработчиците от развиващите се страни.
**Как OmniRoute го решава:**
-**3-Level Proxy Config**— Конфигурируем прокси на 3 нива: глобално (цял трафик), на доставчик (само един доставчик) и на връзка/ключ
-**Цветно кодирани прокси значки**— Визуални индикатори: 🟢 глобален прокси, 🟡 прокси на доставчик, 🔵 прокси за връзка, винаги показващ IP
-**OAuth обмен на токени през прокси**— OAuth потокът също минава през проксито, решавайки `unsupported_country_region_territory`
-**Тестове за връзка чрез прокси**— Тестовете за връзка използват конфигурирания прокси (без повече директен байпас)
-**SOCKS5 Support**— Пълна SOCKS5 прокси поддръжка за изходящо маршрутизиране
-**TLS Fingerprint Spoofing**— подобен на браузър TLS пръстов отпечатък чрез `wreq-js` за заобикаляне на откриването на ботове
-**🔏 Съпоставяне на пръстови отпечатъци на CLI**— Пренарежда заглавките и полетата на основния текст, за да съответстват на собствените двоични подписи на CLI, драстично намалявайки риска от маркиране на акаунта. Прокси IP адресът се запазва — получавате едновременно стелт**и**IP маскиране</details>
<подробности>
<summary><b>🆓 4. „Искам да използвам AI за кодиране, но нямам пари“</b></summary>
Не всеки може да плаща $20-200/месец за абонаменти за AI. Студенти, разработчици от развиващи се страни, любители и фрийлансъри се нуждаят от достъп до качествени модели на нулева цена.
**Как OmniRoute го решава:**
-**Вградени доставчици на безплатни нива**— Вградена поддръжка за 100% безплатни доставчици: Qoder (5 неограничени модела чрез OAuth: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen (4 неограничени модела: qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model), Kiro (Claude + AWS Builder ID безплатно), Gemini CLI (180K токена/месец безплатно)
-**Ollama Cloud**— Хоствани в облака Ollama модели на `api.ollama.com` с безплатно ниво „Light usage“; използвайте префикса `ollamacloud/<модел>`
-**Безплатни само комбинации**— Верига `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/месец с нулев престой
-**NVIDIA NIM безплатен достъп**— ~40 RPM dev-вечно безплатен достъп до 70+ модела на build.nvidia.com (преход от кредити към чисти лимити на скоростта)
-**Стратегия за оптимизиране на разходите**— Стратегия за маршрутизиране, която автоматично избира най-евтиния наличен доставчик</details>
<подробности>
<summary><b>🔒 5. „Трябва да защитя своя AI шлюз от неоторизиран достъп“</b></summary>
При излагане на AI шлюз към мрежата (LAN, VPS, Docker), всеки с адреса може да използва токените/квотата на разработчика. Без защита приложните програмни интерфейси (API) са уязвими за злоупотреба, незабавно инжектиране и злоупотреба.
**Как OmniRoute го решава:**
-**API Key Management**— Генериране, ротация и обхват за всеки доставчик със специална страница `/dashboard/api-manager`
-**Разрешения на ниво модел**— Ограничете API ключовете до конкретни модели (`openai/*`, шаблони със заместващи символи), с превключвател Разрешаване на всички/Ограничаване
-**API Endpoint Protection**— Изискване на ключ за `/v1/models` и блокиране на определени доставчици от списъка
-**Auth Guard + CSRF Protection**— Всички маршрути на таблото са защитени с мидълуер `withAuth` + CSRF токени
-**Ограничител на скоростта**— Ограничаване на скоростта на IP с конфигурируеми прозорци
-**IP Filtering**— Списък с разрешени/списък с блокирани за контрол на достъпа
-**Prompt Injection Guard**— Дезинфекция срещу злонамерени бързи модели
-**AES-256-GCM криптиране**— Идентификационните данни са криптирани в покой</details>
<подробности>
<summary><b>🛑 6. „Доставчикът ми се срина и загубих потока на кодиране“</b></summary>
Доставчиците на AI могат да станат нестабилни, да върнат грешки 5xx или да достигнат временни лимити на скоростта. Ако разработчикът зависи от един доставчик, той е прекъснат. Без прекъсвачи многократните повторни опити могат да сринат приложението.
**Как OmniRoute го решава:**
-**Прекъсвач за всеки модел**— Автоматично отваряне/затваряне с конфигурируеми прагове и изчакване (затворен/отворен/полуотворен), обхват за всеки модел, за да се избегнат каскадни блокове
-**Exponential Backoff**— Прогресивни закъснения при повторен опит
-**Anti-Thundering Herd**— Mutex + семафорна защита срещу едновременни повторни бури
-**Combo Fallback Chains**— Ако основният доставчик се провали, автоматично преминава през веригата без намеса
-**Combo Circuit Breaker**— Автоматично деактивира неуспешни доставчици в рамките на комбинирана верига
-**Health Dashboard**— Мониторинг на времето на работа, състояния на прекъсвачи, блокировки, статистика на кеша, латентност на p50/p95/p99</details>
<подробности>
<summary><b>🔧 7. „Конфигурирането на всеки AI инструмент е досадно и повтарящо се“</b></summary>
Разработчиците използват Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Всеки инструмент се нуждае от различна конфигурация (крайна точка на API, ключ, модел). Преконфигурирането при смяна на доставчик или модел е загуба на време.
**Как OmniRoute го решава:**
-**CLI Tools Dashboard**— Специална страница с настройка с едно кликване за Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
-**GitHub Copilot Config Generator**— Генерира `chatLanguageModels.json` за VS код с масов избор на модел
-**Onboarding Wizard**— Насочвана настройка в 4 стъпки за потребители за първи път
-**Една крайна точка, всички модели**— Конфигурирайте `http://localhost:20128/v1` веднъж, достъп до 60+ доставчици</details>
<подробности>
<summary><b>🔑 8. „Управлението на OAuth токени от множество доставчици е истински ад“</b></summary>
Claude Code, Codex, Gemini CLI, Copilot — всички използват OAuth 2.0 с изтичащи токени. Разработчиците трябва постоянно да се удостоверяват отново, да се справят с „client_secret липсва“, „redirect_uri_mismatch“ и повреди на отдалечени сървъри. OAuth на LAN/VPS е особено проблематичен.
**Как OmniRoute го решава:**
-**Auto Token Refresh**— OAuth токените се опресняват във фонов режим преди изтичане
-**OAuth 2.0 (PKCE) Вграден**— Автоматичен поток за Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, Qoder
-**Multi-Account OAuth**— Множество акаунти на доставчик чрез JWT/ID извличане на токени
-**OAuth LAN/Remote Fix**— Частно IP откриване за `redirect_uri` + ръчен URL режим за отдалечени сървъри
-**OAuth зад Nginx**— Използва `window.location.origin` за обратна прокси съвместимост
-**Отдалечено ръководство за OAuth**— Ръководство стъпка по стъпка за идентификационни данни на Google Cloud на VPS/Docker</details>
<подробности>
<summary><b>📊 9. „Не знам колко харча или къде“</b></summary>
Разработчиците използват множество платени доставчици, но нямат унифициран поглед върху разходите. Всеки доставчик има собствено табло за таксуване, но няма консолидиран изглед. Неочакваните разходи могат да се натрупат.
**Как OmniRoute го решава:**
-**Табло за анализ на разходите**— Проследяване на разходите за токени и управление на бюджета за доставчик
-**Бюджетни ограничения за ниво**— Таван на разходите за ниво, което задейства автоматичен резервен вариант
-**Конфигурация на ценообразуване за модел**— Конфигурируеми цени за модел
-**Статистика на използването на API ключ**— Брой заявки и последно използвано клеймо за всеки ключ
-**Табло за управление на анализи**— Статистически карти, диаграма на използването на модела, таблица на доставчика с проценти на успех и закъснение</details>
<подробности>
<summary><b>🐛 10. „Не мога да диагностицирам грешки и проблеми в обажданията с AI“</b></summary>
Когато обаждането е неуспешно, разработчикът не знае дали е ограничение на скоростта, изтекъл токен, грешен формат или грешка на доставчика. Фрагментирани регистрационни файлове в различни терминали. Без възможност за наблюдение отстраняването на грешки е метод проба-грешка.
**Как OmniRoute го решава:**
-**Табло за управление на унифицирани регистрационни файлове**— 4 раздела: регистрационни файлове за заявки, регистрационни файлове за прокси, регистрационни файлове за одит, конзола
-**Console Log Viewer**— Преглед в стил терминал в реално време с цветно кодирани нива, автоматично превъртане, търсене, филтър
-**SQLite Proxy Logs**— Постоянни регистрационни файлове, които оцеляват при рестартиране на сървъра
-**Translator Playground**— 4 режима за отстраняване на грешки: Playground (превод на формат), Chat Tester (обиколно пътуване), Test Bench (партида), Live Monitor (в реално време)
-**Заявка за телеметрия**— p50/p95/p99 латентност + проследяване на X-Request-Id
-**Регистриране на базата на файлове с ротация**— регистрационните файлове на приложението се редуват по размер, дни на съхранение и брой архиви; артефактите в регистъра на повикванията се редуват по дни на задържане и брой файлове
-**Отчет за системна информация**— `npm run system-info` генерира `system-info.txt` с вашата пълна среда (версия на възел, версия на OmniRoute, OS, CLI инструменти, състояние на Docker/PM2). Прикачете го, когато докладвате за проблеми за незабавно сортиране.</details>
<подробности>
<summary><b>🏗️ 11. „Внедряването и поддържането на шлюза е сложно“</b></summary>
Инсталирането, конфигурирането и поддържането на AI прокси в различни среди (локални, VPS, Docker, облак) е трудоемко. Проблеми като твърдо кодирани пътища, `EACCES` в директории, конфликти на портове и междуплатформени компилации добавят триене.
**Как OmniRoute го решава:**
-**npm global install**— `npm install -g omniroute && omniroute` — готово
-**Docker Multi-Platform**— роден AMD64 + ARM64 (Apple Silicon, AWS Graviton, Raspberry Pi)
-**Docker Compose Profiles**— `base` (без CLI инструменти) и `cli` (с Claude Code, Codex, OpenClaw)
-**Electron Desktop App**— родно приложение за Windows/macOS/Linux със системна област, автоматично стартиране, офлайн режим
-**Split-Port Mode**— API и табло за управление на отделни портове за разширени сценарии (обратен прокси, контейнерна мрежа)
-**Cloud Sync**— Конфигуриране на синхронизиране между устройства чрез Cloudflare Workers
-**DB Backups**— Автоматично архивиране, възстановяване, експортиране и импортиране на всички настройки, с `DISABLE_SQLITE_AUTO_BACKUP` за външно управлявани архиви</details>
<подробности>
<summary><b>🌍 12. „Интерфейсът е само на английски и екипът ми не говори английски“</b></summary>
Екипите в неанглоговорящите страни, особено в Латинска Америка, Азия и Европа, се затрудняват с интерфейси само на английски. Езиковите бариери намаляват приемането и увеличават грешките в конфигурацията.
**Как OmniRoute го решава:**
-**Dashboard i18n — 30 езика**— Всички 500+ преведени клавиша, включително арабски, български, датски, немски, испански, фински, френски, иврит, хинди, унгарски, индонезийски, италиански, японски, корейски, малайски, холандски, норвежки, полски, португалски (PT/BR), румънски, руски, словашки, шведски, тайландски, украински, виетнамски, китайски, филипински, английски
-**RTL Support**— Поддръжка отдясно наляво за арабски и иврит
-**Многоезични READMEs**— 30 пълни превода на документация
-**Избор на език**— Икона на глобус в заглавката за превключване в реално време</details>
<подробности>
<summary><b>🔄 13. „Имам нужда от повече от чат — имам нужда от вграждания, изображения, аудио“</b></summary>
AI не е просто завършване на чат. Разработчиците трябва да генерират изображения, да транскрибират аудио, да създават вграждания за RAG, да прекласират документи и да модерират съдържание. Всеки API има различна крайна точка и формат.
**Как OmniRoute го решава:**
-**Вграждания**— `/v1/вграждания` с 6 доставчика и 9+ модела
-**Генериране на изображения**— `/v1/images/generations` с 10 доставчика и 20+ модела (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI)
-**Текст към видео**— `/v1/videos/generations` — ComfyUI (AnimateDiff, SVD) и SD WebUI
-**Текст към музика**— `/v1/music/generations` — ComfyUI (Stable Audio Open, MusicGen)
-**Аудио транскрипция**— `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3
-**Текст-към-говор**— `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3,**Inworld**,**Cartesia**,**PlayHT**, + съществуващи доставчици
-**Модерации**— `/v1/moderations` — Проверки за безопасност на съдържанието
-**Прекласиране**— `/v1/rerank` — Прекласиране на уместността на документа
-**API за отговори**— Пълна поддръжка на `/v1/responses` за Codex</details>
<подробности>
<summary><b>🧪 14. „Нямам начин да тествам и сравнявам качеството между моделите“</b></summary>
Разработчиците искат да знаят кой модел е най-подходящ за техния случай на употреба – код, превод, разсъждения – но ръчното сравняване е бавно. Не съществуват интегрирани инструменти за оценка.
**Как OmniRoute го решава:**
-**Оценки на LLM**— Тестване със златен комплект с 10 предварително заредени случая, обхващащи поздрави, математика, география, генериране на код, съответствие с JSON, превод, маркдаун, отказ за безопасност
-**4 стратегии за съвпадение**— `exact`, `contains`, `regex`, `custom` (JS функция)
-**Translator Playground Test Bench**— Пакетно тестване с множество входове и очаквани изходи, сравнение между доставчици
-**Chat Tester**— Пълно двупосочно пътуване с визуално изобразяване на отговора
-**Монитор на живо**— Поток в реално време на всички заявки, преминаващи през проксито</details>
<подробности>
<summary><b>📈 15. „Трябва да мащабирам, без да губя производителност“</b></summary>
Тъй като обемът на заявките нараства, без кеширане едни и същи въпроси генерират дублиращи се разходи. Без идемпотентност, дубликат иска обработка на отпадъци. Трябва да се спазват ограниченията за тарифите за всеки доставчик.
**Как OmniRoute го решава:**
-**Семантичен кеш**— Двуслоен кеш (подпис + семантичен) намалява разходите и забавянето
-**Request Idempotency**— 5s прозорец за дедупликация за идентични заявки
-**Rate Limit Detection**— RPM на доставчик, минимална разлика и максимално едновременно проследяване
-**Редактируеми ограничения на скоростта**— Конфигурируеми настройки по подразбиране в Настройки → Устойчивост с постоянство
-**API Key Validation Cache**— 3-степенен кеш за производствена производителност
-**Здравно табло с телеметрия**— p50/p95/p99 латентност, статистика на кеша, ъптайм</details>
<подробности>
<summary><b>🤖 16. „Искам да контролирам поведението на модела глобално“</b></summary>
Разработчици, които искат всички отговори на конкретен език, със специфичен тон или искат да ограничат токените за мотивиране. Конфигурирането на това във всеки инструмент/заявка е непрактично.
**Как OmniRoute го решава:**
-**Инжектиране на системна подкана**— Глобална подкана, приложена към всички заявки
-**Thinking Budget Validation**— Разсъждаващ контрол на разпределението на токени за всяка заявка (преминаване, автоматично, персонализирано, адаптивно)
-**9 стратегии за маршрутизиране**— Глобални стратегии, които определят как се разпределят заявките
-**Wildcard Router**— моделите `provider/*` маршрутизират динамично към всеки доставчик
-**Combo Enable/Disable Toggle**— Превключвайте комбинации директно от таблото за управление
-**Превключване на доставчика**— Активирайте/деактивирайте всички връзки за доставчик с едно щракване
-**Блокирани доставчици**— Изключете определени доставчици от списъка `/v1/models`</details>
<подробности>
<summary><b>🧰 17. „Имам нужда от MCP инструменти като първокласни продуктови възможности“</b></summary>
Много AI шлюзове разкриват MCP само като скрит детайл за изпълнение. Екипите се нуждаят от видим, управляем оперативен слой.
**Как OmniRoute го решава:**
- MCP се появява в раздела за навигация на таблото за управление и протокол на крайна точка
- Специализирана страница за управление на MCP с процес, инструменти, обхвати и одит
- Вграден бърз старт за `omniroute --mcp` и включване на клиента</details>
<подробности>
<summary><b>🧠 18. „Имам нужда от A2A оркестрация със синхронизиране + пътеки на задачи за поток“</b></summary>
Работните процеси на агентите се нуждаят както от директни отговори, така и от дълготрайно поточно изпълнение с контрол на жизнения цикъл.
**Как OmniRoute го решава:**
- A2A JSON-RPC крайна точка (`POST /a2a`) с `message/send` и `message/stream`
- SSE поточно предаване с разпространение на състоянието на терминала
- API на жизнения цикъл на задачите за „tasks/get“ и „tasks/cancel“.</details>
<подробности>
<summary><b>🛰️ 19. „Имам нужда от истинско състояние на MCP процес, а не от познат статус“</b></summary>
Оперативните екипи трябва да знаят дали MCP действително е жив, а не само дали API е достъпен.
**Как OmniRoute го решава:**
- Сърдечен файл по време на изпълнение с PID, времеви отпечатъци, транспорт, брой инструменти и режим на обхват
- API за състояние на MCP, комбиниращ сърдечен ритъм + скорошна активност
- Карти за състояние на потребителския интерфейс за свежест на процеса/време на работа/пулс</details>
<подробности>
<резюме><b>📋 20. „Имам нужда от изпълнение на MCP инструмент с възможност за проверка“</b></резюме>
Когато инструментите променят конфигурацията или задействат оперативни действия, екипите се нуждаят от криминалистична проследимост.
**Как OmniRoute го решава:**
- Поддържано от SQLite одитно регистриране за извиквания на MCP инструмент
- Филтрира по инструмент, успех/неуспех, API ключ и пагинация
- Таблица за одит на таблото + статистически крайни точки за автоматизация</details>
<подробности>
<summary><b>🔐 21. „Имам нужда от MCP разрешения с обхват за интеграция“</b></summary>
Различните клиенти трябва да имат най-малко привилегирован достъп до категории инструменти.
**Как OmniRoute го решава:**
- 10 гранулирани MCP обхвата за контролиран достъп до инструмента
- Налагане на обхват и видимост в потребителския интерфейс за управление на MCP
- Безопасна поза по подразбиране за оперативни инструменти</details>
<подробности>
<summary><b>⚙️ 22. „Имам нужда от оперативни контроли без пренасочване“</b></summary>
Екипите се нуждаят от бързи промени във времето на изпълнение по време на инциденти или разходни събития.
**Как OmniRoute го решава:**
- Превключете комбо активирането директно от таблото за управление на MCP
- Прилагайте профили на устойчивост от предварително дефинирани пакети с правила
- Нулирайте състоянието на прекъсвача от същия операционен панел</details>
<подробности>
<summary><b>🔄 23. „Имам нужда от видимост и анулиране на жизнения цикъл на задачите A2A на живо“</b></summary>
Без видимост на жизнения цикъл инцидентите със задачи стават трудни за сортиране.
**Как OmniRoute го решава:**
- Списък със задачи/филтриране по състояние/умение с пагинация
- Разбивка на метаданни, събития и артефакти на задачи
- Крайна точка за анулиране на задача и действие на потребителския интерфейс с потвърждение</details>
<подробности>
<summary><b>🌊 24. „Имам нужда от активни показатели на потока за A2A натоварване“</b></summary>
Поточните работни потоци изискват оперативно вникване в паралелността и живите връзки.
**Как OmniRoute го решава:**
- Броячи на активни потоци, интегрирани в статуса A2A
- Времево клеймо на последната задача и брой на състоянието
- A2A карти на таблото за наблюдение на операциите в реално време</details>
<подробности>
<summary><b>🪪 25. „Имам нужда от стандартно откриване на агент за клиенти“</b></summary>
Външните клиенти и оркестраторите се нуждаят от машинночетими метаданни за включване.
**Как OmniRoute го решава:**
- Карта на агент, изложена в `/.well-known/agent.json`
- Възможности и умения, показани в потребителския интерфейс за управление
- API за състоянието на A2A включва метаданни за откриване за автоматизация</details>
<подробности>
<summary><b>🧭 26. „Имам нужда от откриваемост на протокола в UX на продукта“</b></summary>
Ако потребителите не могат да открият повърхности на протокола, качеството на приемане и поддръжка пада.
**Как OmniRoute го решава:**
- Консолидирана страница**Крайни точки**с раздели за прокси, MCP, A2A и API крайни точки
- Превключва състоянието на вградената услуга (онлайн/офлайн) за MCP и A2A
- Връзки от преглед към специални раздели за управление</details>
<подробности>
<summary><b>🧪 27. „Имам нужда от валидиране на протокол от край до край с реални клиенти“</b></summary>
Фалшивите тестове не са достатъчни за валидиране на съвместимостта на протокола преди пускане.
**Как OmniRoute го решава:**
- E2E пакет, който зарежда приложение и използва реален MCP SDK клиентски транспорт
- Клиент A2A тества за потоци откриване, изпращане, поточно предаване, получаване и отмяна
- Кръстосана проверка на твърдения срещу MCP одит и API на A2A задачи</details>
<подробности>
<summary><b>📡 28. „Имам нужда от унифицирана видимост във всички интерфейси“</b></summary>
Разделянето на наблюдаемостта по протокол създава слепи зони и по-дълъг MTTR.
**Как OmniRoute го решава:**
- Унифицирани табла за управление/логове/аналитика в един продукт
- Здраве + одит + заявка за телеметрия в OpenAI, MCP и A2A слоеве
- Оперативни API за статус и автоматизация</details>
<подробности>
<summary><b>💼 29. „Имам нужда от една среда за изпълнение за прокси + инструменти + оркестрация на агенти“</b></summary>
Изпълнението на много отделни услуги увеличава оперативните разходи и режимите на отказ.
**Как OmniRoute го решава:**
- OpenAI-съвместим прокси, MCP сървър и A2A сървър в един стек
- Споделено удостоверяване, устойчивост, съхранение на данни и възможност за наблюдение
- Последователен модел на политика във всички повърхности на взаимодействие</details>
<подробности>
<summary><b>🚀 30. „Трябва да изпращам агентски работни потоци без разрастване на лепен код“</b></summary>
Екипите губят скорост, когато свързват множество ad-hoc услуги и скриптове.
**Как OmniRoute го решава:**
- Единна стратегия за крайни точки за клиенти и агенти
- Вграден потребителски интерфейс за управление на протоколи и пътеки за проверка на дим
- Готови за производство основи (сигурност, регистриране, устойчивост, архивиране)</details>
### Example Playbooks (Integrated Use Cases)
**Playbook A: Увеличете максимално платения абонамент + евтино архивиране**```txt
Combo: "maximize-claude"
1. cc/claude-opus-4-6
2. glm/glm-4.7
3. if/kimi-k2-thinking
Monthly cost: $20 + small backup spend
Outcome: higher quality, near-zero interruption
Playbook B: Стек за кодиране с нулеви разходи```txt Combo: "free-forever"
- gc/gemini-3-flash
- if/kimi-k2-thinking
- qw/qwen3-coder-plus
Monthly cost: $0 Outcome: stable free coding workflow
**Playbook C: 24/7 винаги включена резервна верига**```txt
Combo: "always-on"
1. cc/claude-opus-4-6
2. cx/gpt-5.2-codex
3. glm/glm-4.7
4. minimax/MiniMax-M2.1
5. if/kimi-k2-thinking
Outcome: deep fallback depth for deadline-critical workloads
Playbook D: Операции на агент с MCP + A2A```txt
- Start MCP transport (
omniroute --mcp) for tool-driven operations - Run A2A tasks via
message/sendandmessage/stream - Observe via /dashboard/endpoint (MCP and A2A tabs)
- Toggle services via inline status controls
---
## 🆓 Start Free — Zero Configuration Cost
> Настройте AI кодиране за минути при**$0/месец**. Свържете тези безплатни акаунти и използвайте вградената комбинация**Free Stack**.
| Стъпка | Действие | Отключени доставчици |
| ---- | -------------------------------------------------- | ------------------------------------------------------------------ |
| 1 | Свържете**Kiro**(AWS Builder ID OAuth) | Клод Сонет 4.5, Хайку 4.5 —**неограничен**|
| 2 | Свържете**Qoder**(Google OAuth) | kimi-k2-мислене, qwen3-coder-plus, deepseek-r1... —**неограничен**|
| 3 | Свържете**Qwen**(Код на устройството) | qwen3-coder-plus, qwen3-coder-flash... —**неограничен**|
| 4 | Свържете**Gemini CLI**(Google OAuth) | gemini-3-flash, gemini-2.5-pro —**180K/мес безплатно**|
| 5 | `/dashboard/combos` →**Безплатен стек ($0)**шаблон | Кръгово обвързване на всички безплатни доставчици автоматично |
**Насочете всяка IDE/CLI към:**`http://localhost:20128/v1` · API ключ: `any-string` · Готово.
>**Допълнително покритие по избор (също безплатно):**Groq API ключ (30 RPM безплатно), NVIDIA NIM (40 RPM безплатно, 70+ модела), Cerebras (1M tok/ден), LongCat API ключ (50M tokens/ден!), Cloudflare Workers AI (10K Neurons/ден, 50+ модела).## Бърз старт
### 1) Install and run
```bash
npm install -g omniroute
omniroute
**pnpm потребители:**Стартирайте
pnpm approve-builds -gслед инсталирането, за да активирате собствените скриптове за изграждане, изисквани отbetter-sqlite3и@swc/core:pnpm install -g omniroute pnpm approve-builds -g # Изберете всички пакети → одобри omniroute
Таблото за управление се отваря на http://localhost:20128, а основният URL адрес на API е http://localhost:20128/v1.
| Команда | Описание |
|---|---|
omniroute |
Стартов сървър (PORT=20128, API и таблото за управление на същия порт) |
omniroute --порт 3000 |
Задайте каноничен/API порт на 3000 |
omniroute --mcp |
Стартирайте MCP сървър (stdio транспорт) |
omniroute --no-open |
Без автоматично отваряне на браузъра |
omniroute --help |
Показване на помощ |
Допълнителен режим на разделен порт:```bash PORT=20128 DASHBOARD_PORT=20129 omniroute
API: http://localhost:20128/v1
Dashboard: http://localhost:20129
### Long-Running Streaming Timeouts
За повечето внедрявания се нуждаете само от:
| Променлива | По подразбиране | Цел |
| ------------------------ | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| `REQUEST_TIMEOUT_MS` | `600000` | Споделена базова линия за извличане нагоре по веригата, скрити изчаквания на Undici, заявки за пръстови отпечатъци на TLS и изчаквания на заявка/прокси за мост на API |
| `STREAM_IDLE_TIMEOUT_MS` | наследява `REQUEST_TIMEOUT_MS` | Максимална празнина между поточно предаване, преди OmniRoute да прекрати SSE потока |
Обратната съвместимост се запазва: съществуващите `FETCH_TIMEOUT_MS`, `API_BRIDGE_PROXY_TIMEOUT_MS` и други променливи за изчакване на слой все още работят и заместват споделената базова линия.
Налични са разширени настройки, ако имате нужда от по-фин контрол:| Променлива | По подразбиране | Цел |
| ---------------------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------- |
| `FETCH_TIMEOUT_MS` | наследява `REQUEST_TIMEOUT_MS` | Общо време за изчакване на заявка нагоре по веригата, използвано от основния сигнал за прекъсване на извличането |
| `FETCH_HEADERS_TIMEOUT_MS` | наследява `FETCH_TIMEOUT_MS` | Времево ограничение Undici за получаване на заглавки на отговор нагоре |
| `FETCH_BODY_TIMEOUT_MS` | наследява `FETCH_TIMEOUT_MS` | Времево ограничение на Undici между частите на тялото нагоре (`0` го деактивира) |
| `FETCH_CONNECT_TIMEOUT_MS` | `30000` | Време за изчакване на Undici TCP връзка |
| `FETCH_KEEPALIVE_TIMEOUT_MS` | „4000“ | Времето за изчакване на сокета за неактивен поддържащ живот |
| `TLS_CLIENT_TIMEOUT_MS` | наследява `FETCH_TIMEOUT_MS` | Време за изчакване за TLS заявки за пръстови отпечатъци, направени чрез `wreq-js` |
| `API_BRIDGE_PROXY_TIMEOUT_MS` | наследява `REQUEST_TIMEOUT_MS` или `30000` | Време за изчакване за пренасочване на прокси `/v1` от API порт към порт на таблото |
| `API_BRIDGE_SERVER_REQUEST_TIMEOUT_MS` | `max(API_BRIDGE_PROXY_TIMEOUT_MS, 300000)` | Време за изчакване на входящата заявка на мостовия сървър на API |
| `API_BRIDGE_SERVER_HEADERS_TIMEOUT_MS` | `60000` | Времето за изчакване на входящата заглавка на мостовия сървър на API |
| `API_BRIDGE_SERVER_KEEPALIVE_TIMEOUT_MS` | „5000“ | Изчакване за поддържане на активност на мостовия сървър на API |
| `API_BRIDGE_SERVER_SOCKET_TIMEOUT_MS` | „0“ | Времето за изчакване на неактивност на сокета на мостовия сървър на API (`0` го деактивира) |
Ако стартирате OmniRoute зад Nginx, Caddy, Cloudflare или друг обратен прокси, уверете се, че проксито
таймаутите също са по-високи от вашите таймаути за поток/извличане на OmniRoute.### 2) Connect providers and create your API key
1. Отворете таблото за управление → `Доставчици` и свържете поне един доставчик (OAuth или API ключ).
2. Отворете таблото за управление → `Крайни точки` и създайте API ключ.
3. (По избор) Отворете таблото за управление → `Комбота` и задайте вашата резервна верига.### 3) Point your coding tool to OmniRoute
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Endpoint page]
Model: if/kimi-k2-thinking (or any provider/model prefix)
Работи с Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode и OpenAI-съвместими SDK.### 4) Enable and validate protocols (v2.0)
MCP (за операции, управлявани от инструмент):```bash omniroute --mcp
След това свържете вашия MCP клиент през `stdio` и тествайте инструменти като:
- `omniroute_get_health`
- `omniroute_list_combos`
**A2A (за работни процеси от агент към агент):**```bash
curl http://localhost:20128/.well-known/agent.json
curl -X POST http://localhost:20128/a2a \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}'
5) Validate everything end-to-end (recommended)
npm run test:protocols:e2e
Този пакет валидира реални MCP и A2A клиентски потоци срещу работещо приложение.### Alternative: run from source
cp .env.example .env
npm install
PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev
<подробности>
За потребители на Void Linux можете да изградите собствен пакет с помощта на xbps-src. Запазете този блок като srcpkgs/omniroute/template:```bash
Template file for 'omniroute'
pkgname=omniroute version=3.4.1 revision=1 hostmakedepends="nodejs python3 make" depends="openssl" short_desc="Universal AI gateway with smart routing for multiple LLM providers" maintainer="zenobit zenobit@disroot.org" license="MIT" homepage="https://github.com/diegosouzapw/OmniRoute" distfiles="https://github.com/diegosouzapw/OmniRoute/archive/refs/tags/v${version}.tar.gz" checksum=009400afee90a9f32599d8fe734145cfd84098140b7287990183dde45ae2245b system_accounts="_omniroute" omniroute_homedir="/var/lib/omniroute" export NODE_ENV=production export npm_config_engine_strict=false export npm_config_loglevel=error export npm_config_fund=false export npm_config_audit=false
do_build() { # Determine target CPU arch for node-gyp local _gyp_arch case "$XBPS_TARGET_MACHINE" in aarch64*) _gyp_arch=arm64 ;; armv7*|armv6*) _gyp_arch=arm ;; i686*) _gyp_arch=ia32 ;; *) _gyp_arch=x64 ;; esac
# 1) Install all deps – skip scripts (no network in do_build, native modules
# compiled separately below; better-sqlite3 is serverExternalPackage so
# Next.js does not execute it during next build)
NODE_ENV=development npm ci --ignore-scripts
# 2) Build the Next.js standalone bundle
npm run build
# 3) Copy static assets into standalone
cp -r .next/static .next/standalone/.next/static
[ -d public ] && cp -r public .next/standalone/public || true
# 4) Compile better-sqlite3 native binding for the target architecture.
# Use node-gyp directly so CC/CXX from xbps-src cross-toolchain are used
# without npm altering them.
local _node_gyp=/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js
(cd node_modules/better-sqlite3 && node "$_node_gyp" rebuild --arch="$_gyp_arch")
# 5) Place the compiled binding into the standalone bundle
local _bs3_release=.next/standalone/node_modules/better-sqlite3/build/Release
mkdir -p "$_bs3_release"
cp node_modules/better-sqlite3/build/Release/better_sqlite3.node "$_bs3_release/"
# 6) Remove arch-specific sharp bundles – upstream sets images.unoptimized=true
# so sharp is not used at runtime; x64 .so files would break aarch64 strip
rm -rf .next/standalone/node_modules/@img
# 7) Copy pino runtime deps omitted by Next.js static analysis:
# pino-abstract-transport – required by pino's worker thread
# split2 – dep of pino-abstract-transport
# process-warning – dep of pino itself
for _mod in pino-abstract-transport split2 process-warning; do
cp -r "node_modules/$_mod" .next/standalone/node_modules/
done
}
do_check() { npm run test:unit }
do_install() { vmkdir usr/lib/omniroute/.next
vcopy .next/standalone/. usr/lib/omniroute/.next/standalone
# Prevent removal of empty Next.js app router dirs by the post-install hook
for _d in \
.next/standalone/.next/server/app/dashboard \
.next/standalone/.next/server/app/dashboard/settings \
.next/standalone/.next/server/app/dashboard/providers; do
touch "${DESTDIR}/usr/lib/omniroute/${_d}/.keep"
done
cat > "${WRKDIR}/omniroute" <<'EOF'
#!/bin/sh export PORT="${PORT:-20128}" export DATA_DIR="${DATA_DIR:-${XDG_DATA_HOME:-${HOME}/.local/share}/omniroute}" export LOG_TO_FILE="${LOG_TO_FILE:-false}" mkdir -p "${DATA_DIR}" exec node /usr/lib/omniroute/.next/standalone/server.js "$@" EOF vbin "${WRKDIR}/omniroute" }
post_install() { vlicense LICENSE }
</details>
---
## 🐳 Docker
OmniRoute е наличен като публично изображение на Docker в [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute).
**Бързо бягане:**```bash
docker run -d \
--name omniroute \
--restart unless-stopped \
--stop-timeout 40 \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latest
С файл на средата:```bash
Copy and edit .env first
cp .env.example .env
docker run -d
--name omniroute
--restart unless-stopped
--stop-timeout 40
--env-file .env
-p 20128:20128
-v omniroute-data:/app/data
diegosouzapw/omniroute:latest
**Използване на Docker Compose:**```bash
# Base profile (no CLI tools)
docker compose --profile base up -d
# CLI profile (Claude Code, Codex, OpenClaw built-in)
docker compose --profile cli up -d
Поддръжката на таблото за внедряване на Docker вече включваCloudflare Quick Tunnelс едно щракване на Табло → Крайни точки. Първият активира изтеглянията cloudflare само когато е необходимо, стартира временен тунел към текущата ви крайна точка /v1 и показва генерирания URL https://*.trycloudflare.com/v1 директно под нормалния ви обществен URL адрес.
Бележки:
- URL адресите за бърз тунел са временни и се променят след всяко рестартиране.
- Бързите тунели не се възстановяват автоматично след рестартиране на OmniRoute или контейнер. Активирайте ги отново от таблото за управление, когато е необходимо.
- Управляваната инсталация в момента поддържа Linux, macOS и Windows на
x64/arm64. - Управляваните бързи тунели по подразбиране са HTTP/2 транспорт, за да се избегнат шумни QUIC UDP буферни предупреждения в ограничени контейнерни среди. Задайте
CLOUDFLARED_PROTOCOL=quicилиauto, ако искате различен транспорт. - Изображенията на Docker обединяват системни CA корени и ги предават на управляван
cloudflared, което избягва грешки в TLS доверието, когато тунелът стартира вътре в контейнера. - SQLite работи в режим WAL.
docker stopтрябва да бъде позволено да завърши, така че OmniRoute да може да провери последните промени обратно вstorage.sqlite. - Пакетът Compose файлове вече задава гратисен период от 40 секунди. Ако стартирате изображението директно, запазете
--stop-timeout 40(или подобно), така че ръчните спирания да не прекъсват почистването при изключване. - Задайте
CLOUDFLARED_BIN=/absolute/path/to/cloudflared, ако искате OmniRoute да използва съществуващ двоичен файл, вместо да изтегля такъв.
Използване на Docker Compose с Caddy (HTTPS Auto-TLS):
OmniRoute може да бъде сигурно изложен чрез автоматичното SSL осигуряване на Caddy. Уверете се, че DNS A записът на вашия домейн сочи към IP адреса на вашия сървър.```yaml services: omniroute: image: diegosouzapw/omniroute:latest container_name: omniroute restart: unless-stopped volumes: - omniroute-data:/app/data environment: - PORT=20128 - NEXT_PUBLIC_BASE_URL=https://your-domain.com
caddy: image: caddy:latest container_name: caddy restart: unless-stopped ports: - "80:80" - "443:443" command: caddy reverse-proxy --from https://your-domain.com --to http://omniroute:20128
volumes: omniroute-data:
| Изображение | Етикет | Размер | Описание |
| ------------------------ | -------- | ------ | --------------------- |
| `diegosouzapw/omniroute` | `последно` | ~250MB | Най-новата стабилна версия |
| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Текуща версия |---
## 🖥️ Desktop App — Offline & Always-On
> 🆕**НОВО!**OmniRoute вече е наличен като**стандартно настолно приложение**за Windows, macOS и Linux.
Стартирайте OmniRoute като самостоятелно настолно приложение — без терминал, без браузър, без интернет, необходим за локалните модели. Базираното на Electron приложение включва:
- 🖥️**Собствен прозорец**— Специален прозорец на приложението с интеграция в системната област
- 🔄**Автоматично стартиране**— Стартирайте OmniRoute при влизане в системата
- 🔔**Нативни известия**— Получавайте сигнали за изчерпване на квотата или проблеми с доставчика
- ⚡**Инсталиране с едно кликване**— NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐**Офлайн режим**— Работи напълно офлайн с пакетния сървър### Бърз старт
```bash
# Development mode
npm run electron:dev
# Build for your platform
npm run electron:build # Current platform
npm run electron:build:win # Windows (.exe)
npm run electron:build:mac # macOS (.dmg) — x64 & arm64
npm run electron:build:linux # Linux (.AppImage)
System Tray
Когато е минимизиран, OmniRoute живее в системната област с бързи действия:
- Отворете таблото
- Промяна на сървърния порт
- Излезте от приложението
📖 Пълна документация: electron/README.md---
💰 Pricing at a Glance
| Ниво | Доставчик | Цена | Нулиране на квота | Най-добро за | |
|---|---|---|---|---|---|
| 💳 АБОНАМЕНТ | Claude Code (Pro) | $20/месец | 5 часа + седмично | Вече сте абонирани | |
| Codex (Plus/Pro) | $20-200/месец | 5 часа + седмично | Потребители на OpenAI | ||
| Gemini CLI | БЕЗПЛАТНО | 180K/месец + 1K/ден | всички! | ||
| Копилот на GitHub | $10-19/месец | Месечно | Потребители на GitHub | ||
| 🔑 КЛЮЧ ЗА API | NVIDIA NIM | БЕЗПЛАТНО(dev forever) | ~40 RPM | 70+ отворени модела | |
| Мозъци | БЕЗПЛАТНО(1M ток/ден) | 60K TPM / 30 RPM | Най-бързият в света | ||
| Groq | БЕЗПЛАТНО(30 RPM) | 14.4K RPD | Ултра-бърз Llama/Gemma | ||
| DeepSeek V3.2 | $0,27/$1,10 за 1M | Няма | Обосновка за най-добра цена/качество | ||
| xAI Grok-4 Бърз | $0,20/$0,50 за 1M🆕 | Няма | Най-бързо + извикване на инструмент, ултраниско | ||
| xAI Grok-4 (стандартен) | $0,20/$1,50 за 1M 🆕 | Няма | Разсъждаващ флагман от xAI | ||
| Мистрал | Безплатен пробен период + платен | Ограничена скорост | Европейски AI | ||
| OpenRouter | Плащане при използване | Няма | 100+ модела агр. | ||
| 💰 ЕВТИНО | GLM-5 (чрез Z.AI) 🆕 | $0,5/1 милион | Ежедневно 10 сутринта | 128K изход, най-новият флагман | |
| GLM-4.7 | $0,6/1 милион | Ежедневно 10 сутринта | Резервно копие на бюджета | ||
| MiniMax M2.5 🆕 | $0,3/1M вход | 5-часово търкаляне | Разсъждение + агентски задачи | ||
| MiniMax M2.1 | $0,2/1 милион | 5-часово търкаляне | Най-евтиният вариант | ||
| Kimi K2.5 (Moonshot API) 🆕 | Плащане при използване | Няма | Директен достъп до API на Moonshot | ||
| Кими К2 | $9/месец апартамент | 10 милиона токена/месец | Предвидими разходи | ||
| 🆓 БЕЗПЛАТНО | Qoder | $0 | Неограничен | 5 модела неограничено | |
| Куен | $0 | Неограничен | 4 модела неограничено | ||
| Киро | $0 | Неограничен | Клод Сонет/Хайку (AWS Builder) | ||
| LongCat Flash-Lite 🆕 | $0(50M ток/ден 🔥) | 1 RPS | Най-голямата безплатна квота на Земята | ||
| Опрашвания AI 🆕 | $0(не е необходим ключ) | 1 изискване/15s | GPT-5, Claude, DeepSeek, Llama 4 | ||
| Cloudflare Workers AI 🆕 | $0(10K неврони/ден) | ~150 повторения/ден | 50+ модела, глобално предимство | ||
| Scaleway AI 🆕 | $0(общо 1 милион токена) | Ограничена скорост | ЕС/GDPR, Qwen3 235B, Llama 70B | > 🆕**Добавени нови модели (март 2026 г.):**Grok-4 Fast семейство на $0,20/$0,50/M (бенчмарк на 1143ms — 30% по-бързо от Gemini 2.5 Flash), GLM-5 чрез Z.AI с 128K изход, MiniMax M2.5 разсъждения, DeepSeek V3.2 актуализирани цени, Kimi K2.5 чрез Moonshot direct API. |
💡 $0 Combo Stack — Пълната безплатна настройка:```
🆓 Ultimate Free Stack 2026 — 11 Providers, $0 Forever
Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day 🔥 Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed Qwen (qw/) → qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next UNLIMITED Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free API key Cloudflare AI (cf/) → Llama 70B, Gemma 3, Mistral — 10K Neurons/day Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) Groq (groq/) → Llama/Gemma ultra-fast — 14.4K req/day NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day
**Нулев разход. Никога не спира кодирането.**Конфигурирайте това като едно OmniRoute комбо и всички резервни варианти се случват автоматично – без ръчно превключване.---
---
## 🆓 Free Models — What You Actually Get
> Всички модели по-долу са**100% безплатни без изискване за кредитна карта**. OmniRoute автоматично пренасочва между тях, когато една квота изтече — комбинирайте ги всички за неразбиваема комбинация от $0.### 🔵 CLAUDE MODELS (via Kiro — AWS Builder ID)
| Модел | Префикс | Лимит | Ограничение на скоростта |
| ------------------- | ------ | ------------- | --------------------- |
| `claude-sonnet-4.5` | `kr/` |**Неограничен**| Няма отчетено дневно ограничение |
| `claude-haiku-4.5` | `kr/` |**Неограничен**| Няма отчетено дневно ограничение |
| `claude-opus-4.6` | `kr/` |**Неограничен**| Най-новият Opus чрез Kiro |### 🟢 QODER MODELS (Free PAT via qodercli)
| Модел | Префикс | Лимит | Ограничение на скоростта |
| ------------------ | ------ | ------------- | --------------- |
| `kimi-k2-мислене` | `ако/` |**Неограничен**| Няма отчетено ограничение |
| `qwen3-coder-plus` | `ако/` |**Неограничен**| Няма отчетено ограничение |
| `deepseek-r1` | `ако/` |**Неограничен**| Няма отчетено ограничение |
| `минимакс-m2.1` | `ако/` |**Неограничен**| Няма отчетено ограничение |
| `kimi-k2` | `ако/` |**Неограничен**| Няма отчетено ограничение |
> Препоръчителен метод за свързване:**Personal Access Token + `qodercli`**. OAuth на браузъра е
> експериментален и деактивиран по подразбиране, освен ако не са конфигурирани променливи на средата `QODER_OAUTH_*`.### 🟡 QWEN MODELS (Device Code Auth)
| Модел | Префикс | Лимит | Ограничение на скоростта |
| ------------------- | ------ | ------------- | ------------------- |
| `qwen3-coder-plus` | `qw/` |**Неограничен**| Няма отчетено ограничение |
| `qwen3-coder-flash` | `qw/` |**Неограничен**| Няма отчетено ограничение |
| `qwen3-coder-next` | `qw/` |**Неограничен**| Няма отчетено ограничение |
| `модел-визия` | `qw/` |**Неограничен**| Мултимодални (изображения) |### 🟣 GEMINI CLI (Google OAuth)
| Модел | Префикс | Лимит | Ограничение на скоростта |
| ------------------------ | ------ | ---------------------------- | ------------- |
| `gemini-3-flash-preview` | `gc/` |**180K tok/месец**+ 1K/ден | Месечно нулиране |
| `gemini-2.5-pro` | `gc/` | 180K/месец (споделен басейн) | Високо качество |### ⚫ NVIDIA NIM (Free API Key — build.nvidia.com)
| Ниво | Дневен лимит | Ограничение на скоростта | Бележки |
| ---------- | ------------ | ----------- | ----------------------------------------------------- |
| Безплатно (Dev) | Без ограничение на токена |**~40 RPM**| 70+ модела; преминаване към чисти лимити на лихвите в средата на 2025 г. |
Популярни безплатни модели: `moonshotai/kimi-k2.5` (Kimi K2.5), `z-ai/glm4.7` (GLM 4.7), `deepseek-ai/deepseek-v3.2` (DeepSeek V3.2), `nvidia/llama-3.3-70b-instruct`, `deepseek/deepseek-r1`### ⚪ CEREBRAS (Free API Key — inference.cerebras.ai)
| Ниво | Дневен лимит | Ограничение на скоростта | Бележки |
| ---- | ----------------- | ---------------- | -------------------------------------------- |
| Безплатно |**1 милион токена/ден**| 60K TPM / 30 RPM | Най-бързият LLM извод в света; нулира ежедневно |
Предлага се безплатно: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b`### 🔴 GROQ (Free API Key — console.groq.com)
| Ниво | Дневен лимит | Ограничение на скоростта | Бележки |
| ---- | ------------- | ---------------- | ---------------------------------------------- |
| Безплатно |**14,4K RPD**| 30 RPM за модел | Без кредитна карта; 429 на лимит, не се таксува |
Предлага се безплатно: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3`### 🔴 LONGCAT AI (Free API Key — longcat.chat) 🆕
| Модел | Префикс | Дневна безплатна квота | Бележки |
| ----------------------------- | ------ | ----------------- | ----------------------- |
| `LongCat-Flash-Lite` | `lc/` |**50 милиона токена**💥 | Най-голямата безплатна квота досега |
| `LongCat-Flash-Chat` | `lc/` | 500K токена | Многооборотен чат |
| `LongCat-Flash-Thinking` | `lc/` | 500K токена | Разсъждения / CoT |
| `LongCat-Flash-Thinking-2601` | `lc/` | 500K токена | Версия от януари 2026 г. |
| `LongCat-Flash-Omni-2603` | `lc/` | 500K токена | Мултимодален |
> 100% безплатно, докато сте в публична бета версия. Регистрирайте се в [longcat.chat](https://longcat.chat) с имейл или телефон. Нулира всеки ден в 00:00 UTC.### 🟢 POLLINATIONS AI (No API Key Required) 🆕
| Модел | Префикс | Ограничение на скоростта | Доставчик зад |
| ---------- | ------ | ---------- | ------------------ |
| `опенай` | `pol/` | 1 изискване/15s | GPT-5 |
| `клод` | `pol/` | 1 изискване/15s | Антропичен Клод |
| `близнаци` | `pol/` | 1 изискване/15s | Google Gemini |
| `deepseek` | `pol/` | 1 изискване/15s | DeepSeek V3 |
| `лама` | `pol/` | 1 изискване/15s | Мета Лама 4 Скаут |
| `мистрал` | `pol/` | 1 изискване/15s | Мистрал AI |
> ✨**Нулево триене:**Без регистрация, без API ключ. Добавете доставчика на Опрашвания с празно поле за ключ и той работи веднага.### 🟠 CLOUDFLARE WORKERS AI (Free API Key — cloudflare.com) 🆕
| Ниво | Ежедневни неврони | Еквивалентно използване | Бележки |
| ---- | ------------- | ----------------------------------------------- | ----------------------- |
| Безплатно |**10 000**| ~150 LLM resp / 500s аудио / 15K вграждания | Global edge, 50+ модела |
Популярни безплатни модели: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (безплатно аудио!), `@cf/qwen/qwen2.5-coder-15b-instruct`
> Изисква API Token + ID на акаунт от [dash.cloudflare.com](https://dash.cloudflare.com). Съхранявайте ID на акаунта в настройките на доставчика.### 🟣 SCALEWAY AI (1M Free Tokens — scaleway.com) 🆕
| Ниво | Безплатна квота | Местоположение | Бележки |
| ---- | ------------- | ------------ | ---------------------------------- |
| Безплатно |**1M токени**| 🇫🇷 Париж, ЕС | Не е необходима кредитна карта в рамките на лимити |
Предлага се безплатно: `qwen3-235b-a22b-instruct-2507` (Qwen3 235B!), `llama-3.1-70b-instruct`, `mistral-small-3.2-24b-instruct-2506`, `deepseek-v3-0324`
> Съвместим с ЕС/GDPR. Вземете API ключ на [console.scaleway.com](https://console.scaleway.com).
>**💡 Най-добрият безплатен стек (11 доставчици, $0 завинаги):**
>
> ```
> Киро (kr/) → Клод Сонет/Хайку НЕОГРАНИЧЕНО
> Qoder (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 НЕОГРАНИЧЕНО
> LongCat Lite (lc/) → LongCat-Flash-Lite — 50 милиона токена/ден 🔥
> Опрашвания (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — не е необходим ключ
> Qwen (qw/) → qwen3-кодер модели НЕОГРАНИЧЕНИ
> Gemini (gemini/) → Gemini 2.5 Flash — 1500 req/ден безплатно
> Cloudflare AI (cf/) → 50+ модела — 10K неврони/ден
> Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M безплатни токени (ЕС)
> Groq (groq/) → Llama/Gemma — 14.4K req/ден ултра-бърз
> NVIDIA NIM (nvidia/) → 70+ отворени модела — 40 RPM завинаги
> Cerebras (cerebras/) → Llama/Qwen най-бързият в света — 1M ток/ден
> ```## 🎙️ Free Transcription Combo
> Транскрибирайте всяко аудио/видео за**$0**— Deepgram води с $200 безплатно, AssemblyAI $50 резервен вариант, Groq Whisper като неограничено аварийно архивиране.
| Доставчик | Безплатни кредити | Най-добър модел | Ограничение на скоростта |
| ----------------- | ---------------------- | -------------------------------------------- | ---------------------------- |
| 🟢**Deepgram**|**$200 безплатно**(регистрация) | `nova-3` — най-добра точност, 30+ езика | Без ограничение на RPM за безплатни кредити |
| 🔵**AssemblyAI**|**$50 безплатно**(регистрация) | `universal-3-pro` — глави, настроение, PII | Без ограничение на RPM за безплатни кредити |
| 🔴**Groq**|**Безплатно завинаги**| `whisper-large-v3` — OpenAI Whisper | 30 RPM (ограничена скорост) |
**Предложена комбинация в `/dashboard/combos`:**```
Name: free-transcription
Strategy: Priority
Nodes:
[1] deepgram/nova-3 → uses $200 free first
[2] assemblyai/universal-3-pro → fallback when Deepgram credits run out
[3] groq/whisper-large-v3 → free forever, emergency fallback
След това в /dashboard/media → разделТранскрипция: качете произволен аудио или видео файл → изберете вашата комбинирана крайна точка → получете транскрипция в поддържани формати.## 💡 Key Features
OmniRoute v2.0 е създаден като операционна платформа, а не просто релейно прокси.### 🆕 New — ClawRouter-Inspired Improvements (Mar 2026)
| Характеристика | Какво прави | |
|---|---|---|
| ⚡Grok-4 Fast Family | xAI модели при $0,20/$0,50/M — сравнително време 1143ms (30% по-бързо от Gemini 2.5 Flash) | |
| 🧠GLM-5 чрез Z.AI | 128K изходен контекст, $0,5/1M — най-новият флагман от семейството GLM | |
| 🔮MiniMax M2.5 | Разсъждение + агентски задачи при $0,30/1M — значително надграждане от M2.1 | |
| 🎯флаг за извикване на инструмент за модел | toolCalling: true/false за модел в системния регистър — AutoCombo пропуска модели без инструмент |
|
| 🌍Откриване на многоезични намерения | PT/ZH/ES/AR ключови думи в точкуването на AutoCombo — по-добър избор на модел за неанглийско съдържание | |
| 📊Резервни резултати, управлявани от бенчмаркове | Реална p95 латентност от живи заявки емисии комбо точкуване — AutoCombo се учи от действителни данни | |
| 🔁Искайте дедупликация | Прозорец за дедупиране, базиран на хеш съдържание — безопасен за много агенти, предотвратява дублиране на такси | |
| 🔌Pluggable RouterStrategy | Разширяем интерфейс RouterStrategy — добавете персонализирана логика за маршрутизиране като добавки |
### 🚀 Previous v2.0.9+ — Playground, CLI Fingerprints & ACP |
| Характеристика | Какво прави | |
|---|---|---|
| 🎮Моделна площадка | Страница на таблото за директно тестване на всеки модел — селектори на доставчик/модел/крайна точка, Monaco Editor, стрийминг, прекъсване, време | |
| 🔏CLI съпоставяне на пръстови отпечатъци | Подреждане на заглавка/тяло на доставчик, за да съответства на оригиналните CLI подписи — превключете за доставчик в Настройки > Сигурност.Вашият прокси IP е запазен | |
| 🤝Поддръжка на ACP (клиентски протокол на агент) | Откриване на агент на CLI (Codex, Claude, Goose, Gemini CLI, OpenClaw + още 9), генериращ процес, крайна точка /api/acp/agents |
|
| 🤖Табло за управление на ACP агенти | Страница за отстраняване на грешки › Агенти — мрежа от 14 агента със статус на инсталиране, версия, персонализирана форма на агент за всеки CLI инструмент. Потребителите наOpenCodeполучават бутон „Изтегляне на opencode.json“, който автоматично генерира готова за използване конфигурация с всички налични модели. | |
🔧Маршрутизиране на потребителски модел apiFormat |
Персонализираните модели с apiFormat: "responses" вече насочват правилно към преводача на API за отговори |
|
| 🏢Изолация на работното пространство на Codex | Множество работни пространства на Codex на имейл — OAuth правилно разделя връзките по ID на работното пространство | |
| 🔄Електронно автоматично актуализиране | Настолното приложение проверява за актуализации + автоматично инсталиране при рестартиране | ### 🤖 Agent & Protocol Operations (v2.0) |
| Характеристика | Какво прави | |
|---|---|---|
| 🔧MCP сървър (25 инструмента) | Инструменти за IDE/агент чрез 3 транспорта: stdio, SSE (/api/mcp/sse), Streamable HTTP (/api/mcp/stream). 18 ядра + 3 памет + 4 инструмента за умения |
|
| 🤝A2A сървър (JSON-RPC + SSE) | Изпълнение на задачи от агент към агент със синхронизиране и поточно предаване | |
| 🧭Страница с консолидирани крайни точки | Страница за управление с раздели с раздели Endpoint Proxy, MCP, A2A и API Endpoints | |
| 🎚️Превключватели за активиране/деактивиране на услуги | Превключватели за ВКЛ./ИЗКЛ. за MCP и A2A с постоянни настройки (по подразбиране: ИЗКЛ.) | |
| 🛰️MCP Runtime Heartbeat | Реално състояние на процеса (pid, време на работа, възраст на сърдечния ритъм, транспорт, режим на обхвата) | |
| 📋MCP одитна пътека | Филтрируеми журнали за одит с успех/неуспех и ключово приписване | |
| 🔐Прилагане на обхват на MCP | 10 подробни разрешения за обхват за контролиран достъп до инструменти | |
| 📡A2A Управление на жизнения цикъл на задачите | Списък/филтриране на задачи, проверка на събития/артефакти, отмяна на изпълнявани задачи | |
| 📋Откриване на карта на агент | /.well-known/agent.json за автоматично откриване на клиенти |
|
| 🧪Протокол E2E Тестова система | Истински MCP SDK + A2A клиент протича в test:protocols:e2e |
|
| ⚙️Оперативни контроли | Превключете комбо, приложете профили на устойчивост, нулирайте прекъсвачите от една контролна повърхност | ### 🧠 Routing & Intelligence |
| Характеристика | Какво прави | |
|---|---|---|
| 🎯Интелигентен 4-степенен резервен вариант | Автоматичен маршрут: Абонамент → API ключ → Евтини → Безплатно | |
| 📊Проследяване на квоти в реално време | Брой токени на живо + нулиране на обратното броене на доставчик | |
| 🔄Форматиране на превода | OpenAI ↔ Claude ↔ Gemini ↔ Отговори с безопасни за схема преобразувания | |
| 👥Поддръжка за множество акаунти | Няколко акаунта на доставчик с интелигентен избор | |
| 🔄Автоматично опресняване на токени | OAuth токените се опресняват автоматично с повторен опит | |
| 🎨Персонализирани комбинации | 9 стратегии за балансиране + резервен контрол на веригата | |
| 🌐Wildcard Router | провайдер/* динамично маршрутизиране |
|
| 🧠Мислене за контрол на бюджета | Лимити за преминаване, автоматични, персонализирани и адаптивни разсъждения | |
| 🔀Псевдоними на модели | Вграден + персонализиран псевдоним на модела и безопасност на миграцията | |
| ⚡Влошаване на фона | Насочване на фонови задачи с нисък приоритет към по-евтини модели | |
| 🧪Интелигентно маршрутизиране, съобразено със задачите | Автоматичен избор на модел по тип съдържание (кодиране/визия/анализ/обобщение) | |
| 🔄A2A Agent Workflows | Детерминиран оркестратор на FSM за изпълнения на многоетапни агенти със състояние | |
| 🔀Адаптивно маршрутизиране | Динамична отмяна на стратегия въз основа на обема на токена и сложността на подканата | |
| 🎲Разнообразие от доставчици | Оценка на ентропията на Шанън за балансиране на разпределението на трафика с автоматично комбо | |
| 💬Системно бързо инжектиране | Глобални контроли на поведението, прилагани последователно | |
| 📄Съвместимост с API за отговори | Пълна поддръжка на /v1/responses за Codex и разширени агентни работни потоци |
### 🎵 Multi-Modal APIs |
| Характеристика | Какво прави | |
|---|---|---|
| 🖼️Генериране на изображения | /v1/images/generations с облачен и локален бекенд |
|
| 📐Вграждания | /v1/embeddings за търсене и RAG тръбопроводи |
|
| 🎤Аудио транскрипция | /v1/audio/transcriptions — 7 доставчика (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), автоматично откриване на език, поддръжка на MP4/MP3/WAV |
|
| 🔊Текст към говор | /v1/audio/speech — 10 доставчика (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) с правилни съобщения за грешки |
|
| 🎬Видео генериране | /v1/videos/generations (работни процеси ComfyUI + SD WebUI) |
|
| 🎵Музикално поколение | /v1/music/generations (работни процеси на ComfyUI) |
|
| 🛡️Модерации | /v1/moderations проверки за безопасност |
|
| 🔀Прекласиране | /v1/rerank за оценка на уместността |
|
| 🔍Търсене в мрежата🆕 | /v1/търсене — 5 доставчика (Serper, Brave, Perplexity, Exa, Tavily), 6 500+ безплатно/месец, автоматичен отказ, кеш |
### 🛡️ Resilience, Security & Governance |
| Характеристика | Какво прави | |
|---|---|---|
| 🔌Прекъсвачи | За всеки модел пътуване/възстановяване с прагови контроли | |
| 🎯Модели, съобразени с крайни точки | Персонализираните модели декларират поддържани крайни точки + API формат | |
| 🛡️Anti-Thundering Herd | Защита на Mutex + семафор при събития за повторен опит/скорост | |
| 🧠Семантичен + кеш на подписа | Намаляване на разходите/закъснението с два кеш слоя | |
| ⚡Искане на идемпотентност | Дублиран защитен прозорец | |
| 🔒TLS Fingerprint Spoofing | Подобен на браузър TLS отпечатък —намалява откриването на ботове и маркирането на акаунта | |
| 🔏CLI съпоставяне на пръстови отпечатъци | Съвпада със собствените подписи на CLI заявка —намалява риска от забрана, като същевременно запазва IP на проксито | |
| 🌐IP филтриране | Списък с разрешени/списъци с блокирани контроли за открити внедрявания | |
| 📊Редактируеми ограничения на скоростта | Конфигурируеми глобални/на ниво доставчик ограничения с постоянство | |
| 📉Изящна деградация | Резервни възможности за многослойни възможности, защитаващи основните операции на шлюза | |
| 📜Пътека за одит на конфигурация | Проследяване на промяна, базирано на разлика, предотвратяващо оперативно отклонение с прости връщания | |
| ⏳Синхронизиране на здравето на доставчика | Проактивен мониторинг на изтичането на токена, задействащ предупреждения преди неуспешно оторизиране | |
| 🚪Автоматично деактивиране на забранени акаунти | Оперативен прекъсвач автоматично запечатва трайно блокирани токен акаунти | |
| 🔑API Key Management + Scoping | Сигурно издаване/ротация на ключове и контроли на модел/доставчик | |
| 👁️Разкриване на API ключ с обхват🆕 | Възстановяване с включване на API ключове чрез ALLOW_API_KEY_REVEAL |
|
🛡️Защитени /models |
Опционално удостоверяване и скриване на доставчик за каталог на модели | ### 📊 Observability & Analytics |
| Характеристика | Какво прави | |
|---|---|---|
| 📝Заявка + Регистриране на прокси сървър | Пълно регистриране на заявка/отговор и прокси | |
| 📉Поточно предавани подробни регистрационни файлове🆕 | Реконструира SSE потоците от полезен товар чисто в потребителския интерфейс | |
| 📋Табло за управление на Unified Logs | Изгледи на заявка, прокси, одит и конзола на една страница | |
| 🔍Заявка за телеметрия | p50/p95/p99 латентност и проследяване на заявки | |
| 🏥Здравно табло | Време на работа, състояния на прекъсване, блокировки, статистика на кеша | |
| 💰Проследяване на разходите | Контрол на бюджета и видимост на ценообразуването за модел | |
| 📈Аналитични визуализации | Прозрения за използването на модел/доставчик и изгледи на тенденции | |
| 🧪Рамка за оценка | Тестване на златен набор с конфигурируеми стратегии за мач | |
| 📡Диагностика на живо🆕 | Семантичен байпас на кеша за точно комбинирано тестване на живо | ### ☁️ Deployment & Platform |
| Характеристика | Какво прави | |
|---|---|---|
| 🌐Разполагане навсякъде | Localhost, VPS, Docker, облачни среди | |
| 🚇Cloudflare Tunnel🆕 | Интеграция с бърз тунел с едно щракване от таблото за управление | |
| 🔑Филтриране на ключови модели на API | Роден /v1/models отговор, филтриран чрез присвоени контекстни роли на носителя | |
| ⚡Smart Cache Bypass | Конфигурируеми TTL евристики и контроли за принудително повторно извличане | |
| 🔄Архивиране/Възстановяване | Експорт/импорт и потоци за възстановяване след бедствие | |
| 🧙Съветник за присъединяване | Насочвана настройка при първо стартиране | |
| 🔧CLI Tools Dashboard | Настройка с едно щракване за популярни инструменти за кодиране | |
| 🎮Моделна площадка | Тествайте всеки доставчик/модел/крайна точка от таблото | |
| 🔏CLI Fingerprint Toggle | Съвпадение на пръстови отпечатъци за всеки доставчик в Настройки > Сигурност | |
| 🌐i18n (30 езика) | Пълно табло за управление + езикова поддръжка на документи с RTL покритие | |
| 🧹Изчистване на всички модели | Изчистване на списък с модели с едно щракване в подробности за доставчика | |
| 👁️Контроли на страничната лента🆕 | Скриване на компоненти и интеграции от Настройки на външния вид | |
| 📋Шаблони за проблеми | Стандартизирани GitHub шаблони за грешки и функции | |
| 📂Директория с персонализирани данни | Замяна на DATA_DIR за място за съхранение |
### Feature Deep Dive |
Smart fallback with practical cost control
Combo: "my-coding-stack"
1. cc/claude-opus-4-6
2. nvidia/llama-3.3-70b
3. glm/glm-4.7
4. if/kimi-k2-thinking
Когато квотата, скоростта или здравето са неуспешни, OmniRoute автоматично преминава към следващия кандидат без ръчно превключване.#### Protocol management that is visible and operable
- MCP + A2A са откриваеми в UI и документи (не са скрити)
- API за състоянието на протокола разкриват оперативни данни на живо (
/api/mcp/*,/api/a2a/*) - Таблата за управление включват действия за операции от ден 2 (комбо превключвания, нулиране на прекъсвача, анулиране на задача)#### Translator + validation workflow
Зоната за преводач включва:
-Playground: поискайте проверки за трансформация -Chat Tester: пълна заявка/отговор двупосочно -Тестова стенда: множество случаи в едно изпълнение -Монитор на живо: изглед на трафика в реално време
Плюс проверка на протокола с реални клиенти чрез npm run test:protocols:e2e.
📖MCP Server README— Справка за инструменти, IDE конфигурации и примери за клиенти
📖A2A Server README— Умения, JSON-RPC методи, стрийминг и жизнен цикъл на задачите## 🧪 Evaluations (Evals)
OmniRoute включва вградена рамка за оценка за тестване на качеството на отговора на LLM спрямо златен набор. Достъп до него чрезAnalytics → Evalsв таблото за управление.### Built-in Golden Set
Предварително зареденият "OmniRoute Golden Set" съдържа тестови случаи за:
- Поздрави, математика, география, генериране на код
- Съответствие с JSON формат, превод, генериране на маркдаун
- Отказ за безопасност (вредно съдържание), броене, булева логика### Evaluation Strategies
| Стратегия | Описание | Пример | |
|---|---|---|---|
точно |
Изходът трябва да съвпада точно | "4" |
|
съдържа |
Изходът трябва да съдържа подниз (без значение за малки и големи букви) | "Париж" |
|
регекс |
Изходът трябва да съответства на модела на регулярен израз | "1.*2.*3" |
|
по поръчка |
Персонализираната JS функция връща true/false | (изход) => изход.дължина > 10 |
--- |
📖 Setup Guide
Protocol Setup (MCP + A2A)
<подробности> <резюме>🧩 Настройка на MCP (моделен контекстен протокол)</резюме>
Стартирайте MCP транспорт в режим stdio:```bash omniroute --mcp
Препоръчителен поток за валидиране:
1. Свържете вашия MCP клиент през stdio.
2. Стартирайте `omniroute_get_health`.
3. Стартирайте `omniroute_list_combos`.
4. Отворете `/dashboard/mcp`, за да потвърдите пулса, активността и проверката.
Полезни API за автоматизация:
- `GET /api/mcp/status`
- `GET /api/mcp/tools`
- `GET /api/mcp/audit`
- `GET /api/mcp/audit/stats`</details>
<подробности>
<резюме><b>🤝 Настройка на A2A (Agent2Agent)</b></резюме>
Открийте агента:```bash
curl http://localhost:20128/.well-known/agent.json
Изпратете задача:```bash
curl -X POST http://localhost:20128/a2a
-H 'content-type: application/json'
-d '{"jsonrpc":"2.0","id":"setup-a2a","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Summarize quota status."}]}}'
Управление на жизнения цикъл:
- `GET /api/a2a/status`
- `GET /api/a2a/tasks`
- `GET /api/a2a/tasks/:id`
- `POST /api/a2a/tasks/:id/cancel`
Оперативен потребителски интерфейс:
- `/dashboard/a2a` за видимост на задача/състояние/поток и димни действия</details>
<подробности>
<резюме><b>🧪 Проверка на протокола от край до край</b></резюме>
Валидирайте и двата протокола с реални клиенти:```bash
npm run test:protocols:e2e
Това потвърждава:
- MCP SDK клиент за свързване/списък/обаждане
- A2A откриване/изпращане/поток/получаване/отказ
- Кръстосана проверка на данни в MCP одит и API за управление на задачи A2A
<подробности> <резюме>💳 Доставчици на абонамент</резюме>### Claude Code (Pro/Max)
Dashboard → Providers → Connect Claude Code
→ OAuth login → Auto token refresh
→ 5-hour + weekly quota tracking
Models:
cc/claude-opus-4-6
cc/claude-sonnet-4-5-20250929
cc/claude-haiku-4-5-20251001
**Професионален съвет:**Използвайте Opus за сложни задачи, Sonnet за скорост. OmniRoute проследява квота за модел!### OpenAI Codex (Plus/Pro)
Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset
Models:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-max
Codex Account Limit Management (5h + Weekly)
Всеки акаунт в Codex вече има превключватели на правилата в Табло за управление -> Доставчици:
5h(ВКЛ./ИЗКЛ.): прилага политиката за 5-часов праг на прозореца.Седмично(ВКЛ./ИЗКЛ.): прилагане на политиката за седмичния праг на прозореца.- Прагово поведение: когато активиран прозорец достигне >=90% използване, този акаунт се пропуска.
- Ротационно поведение: OmniRoute автоматично пренасочва към следващия отговарящ на условията акаунт в Codex.
- Поведение при нулиране: когато изтече времето за
resetAtна доставчика, акаунтът отново автоматично става допустим.
Сценарии:
5h ON+Weekly ON: акаунтът се пропуска, когато някой прозорец достигне прага.5h OFF+Weekly ON: само седмично използване може да блокира акаунта.5h ВКЛ.+Weekly OFF: само 5-часово използване може да блокира акаунта.resetAtпремина: акаунтът влиза отново в ротация автоматично (без ръчно повторно активиране).### Gemini CLI (FREE 180K/month!)
Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day
Models:
gc/gemini-3-flash-preview
gc/gemini-2.5-pro
**Най-добра стойност:**Огромно безплатно ниво! Използвайте това преди платените нива.### GitHub Copilot
Dashboard → Providers → Connect GitHub
→ OAuth via GitHub
→ Monthly reset (1st of month)
Models:
gh/gpt-5
gh/claude-4.5-sonnet
gh/gemini-3.1-pro-preview
<подробности> <резюме>🔑 Доставчици на ключове за API</резюме>### NVIDIA NIM (FREE developer access — 70+ models)
- Регистрирайте се: build.nvidia.com
- Вземете безплатен API ключ (включени 1000 кредита за изводи)
- Табло → Добавяне на доставчик → NVIDIA NIM:
- API ключ:
nvapi-вашият-ключ
- API ключ:
Модели:nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct и още 50+
**Професионален съвет:**OpenAI-съвместим API — работи безпроблемно с превода на формати на OmniRoute!### DeepSeek
- Регистрирайте се: platform.deepseek.com
- Вземете API ключ
- Табло → Добавяне на доставчик → DeepSeek
Модели:deepseek/deepseek-chat, deepseek/deepseek-coder### Groq (Free Tier Available!)
- Регистрирайте се: console.groq.com
- Вземете API ключ (включено безплатно ниво)
- Табло → Добавяне на доставчик → Groq
Модели:groq/llama-3.3-70b, groq/mixtral-8x7b
**Професионален съвет:**Изключително бърз извод — най-добър за кодиране в реално време!### OpenRouter (100+ Models)
- Регистрирайте се: openrouter.ai
- Вземете API ключ
- Табло → Добавяне на доставчик → OpenRouter
**Модели:**Достъп до 100+ модела от всички основни доставчици чрез един API ключ.
Поведение на таблото:Моделите OpenRouter се управляват отНалични модели. Ръчното добавяне, импортиране и автоматично синхронизиране актуализира един и същ списък.
<подробности> <резюме>💰 Евтини доставчици (резервни)</резюме>### GLM-4.7 (Daily reset, $0.6/1M)
- Регистрирайте се: Zhipu AI
- Вземете API ключ от Coding Plan
- Табло → Добавяне на API ключ:
- Доставчик:
glm - API ключ:
вашият-ключ
- Доставчик:
Използвайте:glm/glm-4.7
**Професионален съвет:**Планът за кодиране предлага 3× квота на цена 1/7! Нулирайте всеки ден в 10:00 ч.### MiniMax M2.1 (5h reset, $0.20/1M)
- Регистрирайте се: MiniMax
- Вземете API ключ
- Табло → Добавяне на API ключ
Използвайте:minimax/MiniMax-M2.1
**Професионален съвет:**Най-евтината опция за дълъг контекст (1M токени)!### Kimi K2 ($9/month flat)
- Абонирайте се: Moonshot AI
- Вземете API ключ
- Табло → Добавяне на API ключ
Използвайте:kimi/kimi-latest
**Професионален съвет:**Фиксирани $9/месец за 10 милиона токена = $0,90/1 милион ефективна цена!
<подробности> <резюме>🆓 БЕЗПЛАТНИ доставчици (Спешно архивиране)</резюме>### Qoder (5 FREE models via OAuth)
Dashboard → Connect Qoder
→ Qoder OAuth login
→ Unlimited usage
Models:
if/kimi-k2-thinking
if/qwen3-coder-plus
if/glm-4.7
if/minimax-m2
if/deepseek-r1
Qwen (4 FREE models via Device Code)
Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage
Models:
qw/qwen3-coder-plus
qw/qwen3-coder-flash
Kiro (Claude FREE)
Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage
Models:
kr/claude-sonnet-4.5
kr/claude-haiku-4.5
<подробности>
Dashboard → Combos → Create New
Name: premium-coding
Models:
1. cc/claude-opus-4-6 (Subscription primary)
2. glm/glm-4.7 (Cheap backup, $0.6/1M)
3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M)
Use in CLI: premium-coding
Example 2: Free-Only (Zero Cost)
Name: free-combo
Models:
1. gc/gemini-3-flash-preview (180K free/month)
2. if/kimi-k2-thinking (unlimited)
3. qw/qwen3-coder-plus (unlimited)
Cost: $0 forever!
<подробности> <резюме>🔧 CLI интеграция</резюме>### Cursor IDE
Settings → Models → Advanced:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [from OmniRoute dashboard]
Model: cc/claude-opus-4-6
Claude Code
Използвайте страницатаCLI Toolsв таблото за управление за конфигурация с едно кликване или редактирайте ~/.claude/settings.json ръчно.### Codex CLI
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"
OpenClaw
Вариант 1 — Табло (препоръчително):``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply
**Опция 2 — Ръчно:**Редактиране на `~/.openclaw/openclaw.json`:```json
{
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://127.0.0.1:20128/v1",
"apiKey": "sk_omniroute",
"api": "openai-completions"
}
}
}
}
**Забележка:**OpenClaw работи само с локален OmniRoute. Използвайте „127.0.0.1“ вместо „localhost“, за да избегнете проблеми с разрешаването на IPv6.### Cline / Continue / RooCode
Settings → API Configuration:
Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from OmniRoute dashboard]
Model: if/kimi-k2-thinking
OpenCode
**Стъпка 1:**Добавете OmniRoute като персонализиран доставчик:```bash opencode /connect
Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key
**Стъпка 2:**Създайте/редактирайте `opencode.json` в корена на вашия проект:```json
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"omniroute": {
"npm": "@ai-sdk/openai-compatible",
"name": "OmniRoute",
"options": {
"baseURL": "http://localhost:20128/v1"
},
"models": {
"cc/claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" },
"gg/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" },
"if/kimi-k2-thinking": { "name": "Kimi K2 (Free)" }
}
}
}
}
**Стъпка 3:**Изберете модела в OpenCode:```bash /models
Select any OmniRoute model from the list
>**Съвет:**Добавете всеки модел, наличен във вашата крайна точка OmniRoute `/v1/models` към раздела `models`. Използвайте формата „провайдер/идентификатор на модел“ от таблото за управление на OmniRoute.</details>
---
## Отстраняване на проблеми
<подробности>
<summary><b>Щракнете, за да разширите ръководството за отстраняване на неизправности</b></summary>
**„Езиковият модел не предостави съобщения“**
- Квотата на доставчика е изчерпана → Проверете инструмента за проследяване на квотата на таблото за управление
- Решение: Използвайте комбо резервен вариант или преминете към по-евтино ниво
**Ограничаване на скоростта**
- Изчерпване на квотата за абонамент → Резервно връщане към GLM/MiniMax
- Добавете комбо: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
**OAuth токенът е изтекъл**
- Автоматично опресняване от OmniRoute
- Ако проблемите продължават: Табло за управление → Доставчик → Свързване отново
**Високи разходи**
- Проверете статистическите данни за използването в Табло → Разходи
- Превключете основния модел към GLM/MiniMax
- Използвайте безплатно ниво (Gemini CLI, Qoder) за некритични задачи
**Портовете на таблото/API са грешни**
- `PORT` е каноничният базов порт (и API порт по подразбиране)
- `API_PORT` заменя само OpenAI-съвместим API слушател
- `DASHBOARD_PORT` заменя само слушателя на таблото за управление/Next.js
- Задайте `NEXT_PUBLIC_BASE_URL` на вашето табло за управление/публичен URL (за OAuth обратни извиквания)
**Грешки при синхронизиране в облак**
- Уверете се, че `BASE_URL` сочи към вашия работещ екземпляр
- Уверете се, че `CLOUD_URL` сочи към вашата очаквана крайна точка в облака
- Поддържайте стойностите на `NEXT_PUBLIC_*` в съответствие със стойностите от страна на сървъра
**Първото влизане не работи**
- Проверете `INITIAL_PASSWORD` в `.env`
- Ако не е зададена, резервната парола е „123456“.
**Няма регистрационни файлове за заявки**
- Артефактите на заявката се записват в `DATA_DIR/call_logs/` като един JSON файл на заявка
- Активирайте улавянето на тръбопровода от таблото за управление → Регистри → Искане на регистрационни файлове, ако имате нужда от подробни полезни товари на етап
- Задайте `APP_LOG_TO_FILE=true`, ако също искате регистрационни файлове на конзолата на приложението в `logs/application/app.log`
- Коригирайте `APP_LOG_MAX_FILE_SIZE`, `APP_LOG_RETENTION_DAYS`, `APP_LOG_MAX_FILES` и `CALL_LOG_MAX_ENTRIES` според нуждите
**Тестът за връзка показва „Невалидно“ за OpenAI-съвместими доставчици**
- Много доставчици не излагат крайна точка `/models`
- OmniRoute v1.0.6+ включва резервно валидиране чрез завършвания на чат
- Уверете се, че основният URL адрес включва суфикс `/v1`### 🔐 OAuth on a Remote Server
<a name="oauth-on-a-remote-server"></a>
<a name="oauth-em-servidor-remoto"></a>
>**⚠️ Важно за потребители, работещи с OmniRoute на VPS, Docker или друг отдалечен сървър**#### Why does Antigravity / Gemini CLI OAuth fail on remote servers?
Доставчиците на**Antigravity**и**Gemini CLI**използват**Google OAuth 2.0**. Google изисква „redirect_uri“ в OAuth потока да съвпада точно с един от предварително регистрираните URI адреси в Google Cloud Console на приложението.
Идентификационните данни за OAuth, включени в OmniRoute, са регистрирани**само за `localhost`**. Когато получите достъп до OmniRoute на отдалечен сървър (напр. `https://omniroute.myserver.com`), Google отхвърля удостоверяването с:```
Error 400: redirect_uri_mismatch
Solution: Configure your own OAuth credentials
Трябва да създадетеOAuth 2.0 Client IDв Google Cloud Console с URI на вашия сървър.#### Step-by-step
1. Отворете Google Cloud Console
Отидете на: https://console.cloud.google.com/apis/credentials
2. Създайте нов OAuth 2.0 клиентски идентификатор
- Щракнете върху**"+ Създаване на идентификационни данни"→"OAuth клиентски идентификатор"**
- Тип приложение:"Уеб приложение"
- Име: каквото искате (напр. „OmniRoute Remote“)
3. Добавете оторизирани URI адреси за пренасочване
В полето**„Оторизирани URI адреси за пренасочване“**добавете:``` https://your-server.com/callback
> Заменете `your-server.com` с домейна или IP на вашия сървър (включете порта, ако е необходимо, напр. `http://45.33.32.156:20128/callback`).
**4. Запазете и копирайте идентификационните данни**
След създаването Google ще покаже**Клиентски идентификатор**и**Клиентска тайна**.
**5. Задайте променливи на средата**
Във вашия `.env` (или променливи на средата Docker):```bash
# For Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
# For Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret
6. Рестартирайте OmniRoute```bash
npm:
npm run dev
Docker:
docker restart omniroute
**7. Опитайте да се свържете отново**
Табло → Доставчици → Antigravity (или Gemini CLI) → OAuth
Google вече ще пренасочва правилно към `https://your-server.com/callback`.---
#### Temporary workaround (without custom credentials)
Ако не искате да настроите свои собствени идентификационни данни точно сега, можете да използвате**ръчния URL поток**:
1. OmniRoute отваря URL адреса за оторизация на Google
2. След упълномощаване Google се опитва да пренасочи към `localhost` (което не успява на отдалечения сървър)
3.**Копирайте пълния URL**от адресната лента на вашия браузър (дори страницата да не се зарежда)
4. Поставете този URL адрес в полето, показано в модала за свързване на OmniRoute
5. Щракнете върху**"Свързване"**
> Това работи, защото кодът за оторизация в URL адреса е валиден независимо дали страницата за пренасочване е заредена.---
<подробности>
<резюме><b>🇧🇷 Versão em Português</b></резюме>#### Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?
Доставчиците на**Antigravity**и**Gemini CLI**използват**Google OAuth 2.0**за удостоверяване. Google изисква, че `redirect_uri` не използва fluxo OAuth като**exatamente**, за да може URI преди кадастрада да не се използва Google Cloud Console за приложение.
Като пълномощия за OAuth не се използва OmniRoute в кадастрада**apenas para `localhost`**. Ако имате достъп до OmniRoute в дистанционния сървър (напр.: `https://omniroute.meuservidor.com`), или Google rejeita a autenticação com:```
Error 400: redirect_uri_mismatch
Solução: Configure suas próprias credenciais OAuth
Изпишете точноOAuth 2.0 Client IDбез Google Cloud Console чрез URI на вашия сървър.#### Passo a passo
1. Достъп до Google Cloud Console
Abra: https://console.cloud.google.com/apis/credentials
2. Crie um novo OAuth 2.0 Client ID
- Кликнете върху**"+ Създаване на идентификационни данни"→"OAuth клиентски идентификатор"**
- Tipo de aplicativo:"Уеб приложение"
- Име: escolha qualquer име (напр.:
OmniRoute Remote)
3. Adicione като оторизирани URI адреси за пренасочване
Без поле**„Оторизирани URI адреси за пренасочване“**, добавете:``` https://seu-servidor.com/callback
> Заменете `seu-servidor.com` домейн или IP на вашия сървър (включително необходим порт, напр.: `http://45.33.32.156:20128/callback`).
**4. Salve e copie as credenciais**
Например, Google показва**Клиентски идентификатор**и**Клиентска тайна**.
**5. Конфигуриране като variáveis de ambiente**
Не се използва `.env` (или нашите варианти на средата на Docker):```bash
# Para Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
# Para Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
6. Reinicie o OmniRoute```bash
Se usando npm:
npm run dev
Se usando Docker:
docker restart omniroute
**7. Tente conectar novamente**
Табло → Доставчици → Антигравитация (или Gemini CLI) → OAuth
Agora или Google пренасочва корретаментно за „https://seu-servidor.com/callback“ и функционира автентичност.---
#### Workaround temporário (sem configurar credenciais próprias)
Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo**manual de URL**:
1. O OmniRoute премахва URL адрес за авторизация от Google
2. Ако не разрешите, пренасочването на Google към „localhost“ (не може да се използва отдалечен сървър)
3.**Копирайте пълния URL адрес**от страницата, която искате да прехвърлите в своя браузър (mesmo que a página não carregue)
4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
5. Щракнете върху**"Свързване"**
> Това заобиколно решение функционира, ако кодът на авторизацията на URL е валиден независимо от пренасочването към пренасочване или не.</details>
---
</details>
## 🛠️ Tech Stack
<подробности>
<summary><b>Щракнете, за да разгънете подробностите за технически стек</b></summary>
-**Време на изпълнение**: Node.js 18–22 LTS (⚠️ Node.js 24+**не се поддържа**— собствените бинарни файлове на `better-sqlite3` са несъвместими)
-**Език**: TypeScript 5.9 —**100% TypeScript**в `src/` и `open-sse/` (нула `any` в основните модули от v2.0)
-**Framework**: Next.js 16 + React 19 + Tailwind CSS 4
-**База данни**: LowDB (JSON) + SQLite (състояние на домейна + регистрационни файлове на прокси + MCP одит + решения за маршрутизиране)
-**Схеми**: Zod (валидиране на I/O инструмент за MCP, API договори)
-**Протоколи**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE)
-**Поточно предаване**: Изпратени от сървъра събития (SSE)
-**Auth**: OAuth 2.0 (PKCE) + JWT + API ключове + MCP оторизация с обхват
-**Тестване**: Node.js тестов инструмент + Vitest (900+ теста, включително модул, интеграция, E2E)
-**CI/CD**: Действия на GitHub (автоматично публикуване на npm + Docker Hub при пускане)
-**Уебсайт**: [omniroute.online](https://omniroute.online)
-**Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
-**Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
-**Устойчивост**: прекъсвач, експоненциално отдръпване, анти-гръмотевично стадо, TLS подправяне, автоматично комбинирано самолечение</details>
---
## Документация
| Документ | Описание |
| ---------------------------------------------- | -------------------------------------------------- |
| [Ръководство на потребителя](docs/USER_GUIDE.md) | Доставчици, комбинации, CLI интеграция, внедряване |
| [Справочник за API](docs/API_REFERENCE.md) | Всички крайни точки с примери |
| [MCP сървър](open-sse/mcp-server/README.md) | 16 MCP инструмента, IDE конфигурации, Python/TS/Go клиенти |
| [A2A сървър](src/lib/a2a/README.md) | JSON-RPC 2.0 протокол, умения, стрийминг, управление на задачи |
| [Auto-Combo Engine](docs/auto-combo.md) | 6-факторно оценяване, пакети с режими, самолечение |
| [Отстраняване на неизправности](docs/TROUBLESHOOTING.md) | Често срещани проблеми и решения |
| [Архитектура](docs/ARCHITECTURE.md) | Системна архитектура и вътрешност |
| [Принос](CONTRIBUTING.md) | Настройка и насоки за разработка |
| [OpenAPI Spec](docs/openapi.yaml) | Спецификация на OpenAPI 3.0 |
| [Правила за сигурност](SECURITY.md) | Отчитане на уязвимости и практики за сигурност |
| [Внедряване на VM](docs/VM_DEPLOYMENT_GUIDE.md) | Пълно ръководство: Настройка на VM + nginx + Cloudflare |
| [Галерия с функции](docs/FEATURES.md) | Визуална обиколка на таблото с екранни снимки |
| [Списък за проверка на изданието](docs/RELEASE_CHECKLIST.md) | Стъпки за валидиране преди пускане |---
## 🗺️ Roadmap
OmniRoute има**планирани 210+ функции**в множество фази на разработка. Ето основните области:
| Категория | Планирани функции | Акценти |
| ----------------------------- | ---------------- | ----------------------------------------------------------------------------------------------- |
| 🧠**Маршрутизиране и разузнаване**| 25+ | Маршрутизиране с най-ниска латентност, маршрутизиране на базата на етикети, предварителен полет на квота, избор на P2C акаунт |
| 🔒**Сигурност и съответствие**| 20+ | SSRF укрепване, прикриване на идентификационни данни, ограничение на скоростта за крайна точка, обхват на ключ за управление |
| 📊**Наблюдаемост**| 15+ | OpenTelemetry интеграция, мониторинг на квоти в реално време, проследяване на разходите за модел |
| 🔄**Интеграции на доставчици**| 20+ | Регистър на динамичен модел, изчакване на доставчика, Codex за множество акаунти, анализ на квота на Copilot |
| ⚡**Изпълнение**| 15+ | Слой с двоен кеш, кеш за подкани, кеш за отговор, поддържане на активността при поточно предаване, партиден API |
| 🌐**Екосистема**| 10+ | WebSocket API, горещо презареждане на конфигурация, разпределено хранилище за конфигурация, търговски режим |### 🔜 Coming Soon
- 🔗**OpenCode Integration**— Поддръжка на родния доставчик за IDE за кодиране OpenCode AI
- 🔗**TRAE Integration**— Пълна поддръжка за рамката за разработка на TRAE AI
- 📦**Batch API**— Асинхронна групова обработка за групови заявки
- 🎯**Маршрутизиране на базата на етикети**— Маршрутизирайте заявки въз основа на персонализирани тагове и метаданни
- 💰**Стратегия с най-ниска цена**— Автоматично изберете най-евтиния наличен доставчик
> 📝 Пълните спецификации на функциите са налични в [`docs/new-features/`](docs/new-features/) (217 подробни спецификации)---
## 👥 Contributors
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
### How to Contribute
1. Разклонете хранилището
2. Създайте свой клон на функции (`git checkout -b feature/amazing-feature`)
3. Задайте вашите промени (`git commit -m 'Добавяне на невероятна функция'`)
4. Пуш към клона (`git push origin feature/amazing-feature`)
5. Отворете заявка за изтегляне
Вижте [CONTRIBUTING.md](CONTRIBUTING.md) за подробни насоки.### Releasing a New Version
```bash
# Create a release — npm publish happens automatically
gh release create v2.0.0 --title "v2.0.0" --generate-notes
📊 Star History
Stargazers over time
🙏 Acknowledgments
Специални благодарности на**9routerотdecolua**— оригиналният проект, който вдъхнови това разклонение. OmniRoute се основава на тази невероятна основа с допълнителни функции, мултимодални API и пълно пренаписване на TypeScript.
Специални благодарности на**CLIProxyAPI**— оригиналната реализация на Go, която вдъхнови този JavaScript порт.---
Лиценз
Лиценз на MIT - вижте ЛИЦЕНЗ за подробности.---








