## 💰 ~1,62 mlrd. tokena mjesečno putem besplatnih paketa trećih strana
> **Upotrijebite vlastite račune pružatelja usluga.** Ovo je procijenjeni zbroj zasebno dostupnih besplatnih paketa trećih strana, a ne dodjela tokena od OmniRoutea. Registrirajte se, pribavite vjerodajnice gdje je to potrebno i povežite pružatelje koje možete koristiti; svaki pružatelj određuje vlastita ograničenja, dostupnost i uvjete.
>
> Ručno objedinjavanje besplatnih paketa mukotrpno je — deseci SDK-ova, deseci ograničenja brzine i nikakva predodžba o tome koliko zapravo imate na raspolaganju. OmniRoute katalogizira **467 stavki besplatnih paketa u 34 ključa ponavljajućih skupova** i izračunava istaknuti broj tokena iz **17 skupova s objavljenim pozitivnim mjesečnim budžetom te pet Groqovih ograničenja po modelu**, uz uklanjanje duplikata prema zajedničkom skupu. Kvote koje postaju dostupne tek nakon regionalne provjere identiteta (trenutačno: ModelScope) prikazuju se zasebno, +~6 mil. iza regionalne provjere identiteta, i nikada se ne pribrajaju istaknutom broju. Rezultat ostaje vidljiv na nadzornoj ploči (`/dashboard/free-tiers`).
> Animirani sažetak aktivne stranice `/dashboard/free-tiers`. Cjelovita metodologija (uklanjanje duplikata skupova, razine kredita, uvjeti pružatelja): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Ove se brojke ponovno provjeravaju svaka dva tjedna prema aktualnom katalogu i **mogu se mijenjati u oba smjera** — kada pružatelj ukine besplatni paket, broj pada; kada se pojavi novi, broj raste. Objavljujemo ono što katalog doista izračuna, a ne zaokruženi najbolji mogući scenarij.
⭐ Dodajte zvjezdicu repozitoriju ako vam je OMNIROUTE pomogao uštedjeti novac i olakšati 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žavatelja — prvi saznajte za nove pružatelje, izdanja i savjete:**
[](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, savjeti o pružateljima, plan razvoja i podrška → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalno](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 nastavlja rasti
| | v3.8.50 | **v3.8.51** | `v3.8.53+` |
| --------------------------------------- | :-------------------------: | :---------: | :-------------------: |
| 🌐 Pružatelji | 352 | **358** | 375 |
| 🧠 Jedinstveni ID-jevi modela razgovora | 1320 | **1374** | 1475 |
| 🖼️ Most modalnosti | 🆕 vid + audio + video | ✓ | ✓ |
| 📡 Besplatni katalog Radara | 🆕 dobrovoljno uključivanje | ✓ | ✓ |
| ⚖️ Raspoređivanje prema kvotama | 🆕 Podjela kvota | ✓ | ✓ |
| 📊 Telemetrija kvota | 🆕 uživo | ✓ | ✓ |
| 🧰 Način rada bez sučelja | — | — | 🆕 `serve --headless` |
| 🛤️ LTS infrastruktura pruge | — | — | 🆕 kanali izdanja |
| 🔎 API za otkrivanje modela | — | — | 🆕 `/v1/models/query` |
**→ [Plan razvoja](ROADMAP.md) — vožnja prugom do `v3.9.0 LTS`**
## 🧩 Dostupno
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 Instalirajte, povežite pružatelja, zatim usmjerite kroz jedan endpoint
```bash
# Nakon što povežete pružatelja, kopirajte svoj OmniRoute ključ iz Dashboard → Endpoints:
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` zahtijeva podobnu rutu. Svježa instalacija možda nema nijedan podoban keyless cilj, a keyless pružatelj može odbiti klijente trećih strana. Pružatelji označeni s `tos: avoid`, uključujući Kiro, prema zadanim su postavkama isključeni iz automatskog usmjeravanja; povezivanje računa ne mijenja tu postavku. Pogledajte [Vodič kroz besplatne razine](docs/getting-started/FREE-TIERS-GUIDE.md) prije odabira pružatelja.📦 Skripte za brzi početak za kopiranje za **Python, Node.js, PHP i cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obećanje
# 🤔 Zašto OmniRoute?
## 🤝 Uz podršku naših prijatelja otvorenog koda
> **Želite li nam se pridružiti kao prijatelj otvorenog koda?** Ovo su tvrtke koje podržavaju otvoreni kod i pomažu da se OmniRoute nastavi razvijati — a mi javno objavljujemo kamo odlazi svaki token koji nam daju. Javite nam se: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Hvala Kimi (Moonshot AI), našem osnivačkom prijatelju otvorenog koda, na podršci ovom projektu! Kimi je AI laboratorij koji stoji iza obitelji modela otvorenih težina K2 i K3 — Kimi K3 pruža kontekstni prozor od 1M tokena, izvorne mogućnosti obrade slike i programiranje na razini vodećih modela uz djelić cijene zatvorenih modela te odmah radi s alatima Claude Code, Codex i svim alatima za programiranje koje OmniRoute podržava.
Što omogućuje Kimijeva podrška: Kimijevi API krediti pokreću OmniRouteov proces izdanja potvrđen umjetnom inteligencijom — fazu provjere spajanja koju pokreće Kimi K3, koja pregledava svaki zahtjev za povlačenje prije objave — kao i svakodnevni razvoj značajki. Prvorazredna podrška za Kimi dostupna je kroz oba kanala: izravni Kimi API (kimi-k3) i programerski plan Kimi Code (OAuth i API ključ). OmniRoute je također prvi brazilski projekt otvorenog koda u Kimijevu programu podrške. Nabavite Kimi API ključ uz 15% dodatnih kredita →
Cheaper Inference cheaperinference.com
Hvala Cheaper Inference, OmniRouteovu prijatelju otvorenog koda, na podršci ovom projektu! Cheaper Inference pristupnik je rangiran prema troškovima koji preprodaje 42 vrhunska modela — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok i MiniMax — putem jedne krajnje točke kompatibilne s OpenAI-jem, usmjeravajući svaki zahtjev najjeftinijem prikladnom pružatelju bez naplate iznosa višeg od cjenika autora modela.
Prvorazredna podrška u OmniRouteu: dovršavanje razgovora, izvorna krajnja točka /v1/responses, obrada slike, pozivanje alata i 3 modela za slike (grok-imagine, nano-banana-pro, nano-banana-2, dostupna kao cheaperinference/<model>). Nabavite API ključ →
Veze označene s aff=omniroute partnerske su veze. Financiraju projekt bez dodatnih troškova za vas. 🎟️ Partnerske promocije — besplatni kuponi pružatelja pri registraciji koje ne sponzoriramo (kliknite za proširenje)Ovaj je odjeljak namijenjen isključivo kodovima za preporuke/kupone. Sponzorirana partnerstva nalaze se u prethodnom odjeljku 🤝 Uz podršku naših prijatelja otvorenog koda. OmniRoute nema sponzorski ni partnerski odnos s ovdje navedenim pružateljima — ovo su javni kuponi koje svatko može upotrijebiti.
AgentRouter agentrouter.org
AgentRouter — partnerska registracija · $100 besplatnih kredita pri registraciji (besplatan poslužitelj, očekujte veću latenciju — najbolje za testiranje, ne za produkciju). Prvorazredna podrška u OmniRouteu od verzije v3.8.50: dovršavanje razgovora, format prijenosa kompatibilan s Anthropicom i put kompatibilan s OpenAI-jem. Dostupni modeli uključuju claude-opus-4-8, claude-opus-5, gpt-5.6-sol i druge. Preuzmite svojih $100 →
⚠️ Partnerska veza — OmniRoute nema sponzorski ni partnerski odnos s ovim pružateljem.
Znate li drugog pružatelja s izdašnim besplatnim kuponom pri registraciji od kojeg bi korisnici OmniRoutea imali koristi? Otvorite prijavu problema i dodat ćemo ga ovdje.
## 🎯 Kombinacije — Glavna značajka
> **Kombinacija** je lanac modela između kojih OmniRoute usmjerava **automatski**. Ako se kvota potroši, pružatelj zakaže ili troškovi naglo porastu, kombinacija može prijeći na sljedeći prihvatljiv i ispravan model. 🛡️
### ⚡ Bez konfiguracije — samo upotrijebite `auto`
Nema potrebe za izradom kombinacije. Postavite svoj model na `auto` (ili neku varijantu) i OmniRoute će izgraditi virtualnu kombinaciju od vaših povezanih pružatelja, ocijenjenu u stvarnom vremenu:
ID modela
Što optimizira
auto
🎯 Uravnotežena zadana opcija (LKGP — ostaje uz vašeg posljednjeg pouzdanog pružatelja)
auto/coding
🧑💻 Ponderi usmjereni na kvalitetu za generiranje koda
auto/fast
⚡ Najprije najniža latencija
auto/cheap
💰 Najprije najniža cijena po tokenu
auto/subscription
🎟️ Samo kvota pretplate koju već plaćate — sigurno se zaustavlja i nikad ne prelazi na naplativu zamjensku opciju (vodič)
auto/thrifty
🪜 Najprije kvota tarife, a zatim korak po korak prema najjeftinijim plaćenim opcijama — povratak na tarifu nakon što se kvota obnovi (vodič)
auto/offline
🔋 Najprije najveća rezerva kvote / ograničenja brzine
auto/smart
🔭 Kvaliteta na prvom mjestu + 10% istraživanja radi otkrivanja boljih modela
auto/lkgp
📌 Izričito zadržavanje uz posljednjeg poznatog pouzdanog pružatelja
auto/chaos
🧪 Paralelno slanje upita panelu modela (jedan po pružatelju, zadano 5), uz vraćanje jednog odgovora; jedan poziv prema nadređenoj usluzi po modelu panela, bez ubrizgavanja pogrešaka
##
### 🔀 Ili izradite vlastitu — 20 strategija usmjeravanja
Svih **20** strategija — kombinirajte ih po koraku kombinacije:
#
Strategija
Što radi
1
priority
Uređeni popis s prvim ciljem kao prioritetom — iscrpite svaki prije prelaska na sljedeći 🥇
2
fill-first
Potpuno iskoristite kvotu svakog cilja prije prelaska na sljedeći
3
weighted
Ponderirani nasumični odabir prema ponderu svakog cilja
4
round-robin
Kružno prolazite kroz ciljeve redom
5
p2c
Nasumično uravnoteženje opterećenja metodom odabira između dviju opcija
6
least-used
Odaberite cilj s trenutačno najmanjim opterećenjem
7
random
Jednolik nasumični odabir (bez duplikata)
8
strict-random
Nasumični odabir bez uklanjanja ponavljanja 🎲
9
cost-optimized
Smanjuje trošak po zahtjevu na temelju aktualnih cijena iz kataloga 💸
10
headroom
Odaberite cilj s najviše preostale kvote
11
quota-weighted
Preskače iscrpljene račune, a zatim odabire razmjerno preostaloj kvoti ÷ trenutačnom opterećenju — postojeći razgovori ostaju prikvačeni ⚖️
12
reset-window
Daje prednost cilju čije se razdoblje kvote najranije obnavlja
13
reset-aware
Rangira prema vremenu obnove kvote — najprije kratka razdoblja 📊
14
context-relay
Predaje kontekst između ciljeva za duge razgovore 🧠
15
context-optimized
Odabire cilj koji najbolje odgovara trenutačnoj veličini konteksta
16
cache-optimized
Prikvačuje svaki ponovno upotrebljivi prefiks upita na isti račun — povećava broj pogodaka u predmemoriji upita 🎯
17
lkgp
Posljednja poznata pouzdana putanja — prikvačuje se na posljednjeg uspješnog pružatelja, a zatim prelazi na rezervna pravila
18
auto
Ocjenjivanje u stvarnom vremenu prema 16 čimbenika za svaku vezu 🤖
19
fusion
Šalje upite panelu modela + model-sudac sintetizira jedan odgovor 🧬
20
pipeline
Lančano povezuje korake — izlaz svakog cilja prosljeđuje se sljedećem 🔗
Mehanizam Auto-Combo ocjenjuje svakog kandidata prema **16 čimbenika** (stanje, kvota, trošak, latencija, prikladnost za zadatak, kvaliteta, dostupnost sesije…) — pogledajte [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Otpornost je ugrađena (3 neovisna sloja)
📖 [Mehanizam Auto-Combo](docs/routing/AUTO-COMBO.md) · [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Po čemu se OmniRoute ističe
📊 Cjelovita metodologija i pojedinosti po značajkama u usporedbi s 9routerom, OpenRouterom, CLIProxyAPI-jem i LiteLLM-om → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podržite OmniRoute
OmniRoute je licenciran pod licencom MIT i održava se otvoreno. Ako vam štedi vrijeme ili novac, evo kako možete pomoći da ostane neovisan — odaberite ono što vam odgovara. Sponzorstvo nikada ne utječe na prioritet usmjeravanja; ono donosi vidljivost, a ne viši poredak.
**🇧🇷 PIX** — trenutačno, bez naknada (Brazil)
Ključ (nasumični): `5d865059-bc44-483a-962d-43ceb80126eb`
PIX za kopiranje i lijepljenje:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Kriptovalute — BTC · ETH · USDT-TRC20 · USDC-Solana (kliknite za proširenje)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Svaku valutu šaljite samo putem prikazane mreže — slanje putem pogrešne mreže može dovesti do gubitka sredstava.
🐛 Pronašli ste pogrešku ili imate povratne informacije? Otvorite [raspravu](https://github.com/diegosouzapw/OmniRoute/discussions).
Napomene za razvojne programere: Projekt tijekom npm install/postinstall može generirati lokalnu datoteku .env radi praktičnosti razvojnih programera. Ta se datoteka namjerno ignorira putem .gitignore (pogledajte .gitignore) i nikada se ne smije predati u repozitorij — ako je slučajno predana, promijenite sve izložene tajne i uklonite datoteku iz povijesti. Smjernice za upravljanje datotekama lokalnog okruženja i tajnama potražite u docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Glavna brojka za besplatnu razinu ostaje **~1.62B tokena/mjesečno** iz gore dokumentiranog
kataloga s uklonjenim duplikatima među skupovima. Privremeni krediti za registraciju kod pružatelja mogu zasebno povećati prvi
mjesec na **~2.22B**. Radar je neobavezan, potpisan kataloški sloj za korisnike koji žele ažurniju
dostupnost besplatnih modela između izdanja OmniRoutea; katalog zajednice i sve postojeće besplatne
značajke ostaju besplatni.
Podržavatelji mogu dobiti aktualni katalog i dodatne mogućnosti pružatelja. Njegova zasebna,
promjenjiva gornja granica iznosi **najviše približno 3B tokena/mjesečno**, ovisno o dostupnosti pružatelja.
Ta gornja granica nije zajamčena: pružatelji u bilo kojem trenutku mogu promijeniti kvote, uvjete prihvatljivosti, modele ili regije.
Radar zahtijeva izričito uključivanje i koristi samo GET zahtjeve. Klijent OmniRoute ne prenosi upite, promet, konfiguraciju
pružatelja, telemetriju korištenja ni lokalno stanje odbacivanja obavijesti. Saznajte više o uvjetima prihvatljivosti i
trenutačnom katalogu na **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Što je novo
> Nedavni vrhunci iz **v3.8.20 → v3.8.53**. Puna povijest u [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` usmjeravanje** — 20. strategija comboa preskače iscrpljene račune, zatim bira među ostalima razmjerno preostaloj kvoti ÷ trenutnom opterećenju, zadržavajući postojeće razgovore prikvačenima. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Bezglavi način rada** — `omniroute serve --headless` (ili `OMNIROUTE_HEADLESS=1`) pokreće samo proxy engine `/v1/*`, s isključenom nadzornom pločom i podsustavima koji pripadaju samo njoj. → [Bezglavi način rada](docs/guides/HEADLESS.md)
- **🔎 Otkrivanje modela** — `/v1/models` filtrira po mogućnostima, kontekstu, vrsti i tekstu, a `POST /v1/models/query` vraća kratak deterministički popis s istom vidljivošću po ključu. → [API Reference](docs/reference/API_REFERENCE.md)
- **🔑 Upravljanje usmjeravanjem po ključu** — prikvačite API ključ za jedan model ili combo pomoću `forcedModel` te atomarno dodajte ili uklonite modele i comboe ključa (`/api/keys/{id}/access`). → [API Reference](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Finija kontrola PII podataka** — odabir po vrsti, do 20 validiranih prilagođenih uzoraka maskiranja i brojači detekcije po vrsti; samo maskiranje ostaje opt-in. → [Guardrails](docs/security/GUARDRAILS.md)
- **🌍 67 jezika** — nadzorna ploča, zrcaljene dokumentacije i CLI, s `npm run i18n:add-locale` koji dodaje jezik svugdje jednom naredbom. → [i18n Guide](docs/guides/I18N.md)
- **🎛️ OmniConductor** — dolazno A2A delegiranje na vašu flotu agenata, Conductor vještine na Agent Card i panel nadzorne ploče s Faro push-to-talk glasovnim razgovorom. → [A2A Server](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljiv prihvat i zaštita od preopterećenja** — teški chat zahtjevi staju u red umjesto da vraćaju 503, s atomarnim RPM rolling leaseovima po vezi. → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonski poredak `/v1/models`** — jedan neprekinuti blok grupiran po pružatelju za svakog pružatelja (comboi prikvačeni prvi), stabilan u svakom izvoru kataloga. → [API Reference](docs/reference/API_REFERENCE.md)
- **🗜️ Ojačana kompresija** — guard protiv inflacije uključen prema zadanim postavkama, Caveman paketi za DE / FR / JA + kineski (wényán), RTK filtri za Gradle i .NET. → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Iskreni trošak fiksne cijene** — pružatelji pretplate / coding plana pokazuju **$0** u analizi troškova; proračun, kvota i usmjeravanje nastavljaju procjenjivati. → [API Reference](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share usmjeravanje** — ravnomjerno dijeljenje kvote dijeljenog računa preko združenih ključeva, work-conserving tako da se neiskorišteni dijelovi posuđuju. → [Resilience Guide](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Postavljanje CLI/agenta jednom naredbom** — 15 registriranih naredbi `setup-*`; `omniroute run` pokreće 7 CLI-jeva (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 11 ciljeva s interaktivnim biračem pružatelja+modela i favoritima po kontekstu. → [CLI Integrations](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Daljinski način rada** — upravljajte udaljenim OmniRouteom pomoću tokena s ograničenim opsegom (`connect` / `contexts` / `tokens`) + `antigravity` OAuth pomoćnik za VPS instalacije. → [Daljinski način rada](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnije automatsko usmjeravanje** — comboi `auto/:`, **Fusion** (panel modela + sudac), usmjeravanje svjesno zadatka, nadjačavanja modela / načina / USD proračuna po zahtjevu. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Priključiva kompresija** — 12 kompozabilnih engineova + Compression Studios: LLMLingua-2, dvoslojni Ultra, omniglyph, fidelity gate po koraku, GCF v3.2, editor za povlačenje i preslagivanje. → [Compression](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifriranje (TPROXY)** — hvatanje CLI-jeva koji ignoriraju proxy env varijable, s CA po SNI-ju + instalaterom u trust store. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija troškova posvuda** — `X-OmniRoute-*` zaglavlja troška/korištenja na svakom endpointu, zaglavlje uštede kod cache-HIT-a, USD kvote potrošnje po ključu. → [API Reference](docs/reference/API_REFERENCE.md)
- **🧠 Memorija pod vašom kontrolom** — isključena prema zadanim postavkama, opt-in int8 vektorska kvantizacija + tipizirano opadanje, `x-omniroute-no-memory` po zahtjevu. → [Memory](docs/frameworks/MEMORY.md)
- **🛡️ Sigurnost** — guard protiv prompt-injectiona na svakoj LLM ruti (red-team suite), opt-in guardrail za maskiranje vjerodajnica (redigira procurjele API ključeve/tajne u oba smjera), besplatno DuckDuckGo web pretraživanje kao krajnja opcija i neobavezno OIDC prijavno sučelje za nadzornu ploču (prijava lozinkom uvijek ostaje dostupna). → [Guardrails](docs/security/GUARDRAILS.md)
- **🖼️ Novi endpointi** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (u stilu Whispera) zaokružuju medijsku površinu. → [API Reference](docs/reference/API_REFERENCE.md)
- **🎨 Generiranje slika / videa / zvuka** — jedan API za medije: xAI Grok Imagine i Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind i govorni pružatelji poput ElevenLabsa. → [API Reference](docs/reference/API_REFERENCE.md)
- **🌍 Implementacija i operacije** — reverse-proxy `basePath`, automatsko prepoznavanje jezika preglednika, praćenje uređaja po ključu, MITM povjerenje bez roota, zh-TW lokalizacija. → [Environment](docs/reference/ENVIRONMENT.md)
- **🤝 Više pružatelja i agenata** — cloud agenti (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) s prijavom putem preglednika + OAuth, Ollama kartica prvog reda, Claude Opus 5 i Sonnet 5, službeno partnerstvo s Kimijem (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… i osvježeni **katalog od 375 pružatelja**. → [Providers](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparentnost usmjeravanja** — svaki odgovor nosi zaglavlje `X-OmniRoute-Decision` s nazivom strategije/pružatelja/latencije koja ga je poslužila, nova strategija comboa `cache-optimized` + faktor `cacheAffinity` Auto-Comboa vraćaju ponovljene zahtjeve natrag na vezu koja drži predmemorirani prefiks, a endpoint `/v1/auto-combo/{channel}/candidates` samo za čitanje izlaže živi skup kandidata `auto/*` kanala. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, alati za implementaciju Cloudflare Workers / Deno Deploy relayja, Bifrost i Mux kao nadzirane ugrađene usluge. → [Ugrađene usluge](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Također u paketu** — okvir za dodatke + tržnica, okviri Omni/Agent/GitHub vještina, integracija s Obsidian vaultom (22 MCP alata), OpenAI-kompatibilni Batch i Files API-ji, semantička predmemorija odgovora, gamifikacija s ljestvicama poretka, otkrivanje ACP agenata (15 ugrađenih agenata), zakazani izvoz zapisa u BigQuery, paralelno razgranavanje na više modela putem `auto/chaos`, most za Telegram bot, upravitelj verzija unutar aplikacije i LMArena-ELO rangiranje besplatnih pružatelja. → [Dokumentacija](docs/README.md)
## 🤖 Kompatibilni CLI-jevi i agenti za programiranje
> Jedna konfiguracija — `http://localhost:20128/v1` — i **svaki** AI IDE ili CLI radi na besplatnim i povoljnim modelima.
+ također radi s · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bilo kojim alatom kompatibilnim s OpenAI-jem
📖 Postavljanje po alatu za svih 37 alata (27 CLI alata za kodiranje + 10 CLI agenata) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Dodatak za OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Pokrenite bilo koji podržani CLI putem OmniRoutea jednom naredbom** — bez zapisivanja konfiguracijskih datoteka,
uz vjerodajnice umetnute zasebno za svaki proces i privremeno izolirano matično okruženje za 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"
# Ili interaktivno odaberite pružatelja usluge i model te zapišite vlastitu konfiguraciju alata:
omniroute configure codex # također: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Svaka naredba poštuje aktivni udaljeni kontekst (`omniroute connect `), `--dry-run`
prikazuje točne varijable okruženja/argumente bez izvršavanja, a `--api-key-env NAME` sprječava
pohranjivanje tajni u povijest ljuske. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 AI pružatelja — 153 označenih kao besplatno u katalogu
> **375 registriranih pružatelja** u kanonskim kolekcijama chat, media, search, local, cloud-agent i system, uključujući **153 koji nose `hasFree: true` metapodatke za otkrivanje**. Registar chat modela obuhvaća **239 pružatelja / 3.059 različitih parova pružatelj-model / 1.475 izvornih ID-jeva modela**; zasebni katalog besplatnih budžeta ima **467 redaka po modelu**, **34 ponavljajuća skupa** i **51 pružatelj koji je ponavljajući/bez ključa i besplatan zauvijek**. To su namjerno različiti nazivnici; definicije i izračuni s uklanjanjem duplikata na razini skupova nalaze se u [Provider Reference](docs/reference/PROVIDER_REFERENCE.md) i [Free Tiers](docs/reference/FREE_TIERS.md).
### 🏢 Svaki veliki laboratorij — kroz jedan endpoint
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…i još 350+ — svaka se ikona uživo dohvaća iz kataloga pružatelja na nadzornoj ploči. 📖 [Provider Reference](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Besplatno zauvijek — 0 $, bez kartice
OpenCode Zen DeepSeek V4, Nemotron 3 Bez ograničenja tokena
Kilo Code Automatski usmjerivač, Tencent Hy3 Zauvijek besplatno
### 🧩 Novo: OmniRoute unutar izvornog sučelja Copilot Chat u VS Codeu
> Nema nove bočne trake ni novog sučelja za razgovor — svaki model koji OmniRoute poslužuje prikazuje se izravno u
> **izborniku modela aplikacije Copilot Chat koji već upotrebljavate**. Od verzije VS Code 1.122 modeli pružatelja rade
> bez prijave na GitHub ili pretplate na Copilot — agentski način rada, pozivanje alata i obrada slika,
> besplatno.
Instalirajte proširenje **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, usmjerite ga
na svoj OmniRoute poslužitelj (zadano je `localhost:20128`), a zatim otvorite Copilot Chat → izbornik modela
→ **Upravljanje modelima…** → **OmniRoute**.
Iz uređivača: otvorite prikaz **Proširenja**, potražite **"OmniRoute"** i kliknite **Instaliraj**
— postupak je jednak u objema trgovinama. Izvorni kod, prijave problema i upute za objavljivanje nalaze se na
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Vodič za VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — postavljanje, što izbornik prikazuje, nadzorna ploča u kartici, rješavanje problema
### 🎩 Novo: OmniRouteTray — vaš pristupnik koji živi u traci izbornika
> `omniroute serve` najbolje radi kada je uvijek uključen. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> pretvara ga u macOS aplikaciju u traci izbornika koju možete postaviti i zaboraviti: pokreće poslužitelj, održava ga aktivnim
> nakon ponovnih pokretanja, ažurira ga na mjestu i omogućuje pristup vašem trenutačnom budžetu tokena jednim klikom — **bez
> otvorenog prozora terminala i bez potrebe za održavanjem naredbe `npm install -g omniroute`.**
Izrađen s pomoću alata [Tauri v2](https://v2.tauri.app/) (Rust jezgra zanemarive veličine), isporučuje se
s vlastitim potpisanim izvođenjem Node 24 i upravlja instalacijom OmniRoutea u vlasništvu aplikacije, pa nikada nije u sukobu s vašim
globalnim `node`/`bun` okruženjem. **Dijeli vašu postojeću konfiguraciju i bazu podataka u `~/.omniroute/`** — dakle, to je
isti OmniRoute koji već upotrebljavate, samo sa šeširom. 🎩
Što radi
Kako
🟢 Nadzire poslužitelj
Pokreće omniroute serve i preuzima već pokrenutu instancu umjesto da je duplicira
📊 Trenutačna potrošnja na prvi pogled
Trake kvota pružatelja, ograničenja Claude sesije i tjedna ograničenja s odbrojavanjem do poništavanja te pregled troškova za 30 dana
🔄 Automatski se ažurira na mjestu
Postupna instalacija, atomska zamjena i vraćanje u slučaju neuspjeha — uvijek na najnovijem izdanju
🚀 Pokretanje pri prijavi
Neobavezno pokretanje pri prijavi; samo u traci izbornika, bez ikone u Docku
🩺 Dijagnostika i zapisnici
Dijagnostika jednim klikom i pristup zapisnicima poslužitelja
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Radije biste preuzeli aplikaciju? Nabavite najnoviju datoteku .dmg u odjeljku
Izdanja. Izvorni kod, prijave problema i dokumentacija za međuverziju
nalaze se na zoispag/omniroute-tray.
💛 Projekt zajednice autora @zoispag — nije službeno izdanje OmniRoutea.
> Osim poslužitelja, OmniRoute je **potpuno komandno središte za naredbeni redak** s **više od 80 naredbi**, uz otvorene protokole za agente koji omogućuju AI agentu da njime upravlja **samostalno**.
### ⌨️ Pravi CLI (ne samo `start`)
```bash
omniroute # pokreni pristupnik i nadzornu ploču (port 20128)
omniroute chat # interaktivni TUI klijent za razgovor (kose naredbe: /model /combo /skill /memory)
omniroute setup # vođeni čarobnjak za prvo pokretanje
omniroute doctor # dijagnosticiraj pružatelje, portove i izvorne ovisnosti
```
### 🛰️ Udaljeni način rada — pokrenite CLI ovdje, a OmniRoute na VPS-u
OmniRoute je na poslužitelju? Upravljajte njime sa svojeg prijenosnog računala putem **istog CLI-ja**. Jednom se prijavite
pomoću pristupnog tokena ograničenog opsega; svaka se naredba zatim izvršava na udaljenom poslužitelju.
```bash
omniroute connect 192.168.0.15 # lozinka → token ograničenog opsega, spremljen kao kontekst
omniroute models # ← izvršava se na UDALJENOM poslužitelju
omniroute configure codex # ← odabire udaljeni model, zapisuje lokalni Codex profil
omniroute tokens create --name ci --scope read # izradi tokene užeg opsega za druga računala
omniroute contexts use default # ← prebaci se natrag na lokalni poslužitelj
```
Tokeni imaju opsege `read` / `write` / `admin`; rute koje pokreću procese ostaju dostupne samo putem povratne petlje.
📖 [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
### 🤝 Povežite agenta — i on sam upravlja OmniRouteom
Izložite OmniRoute putem **MCP-a**, **A2A-a**, **REST API-ja**, **web-dojavnika** ili **udaljenog CLI-ja** — svaki sposoban agent (ili vaš vlastiti kôd) dobiva pristup cijelom pristupniku: usmjeravanju, pružateljima, kombinacijama, predmemoriji, kompresiji i memoriji — autonomno. HTTP krajnje točke u nastavku dostupne su pod `http://localhost:20128`.
Sučelje
Krajnja točka / naredba
Upotrijebite za
🧰 MCP (stdio)
omniroute --mcp
Povezivanje s Claude Desktopom, Cursorom ili bilo kojim MCP klijentom
Komunikacija između agenata, JSON-RPC 2.0 + SSE, 6 vještina
🌐 REST API
/v1/*
Kompatibilno s OpenAI-jem — razgovor, ugrađivanja, slike, zvuk, OCR
🔔 Web-dojavnici
/api/webhooks
Šaljite događaje zahtjeva / kvota u Slack, Discord, Telegram ili na bilo koji URL
🛰️ Udaljeni CLI
omniroute connect
Upravljajte udaljenom instancom pomoću pristupnih tokena ograničenog opsega
```bash
# Omogućite Claude Codeu potpuni skup OmniRoute alata putem MCP-a:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP poslužitelj](docs/frameworks/MCP-SERVER.md) · [A2A poslužitelj](docs/frameworks/A2A-SERVER.md) · [Protokoli za agente](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Uštedite 15–95 % tokena — automatski
### 📖 Kako funkcionira — pipeline, arhitektura i matematika uštede
Zadana kombinacija slaganja izvodi `RTK → Caveman`. Kada oba djeluju na isti tool/kontekstni payload, uštede se kompaundiraju:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Blokovi koda, URL-ovi, JSON i strukturirani podaci **uvijek su zaštićeni** mehanizmom za očuvanje.
> **Zašto koristiti mnogo tokena kad malo tokena radi posao?** Svaki zahtjev prolazi kroz OmniRouteov pipeline kompresije **transparentno** — bez ikakvih izmjena na klijentu. To je sada **skup od 12 kompozabilnih enginea** koji se izvode redom i kombiniraju po routing kombinaciji — nadograđujući ideje iz [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) i [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Skup od 12 enginea
Engines se izvode po redoslijedu pipelinea; svaki se može neovisno uključiti i konfigurirati po kombinaciji:
#
Engine
Što radi
1
Session-Dedup
Odbacuje sadržaj koji se ponavlja kroz turnove (content-addressed, kroz turnove)
2
CCR
Arhivira velike blokove iza markera za dohvat, dohvaća ih na zahtjev
3
Lite
Skraćivanje razmaka + URL-ova slika (osnovna razina s malom latencijom)
4
RTK
Pametno filtriranje, dedupliciranje i skraćivanje rezultata alata (svjesno naredbe)
5
Responses Tool Output
JSON prvo bez gubitaka + ograničena dijagnostička kompresija za shell/patch/search/build izlaze (Responses API)
6
Headroom
Bezgubitno tablično sažimanje JSON polja (~30 %) pomoću ugrađenog GCF kodeka
7
Relevance
Ekstraktivno ocjenjivanje rečenica u odnosu na posljednji korisnički upit
8
Caveman
Pravilima utemeljena kompresija proze (~65–75 % na izlazu)
9
Aggressive
Sažimanje + postupno starenje starih turnova
10
LLMLingua-2
ML semantičko obrezivanje putem MobileBERT ONNX — sigurno za kod, asinkrono
11
Ultra
Heurističko obrezivanje tokena s opcionalnom razinom malog modela (SLM)
12
OmniGlyph
Eksperimentalno kodiranje konteksta kao slike za izmjereni Claude Fable 5 na izravnom Anthropicovom prijenosu; GPT 5.6 transformer ostaje fail-closed dok ne stignu potvrde pružatelja usluge. Četiri profila kompresije (agresivni zadani, uravnoteženi, siguran za kod, passthrough) (najagresivnije; uključuje se ručno)
Blokovi koda, URL-ovi i strukturirani podaci **uvijek su očuvani** do zadnjeg bajta. **Preseti jednim klikom** kombiniraju enginee:
Način
Ušteda
Najbolje za
🪶 Lite
~15 %
Sigurna zadana postavka koja je uvijek uključena
🪨 Standard (Caveman)
~30 %
Svakodnevno kodiranje
⚡ Aggressive
~50 %
Duge sesije s puno alata
🔥 Ultra
~75 %
Maksimalna ušteda
🧰 RTK
60–90 %
Izlaz shell/test/build/git
🔗 Složeno (RTK → Caveman)
78–95 %
Mješoviti promptovi + zapisi alata
**Stvarni primjer — standardni način:**
> **Prije (69 tokena):** _"Razlog zašto se vaša React komponenta ponovno renderira vjerojatno je to što stvarate novu referencu objekta u svakom ciklusu renderiranja. Kada inline objekt proslijedite kao prop, Reactova plitka usporedba vidi ga kao drugačiji objekt svaki put, što pokreće ponovno renderiranje. Preporučio bih korištenje useMemo za memoizaciju objekta."_
>
> **Poslije (19 tokena):** _"Nova ref objekta svaki render. Inline objekt kao prop = nova ref = ponovni render. Zamotaj u useMemo."_
>
> **Isti odgovor. 72 % manje tokena. Nula gubitka točnosti.** ✅
**PT-BR primjer — način [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prije (42 tokena):** _"Problem je u tome što se komponenta ponovno renderira jer se nova referenca objekta stvara u svakom ciklusu renderiranja. Preporučio bih korištenje `useMemo`."_
>
> **Poslije (12 tokena):** _"Re-render: nova ref svaki ciklus (inline objekt ponovno kreiran). Koristiti `useMemo`."_
>
> **Isti odgovor. ~70 % manje tokena. Tehnička preciznost netaknuta.** ✅
### 🎚️ Iznad enginea — stilovi izlaza, adaptivni kotačić i kontrola po zahtjevu
Gornjih 12 enginea smanjuje ono što ulazi **unutra**. Još tri sloja oblikuju **kako**, **kada** i što izlazi **vani**:
- **🪄 Output Styles** _(upravljanje izlaznom osi)_ — ubacuju determinističke, cache-sigurne upute za oblikovanje odgovora; mogu se kombinirati, svaki u intenzitetu `lite` / `full` / `ultra`. Dodavanje stila je jednoredni unos u registar:
- **Terse prose** — izbacuje podmetače / članove / ograde; tehničku suštinu zadržava točnom.
- **Less code** — "lazy senior dev" YAGNI: najmanja promjena koja radi, bez nepotrebnog scaffoldinga.
- **Ponytail (lazy senior dev)** — uspinji se YAGNI ljestvicom, ispravi korijenski uzrok, najmanji diff koji radi.
- **I have ADHD (action-first)** — sljedeća akcija je na prvom mjestu, koraci numerirani, jedan konkretan sljedeći korak, bez uvoda.
- **Terse CJK (文言)** — ultrakratki stil klasičnog kineskog (ograničen na lokaciju `zh`).
- **🎯 Adaptive context-budget** _(kotačić)_ — umjesto jednog on/off praga tokena, eskalira najjeftinije i najbezgubitnije enginee samo onoliko koliko je potrebno da se **uklopi u kontekstni prozor modela**. Politika: `reserve-output` (zadano, svjesno modela) · `percentage` · `absolute`. Način: `floor` (jamči uklapanje) · `replace-autotrigger` (tvoj eksplicitni odabir pobjeđuje) · `off` (naslijeđeni prag).
- **🎛️ Gdje se odlučuje o kompresiji** _(prioritet, visoko → nisko)_ — zaglavlje `x-omniroute-compression` po zahtjevu › nadjačavanje routing-comboa › aktivni imenovani profil › adaptivno / automatsko pokretanje › zadano u panelu › isključeno. Primijenjeni plan vraća se u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Automatsko pokretanje po pragu tokena, uključivanje adaptivnog kotačića, prikvačivanje imenovanog profila, jednokratna postavka po zahtjevu ili dodjela pipelinea po routing combou — što god odgovara radnom opterećenju. Opcionalni offline **eval harness** (`npm run eval:compression`) ocjenjuje vjernost naspram ušteda na fiksnom korpusu prije nego promjenu promoviraš.
📖 [`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) Instaliraj i pokreni**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidiš `npm warn ERESOLVE` ili upozorenja o peer-dep ovisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Koristiš npm 11 ili noviji?** npm može blokirati lifecycle skripte paketa ako nisu dopuštene. OmniRouteov `postinstall` (`node scripts/build/postinstall.mjs`) potreban je za pripremu njegovih izvornih runtime datoteka. Dopusti pakete navedene u npm-ovom upozorenju pri globalnoj instalaciji. Za skup paketa koji prijavljuje OmniRoute 3.8.53:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Da ponovno upotrijebiš ovaj popis dopuštenih paketa za buduće globalne instalacije, konfiguriraj ga jednom, a zatim instaliraj normalno:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Popis ovisnosti može se mijenjati između izdanja; ako npm prijavi drugačiji popis, upotrijebi nazive paketa iz tog upozorenja. Dopuštanje paketa omogućuje izvršavanje njegovih install skripti.
> **Koristiš Gemini Web ili drugog web-cookie providera?** npm paket uključuje
> Playwright, ali ne i njegov Chromium binary. Pogledaj napomenu
> [Playwright Chromium setup](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> prije prvog zahtjeva web providera.
Nadzorna ploča na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Poveži prihvatljivog providera koristeći vlastiti račun**
Nadzorna ploča → **Providers** → odaberi providera čiji trenutačni uvjeti i kvota odgovaraju tvom slučaju → dodaj njegov API ključ ili dovrši tijek njegovog računa. Besplatni planovi mogu zahtijevati registraciju, odobrenje ili način plaćanja. Pregledaj [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez ključa nije zajamčena, a provideri označeni s `tos: avoid` prema zadanom su isključeni iz `auto`.
**3) Usmjeri svoj alat za kodiranje**
```txt
Base URL: http://localhost:20128/v1
API Key: [kopiraj iz Dashboard → Endpoints]
Model: auto (usmjerava među prihvatljivim vezama — ili odaberi provider/model)
```
**4) Provjeri radi li**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebali bi vidjeti popis svojih povezanih modela. 🎉 To je sve — počni kodirati, a OmniRoute automatski usmjerava i prebacuje se na rezervu umjesto tebe.
Ako tvoj klijent ne može slati prilagođena zaglavlja, OmniRoute izlaže i tokenizirane alias putanje 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
```
Koristi ih samo za klijente koji ne mogu priložiti `Authorization: Bearer ...`. Autentifikacija zaglavljem ostaje preferirani način.
## 📦 Više načina instalacije — Docker, izvorni kod, 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` prati najvišu **objavljenu** stabilnu SemVer verziju. Ne prati git granu `main`. Za GitOps fiksirajte `:X.Y.Z`. Pogledajte [Dockerove kanale izdanja](docs/guides/DOCKER_GUIDE.md#release-channels).Slika fiksira **`OMNIROUTE_MEMORY_MB=1024`**. To je dovoljno za nadzornu ploču i lagani razgovor. **Agenti za programiranje** (`POST /v1/responses` iz Claude Codea, Codexa, Groka, …) trebaju znatno veću V8 memorijsku hrpu ili će proces završiti porukom `FATAL ERROR` pri približno 12 GiB tijekom dvaju preklapajućih dugih konteksta. Dodijelite spremniku više memorije od veličine hrpe (izvorni međuspremnici nalaze se izvan V8):
| Radno opterećenje | Hrpa (`-e OMNIROUTE_MEMORY_MB`) | Spremnik (`--memory`) |
| ---------------------------------- | ------------------------------- | --------------------- |
| Nadzorna ploča / lagani razgovor | `1024` (zadano u slici) | ≥2 g |
| Jedan agent za programiranje | `8192` | ≥10 g |
| Dva istodobna duga `/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
```
Cijela tablica: [Docker vodič — RAM tijekom izvođenja](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Dockerov kanal predizdanja:** `diegosouzapw/omniroute:next` i
> `diegosouzapw/omniroute:next-web` prate trenutačnu zadanu granu `release/v*`.
> Te promjenjive oznake namijenjene su isključivo testiranju još neobjavljenih ispravaka i
> **nisu podržane za produkciju**. Pogledajte
> [Dockerove kanale izdanja](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardni `bun install` i globalna instalacija (`bun install -g omniroute`) podržani su putem otkrivanja Bunovog izvršnog okruženja:
- **Ugrađeni `bun:sqlite`**: OmniRoute tijekom izvođenja pod Bunom upotrebljava Bunov ugrađeni upravljački program `bun:sqlite`, uz povratak na `better-sqlite3` u okruženju Node.js ili na `sql.js`.
- **Automatski odabir Webpack alata za objedinjavanje u razvoju**: Razvojno okruženje (`bun run dev`) automatski otkriva Bun i onemogućuje Turbopack u korist Webpacka kako bi spriječilo nekompatibilnosti s izvornim V8 vezama. Produkcijske međuverzije (`bun run build`) slijede `OMNIROUTE_USE_TURBOPACK` potpuno jednako kao na Nodeu: Turbopack je zadan, a `OMNIROUTE_USE_TURBOPACK=0` služi za izgradnju pomoću Webpacka (`Dockerfile.bun` izlaže ga kao `--build-arg`).
- **Namjenski Bun Dockerfile**: Višefazni `Dockerfile.bun` za izvorne produkcijske implementacije Buna (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Instalirajte i pokrenite pomoću Buna
bun install
bun run dev
```
**🛠️ Iz izvornog koda**
```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
# Upotreba Nix flakesa
nix develop
npm run dev
# Ili upotreba devboxa
devbox run npm run dev
```
📖 [Docker vodič](docs/guides/DOCKER_GUIDE.md) — Compose profili, Caddy HTTPS, Cloudflare tuneli.
**🦭 Podman**
```bash
# 1. Pripremite vezano montirani direktorij podataka
mkdir -p data
# 2. Samo Linux + lokalni rootless Podman (nikada udaljeni klijent Podman Machinea):
podman unshare chown 1000:1000 ./data
# 3. Postavite naznaku izvršnog okruženja, izgradite lokalnu Compose sliku i pokrenite
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Na sustavima macOS ili Windows Podman upotrebljava udaljeni Podman Machine: preskočite `podman unshare` i
slijedite [upute za direktorij podataka specifične za topologiju](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podman vodič](contrib/podman/README.md) — Compose međuverzije, Podman Machine i
postavljanje Quadleta za Linux/systemd.
**⚡ Brža / jednostavnija instalacija (preskočite izvornu izgradnju)**
Izvorni SQLite pogon (`better-sqlite3`) **neobavezna** je ovisnost, pa globalna
instalacija nikada ne čeka prevođenje iz izvornog koda: upotrebljava unaprijed izgrađenu binarnu datoteku kada odgovara
vašoj platformi/Nodeu, a u suprotnom se neprimjetno prebacuje na čisti JS pogon
(`node:sqlite` na Nodeu 22+, inače priloženi `sql.js` WASM) — alati za izgradnju nisu potrebni.
Za potpuno preskakanje **zagrijavanja izvornog modula** nakon instalacije (CI, sustavi bez grafičkog sučelja ili spora računala).
Napomena: time se preskače samo korak zagrijavanja izvornog SQLitea (`scripts/postinstall.mjs`); skripta
za kopiranje/popravak binarne datoteke (`scripts/build/postinstall.mjs`) i dalje se izvršava uobičajeno:
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 također ga preskače
```
Za najbrže instalacije odaberite **pnpm** (pohrana adresirana sadržajem + čvrste poveznice — pogledajte iznad).
Za izvršno okruženje bez nadzorne ploče i grafičkog sučelja upotrijebite Dockerov profil `base` (iznad) ili
[Termux vodič](docs/guides/TERMUX_GUIDE.md). CLI i web-nadzornu ploču poslužuje
isti proces na jednom priključku, pa trenutačno ne postoji zaseban paket samo za CLI.
pino — strukturirani JSON zapisi s kontekstom zahtjeva
Testiranje
Node.js pokretač testova + Vitest — više od 56.000 statičkih deklaracija testova u više od 7.800 praćenih testnih datoteka (jedinični, integracijski, E2E, sigurnosni i ekosustavni testovi)
Platforme
Stolna računala (Electron) · Android (Termux) · PWA (bilo koji preglednik)
CI/CD
GitHub Actions — automatska objava na npm i Docker Hub pri izdanju
Strategija pokrivenosti testovima za 56,000+ statičkih testnih deklaracija u 7,800+ praćenih testnih datoteka
# ⭐ Najveći doprinositelji
> OmniRoute oblikuje strastvena zajednica otvorenog koda. Ovi su pojedinci dali izniman doprinos koji izravno utječe na kvalitetu, stabilnost i doseg projekta. **Hvala vam.**
### Vanjski suradnici prema spojenim pull requestovima
Popis je proveden 2026-10-18 15:09:09 UTC s aktivnim vrhom grane release/v3.8.52 na 656f01cb43. Straničeni GitHub GraphQL popis sadrži 9,191 spojenih PR-ova: 3,834 od vlasnika repozitorija, 229 od Dependabota, 6 od ostalih botova/aplikacija i 5,122 vanjska PR-a od 835 različitih suradnika. „Promijenjene linije” su GitHubov zbroj dodavanja i brisanja te uključuju generirane datoteke, lockfileove, kataloge, prijevode i dokumentaciju; to je promet, a ne broj autorski napisanih linija koda (LOC). 49 PR-ova prijavljuje GitHubove diffove iznad 500,000 linija (na primjer #13399, dodavanje jednog pružatelja usluge, navodi 2,347 promijenjenih datoteka), što povećava nekoliko gornjih ukupnih vrijednosti. Izjednačeni rezultati dijele isto mjesto.
### Commitovi pripisani GitHubu
Ponovno provjereno 2026-10-18 14:44:45 UTC: commitovi pripisani GitHubu koje je prijavio API Contributors repozitorija za zadanu granu `release/v3.8.52`. API je vratio 849 identiteta (429 korisnika, 2 bota, 418 anonimnih); ova tablica isključuje održavatelja, botove i anonimne identitete te zadržava izjednačenja na ljestvici. Razlikuje se i od gore navedenog poretka prema spojenim PR-ovima i od popisa Git metapodataka u nastavku.
> 🙏 Značajke, ispravci pogrešaka i poboljšanja infrastrukture ovih suradnika **ključni su dio** onoga što OmniRoute čini pouzdanim i bogatim funkcijama. Svaki pull request, svaki testni slučaj i svaka datoteka prijevoda za i18n su važni. Otvoreni kod grade ljudi poput njih.
---
## 💖 Sponzori
Od srca zahvaljujemo ljudima koji financiraju OmniRoute iz vlastitog džepa — svaki doprinos pomaže da projekt ostane besplatan, neovisan i da napreduje.
… i drugima koji žele ostati anonimni 💛Javni GitHub sponzori ponovno su provjereni 2026-10-18 putem GitHub Sponsors GraphQL API-ja: 11 javnih sponzorstava (6 aktivnih, 5 prijašnjih) od ukupno 14. GitHubov status isActive određuje oznake aktivnih sponzora iznad; javnim prijašnjim jednokratnim podržavateljima i dalje zahvaljujemo, dok privatni sponzori ostaju anonimni. Donacije putem platformi Ko-fi, Buy Me a Coffee i Liberapay te donacije putem PIX-a i kriptovaluta nisu navedene jer za njih ne postoji javni zapis o sponzoru.💖 Postanite sponzor → — svaki dolar pomaže da OmniRoute ostane besplatan i neovisan.
## 👥 Više od 900 doprinositelja
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revidirano 2026-10-18 na aktualnom vrhu grane release/v3.8.52, ad160ab2d1 (6.826 commitova): 993 normalizirana ljudska Git identiteta — 707 pojavljuje se kao autori commitova (uključujući održavatelja), a 286 samo u izričitim završnim oznakama Co-authored-by. Popis primjenjuje .mailmap, uspoređuje adrese e-pošte bez razlikovanja velikih i malih slova, povezuje brojčane i obične GitHub noreply adrese samo kada kodiraju isto korisničko ime, isključuje 26 identiteta botova/agenata/usluga/rezerviranih mjesta te ne spaja uobičajene adrese e-pošte samo zato što im se podudaraju prikazana imena. Revizija od 2026-08-24 objavila je brojku 639; ponovna primjena ove metode na osnovu te revizije, ac02c5b42f, daje 619, pa povećanje proizlazi iz novih doprinositelja, a ne iz blaže metode.
### Kako doprinijeti
1. Napravite fork repozitorija
2. Izradite granu iz vrha **aktivne** grane `release/vX.Y.Z` (ne iz `main`) — pogledajte [Model grananja i izdanja](docs/ops/BRANCHING_MODEL.md)
3. Izradite svoju granu značajke (`git checkout -b feat/amazing-feature`)
4. Commitajte svoje promjene (`git commit -m 'feat: add amazing feature'`)
5. Pošaljite ih na granu (`git push origin feat/amazing-feature`)
6. Otvorite zahtjev za povlačenje s **bazom = ta grana `release/vX.Y.Z`**
Detaljne smjernice potražite u dokumentu [CONTRIBUTING.md](CONTRIBUTING.md).
### Objavljivanje nove verzije
```bash
# Izradite izdanje — npm publish izvršava se automatski
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Zvjezdice
## 🌍 StarMapper
## 🙏 Zahvale
OmniRoute stoji na ramenima divova. Započeo je kao fork projekta **[9router](https://github.com/decolua/9router)** i TypeScript port Go projekta **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — a nakon toga svaki je podsustav u nastavku nadahnut projektom otvorenog koda koji je prvi utro put. Svaki od njih oblikovao je konkretan dio OmniRoutea. Ovo je naša zahvala svima njima. 🙏
> ⭐ broj zvjezdica provjeren je putem GitHubova REST API-ja 18. listopada 2026. — dodijelite zvjezdicu ovim projektima. Brojevi su točan prikaz stanja na navedeni datum i prirodno će se mijenjati.
### 🧬 Podrijetlo i pristupnik
AI pristupnik čiji javni skup podataka o cijenama služi našoj sinkronizaciji praćenja troškova i čiji je model normalizacije pružatelja utjecao na naše usmjeravanje.
Izvorni kod pod licencom MIT prilagođen je i uključen kao ChatGPT Web → Codex Responses most, zajedno s prilagodnicima za sesije preglednika, uokvirivanje odgovora, potrošnju i web-pretraživanje.
Zadane postavke transformacije kompatibilne s Claude Codeom i ponašanje zaglavlja za naplatu generalizirani su u OmniRouteov most vođen konfiguracijom.
Njegova mapiranja Grok modela, Statsig generator lažne pogreške TypeError, zadane postavke zahtjeva i uređaja te procesor NDJSON odgovora u značajnoj su mjeri prilagođeni za OmniRouteov Grok Web izvršitelj.
Glavni neizravni izvor koda na kojem se temelji grok2api-merged; njegove implementacije modela, zaglavlja, korisnog sadržaja, Statsiga i procesora sačuvane su u podrijetlu Grok Weba.
Temeljni izvorni kod pod licencom MIT za zadane postavke Grokova korisnog sadržaja i uređaja, Statsig generator te procesor result.response, prenesen putem projekata TQZHR i grok2api-merged.
Neizravni izvor koji grok2api-merged navodi za svoj sloj skupa proxyja; OmniRoute zadržava tu obavijest o podrijetlu, ali ne tvrdi da je portao skup proxyja u svojem ograničenom Grok Web izvršitelju.
Izvorna implementacija Grok Weba oslanjala se na njegov dizajn HTTP/browser upstreama; njegov izravni HTTP put izveden je iz GrokProxyja, stoga se ne tvrdi da je riječ o neovisnom portu koda.
### 🗜️ Kompresija konteksta i tokena — pogonski sustavi
Viralni projekt „zašto koristiti mnogo tokena kad malo tokena radi posao” — njegova filozofija pećinskog govora pokreće naš standardni način kompresije i više od 30 pravila za uklanjanje poštapalica i sažimanje.
Viralna vještina YAGNI-kodiranja „lijenog starijeg programera” — nadahnula je naš stil izlaza less-code: usmjeravanje prema najmanjoj funkcionalnoj promjeni koje smanjuje _generirani_ kôd (parnjak sa strane izlaza Cavemanovoj sažetoj prozi).
Kompresija izlaza svjesna sadržaja, prilagođena svakoj vrsti datoteke, uz odustajanje u slučaju pogreške — potvrdila je naše usmjeravanje prema vrsti i preskakanje pri nedovoljnoj uštedi.
Stupčani JSON u Rustu + dohvaćanje adresirano sadržajem + uklanjanje duplikata među porukama — potvrdili su dizajn naših mehanizama headroom/ccr/session-dedup i invarijantu stabilnu za predmemoriju „komprimirani oblik neovisan je o položaju”.
Komplet alata za TypeScript Compiler API — nadahnuo je naše uklanjanje komentara utemeljeno na parseru koje čuva literale nizova, predložaka i regularnih izraza.
MITM presretanje/analiza prometa između pomoćnika za programiranje i LLM-a utjecali su na rane zahtjeve za Traffic Inspector. Četiri prethodno izvedena modula — spajanje SSE-a, normalizacija razgovora, maskiranje tajni i sanitizacija zaglavlja — zamijenjena su neovisnim implementacijama čistog razvoja temeljenima na javnim standardima protokola. Dvije površine za izravno prosljeđivanje prema hostu (passthrough.ts i _internal/bypass.cjs) ostaju interne implementacije OmniRoutea koje su klasificirane neovisno; nisu ponovno napisane u sklopu te zamjene.
Transparentno proxy usmjeravanje po procesu — nadahnulo je naše sigurno prekidanje MITM-a u slučaju rušenja, vremenska ograničenja neaktivnosti utičnica, pripisivanje procesa putem /proc i TPROXY presretanje.
### 📚 Podaci o modelima, opservabilnost i korisničko sučelje
Opservabilnost Istio uslužne mreže — nadahnula je naše značke prekidača strujnog kruga i vizualne prikaze bridova s pogreškama u Routing/Combo Studiju.
Kurirani popis biblioteka koje su prema zadanim postavkama sigurne i usmjeravaju naše sigurnosne odabire (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Nadahnuo je deduplikaciju zahtjeva, pričuvnu opciju bez troškova za hitne slučajeve, izmjenjive strategije Auto-Combo i višejezičnu klasifikaciju namjere.
Njegovo ponovno mapiranje modela uzimajući u obzir račun, provjera putanje izvršne datoteke i ponašanje oznaka plana utjecali su na Antigravity izvršno okruženje OmniRoutea.