> Ръчното комбиниране на безплатни планове е мъчително — десетки SDK пакети, десетки ограничения на заявките и никаква представа с какво количество всъщност разполагате. OmniRoute каталогизира **489 записа за безплатни планове в 35 ключа за периодично възстановяващи се пулове** и изчислява общия брой токени въз основа на **17-те пула с публикуван положителен месечен бюджет плюс пет лимита на Groq за отделни модели**, като премахва дублиранията при споделените пулове. Квотите, които се активират само след регионална проверка на самоличността (към момента: ModelScope), са показани отделно — +~6M след регионална проверка на самоличността — и никога не се включват в общата стойност. Резултатът остава видим в таблото за управление (`/dashboard/free-tiers`).
> Анимирано обобщение на страницата `/dashboard/free-tiers` с актуални данни. Пълна методология (премахване на дублирани пулове, нива на кредитите, условия на доставчиците): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Тези стойности се проверяват отново на всеки две седмици спрямо актуалния каталог и **се променят и в двете посоки** — ако доставчик прекрати безплатен план, стойността намалява; ако се появи нов, тя нараства. Публикуваме това, което каталогът действително изчислява, а не закръглен нагоре най-добър сценарий.
⭐ Дайте звезда на хранилището, ако OMNIROUTE ви е помогнал да спестите пари и да улесните работата си.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Присъединете се към общността
**👋 Следвайте поддръжника — научавайте първи за нови доставчици, версии и съвети:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Въпроси, съвети за доставчици, пътна карта и поддръжка → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Глобално](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Бразилия](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Портал](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Шлюзът продължава да расте
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ---------------------------- | :-----: | :-----------------------: | :-------------: |
| 🌐 Доставчици | 290 | **357** | още на опашката |
| 🧠 Уникални ID на чат модели | 1185 | **1312** | — |
| 🖼️ Мост за модалности | — | 🆕 зрение + аудио + видео | — |
| 📡 Безплатен каталог Radar | — | 🆕 по желание | — |
| ⚖️ Планиране според квотата | — | 🆕 Quota-Share | — |
| 📊 Телеметрия на квотата | — | 🆕 в реално време | — |
**→ [Пътна карта](ROADMAP.md) — по релсите към `v3.9.0 LTS`**
## 🧩 Налично
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
[](LICENSE)


## 🆓 Работи веднага след инсталиране — без ключове, без конфигурация
```bash
# Свежа инсталация, нулеви идентификационни данни — `auto` вече работи:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Предпочитате конкретен безплатен бекенд? Извикайте `oc/…` (OpenCode Free) директно. След това преминете към `auto` и оставете OmniRoute да избере.📦 Копирайте и поставете скриптове за бърз старт за **Python, Node.js, PHP и cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Обещанието
# 🤔 Защо OmniRoute?
## 🤝 С подкрепата на нашите приятели на отворения код
> **Искате да се присъедините като приятел на отворения код?** Това са компаниите, които подкрепят отворения код и помагат за развитието на OmniRoute — а ние публично посочваме за какво се използва всеки токен, който ни предоставят. Свържете се с нас: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Благодарим на Kimi (Moonshot AI), нашия основополагащ приятел на отворения код, за подкрепата на този проект! Kimi е лабораторията за ИИ зад семействата модели с отворени тегла K2 и K3 — Kimi K3 предоставя контекстен прозорец от 1M токена, вградени визуални възможности и програмиране на най-високо ниво на цена, която е само малка част от тази на затворените модели, и работи веднага с Claude Code, Codex и всеки инструмент за програмиране, обслужван от OmniRoute.
Какво осигурява подкрепата на Kimi: API кредитите на Kimi захранват процеса на OmniRoute за издания, валидиран от ИИ — етапа валидиране на сливането, задвижвано от Kimi K3, който преглежда всяка заявка за изтегляне преди публикуването ѝ — както и ежедневната разработка на функционалности. Първокласната поддръжка на Kimi се предоставя и по двата канала: директния Kimi API (kimi-k3) и плана за програмиране Kimi Code (OAuth и API ключ). OmniRoute е и първият бразилски проект с отворен код в програмата за подкрепа на Kimi. Вземете Kimi API ключ с 15% допълнителни кредити →
Cheaper Inference cheaperinference.com
Благодарим на Cheaper Inference, приятел на отворения код на OmniRoute, за подкрепата на този проект! Cheaper Inference е шлюз с класиране по цена, който препродава достъп до 42 водещи модела — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok и MiniMax — чрез една крайна точка, съвместима с OpenAI, като насочва всяка заявка към най-евтиния отговарящ на условията доставчик, без никога да начислява цена над обявената от създателя на модела.
Първокласна поддръжка в OmniRoute: Chat Completions, нативната крайна точка /v1/responses, визуални възможности, извикване на инструменти и 3 модела за изображения (grok-imagine, nano-banana-pro, nano-banana-2, достъпни като cheaperinference/<model>). Вземете API ключ →
Връзките, обозначени с aff=omniroute, са партньорски връзки. Те финансират проекта без допълнителни разходи за вас. 🎟️ Партньорски промоции — безплатни купони за регистрация от доставчици, които не ни спонсорират (щракнете за разгъване)Този раздел е предназначен само за кодове за препоръки/купони. Спонсорираните партньорства са посочени в раздела 🤝 С подкрепата на нашите приятели на отворения код по-горе. OmniRoute няма спонсорски или партньорски отношения с изброените тук доставчици — това са публични купони, които всеки може да използва.
AgentRouter agentrouter.org
AgentRouter — партньорска регистрация · $100 безплатни кредити при регистрация (безплатен сървър, очаквайте по-висока латентност — най-подходящ за тестване, а не за продукционна среда). Първокласна поддръжка в OmniRoute от v3.8.50: Chat Completions, форматът за комуникация, съвместим с Anthropic, и пътят, съвместим с OpenAI. Наличните модели включват claude-opus-4-8, claude-opus-5, gpt-5.6-sol и други. Вземете своите $100 →
⚠️ Партньорска връзка — OmniRoute няма спонсорски или партньорски отношения с този доставчик.
Знаете друг доставчик с щедър безплатен купон за регистрация, който би бил от полза за потребителите на OmniRoute? Отворете задача и ще го добавим тук.
## 🎯 Комбинации — водещата функционалност
> **Комбинацията** е верига от модели, между които OmniRoute маршрутизира **автоматично**. Ако квотата се изчерпи, доставчикът се срине или разходите скочат, комбинацията може да премине към следващия отговарящ на условията и изправен модел. 🛡️
### ⚡ Без конфигуриране — просто използвайте `auto`
Не е необходимо да създавате комбинация. Задайте модела си на `auto` (или негов вариант) и OmniRoute ще изгради виртуална комбинация от свързаните ви доставчици, оценявани в реално време:
ИД на модела
Какво оптимизира
auto
🎯 Балансирана настройка по подразбиране (LKGP — придържа се към последния ви надежден доставчик)
auto/coding
🧑💻 Тегла с приоритет върху качеството при генериране на код
auto/fast
⚡ Първо най-ниската латентност
auto/cheap
💰 Първо най-ниската цена на токен
auto/offline
🔋 Първо най-големият резерв от квота / ограничение на заявките
auto/smart
🔭 Приоритет върху качеството + 10% проучване за откриване на по-добри модели
auto/lkgp
📌 Изрично придържане към последния известен надежден доставчик
auto/chaos
🧪 Тегла за внедряване на откази при тестване на устойчивостта (хаос инженерство)
##
### 🔀 Или създайте своя собствена — 19 стратегии за маршрутизиране
Всички **19** стратегии — комбинирайте ги свободно за всяка стъпка от комбинацията:
#
Стратегия
Какво прави
1
priority
Подреден списък с първа цел — изчерпва всяка, преди да премине към следващата 🥇
2
fill-first
Използва напълно квотата на всяка цел, преди да продължи нататък
3
weighted
Претеглен случаен избор според теглото на всяка цел
4
round-robin
Обхожда целите последователно
5
p2c
Случайно балансиране на натоварването чрез избор между две възможности
Минимизира $ на заявка според актуалните цени в каталога 💸
10
headroom
Избира целта с най-голяма оставаща квота
11
reset-window
Предпочита целта, чийто прозорец за квота ще се нулира най-скоро
12
reset-aware
Класира според времето за нулиране на квотата — първо кратките прозорци 📊
13
context-relay
Предава контекста между целите при дълги разговори 🧠
14
context-optimized
Избира най-подходящата цел за текущия размер на контекста
15
cache-optimized
Закрепва всеки повторно използваем префикс на подкана към един и същ акаунт — увеличава максимално попаденията в кеша за подкани 🎯
16
lkgp
Последен известен надежден път — закрепва към последния успешен доставчик, след което прилага резервните правила
17
auto
Оценяване в реално време по 16 фактора за всяка връзка 🤖
18
fusion
Разпраща към група от модели + модел-съдия обединява резултатите в един отговор 🧬
19
pipeline
Свързва стъпки — изходът на всяка цел се подава към следващата 🔗
Механизмът Auto-Combo оценява всеки кандидат по **16 фактора** (изправност, квота, цена, латентност, пригодност за задачата, качество, наличност на сесията…) — вижте [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Устойчивостта е вградена (3 независими слоя)
📖 [Механизъм за автоматично комбиниране](docs/routing/AUTO-COMBO.md) · [Ръководство за устойчивост](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Какво отличава OmniRoute
📊 Пълна методология и подробности за всяка функция спрямо 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Подкрепете OmniRoute
OmniRoute е лицензиран под MIT и се поддържа открито. Ако ви спестява време или пари, ето как можете да помогнете да остане независим — изберете най-подходящия за вас начин. Спонсорството никога не влияе върху приоритета на маршрутизиране; то осигурява видимост, а не по-високо класиране.
**🇧🇷 PIX** — незабавно, без такси (Бразилия)
Ключ (случаен): `5d865059-bc44-483a-962d-43ceb80126eb`
Копиране и поставяне за Pix:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Криптовалути — BTC · ETH · USDT-TRC20 · USDC-Solana (щракнете за разгъване)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Изпращайте всяка валута само чрез посочената мрежа — изпращането чрез грешна мрежа може да доведе до загуба на средствата.
🐛 Открихте грешка или имате обратна връзка? Отворете [дискусия](https://github.com/diegosouzapw/OmniRoute/discussions).
Бележки за разработчици: Проектът може да генерира локален файл .env по време на npm install/postinstall за удобство на разработчиците. Този файл умишлено се игнорира чрез .gitignore (вижте .gitignore) и никога не трябва да бъде добавян към хранилището — ако бъде добавен случайно, сменете всички разкрити тайни и премахнете файла от историята. Вижте docs/DEVELOPER-ENVIRONMENT.md за насоки относно управлението на локални файлове на средата и тайни.
## 📡 OmniRoute Radar
Основното предимство на безплатното ниво остава **~1,62 млрд. токена/месец** от документирания
по-горе каталог с премахнато дублиране между общите квоти. Временните кредити при регистрация при доставчици могат отделно да увеличат обема за първия
месец до **~2,22 млрд.** Radar е незадължителен, подписан допълнителен слой към каталога за хора, които искат по-актуална
информация за наличността на безплатни модели между изданията на OmniRoute; каталогът на общността и всички съществуващи безплатни
функции остават безплатни.
Поддръжниците могат да получат каталога на живо и допълнителни възможности от доставчици. Неговият отделен,
променлив таван е **приблизително най-много 3 млрд. токена/месец** в зависимост от наличността при доставчиците.
Този таван не е гарантиран: доставчиците могат по всяко време да променят квотите, критериите за допустимост, моделите или регионите.
Radar се използва само по желание и поддържа единствено GET. Клиентът на OmniRoute не качва подкани, трафик, конфигурация на доставчици,
телеметрия за използването или локалното състояние за отхвърляне на съобщения. Научете повече за критериите за допустимост и
текущия каталог на **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Какво е новото
> Скорошни акценти от **v3.8.20 → v3.8.50**. Пълната история е в [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — входящо A2A делегиране към вашия набор от агенти, Conductor умения в Agent Card и панел за управление с гласов чат с push-to-talk чрез Faro. → [A2A сървър](docs/frameworks/A2A-SERVER.md)
- **🛂 Адаптивен прием и защита от претоварване** — тежките заявки за чат се поставят на опашка, вместо да връщат 503, с атомарни плъзгащи се RPM лизинги за всяка връзка. → [Ръководство за устойчивост](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Канонично подреждане на `/v1/models`** — по един непрекъснат блок за всеки доставчик, групиран по доставчик (комбинациите са закрепени в началото), стабилен във всички източници на каталога. → [Справочник за API](docs/reference/API_REFERENCE.md)
- **🗜️ Подсилване на компресията** — включена по подразбиране защита срещу прекомерна декомпресия, Caveman пакети за DE / FR / JA + китайски (wényán), RTK филтри за Gradle и .NET. → [Компресия](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Коректна цена при фиксирана тарифа** — доставчиците с абонаментни / програмни планове отчитат **$0** в анализите на разходите; бюджетът, квотата и маршрутизирането продължават да правят прогнози. → [Справочник за API](docs/reference/API_REFERENCE.md)
- **⚖️ Маршрутизиране чрез Quota-Share** — справедливо разпределение на квотата на споделен акаунт между обединени ключове, със запазване на ефективността чрез преотстъпване на неизползваните дялове. → [Ръководство за устойчивост](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Настройване на CLI/агент с една команда** — 13 регистрирани команди `setup-*`; `omniroute run` стартира 7 CLI инструмента (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` поддържа 10 цели с интерактивен избор на доставчик и модел и предпочитани настройки за всеки контекст. → [CLI интеграции](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Отдалечен режим** — управлявайте отдалечен OmniRoute с токени с ограничен обхват (`connect` / `contexts` / `tokens`) + OAuth помощен инструмент `antigravity` за VPS инсталации. → [Отдалечен режим](docs/guides/REMOTE-MODE.md)
- **🧭 По-интелигентно автоматично маршрутизиране** — комбинации `auto/:`, **Fusion** (панел с модели + оценяващ модел), маршрутизиране според задачата, замени на модела / режима / бюджета в USD за всяка заявка. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Разширяема компресия** — 12 комбинируеми механизма + Compression Studios: LLMLingua-2, двустепенен Ultra, omniglyph, проверка на точността за всяка стъпка, GCF v3.2, редактор с пренареждане чрез плъзгане. → [Компресия](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Прозрачно MITM декриптиране (TPROXY)** — прихващане на CLI инструменти, които пренебрегват променливите на средата за прокси, с CA за всеки SNI + инсталатор за хранилището на доверени сертификати. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Телеметрия на разходите навсякъде** — заглавки `X-OmniRoute-*` за разходи/употреба във всяка крайна точка, заглавка за спестяванията при попадение в кеша, квоти за разходи в USD за всеки ключ. → [Справочник за API](docs/reference/API_REFERENCE.md)
- **🧠 Памет под ваш контрол** — изключена по подразбиране, опционално int8 векторно квантуване + типизирано затихване, `x-omniroute-no-memory` за всяка заявка. → [Памет](docs/frameworks/MEMORY.md)
- **🛡️ Сигурност** — защита срещу prompt injection за всеки LLM маршрут (набор от red-team тестове), опционална защитна мярка за маскиране на идентификационни данни (редактира изтекли API ключове/тайни и в двете посоки), безплатно търсене в DuckDuckGo като краен резервен вариант и опционална OIDC входна бариера за таблото за управление (входът с парола винаги остава достъпен). → [Защитни механизми](docs/security/GUARDRAILS.md)
- **🖼️ Нови крайни точки** — `/v1/ocr` (Mistral OCR) и `/v1/audio/translations` (в стил Whisper) допълват медийните възможности. → [Справочник за API](docs/reference/API_REFERENCE.md)
- **🎨 Генериране на изображения / видео / аудио** — един API за медийно съдържание: xAI Grok Imagine и Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind и доставчици на речеви услуги като ElevenLabs. → [Справочник за API](docs/reference/API_REFERENCE.md)
- **🌍 Внедряване и експлоатация** — `basePath` за обратно прокси, автоматично разпознаване на езика на браузъра, проследяване на устройства за всеки ключ, MITM доверяване без root права, локализация на zh-TW. → [Среда](docs/reference/ENVIRONMENT.md)
- **🤝 Още доставчици и агенти** — облачни агенти (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) с браузър + OAuth вход, пълноценна карта за Ollama, Claude Opus 5 и Sonnet 5, официално партньорство с Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… и обновен **каталог с 352 доставчика**. → [Доставчици](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Прозрачност на маршрутизирането** — всеки отговор съдържа заглавка `X-OmniRoute-Decision`, указваща стратегията/доставчика/латентността, които са го обслужили; нова комбинирана стратегия `cache-optimized` + факторът `cacheAffinity` на Auto-Combo насочват повторните заявки обратно към връзката, която държи кеширания префикс, а крайната точка само за четене `/v1/auto-combo/{channel}/candidates` показва активния набор от кандидати на даден `auto/*` канал. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Локална производителност и инфраструктура** — локален Redis с едно щракване, инструменти за внедряване на релейни услуги в Cloudflare Workers / Deno Deploy, Bifrost и Mux като контролирани вградени услуги. → [Вградени услуги](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Включено още** — рамка за плъгини + пазар, рамки за умения на Omni/Agent/GitHub, интеграция с Obsidian vault (22 MCP инструмента), съвместими с OpenAI API за Batch и Files, семантичен кеш за отговори, геймификация с класации, откриване на ACP агенти (15 вградени агента), планиран експорт на логове към BigQuery, инжектиране на грешки чрез `auto/chaos`, мост към Telegram бот, вграден мениджър на версии и класации LMArena-ELO за безплатни доставчици. → [Документация](docs/README.md)
## 🤖 Съвместими CLI инструменти и агенти за програмиране
> Една конфигурация — `http://localhost:20128/v1` — и **всяка** AI IDE или CLI работи с безплатни и евтини модели.
+ работи също и с · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · всеки инструмент, съвместим с OpenAI
📖 Настройка за всеки от 36-те инструмента (26 CLI инструмента за код + 10 CLI агента) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Приставка за OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Стартирайте всеки поддържан CLI чрез OmniRoute с една команда** — без записване на конфигурационни файлове,
идентификационните данни се подават за всеки процес, а Qwen/Gemini получават временна изолирана домашна директория:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Или изберете интерактивно доставчик и модел и запишете собствената конфигурация на инструмента:
omniroute configure codex # също: claude opencode qwen aider goose gemini cline continue kilo
```
Всяка команда зачита активния отдалечен контекст (`omniroute connect `), `--dry-run`
показва предварително точните променливи на средата/аргументи без изпълнение, а `--api-key-env NAME` не допуска тайните
в хронологията на вашата обвивка. → [CLI интеграции](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 доставчици на AI — 152 отбелязани в каталога като безплатни
> **357 регистрирани доставчици** в каноничните колекции за чат, медии, търсене, локални услуги, облачни агенти и системни услуги, включително **152 с метаданни за откриване `hasFree: true`**. Регистърът с модели за чат обхваща **229 доставчици / 2,554 различни двойки доставчик-модел / 1,283 необработени идентификатора на модели**; отделният каталог с безплатни бюджети съдържа **491 реда за отделни модели**, **35 периодично възобновяващи се пула** и **54 периодично възобновяващи се/неизискващи ключ доставчици с постоянен безплатен достъп**. Тези знаменатели са различни по замисъл; дефинициите и изчисленията с дедупликация на пуловете са описани в [Справочника за доставчиците](docs/reference/PROVIDER_REFERENCE.md) и [Безплатните планове](docs/reference/FREE_TIERS.md).
### 🏢 Всяка голяма лаборатория — чрез една крайна точка
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…и още над 330 — всяка икона се зарежда динамично от каталога с доставчици на таблото за управление. 📖 [Справочник за доставчиците](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Безплатно завинаги — $0, без карта
OpenCode Zen DeepSeek V4, Nemotron 3 Без ограничение на токените
Kilo Code Автоматичен маршрутизатор, Tencent Hy3 Безплатно завинаги
> Същото приложение, вашата машина, вашите правила. От глобална npm инсталация до **вашия телефон** чрез Termux.
Платформа
Инсталиране
Основни предимства
📦 npm (глобално)
npm install -g omniroute
Една команда, всяка ОС
🐳 Docker
docker run … diegosouzapw/omniroute
Множество архитектури: AMD64 + ARM64
🖥️ Настолно приложение (Electron)
npm run electron:build
Собствен прозорец + системна област — Windows / macOS / Linux
🎩 Лента с менюта (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Наблюдава и автоматично актуализира сървъра — macOS
💪 ARM
собствена поддръжка на arm64
Raspberry Pi, ARM сървъри, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Работи на телефона ви, денонощно, без root достъп
📲 PWA
„Добавяне към началния екран“
Цял екран, офлайн режим, инсталиране от браузъра
🧩 Добавка за OpenCode
@omniroute/opencode-provider
Вградена интеграция с OpenCode
🤖 VS Code Copilot Chat
инсталирайте разширението OmniCopilot
Всеки модел на OmniRoute във вградения инструмент за избор на Copilot Chat — стабилна версия и Insiders
🛠️ От изходния код
npm install && npm run dev
Експериментирайте с него, допринасяйте
📖 [Ръководство за Docker](docs/guides/DOCKER_GUIDE.md) · [Настолно приложение](electron/README.md) · [Икона в лентата с менюта](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Ново: OmniRoute във вградения Copilot Chat на VS Code
> Без нова странична лента, без нов интерфейс за чат — всеки модел, предоставян от OmniRoute, се показва направо в
> **инструмента за избор на модел в Copilot Chat, който вече използвате**. От VS Code 1.122 насам моделите на доставчици работят
> без влизане в GitHub или абонамент за Copilot — режим за агенти, извикване на инструменти и обработка на изображения,
> безплатно.
Инсталирайте разширението **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, насочете го
към своя OmniRoute сървър (по подразбиране `localhost:20128`), след което отворете Copilot Chat → инструмента за избор на модел
→ **Управление на моделите…** → **OmniRoute**.
От самия редактор: отворете изгледа **Разширения**, потърсете **„OmniRoute“** и щракнете върху **Инсталиране**
— работи по един и същ начин и в двата магазина. Изходният код, проблемите и ръководството за публикуване се намират в
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Ръководство за VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — настройване, какво показва инструментът за избор, табло в раздел, отстраняване на неизправности
### 🎩 Ново: OmniRouteTray — вашият шлюз в лентата с менюта
> `omniroute serve` работи най-добре, когато е винаги включен. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> го превръща в приложение за лентата с менюта на macOS, което настройвате веднъж и забравяте: то стартира сървъра, поддържа го активен
> след рестартиране, актуализира го на място и ви предоставя достъп до текущия бюджет от токени с едно щракване — **без
> постоянно отворен терминален прозорец и без нужда да следите `npm install -g omniroute`.**
Създадено с [Tauri v2](https://v2.tauri.app/) (ядро на Rust с пренебрежимо малък размер), то включва
собствена подписана среда за изпълнение Node 24 и управлява собствена инсталация на OmniRoute, така че никога не влиза в конфликт с
глобалните ви `node`/`bun`. То **споделя съществуващите ви конфигурация и база данни в `~/.omniroute/`** — така че това е
същият OmniRoute, който вече използвате, само че с шапка. 🎩
Какво прави
Как
🟢 Наблюдава сървъра
Стартира omniroute serve и поема управлението на вече работещ екземпляр, вместо да го дублира
📊 Текущо потребление с един поглед
Ленти за квотите на доставчиците, ограничения за сесията/седмицата на Claude с обратно броене до нулирането, разбивка на разходите за 30 дни
🔄 Автоматично актуализиране на място
Поетапно инсталиране, атомарна замяна, връщане назад при неуспех — винаги с най-новата версия
🚀 Стартиране при влизане
Незадължително стартиране при влизане; само в системната област, без икона в Dock
🩺 Диагностика и журнали
Диагностика с едно щракване и достъп до журналите на сървъра
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Предпочитате изтегляне? Вземете най-новия .dmg от
Издания. Изходният код, проблемите и документацията за
компилиране са в zoispag/omniroute-tray.
💛 Проект на общността от @zoispag — не е официално издание на OmniRoute.
## 🔒 Поверително и с приоритет на локалната обработка
> Освен сървъра, OmniRoute е **пълнофункционален център за управление от командния ред** с **над 80 команди**, както и с отворени протоколи за агенти, така че AI агент да може да го управлява **самостоятелно**.
### ⌨️ Истински CLI (не само `start`)
```bash
omniroute # стартира шлюза + таблото за управление (порт 20128)
omniroute chat # интерактивен TUI клиент за чат (наклонени команди: /model /combo /skill /memory)
omniroute setup # насочван помощник за първоначална настройка
omniroute doctor # диагностицира доставчици, портове и собствени зависимости
```
### 🛰️ Отдалечен режим — изпълнявайте CLI тук, а OmniRoute на VPS
OmniRoute е на сървър? Управлявайте го от лаптопа си със **същия CLI**. Влезте еднократно
с токен за достъп с ограничен обхват; след това всяка команда се насочва към отдалечения сървър.
```bash
omniroute connect 192.168.0.15 # парола → токен с ограничен обхват, запазен като контекст
omniroute models list # ← изпълнява се спрямо ОТДАЛЕЧЕНИЯ сървър
omniroute configure codex # ← избира отдалечен модел и записва локален профил на Codex
omniroute tokens create --name ci --scope read # създава токени с по-тесен обхват за други машини
omniroute contexts use default # ← превключва обратно към локалния сървър
```
Токените имат обхват `read` / `write` / `admin`; маршрутите, стартиращи процеси, остават достъпни само през loopback.
📖 [Отдалечен режим](docs/guides/REMOTE-MODE.md)
### 🤝 Свържете агент — и той ще управлява самия OmniRoute
Предоставете достъп до OmniRoute чрез **MCP**, **A2A**, **REST API**, **уеб куки** или **отдалечен CLI** — всеки способен агент (или вашият собствен код) получава ключовете към целия шлюз: маршрутизиране, доставчици, комбинации, кеш, компресия, памет — автономно. HTTP крайните точки по-долу се обслужват на `http://localhost:20128`.
Интерфейс
Крайна точка / команда
Използвайте го за
🧰 MCP (stdio)
omniroute --mcp
Свързване с Claude Desktop, Cursor или всеки MCP клиент
Съвместим с OpenAI — чат, вграждания, изображения, аудио, OCR
🔔 Уеб куки
/api/webhooks
Изпращане на събития за заявки / квоти към Slack, Discord, Telegram или произволен URL
🛰️ Отдалечен CLI
omniroute connect
Управление на отдалечен екземпляр с токени за достъп с ограничен обхват
```bash
# Предоставете на Claude Code пълния набор от инструменти на OmniRoute чрез MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP сървър](docs/frameworks/MCP-SERVER.md) · [A2A сървър](docs/frameworks/A2A-SERVER.md) · [Протоколи за агенти](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Спестете 15–95% токени — автоматично
### 📖 Как работи — конвейер, архитектура и изчисляване на спестяванията
Стандартната комбинирана конфигурация изпълнява `RTK → Caveman`. Когато и двата механизма обработват едни и същи данни от инструмент или контекст, спестяванията се натрупват:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Блоковете с код, URL адресите, JSON и структурираните данни са **винаги защитени** от механизма за запазване.
> **Защо да използвате много токени, когато малко вършат работа?** Всяка заявка преминава през конвейера за компресиране на OmniRoute **прозрачно** — без промени в клиента. Сега той представлява **набор от 12 съставни механизма**, които се изпълняват последователно и могат да се комбинират във всякакви конфигурации за маршрутизиране — въз основа на идеи от [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) и [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Наборът от 12 механизма
Механизмите се изпълняват по реда на конвейера; всеки от тях може да се включва и конфигурира независимо за всяка комбинация:
#
Механизъм
Какво прави
1
Session-Dedup
Премахва съдържание, което се повтаря в различни ходове (адресирано по съдържание, между отделните ходове)
2
CCR
Архивира големи блокове зад маркери за извличане, като ги зарежда при поискване
3
Lite
Премахване на излишни интервали и съкращаване на URL адреси на изображения (базов режим с ниска латентност)
4
RTK
Интелигентно филтриране, дедупликация и съкращаване на резултати от инструменти (съобразено с командите)
5
Responses Tool Output
JSON обработка с приоритет върху запазването без загуби + ограничено диагностично компресиране на изходни данни от обвивка/кръпки/търсене/компилация (Responses API)
6
Headroom
Таблично компактиране без загуби на JSON масиви (~30%) чрез вграден GCF кодек
7
Relevance
Екстрактивно оценяване на изреченията спрямо последната потребителска заявка
8
Caveman
Компресиране на проза въз основа на правила (~65–75% при изхода)
9
Aggressive
Обобщаване + прогресивно остаряване на предишните ходове
10
LLMLingua-2
Семантично съкращаване с машинно обучение чрез MobileBERT ONNX — безопасно за код и асинхронно
11
Ultra
Евристично съкращаване на токени с опционално ниво с малък модел (SLM)
12
OmniGlyph
Експериментално кодиране на контекста като изображение за измерения Claude Fable 5 при директна връзка с Anthropic; трансформаторите на GPT 5.6 остават в режим на защитен отказ до получаването на потвърждения от доставчика. Четири профила за компресиране (агресивен по подразбиране, балансиран, безопасен за програмиране, без преобразуване) (най-агресивният; включва се по желание)
Блоковете с код, URL адресите и структурираните данни се **запазват винаги** с точност до байт. **Предварителните настройки с едно щракване** комбинират механизмите:
Режим
Спестяване
Най-подходящ за
🪶 Lite
~15%
Безопасен режим по подразбиране, който е винаги включен
🪨 Стандартен (Caveman)
~30%
Ежедневно програмиране
⚡ Агресивен
~50%
Дълги сесии с интензивно използване на инструменти
🔥 Ultra
~75%
Максимално спестяване
🧰 RTK
60–90%
Изходни данни от обвивка/тестове/компилация/git
🔗 Комбиниран (RTK → Caveman)
78–95%
Смесени подкани + дневници от инструменти
**Реален пример — стандартен режим:**
> **Преди (69 токена):** _„Причината вашият React компонент да се визуализира повторно вероятно е, че създавате нова препратка към обект при всеки цикъл на визуализиране. Когато подадете вграден обект като свойство, повърхностното сравнение на React го разпознава като различен обект всеки път, което задейства повторно визуализиране. Препоръчвам да използвате useMemo, за да мемоизирате обекта.“_
>
> **След (19 токена):** _„Нова препратка към обект при всяко визуализиране. Вграден обект като свойство = нова препратка = повторно визуализиране. Обвийте го в useMemo.“_
>
> **Същият отговор. 72% по-малко токени. Нулева загуба на точност.** ✅
**Пример на PT-BR — режим [Troglodita](https://github.com/leninejunior/troglodita):**
> **Преди (42 токена):** _„Проблемът е, че компонентът се пререндерира, защото при всеки цикъл на рендериране се създава нова референция към обект. Бих препоръчал използването на useMemo.“_
>
> **След (12 токена):** _„Пререндериране: нова реф. при всеки цикъл (inline обектът се създава наново). Използвайте `useMemo`.“_
>
> **Същият отговор. ~70% по-малко токени. Техническата точност е запазена.** ✅
### 🎚️ Отвъд механизмите — стилове на изхода, адаптивният регулатор и контролът за всяка заявка
12-те механизма по-горе намаляват това, което влиза **на входа**. Още три слоя определят **как**, **кога** и какво излиза **на изхода**:
- **🪄 Стилове на изхода** _(управление по оста на изхода)_ — добавят детерминистични, безопасни за кеширане инструкции за оформяне на отговора; могат да се комбинират, всеки с интензивност `lite` / `full` / `ultra`. Добавянето на стил е едноредов запис в регистъра:
- **Лаконична проза** — премахва пълнежа / членовете / уговорките; запазва техническото съдържание точно.
- **По-малко код** — YAGNI подход на „мързелив старши разработчик“: най-малката работеща промяна, без непоискана инфраструктура.
- **Конска опашка (мързелив старши разработчик)** — изкачва стълбата на YAGNI, отстранява първопричината, използва най-малката работеща разлика.
- **Имам ADHD (първо действие)** — започва със следващото действие, номерирани стъпки, една конкретна следваща стъпка, без увод.
- **Лаконичен CJK (文言)** — ултралаконичен стил на класически китайски (ограничен до локал `zh`).
- **🎯 Адаптивен бюджет на контекста** _(регулаторът)_ — вместо един праг за токени с включване/изключване, активира най-евтините механизми с най-малко загуби само доколкото е необходимо, за да **се вмести в контекстния прозорец на модела**. Политика: `reserve-output` (по подразбиране, съобразена с модела) · `percentage` · `absolute`. Режим: `floor` (гарантира побиране) · `replace-autotrigger` (вашият изричен избор има предимство) · `off` (наследен праг).
- **🎛️ Къде се определя компресията** _(приоритет, от висок към нисък)_ — заглавка `x-omniroute-compression` за конкретна заявка › замяна за комбинацията за маршрутизиране › активен именуван профил › адаптивно / автоматично задействане › настройка по подразбиране от панела › изключено. Приложеният план се връща в заглавката на отговора `X-OmniRoute-Compression: ; source=`.
Използвайте автоматично задействане според праг на токените, включете адаптивния регулатор, фиксирайте именуван профил, задайте еднократна настройка за конкретна заявка или присвоете конвейер към комбинация за маршрутизиране — според нуждите на работното натоварване. Незадължителен офлайн **инструмент за оценяване** (`npm run eval:compression`) измерва достоверността спрямо спестяванията върху фиксиран корпус, преди да внедрите дадена промяна.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Бърз старт
**1) Инсталирайте и стартирайте**
```bash
npm install -g omniroute
omniroute
```
> 💡 Виждате `npm warn ERESOLVE` или предупреждения за peer зависимости? [Те са безобидни](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Таблото е на `http://localhost:20128` · API е на `http://localhost:20128/v1`.
**2) Свържете БЕЗПЛАТЕН доставчик (без регистрация)**
Табло → **Доставчици** → свържете **Kiro AI** (безплатен Claude, ~50 кредита месечно за акаунт) или **OpenCode Free** (без удостоверяване) → готово.
**3) Насочете инструмента си за програмиране**
```txt
Основен URL адрес: http://localhost:20128/v1
API ключ: [копирайте от Табло → Крайни точки]
Модел: auto (интелигентно маршрутизиране без конфигурация — или произволен доставчик/модел)
```
**4) Проверете дали работи**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Трябва да видите списък със свързаните си модели. 🎉 Това е всичко — започнете да програмирате, а OmniRoute автоматично ще маршрутизира заявките и ще превключва към резервни варианти вместо вас.
Ако клиентът ви не може да изпраща персонализирани заглавки, OmniRoute предлага и токенизирани псевдоними за съвместимост:
```txt
Каталог на OpenAI: http://localhost:20128/vscode/YOUR_KEY/
Модели на OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
Чат на OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
Отговори на OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
Чат на Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
Етикети на Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Използвайте ги само за клиенти, които не могат да добавят `Authorization: Bearer ...`. Удостоверяването чрез заглавка остава предпочитаният режим.
## 📦 Още методи за инсталиране — Docker, изходен код, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` следва най-високата **публикувана** стабилна SemVer версия. Той не следва git `main`. Фиксирайте `:X.Y.Z` за GitOps. Вижте [Канали за издания на Docker](docs/guides/DOCKER_GUIDE.md#release-channels).Образът фиксира **`OMNIROUTE_MEMORY_MB=1024`**. Това е достатъчно за таблото и лек чат. **Агентите за програмиране** (`POST /v1/responses` от Claude Code, Codex, Grok, …) се нуждаят от много по-голяма V8 heap памет, в противен случай процесът завършва с `FATAL ERROR` при около 12 GiB с два припокриващи се дълги контекста. Оразмерете контейнера над размера на heap паметта (собствените буфери са извън V8):
| Натоварване | Heap (`-e OMNIROUTE_MEMORY_MB`) | Контейнер (`--memory`) |
| ------------------------------------------------- | --------------------------------- | ---------------------- |
| Табло / лек чат | `1024` (по подразбиране в образа) | ≥2 g |
| Един агент за програмиране | `8192` | ≥10 g |
| Две едновременни дълги заявки към `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
Пълна таблица: [Ръководство за Docker — оперативна памет за изпълнение](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker канал за предварителни издания:** `diegosouzapw/omniroute:next` и
> `diegosouzapw/omniroute:next-web` следват текущия стандартен клон `release/v*`.
> Тези променливи тагове са предназначени само за тестване на непубликувани корекции и
> **не се поддържат за продукционна среда**. Вижте
> [Канали за издания на Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Стандартното `bun install` и глобалното инсталиране (`bun install -g omniroute`) се поддържат чрез откриване на средата за изпълнение Bun:
- **Вграден `bun:sqlite`**: OmniRoute използва вградения в Bun драйвер `bun:sqlite`, когато се изпълнява под Bun, като преминава към `better-sqlite3` при Node.js или към `sql.js`.
- **Автоматичен избор на Webpack като пакетиращ инструмент при разработка**: Режимът за разработка (`bun run dev`) автоматично открива Bun и деактивира Turbopack в полза на Webpack, за да предотврати несъвместимости със собствените V8 обвързвания. Продукционните компилации (`bun run build`) следват `OMNIROUTE_USE_TURBOPACK` точно както при Node: Turbopack по подразбиране, `OMNIROUTE_USE_TURBOPACK=0` за компилиране с Webpack (`Dockerfile.bun` го предоставя като `--build-arg`).
- **Специализиран Dockerfile за Bun**: Многоетапен `Dockerfile.bun` за собствени продукционни внедрявания с Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Инсталиране и стартиране с Bun
bun install
bun run dev
```
**🛠️ От изходен код**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Използване на Nix flakes
nix develop
npm run dev
# Или използване на devbox
devbox run npm run dev
```
📖 [Ръководство за Docker](docs/guides/DOCKER_GUIDE.md) — Compose профили, Caddy HTTPS, Cloudflare тунели.
**🦭 Podman**
```bash
# 1. Подгответе директорията с данни, монтирана чрез bind mount
mkdir -p data
# 2. Само за Linux + локален rootless Podman (никога за отдалечен клиент на Podman Machine):
podman unshare chown 1000:1000 ./data
# 3. Задайте указанието за средата за изпълнение, изградете локалния Compose образ и стартирайте
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
В macOS или Windows Podman използва отдалечена Podman Machine: пропуснете `podman unshare` и
следвайте [указанията за директорията с данни според конкретната топология](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Ръководство за Podman](contrib/podman/README.md) — Compose компилации, Podman Machine и
настройка на Quadlet за Linux/systemd.
**⚡ По-бързо / по-леко инсталиране (пропускане на собствената компилация)**
Собственият SQLite енджин (`better-sqlite3`) е **незадължима** зависимост, така че глобалното
инсталиране никога не блокира заради компилиране от изходен код: използва предварително компилиран двоичен файл, когато има съвпадащ
за вашата платформа/Node, а в противен случай прозрачно преминава към енджин, реализиран изцяло на JS
(`node:sqlite` при Node 22+, иначе включения `sql.js` WASM) — не са необходими инструменти за компилиране.
За да пропуснете напълно собственото предварително инициализиране след инсталиране (CI, среди без графичен интерфейс или бавни машини):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 също го пропуска
```
За най-бързо инсталиране предпочитайте **pnpm** (хранилище, адресирано по съдържание + твърди връзки — вижте по-горе).
За среда за изпълнение без табло и без графичен интерфейс използвайте Docker профила `base` (по-горе) или
[ръководството за Termux](docs/guides/TERMUX_GUIDE.md). CLI и уеб таблото се обслужват от
един и същ процес на един порт, така че към момента няма отделен пакет само за CLI.
Стратегия за тестово покритие за над 39 000 статични декларации на тестове в над 5 100 проследявани тестови файла
# ⭐ Водещи сътрудници
> OmniRoute се оформя от страстна общност с отворен код. Тези хора са направили изключителен принос, който пряко влияе върху качеството, стабилността и обхвата на проекта. **Благодарим ви.**
### Външни сътрудници по брой слети pull заявки
Данните са фиксирани към актуалния връх dafb4ae808 на release/v3.8.50, със сливания до 2026-08-24 05:26:03 UTC. Страницираното преброяване чрез GitHub GraphQL съдържа 5 911 слети PR заявки: 2 707 от собственика на хранилището, 179 от Dependabot и 3 025 външни PR заявки от 535 различни сътрудници. „Променени редове“ представлява сбора от добавянията и изтриванията в GitHub и включва генерирани файлове, lockfiles, каталози, преводи и документация; това е обемът на промените, а не авторски LOC. Равните резултати на границата са запазени.
### Комити, приписани от GitHub
Bob.Hou 🏅 51 приписани от GitHub комита · поделено 10-о място
Xiangzhe 🏅 51 приписани от GitHub комита · поделено 10-о място
Проверено отново на 2026-08-24 06:14:31 UTC: приписани от GitHub комити, отчетени от API за сътрудници на хранилището за клона по подразбиране release/v3.8.50. API върна 525 самоличности (415 потребители, 2 бота, 108 анонимни); тази таблица изключва поддържащия проекта, ботовете и анонимните самоличности и запазва поделените места. Тя се различава както от класацията по слети PR по-горе, така и от преброяването на 639 души въз основа на Git метаданни по-долу.
> 🙏 Функционалностите, корекциите на грешки и подобренията на инфраструктурата, създадени от тези сътрудници, са **основна част** от това, което прави OmniRoute надежден и богат на функционалности. Всяка заявка за изтегляне, всеки тестов случай и всеки файл с i18n превод са от значение. Отвореният код се изгражда от хора като тях.
---
## 💖 Спонсори
Сърдечни благодарности на хората, които финансират OmniRoute със собствени средства — всеки принос помага проектът да остане безплатен, независим и да продължава да се развива.
… и други, които предпочитат да останат анонимни 💛Публичните спонсори в GitHub са потвърдени отново на 2026-08-24. Състоянието activeOnly на GitHub определя обозначенията за активност по-горе; публично обявените по-рано еднократни дарители продължават да бъдат споменавани с благодарност, а частните спонсори остават анонимни.💖 Станете спонсор → — всеки долар помага OmniRoute да остане безплатен и независим.
## 👥 Над 600 сътрудници
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Проверено на 2026-08-24 при фиксирана база ac02c5b42f и повторно проверено при актуалния връх dafb4ae808 на release/v3.8.50: 639 нормализирани човешки Git самоличности — 407 се срещат като автори на комити (включително отговорника за поддръжката), а 232 — само в изрични завършващи редове Co-authored-by. Преброяването нормализира GitHub псевдонимите за noreply, изключва 26 самоличности на ботове/агенти/услуги/заместители и не обединява обикновени имейл адреси само защото показваните им имена съвпадат.
### Как да допринесете
1. Направете fork на хранилището
2. Създайте клон от върха на **активния** `release/vX.Y.Z` (не от `main`) — вижте [Модел за разклоняване и издания](docs/ops/BRANCHING_MODEL.md)
3. Създайте своя функционален клон (`git checkout -b feat/amazing-feature`)
4. Направете commit на промените си (`git commit -m 'feat: add amazing feature'`)
5. Изпратете клона (`git push origin feat/amazing-feature`)
6. Отворете Pull Request с **base = съответния клон `release/vX.Y.Z`**
Вижте [CONTRIBUTING.md](CONTRIBUTING.md) за подробни насоки.
### Публикуване на нова версия
```bash
# Създайте издание — npm publish се изпълнява автоматично
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Звезди
## 🌍 StarMapper
## 🙏 Благодарности
OmniRoute стъпва върху постиженията на гиганти. Проектът започна като разклонение на **[9router](https://github.com/decolua/9router)** и TypeScript порт на Go проекта **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — а оттам нататък всяка подсистема по-долу беше вдъхновена от проект с отворен код, който пръв е проправил пътя. Всеки от тях е оформил конкретна част от OmniRoute. С това изказваме благодарността си към всички тях. 🙏
> ⭐ броят на звездите е проверен чрез REST API на GitHub на 24 август 2026 г. — подкрепете тези проекти със звезда. Посочените стойности са точна моментна снимка към тази дата и естествено ще се променят.
### 🧬 Произход и шлюз
AI шлюзът, чийто публичен набор от данни за ценообразуване захранва нашата синхронизация за проследяване на разходите и чийто модел за нормализиране на доставчиците послужи като основа за маршрутизирането ни.
MIT изходен код, адаптиран във включения в хранилището мост ChatGPT Web → Codex Responses, включително адаптери за браузърни сесии, рамкиране на отговорите, използване и търсене в мрежата.
Шаблони, пренесени във възстановяването на потоци, псевдонимите без разсъждение, резервното търсене в мрежата, ограниченията с плъзгащ се прозорец, редактирането на чувствителни данни в регистрационните файлове и подсилените потоци за стартиране.
Съвместими с Claude Code настройки по подразбиране за трансформиране и поведение на заглавките за таксуване, обобщени в управлявания чрез конфигурация мост на OmniRoute.
Неговите съпоставяния на модели на Grok, генераторът на Statsig с фиктивен TypeError, настройките по подразбиране за заявки и устройства и процесорът за NDJSON отговори бяха съществено адаптирани в изпълнителя за Grok Web на OmniRoute.
Основният транзитивен източник на код зад grok2api-merged; неговите реализации на модели, заглавки, полезни товари, Statsig и процесори са запазени в наследствената линия на Grok Web.
Основният MIT източник за полезните товари и настройките по подразбиране за устройства на Grok, генератора на Statsig и процесора result.response, пренесен чрез TQZHR и grok2api-merged.
Транзитивен източник, посочен от grok2api-merged за неговия слой с пул от проксита; OmniRoute запазва това известие за произход, но не претендира, че е пренесъл пул от проксита в своя ограничен изпълнител за Grok Web.
Неговото удостоверено чрез бисквитки прокси за Grok и шаблонът за поточно предаване на result.response.token послужиха като основа за транспорта на Grok Web в OmniRoute.
Първоначалната реализация на Grok Web използва за справка неговия дизайн за HTTP/браузърен upstream; директният му HTTP път произлиза от GrokProxy, затова не се претендира за независимо пренасяне на код.
Неговите Rust схеми за ChatOptions и обвивки на отговори послужиха като основа за типовете на TypeScript в OmniRoute за заявки към Grok и поточни отговори.
### 🗜️ Компресиране на контекст и токени — механизми
Вирусният проект „защо използва много токен, когато малко токен върши работа“ — неговата философия на пещерняшки език е в основата на стандартния ни режим за компресиране и над 30 правила за премахване на пълнеж и съкращаване.
Високопроизводително компресиране на изхода от команди — вдъхнови нашата RTK машина, DSL за филтриране на JSON, възстановяването на необработения изход и комбинирания конвейер RTK → Caveman.
Изследвания върху компресирането на подкани (LLMLingua / LLMLingua-2) — вдъхновиха нашата асинхронна, безопасна за код и продължаваща при грешка машина llmlingua.
Компресиране на токени за pt-BR — задвижва нашия езиков пакет за pt-BR: намаляване на плеоназмите и премахване на пълнежа, настроени за бразилско-португалската граматика.
Вирусното умение за програмиране на „мързелив старши разработчик“ според принципа YAGNI — вдъхнови нашия изходен стил less-code: насочване към най-малката работеща промяна, което намалява _генерирания_ код (еквивалентът по оста на изхода на лаконичната проза на Caveman).
Съобразено със съдържанието компресиране на изхода според типа на файла с отказ при грешка — потвърди нашето маршрутизиране според типа и пропускането при минимална полза.
Колонен JSON на Rust + адресирано по съдържание извличане + дедупликация между съобщенията — потвърди дизайна на нашите машини headroom/ccr/session-dedup и устойчивия спрямо кеша инвариант „компресираната форма не зависи от позицията“.
Набор от инструменти за TypeScript Compiler API — вдъхнови нашето базирано на синтактичен анализатор премахване на коментари, което запазва литералите за низове, шаблони и регулярни изрази.
Таксономията ProblemMap на 16 повтарящи се режима на отказ при RAG/LLM — споделената терминология в нашето ръководство за отстраняване на неизправности.
### 🛰️ Проверка на трафика, MITM и прозрачно прокси
MITM прихващането/анализът на трафика между асистенти за програмиране ↔ LLM послужи за основа на ранните изисквания към Traffic Inspector. Четири модула, разработени по-рано — обединяване на SSE, нормализиране на разговори, маскиране на тайни и дезинфекция на заглавки — бяха заменени с независими реализации от нулата, базирани на публични протоколни стандарти. Двете повърхности за директно пропускане към хоста (passthrough.ts и _internal/bypass.cjs) остават вътрешни реализации на OmniRoute, класифицирани независимо; те не бяха пренаписани като част от тази замяна.
Прозрачно маршрутизиране през прокси за всеки отделен процес — вдъхнови устойчивото ни на сривове прекратяване на MITM, таймаутите при неактивност на сокети, свързването на трафика с процеси чрез /proc и прихващането чрез TPROXY.
### 📚 Данни за модели, наблюдаемост и потребителски интерфейс
Подбран списък с библиотеки, които са сигурни по подразбиране и направляват избора ни в областта на сигурността (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Вдъхнови дедупликацията на заявки, аварийния резервен вариант с нулеви разходи, разширяемите стратегии Auto-Combo и многоезичната класификация на намерения.
Неговото пренасочване на модели според акаунта, валидиране на пътя до изпълнимия файл и поведение на етикетите на плановете послужиха за основа на средата за изпълнение Antigravity на OmniRoute.
Идентифицира интерфейса за квотата на Grok Build; след това OmniRoute независимо провери и коригира използвания на практика формат за предаване на данни.
## 📄 Лиценз
MIT лиценз — вижте [LICENSE](LICENSE) за подробности.
---
**[⬆ Обратно в началото](#-omniroute)** · Създадено с ❤️ за общността на ИИ с отворен код.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT лиценз · omniroute.online