# 🚀 OmniRoute — Besplatni AI prolaz
**Autor: [Diego Souza](https://github.com/diegosouzapw)**
## 💰 ~1.62B tokena mesečno kroz besplatne nivoe nezavisnih pružalaca
> **Koristite sopstvene naloge kod pružalaca.** Ovo je procenjeni zbir kroz zasebno dostupne besplatne nivoe nezavisnih pružalaca, a ne dodela tokena od strane OmniRoute-a. Registrujte se, pribavite akreditive gde je potrebno i povežite pružaoce koje možete da koristite; svaki pružalac kontroliše svoja ograničenja, dostupnost i uslove.
>
> Ručno kombinovanje besplatnih nivoa je naporno — na desetine SDK-ova, na desetine ograničenja brzine i bez jasne predstave o tome koliko zaista imate. OmniRoute katalogizuje **465 unosa besplatnih nivoa kroz 34 ključa ponavljajućih skupova** i izračunava glavni iznos tokena iz **17 skupova sa objavljenim pozitivnim mesečnim budžetom, uz pet Groq ograničenja po modelu**, deduplikovanih prema deljenom skupu. Kvote koje se otvaraju tek nakon regionalne provere identiteta (danas: ModelScope) prikazane su odvojeno, +~6M nakon regionalne verifikacije identiteta, i nikada se ne sabiraju u glavni iznos. Rezultat ostaje vidljiv na kontrolnoj tabli (`/dashboard/free-tiers`).
> Animirani sažetak aktivne stranice `/dashboard/free-tiers`. Kompletna metodologija (deduplikacija skupova, nivoi kredita, uslovi pružalaca): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Ove brojke se ponovo proveravaju svake dve nedelje u odnosu na aktivni katalog i **menjaju se u oba smera** — pružalac ukine besplatni nivo i broj opadne; pojavi se novi i broj poraste. Objavljujemo ono što katalog zaista izračuna, nikada naviše zaokružen najbolji mogući slučaj.
⭐ Ostavite zvezdicu repozitorijumu ako vam je OMNIROUTE pomogao da uštedite novac i olakšate rad.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Pridružite se zajednici
**👋 Pratite održavaoca — prvi saznajte za nove pružaoce, izdanja i savete:**
[](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)
**Pitanja, saveti o pružaocima, plan razvoja i podrška → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway stalno raste
| | v3.8.50 | **v3.8.51** | `v3.8.54+` |
| ---------------------------------- | :-----------------------: | :---------: | :-------------------: |
| 🌐 Provajderi | 352 | **358** | 388 |
| 🧠 Jedinstveni ID-jevi chat modela | 1320 | **1374** | 1491 |
| 🖼️ Most za modalitete | 🆕 vid + audio + video | ✓ | ✓ |
| 📡 Besplatni katalog Radara | 🆕 uključivanje po izboru | ✓ | ✓ |
| ⚖️ Zakazivanje uz svest o kvotama | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Telemetrija kvota | 🆕 uživo | ✓ | ✓ |
| 🧰 Headless režim | — | — | 🆕 `serve --headless` |
| 🛤️ LTS infrastruktura pruge | — | — | 🆕 kanali izdanja |
| 🔎 API za otkrivanje modela | — | — | 🆕 `/v1/models/query` |
**→ [Plan razvoja](ROADMAP.md) — vozimo se prugom ka `v3.9.0 LTS`**
## 🆓 Инсталирајте, повежите добављача, а затим усмеравајте преко једне крајње тачке
```bash
# Након повезивања добављача, копирајте свој OmniRoute кључ из Контролна табла → Крајње тачке:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` захтева одговарајућу руту. Нова инсталација можда неће имати ниједно одговарајуће одредиште без кључа, а добављачу без кључа можда неће бити дозвољени клијенти трећих страна. Добављачи означени са `tos: avoid`, укључујући Kiro, подразумевано су изузети из аутоматског усмеравања; повезивање налога не мења ту поставку. Погледајте [Водич за бесплатне тарифе](docs/getting-started/FREE-TIERS-GUIDE.md) пре него што изаберете добављача.📦 Скрипте за брзи почетак које можете копирати и налепити за **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 је AI лабораторија која стоји иза породица модела K2 и K3 са отвореним тежинама — Kimi K3 пружа контекстни прозор од 1 милиона токена, изворну подршку за визуелни садржај и програмирање на нивоу водећих модела, по делићу цене затворених модела, а одмах ради са алатима Claude Code, Codex и сваким алатом за програмирање који OmniRoute опслужује.
Шта омогућава подршка компаније Kimi: Kimi API кредити покрећу OmniRoute-ов процес издавања који проверава AI — фазу провере спајања коју покреће 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-у: довршавање ћаскања, изворна крајња тачка /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: довршавање ћаскања, формат преноса компатибилан са Anthropic-ом и путања компатибилна са OpenAI-јем. Доступни модели обухватају claude-opus-4-8, claude-opus-5, gpt-5.6-sol и друге. Преузмите својих $100 →
⚠️ Партнерска веза — OmniRoute нема спонзорски нити партнерски однос са овим добављачем.
Знате за још неког добављача са издашним бесплатним купоном за регистрацију који користи OmniRoute корисницима? Отворите пријаву проблема и додаћемо га овде.
## 🎯 Комбинације — главна функционалност
> **Комбинација** је ланац модела између којих OmniRoute рутира **аутоматски**. Ако се квота потроши, добављач откаже или трошкови нагло порасту, комбинација може да пређе на следећи одговарајући исправан модел. 🛡️
### ⚡ Без конфигурације — само користите `auto`
Нема потребе да правите комбинацију. Подесите модел на `auto` (или неку варијанту) и OmniRoute ће направити виртуелну комбинацију од ваших повезаних добављача, уз оцењивање уживо:
🧪 Паралелно прослеђивање панелу модела (по један за сваког добављача, подразумевано 5), уз враћање једног одговора; по један узводни позив за сваки модел у панелу, без убризгавања грешака
##
### 🔀 Или направите сопствену — 20 стратегија рутирања
Свих **20** стратегија — комбинујте их по жељи у сваком кораку комбинације:
#
Стратегија
Шта ради
1
priority
Уређена листа с првим циљем — потпуно искористите сваки пре преласка на следећи 🥇
2
fill-first
У потпуности искористите квоту сваког циља пре него што пређете на следећи
3
weighted
Пондерисани случајни избор према пондеру сваког циља
4
round-robin
Кружно пролази кроз циљеве редом
5
p2c
Случајно балансирање оптерећења методом избора између две опције
6
least-used
Бира циљ са најмањим тренутним оптерећењем
7
random
Равномерни случајни избор (без дупликата)
8
strict-random
Случајни избор без уклањања поновљених вредности 🎲
9
cost-optimized
Смањује цену по захтеву на основу актуелних цена из каталога 💸
10
headroom
Бира циљ са највећом преосталом квотом
11
quota-weighted
Прескаче налоге са потрошеном квотом, а затим бира сразмерно преосталој квоти ÷ тренутном оптерећењу — постојећи разговори остају везани за исти циљ ⚖️
12
reset-window
Даје предност циљу чији се период квоте најраније ресетује
13
reset-aware
Рангира према времену ресетовања квоте — најпре кратки периоди 📊
14
context-relay
Преноси контекст између циљева током дугих разговора 🧠
15
context-optimized
Бира циљ који најбоље одговара тренутној величини контекста
16
cache-optimized
Везује сваки поново употребљиви префикс упита за исти налог — максимално повећава поготке кеша упита 🎯
17
lkgp
Последња позната исправна путања — везује се за последњег успешног добављача, а затим прелази на резервна правила
18
auto
Оцењивање уживо на основу 16 фактора за сваку везу 🤖
19
fusion
Прослеђује захтев панелу модела + модел-судија обједињује један одговор 🧬
20
pipeline
Повезује кораке — излаз сваког циља прослеђује се следећем 🔗
Механизам Auto-Combo оцењује сваког кандидата на основу **16 фактора** (стање, квота, цена, кашњење, прикладност за задатак, квалитет, доступност сесије…) — погледајте [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Отпорност је уграђена (3 независна слоја)
📖 [Механизам Auto-Combo](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.54**. Комплетна историја је у [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` рутирање** — 20. комбинована стратегија прескаче исцрпљене налоге, а затим бира међу преосталима сразмерно односу преостале квоте и оптерећења захтева у току, уз задржавање постојећих разговора на истом налогу. → [Аутоматске комбинације](docs/routing/AUTO-COMBO.md)
- **🧰 Безглави режим** — `omniroute serve --headless` (или `OMNIROUTE_HEADLESS=1`) покреће само `/v1/*` прокси машину, док су контролна табла и подсистеми намењени само контролној табли искључени. → [Безглави режим](docs/guides/HEADLESS.md)
- **🔎 Откривање модела** — `/v1/models` филтрира према могућностима, контексту, врсти и тексту, а `POST /v1/models/query` враћа кратак детерминистички ужи избор са истом видљивошћу по кључу. → [API референца](docs/reference/API_REFERENCE.md)
- **🔑 Контрола рутирања по кључу** — закачите API кључ за један модел или комбинацију помоћу `forcedModel`, а моделе и комбинације кључа додајте или уклоните атомарно (`/api/keys/{id}/access`). → [API референца](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Детаљније контроле PII података** — избор по типу, до 20 проверених прилагођених образаца за маскирање и бројачи детекција по типу; само маскирање остаје опционо. → [Заштитне мере](docs/security/GUARDRAILS.md)
- **🌍 67 језика** — контролна табла, огледала документације и CLI, при чему `npm run i18n:add-locale` додаје језик свуда једном командом. → [Водич за i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — долазна A2A делегација вашем скупу агената, Conductor вештине на Agent Card картици и панел контролне табле са 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)
- **💸 Искрени трошак по фиксној тарифи** — добављачи претплата / coding-plan услуга приказују **$0** у аналитици трошкова; буџет, квота и рутирање и даље врше процене. → [API референца](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share рутирање** — праведно распоређује квоту дељеног налога међу обједињеним кључевима, уз искоришћавање свих расположивих ресурса тако што се неактивни делови позајмљују. → [Водич за отпорност](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Подешавање CLI/агената једном командом** — 15 регистрованих `setup-*` команди; `omniroute run` покреће 7 CLI алата (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` подржава 11 циљева са интерактивним бирачем добављача и модела и омиљеним изборима по контексту. → [CLI интеграције](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Удаљени режим** — управљајте удаљеним OmniRoute-ом помоћу токена ограниченог опсега (`connect` / `contexts` / `tokens`) и OAuth помоћника `antigravity` за VPS инсталације. → [Удаљени режим](docs/guides/REMOTE-MODE.md)
- **🧭 Паметније аутоматско рутирање** — комбинације `auto/:`, **Fusion** (панел модела + судија), рутирање свесно задатка, замене модела / режима / USD буџета по захтеву. → [Аутоматске комбинације](docs/routing/AUTO-COMBO.md)
- **🗜️ Проширива компресија** — 12 компоноваљивих машина + Compression Studios: LLMLingua-2, Ultra у два нивоа, omniglyph, капија верности по кораку, GCF v3.2, уређивач са превлачењем за промену редоследа. → [Компресија](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Транспарентно MITM дешифровање (TPROXY)** — CLI алати за пресретање који занемарују променљиве прокси окружења, са CA сертификатом по SNI-ју и инсталатером складишта поверења. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Телеметрија трошкова свуда** — заглавља трошкова/употребе `X-OmniRoute-*` на свакој крајњој тачки, заглавље уштеде услед ПОГОДАКА кеша и USD квоте потрошње по кључу. → [API референца](docs/reference/API_REFERENCE.md)
- **🧠 Меморија под вашом контролом** — подразумевано искључена, опциона int8 векторска квантизација + типизовано опадање, `x-omniroute-no-memory` по захтеву. → [Меморија](docs/frameworks/MEMORY.md)
- **🛡️ Безбедност** — заштита од убризгавања упита на свакој LLM рути (red-team пакет), опциона заштита од маскирања акредитива (уклања откривене API кључеве/тајне у оба смера), бесплатно веб-претраживање DuckDuckGo као крајња мера и опциона OIDC препрека за пријављивање на контролну таблу (пријава лозинком увек остаје доступна). → [Заштитне мере](docs/security/GUARDRAILS.md)
- **🖼️ Нове крајње тачке** — `/v1/ocr` (Mistral OCR) и `/v1/audio/translations` (у стилу Whisper-а) употпуњују медијску површину. → [API референца](docs/reference/API_REFERENCE.md)
- **🎨 Генерисање слика / видео-записа / звука** — један API за медије: xAI Grok Imagine и Novita AI видео, ComfyUI, Magnific, Adobe Firefly, Segmind и добављачи говора као што је ElevenLabs. → [API референца](docs/reference/API_REFERENCE.md)
- **🌍 Примена и оперативно управљање** — `basePath` обрнутог проксија, аутоматско откривање језика прегледача, праћење уређаја по кључу, MITM поверење без root привилегија, локализација zh-TW. → [Окружење](docs/reference/ENVIRONMENT.md)
- **🤝 Више добављача и агената** — агенти у облаку (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) са пријављивањем преко прегледача и OAuth-а, првокласна Ollama картица, Claude Opus 5 и Sonnet 5, званично партнерство са Kimi-јем (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… и освежен **каталог са 388 добављачем**. → [Добављачи](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Транспарентност рутирања** — сваки одговор садржи заглавље `X-OmniRoute-Decision` које наводи стратегију/добављача/кашњење који су га послужили, нова стратегија комбинације `cache-optimized` + фактор `cacheAffinity` аутоматских комбинација враћа поновљене захтеве вези која садржи кеширани префикс, а крајња тачка само за читање `/v1/auto-combo/{channel}/candidates` приказује живи скуп кандидата канала `auto/*`. → [Аутоматске комбинације](docs/routing/AUTO-COMBO.md)。
- **⚡ Локалне перформансе и инфраструктура** — локални Redis једним кликом, деплојери за Cloudflare Workers / Deno Deploy relay, Bifrost и Mux као надгледане уграђене услуге. → [Уграђене услуге](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Такође у пакету** — оквир за додатке + тржиште, Omni/Agent/GitHub оквири за вештине, интеграција са Obsidian трезором (22 MCP алатке), Batch и Files API-ји компатибилни са OpenAI-јем, семантички кеш одговора, гејмификација са ранг-листама, ACP откривање агената (15 уграђених агената), заказани извоз евиденција у BigQuery, `auto/chaos` паралелно прослеђивање ка више модела, мост за Telegram бота, менаџер верзија у апликацији и LMArena-ELO ранг-листе бесплатних провајдера. → [Документација](docs/README.md)
## 🤖 Kompatibilni CLI alati i koderski agenti
> Једна конфигурација — `http://localhost:20128/v1` — и **сваки** AI IDE или CLI ради на бесплатним и јефтиним моделима.
+ ради и са · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · било којим алатом компатибилним са OpenAI
📖 Постављање по алату за свих 39 алата (28 CLI Code-ова + 11 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 добијају изоловани привремени home:
```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 5dive
```
Свака команда поштује активни удаљени контекст (`omniroute connect `), `--dry-run`
приказује тачно окружење/аргументе без извршавања, а `--api-key-env NAME` чува тајне ван
ваше shell историје. → [CLI интеграције](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 AI провајдер — 153 означена у каталогу као бесплатна
> **388 регистрован провајдер** у канонским колекцијама за ћаскање, медије, претрагу, локалне системе, cloud-агенте и системске колекције, укључујући **153 провајдера са метаподацима за откривање `hasFree: true`**. Регистар модела за ћаскање обухвата **239 провајдера / 3,059 различитих парова провајдер-модел / 1,475 изворних ID-јева модела**; засебни каталог бесплатних буџета има **471 ред по моделу**, **34 периодична фонда** и **52 провајдера са бесплатним приступом заувек, без кључа и са периодичним фондом**. Ово су намерно различити имениоци; дефиниције и прорачуни са уклоњеним дупликатима фондова налазе се у документима [Референца за провајдере](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
…и још више од 350 — свака икона се учитава уживо из каталога провајдера на контролној табли. 📖 [Референца за провајдере](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Бесплатно заувек — $0, без картице
OpenCode Zen DeepSeek V4, Nemotron 3 Без ограничења броја токена
Kilo Code Аутоматско усмеравање, Tencent Hy3 Бесплатно заувек
Requesty GPT-OSS 120B, Nemotron Бесплатно заувек
SiliconFlow DeepSeek V3.2 / R1 Бесплатни ниво
Z.AI GLM GLM-4.7 / 4.5-Flash Бесплатно заувек
Baidu ERNIE ERNIE 4.0 Бесплатно заувек
Qoder AI Qwen3-Max, Kimi-K2 НЕОГРАНИЧЕНО БЕСПЛАТНО
Pollinations GPT, Llama, Claude Кључ није потребан
Cloudflare AI Више од 50 модела 10K неурона дневно
NVIDIA NIM GLM, MiniMax ~40 RPM бесплатно
Cerebras GLM 4.7, GPT-OSS Једнократни кредит од $5; картица је обавезна
### 🧩 Ново: OmniRoute унутар VS -овог изворног Copilot ћаскања
> Нема нове бочне траке, нема новог ћаскања UI — сваки модел OmniRoute служи појављује се директно у**Copilot Бирач модела ћаскања који већ користите** . Од VS кода 1.122, модели провајдера раде без GitHub пријаве или Copilot претплате — режим агента, позивање алата и визија, бесплатно.
Инсталирајте** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** проширење, усмерите га на ваш OmniRoute сервер (подразумевано на `localhost:20128`), а затим отворите Copilot Цхат → бирач модела →** Управљајте моделима…** →**OmniRoute** .
Из уређивача: отворите** Екстензије** погледајте, претражите** "OmniRoute"** , кликните** Инсталирај** — ради на исти начин у обе продавнице. Извор, издања и приручник за објављивање уживо на [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Цоде Copilot Водич за ћаскање](docs/guides/VSCODE-COPILOT.md) — подешавање, шта приказује бирач, контролна табла у картици, решавање проблема
### 🎩 Ново: OmniRouteTray — ваш пролаз, који живи у траци менија
> `omniroute serve` је најсрећнија када је увек укључена.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** претвара то у апликацију на траци менија за подеси и заборави за macOS: покреће сервер, одржава га живим током поновног покретања, ажурира га на месту и ставља буџет за живи токен на један клик -** нема отворен прозор терминала, нема `npm install -g omniroute` за чување деце.**
Направљен са [Таури в2](https://v2.tauri.app/) (Руст језгро величине грешке заокруживања), испоручује сопствено потписано Ноде 24 рунтиме и управља инсталацијом OmniRoute у власништву апликације, тако да се никада не бори против вашег глобалног `node`/`bun`. То** дели вашу постојећу `~/.omniroute/` конфигурацију и базу података** — значи то је исти OmniRoute који већ трчиш, само са шеширом. 🎩
Шта ради
Како
🟢 Надзире сервер
Појављује омнироуте серве , усваја већ покренуту инстанцу уместо да је дуплира
📊 Употреба уживо на први поглед
Траке квота добављача, Claude session/weekly ограничења са ресетовањем одбројавања, 30-дневна анализа трошкова
🔄 Аутоматска ажурирања на месту
Постепена инсталација, атомска замена, враћање у случају грешке — увек на најновијем издању
🚀 Покрени се приликом пријаве
Опционо покретање при пријави; само за лежиште, без иконе на прикључку
🩺 Доцтор & евидентира
Дијагностика једним кликом и приступ евиденцији сервера
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Желите преузимање? Преузмите најновији .дмг са
Издаје . Извор, проблеми и израда
документи живе на zoispag/omniroute-tray.
💛 Пројекат заједнице од @зоиспаг — није званично издање 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 # ← извршава се на УДАЉЕНОМ серверу
omniroute configure codex # ← бира удаљени модел, уписује локални Codex профил
omniroute tokens create --name ci --scope read # издај токене ужег опсега за друге машине
omniroute contexts use default # ← врати се на локални сервер
```
Токени имају опсег `read` / `write` / `admin`; руте које покрећу процесе остају доступне само преко повратне петље.
📖 [Удаљени режим](docs/guides/REMOTE-MODE.md)
### 🤝 Повежите агента — и он сам управља OmniRoute-ом
Омогућите приступ OmniRoute-у преко **MCP-а**, **A2A-а**, **REST API-ја**, **веб-хукова** или **удаљеног CLI-ја** — сваки способан агент (или ваш сопствени кôд) добија приступ целом мрежном пролазу: усмеравању, добављачима, комбинацијама, кешу, компресији и меморији — аутономно. HTTP крајње тачке у наставку доступне су преко `http://localhost:20128`.
Интерфејс
Крајња тачка / команда
Намена
🧰 MCP (stdio)
omniroute --mcp
Повежите са Claude Desktop-ом, Cursor-ом или било којим MCP клијентом
Комуникација између агената, JSON-RPC 2.0 + SSE, 6 вештина
🌐 REST API
/v1/*
Компатибилан са 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
Семантичко проређивање помоћу ML-а преко MobileBERT ONNX — безбедно за код, асинхроно
11
Ultra
Хеуристичко проређивање токена са опционом вишом класом малог модела (SLM)
12
OmniGlyph
Експериментално кодирање контекста као слике за измерени Claude Fable 5 преко директне Anthropic везе; GPT 5.6 трансформери остају безбедно онемогућени док се не добију потврде провајдера. Четири профила компресије (подразумевано агресивни, уравнотежени, безбедни за кодирање, пропусни) (најагресивнији; укључује се по избору)
Блокови кода, URL адресе и структурисани подаци су **увек очувани, бајт по бајт**. **Унапред подешене конфигурације једним кликом** комбинују компоненте:
Режим
Уштеда
Најбоље за
🪶 Lite
~15%
Безбедна подразумевана конфигурација која је увек укључена
🪨 Standard (Caveman)
~30%
Свакодневно програмирање
⚡ Aggressive
~50%
Дуге сесије са великим бројем алата
🔥 Ultra
~75%
Максимална уштеда
🧰 RTK
60–90%
Излаз shell-а, тестова, изградње и git-а
🔗 Stacked (RTK → Caveman)
78–95%
Комбиновани упити и евиденције алата
**Стварни пример — режим Standard:**
> **Пре (69 токена):** _"Разлог због ког се ваша React компонента поново приказује вероватно је то што при сваком циклусу приказивања креирате нову референцу објекта. Када проследите уграђени објекат као својство, React-ово површно поређење га сваки пут види као други објекат, што покреће поновно приказивање. Препоручио бих да користите useMemo како бисте меморисали објекат."_
>
> **После (19 токена):** _"Нова референца објекта при сваком приказивању. Својство са уграђеним објектом = нова референца = поновно приказивање. Обмотајте у useMemo."_
>
> **Исти одговор. 72% мање токена. Без губитка тачности.** ✅
**PT-BR пример — режим [Troglodita](https://github.com/leninejunior/troglodita):**
> **Pre (42 tokena):** _„Problem je u tome što se komponenta ponovo renderuje jer se pri svakom ciklusu renderovanja kreira nova referenca objekta. Preporučio bih korišćenje useMemo.“_
>
> **Posle (12 tokena):** _„Ponovno renderovanje: nova referenca u svakom ciklusu (inline objekat se ponovo kreira). Koristiti `useMemo`.“_
>
> **Isti odgovor. ~70% manje tokena. Tehnička preciznost očuvana.** ✅
### 🎚️ Više od mašina — stilovi izlaza, adaptivni regulator i kontrola po zahtevu
Prethodnih 12 mašina smanjuje ono što **ulazi**. Još tri sloja oblikuju **kako**, **kada** i šta izlazi:
- **🪄 Stilovi izlaza** _(usmeravanje ose izlaza)_ — ubacuju deterministička uputstva za oblikovanje odgovora, bezbedna za keširanje; mogu se kombinovati, a svaki je dostupan sa intenzitetom `lite` / `full` / `ultra`. Dodavanje stila je unos u registru u jednom redu:
- **Sažeta proza** — izbacuje popunjavanje prostora / članove / ograde; tehnička suština ostaje potpuno precizna.
- **Manje koda** — YAGNI pristup „lenjeg iskusnog programera“: najmanja funkcionalna izmena, bez ne zatražene infrastrukture.
- **Konjski rep (lenji iskusni programer)** — penje se lestvicom YAGNI pristupa, otklanja osnovni uzrok i pravi najmanju funkcionalnu razliku.
- **Imam ADHD (radnja na prvom mestu)** — sledeća radnja je na početku, koraci su numerisani, navodi se jedan konkretan sledeći korak, bez uvoda.
- **Sažeti CJK (文言)** — ultra-sažeti stil klasičnog kineskog jezika (ograničen na lokalizaciju `zh`).
- **🎯 Adaptivni budžet konteksta** _(regulator)_ — umesto jednog praga tokena za uključivanje/isključivanje, eskaliraju se najjeftinije mašine sa najmanjim gubitkom samo onoliko koliko je potrebno da se sadržaj **uklopi u prozor konteksta modela**. Politika: `reserve-output` (podrazumevano, prilagođeno modelu) · `percentage` · `absolute`. Režim: `floor` (garantuje uklapanje) · `replace-autotrigger` (vaš izričiti izbor ima prednost) · `off` (nasleđeni prag).
- **🎛️ Gde se odlučuje kompresija** _(prioritet, od najvišeg ka najnižem)_ — zaglavlje zahteva `x-omniroute-compression` › preklapanje kombinacije rutiranja › aktivni imenovani profil › adaptivno / automatsko pokretanje › podrazumevana vrednost panela › isključeno. Primenjeni plan se vraća u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Automatski pokrenite kompresiju prema pragu tokena, uključite adaptivni regulator, fiksirajte imenovani profil, postavite jednokratnu vrednost po zahtevu ili dodelite cevovod kombinaciji rutiranja — šta god najbolje odgovara opterećenju. Opcioni offline **alat za evaluaciju** (`npm run eval:compression`) ocenjuje vernost u odnosu na uštedu na fiksiranom skupu podataka pre nego što uvedete izmenu.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Brzi početak
**1) Instalirajte i pokrenite**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidite `npm warn ERESOLVE` ili upozorenja o peer zavisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Koristite npm 11 ili noviji?** npm može blokirati skripte životnog ciklusa paketa ako im nije dozvoljeno izvršavanje. OmniRoute-ov `postinstall` (`node scripts/build/postinstall.mjs`) neophodan je za pripremu izvornih datoteka za izvršavanje. Dozvolite pakete navedene u npm-ovom upozorenju prilikom globalne instalacije. Za skup paketa koji prijavljuje OmniRoute 3.8.54:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Da biste ovu listu dozvola ponovo koristili pri budućim globalnim instalacijama, jednom je konfigurišite, a zatim instalirajte na uobičajen način:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Spisak zavisnosti može da se promeni između izdanja; ako npm prijavi drugačiji spisak, koristite nazive paketa iz tog upozorenja. Dozvoljavanje paketa omogućava izvršavanje njegovih instalacionih skripti.
> **Koristite Gemini Web ili drugog provajdera zasnovanog na web kolačićima?** npm paket uključuje
> Playwright, ali ne i njegov Chromium binarni fajl. Pogledajte belešku
> [Podešavanje Playwright Chromium-a](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> pre slanja prvog zahteva web-provajderu.
Kontrolna tabla na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Povežite podržanog provajdera koristeći sopstveni nalog**
Kontrolna tabla → **Provajderi** → izaberite provajdera čiji trenutni uslovi i kvota odgovaraju vašem slučaju upotrebe → dodajte njegov API ključ ili dovršite postupak za nalog. Besplatni nivoi mogu zahtevati registraciju, odobrenje ili način plaćanja. Pogledajte [Vodič kroz besplatne nivoe](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez ključa nije zagarantovana, a provajderi označeni sa `tos: avoid` podrazumevano se izuzimaju iz režima `auto`.
**3) Usmerite alat za programiranje**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Proverite da li radi**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebalo bi da vidite navedene povezane modele. 🎉 To je sve — počnite da programirate, a OmniRoute će automatski usmeravati zahteve i prebacivati se na rezervne opcije umesto vas.
Ako vaš klijent ne može da šalje prilagođena zaglavlja, OmniRoute takođe nudi tokenizovane pseudonime za kompatibilnost:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Koristite ih samo za klijente koji ne mogu da dodaju `Authorization: Bearer ...`. Autentifikacija putem zaglavlja i dalje je preporučeni režim.
## 📦 Још начина инсталације — 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 хеап, иначе процес доживи `FATAL ERROR` на ~12 GiB под два дуга контекста која се преклапају. Димензионишите контејнер изнад хеапа (нативни бафери се налазе изван V8):
| Радно оптерећење | Хеап (`-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 — RAM у време извршавања](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`).
- **Наменски Bun Dockerfile**: Вишефазна `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 flake-ова
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-а
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 и
подешавање Linux/systemd Quadlet-а.
**⚡ Бржа / лакша инсталација (прескочите нативну изградњу)**
Нативни SQLite мотор (`better-sqlite3`) је **опциона** зависност, тако да се глобална
инсталација никада не блокира на компајлирању из изворног кода: користи унапред изграђени бинарни фајл када одговара
вашој платформи/Node-у, а у супротном се транспарентно враћа на чисто-JS мотор
(`node:sqlite` на Node 22+, иначе уграђени `sql.js` WASM) — алати за изградњу нису потребни.
Да у потпуности прескочите **нативно загревање** након инсталације (CI, без графичког интерфејса или споре машине).
Напомена: ово прескаче само корак нативног SQLite загревања (`scripts/postinstall.mjs`);
кука за копирање/поправку бинарног фајла (`scripts/build/postinstall.mjs`) се и даље извршава нормално:
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 такође га прескаче
```
За најбрже инсталације преферирајте **pnpm** (складиште са адресирањем садржаја + тврде везе — види горе).
За извршавање без контролне табле и без графичког интерфејса користите Docker `base` профил (горе) или
[водич за Termux](docs/guides/TERMUX_GUIDE.md). CLI и веб контролна табла се служе из истог
процеса на једном порту, тако да данас не постоји засебан пакет само за CLI.
Strategija pokrivenosti testovima za više od 60.000 statičkih deklaracija testova u više od 8.400 praćenih datoteka testova
# ⭐ Najznačajniji saradnici
> OmniRoute oblikuje strastvena zajednica otvorenog koda. Ovi pojedinci dali su izuzetne doprinose koji direktno utiču na kvalitet, stabilnost i domet projekta. **Hvala vam.**
### Spoljni saradnici prema spojenim zahtevima za povlačenje
Popis je napravljen 2026-11-03 03:01:19 UTC, uz aktivni vrh grane release/v3.8.5305bc048d6c. Numerisani GitHub GraphQL popis sadrži 9,947 spojenih PR-ova: 4,130 vlasnika repozitorijuma, 240 Dependabot-a, 6 drugih botova/aplikacija i 5,571 spoljni PR od 883 različita saradnika. „Izmenjene linije“ predstavljaju zbir GitHub dodatih i obrisanih linija i uključuju generisane datoteke, zaključane datoteke, kataloge, prevode i dokumentaciju; to je obim izmena, a ne broj autorskih LOC-ova. 53 PR-a prikazuju GitHub razlike veće od 500,000 linija (na primer #13399, gde se za dodavanje jednog dobavljača navodi 2,347 izmenjenih datoteka), što uvećava nekoliko gornjih ukupnih vrednosti. Jednaki rezultati rangirani su zajedno.
### Komitovi pripisani GitHub-u
Ponovo provereno 2026-11-03 02:09:16 UTC: commit-ovi koje GitHub pripisuje, a koje je prijavio Contributors API repozitorijuma za podrazumevanu granu release/v3.8.53. API je vratio 903 identiteta (429 korisnika, 2 bota, 472 anonimna); ova tabela isključuje održavaoca, botove i anonimne identitete i zadržava izjednačenja. Razlikuje se i od rangiranja objedinjenih PR-ova iznad i od popisa Git metapodataka ispod.
> 🙏 Funkcije, ispravke grešaka i poboljšanja infrastrukture ovih saradnika predstavljaju **ključni deo** onoga što OmniRoute čini pouzdanim i bogatim funkcijama. Svaki pull request, svaki test-slučaj i svaka i18n datoteka za prevođenje su važni. Otvoreni kôd grade ljudi poput njih.
---
## 💖 Спонзори
Од срца хвала људима који финансирају OmniRoute из сопственог џепа — сваки допринос помаже да пројекат остане бесплатан, независан и настави да се развија.
… и другима који желе да остану анонимни 💛Јавни GitHub спонзори поново су проверени 2026-10-18 путем GitHub Sponsors GraphQL API-ја: 11 јавних спонзорстава (6 активних, 5 ранијих) од укупно 14. GitHub-ов статус isActive одређује горенаведене ознаке активности; ранијим јавним једнократним подржаваоцима и даље се захваљујемо, док приватни спонзори остају анонимни. Донације путем Ko-fi, Buy Me a Coffee, Liberapay, PIX и криптовалута нису наведене јер за њих не постоји јавни запис о спонзору.💖 Постаните спонзор → — сваки долар помаже да OmniRoute остане бесплатан и независан.
## 👥 Više od 1.000 saradnika
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revizija obavljena 2026-11-02 na aktivnom vrhu grane release/v3.8.531c7135e0fb (7.972 komitova): 1.074 normalizovana ljudska Git identiteta — 759 se pojavljuje kao autori komitova (uključujući održavaoca), a 315 samo u eksplicitnim završecima Co-authored-by. Popis primenjuje .mailmap, upoređuje adrese e-pošte bez obzira na velika i mala slova, spaja numeričke i obične GitHub noreply adrese samo kada kodiraju isto korisničko ime, isključuje 29 identiteta botova/agenta/servisa/zamenika i ne spaja obične adrese e-pošte samo zato što im se prikazivačka imena podudaraju. Revizija od 2026-08-24 objavila je broj 639; ponovljena primena ove metode na osnovu te revizije ac02c5b42f daje 619, tako da povećanje potiče od novih saradnika, a ne od blaže metode.
### Kako doprineti
1. Napravite fork repozitorijuma
2. Kreirajte granu na osnovu **aktivnog** vrha grane `release/vX.Y.Z` (ne grane `main`) — pogledajte [Model grananja i objavljivanja](docs/ops/BRANCHING_MODEL.md)
3. Kreirajte granu za funkcionalnost (`git checkout -b feat/amazing-feature`)
4. Komitujte izmene (`git commit -m 'feat: add amazing feature'`)
5. Pošaljite izmene na granu (`git push origin feat/amazing-feature`)
6. Otvorite zahtev za integraciju sa **base = tom granom `release/vX.Y.Z`**
Pogledajte [CONTRIBUTING.md](CONTRIBUTING.md) za detaljna uputstva.
### Objavljivanje nove verzije
```bash
# Kreirajte izdanje — npm publish se izvršava automatski
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Звездице
## 🌍 StarMapper
## 🙏 Захвалнице
OmniRoute стоји на раменима великана. Започео је као fork пројекта **[9router](https://github.com/decolua/9router)** и TypeScript порт Go пројекта **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — а одатле је сваки подсистем у наставку инспирисан пројектом отвореног кода који је до њега стигао први. Сваки од њих обликовао је конкретан део OmniRoute-а. Ово је наше „хвала“ свима њима. 🙏
> ⭐ број звездица је проверен путем GitHub-овог REST API-ја 3. новембра 2026. — посетите ове пројекте и додајте им звездицу. Бројеви представљају тачан снимак стања на наведени датум и природно ће се мењати.
### 🧬 Порекло и gateway
AI gateway чији јавни скуп података о ценама напаја нашу синхронизацију за праћење трошкова, а чији модел нормализације добављача је утицао на наше рутирање.
MIT извор прилагођен за уграђени мост ChatGPT Web → Codex Responses, укључујући адаптере за сесије прегледача, уоквиривање одговора, коришћење и веб-претрагу.
Подразумеване вредности трансформације компатибилне са Claude Code-ом и понашање billing заглавља уопштени су у мост OmniRoute-а заснован на конфигурацији.
Његова мапирања Grok модела, генератор Statsig-а са лажним TypeError-ом, подразумеване вредности захтева и уређаја, као и процесор NDJSON одговора, материјално су прилагођени OmniRoute-овом Grok Web извршиоцу.
Главни транзитивни извор кода иза grok2api-merged; његове имплементације модела, заглавља, корисног садржаја, Statsig-а и процесора сачуване су у пореклу Grok Web-а.
Основни MIT извор за подразумеване вредности Grok корисног садржаја и уређаја, генератор Statsig-а и процесор result.response, пренет кроз TQZHR и grok2api-merged.
Транзитивни извор који grok2api-merged наводи за свој слој proxy-pool; OmniRoute чува ту напомену о пореклу, али не тврди да је пренео proxy-pool у свом ограниченом Grok Web извршиоцу.
Консултован је за дизајн HTTP/browser upstream-а оригиналне Grok Web имплементације; његова директна HTTP путања потиче од GrokProxy-а, па се не тврди да је код независно пренет.
Вирални пројекат „зашто користити много токена када неколико токена ради посао“ — његова филозофија говора пећинског човека покреће наш стандардни режим компресије и више од 30 правила за уклањање попуне и кондензацију.
Компресија излаза команди високих перформанси — инспирисала је наш RTK механизам, JSON filter DSL, опоравак необрађеног излаза и наслагани RTK → Caveman процес.
Вирална вештина YAGNI кодирања „лењег искусног програмера“ — инспирисала је наш стил излаза less-code: усмеравање ка најмањој функционалној промени која смањује _генерисани_ код (сестрински приступ Caveman-овој сажетој прози на оси излаза).
Компресија излаза свесна садржаја и прилагођена типу датотеке, уз одустајање при грешци — потврдила је нашу диспечеризацију по типу и прескакање када је добит мања од минимума.
Колонарни JSON у Rust-у + преузимање засновано на адресирању садржаја + уклањање дупликата кроз више порука — потврдили су наш дизајн механизама headroom/ccr/session-dedup и инваријанту стабилну за кеш: „компримовани облик независан је од позиције“.
Комплет алата за TypeScript Compiler API — инспирисао је наше уклањање коментара засновано на парсеру, које чува литерале ниски, шаблона и регуларних израза.
MITM пресретање и анализа саобраћаја између помоћника за програмирање и LLM-а утицали су на ране захтеве за Traffic Inspector. Четири претходно изведена модула — спајање SSE-а, нормализација разговора, маскирање тајни и санитизација заглавља — замењена су независним имплементацијама развијеним у чистој соби, заснованим на јавним стандардима протокола. Две површине за прослеђивање хоста (passthrough.ts и _internal/bypass.cjs) остају интерне имплементације OmniRoute-а, независно класификоване; нису поново написане у оквиру те замене.
Транспарентно усмеравање проксија по процесу — инспирисало је наше безбедно гашење MITM-а у случају пада, временска ограничења неактивности сокета, приписивање процеса помоћу /proc и TPROXY пресретање.
### 📚 Подаци о моделима, видљивост и кориснички интерфејс
Курирана листа библиотека са безбедним подразумеваним подешавањима која усмерава наше безбедносне изборе (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Његово пресликавање модела засновано на налогу, валидација путање извршне датотеке и понашање ознака плана утицали су на OmniRoute-ово Antigravity окружење за извршавање.
Идентификовао је површину квоте Grok Build-а; OmniRoute је затим независно проверио и исправио формат преноса уживо.
## 📄 Лиценца
Лиценца MIT — погледајте [LICENSE](LICENSE) за детаље.
---
**[⬆ Назад на врх](#-omniroute)** · Направљено са ❤️ за AI заједницу отвореног кода.
Аутор: Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Лиценца MIT · omniroute.online