## 💰 ~1,62 mlrd tokena mjesečno putem besplatnih paketa trećih strana
> **Povežite 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 pristupne podatke gdje je to potrebno i povežite pružatelje usluga koje možete koristiti; svaki pružatelj kontrolira vlastita ograničenja, dostupnost i uvjete.
>
> Ručno kombiniranje besplatnih paketa naporno je — deseci SDK-ova, deseci ograničenja brzine i nikakva predodžba o tome koliko zapravo imate na raspolaganju. OmniRoute katalogizira **489 stavki besplatnih paketa unutar 35 ponavljajućih ključeva skupova** i izračunava istaknuti broj tokena na temelju **17 skupova s objavljenim pozitivnim mjesečnim budžetom te pet Groq 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, +~6M iza regionalne provjere identiteta, i nikada se ne pribrajaju istaknutom iznosu. Rezultat ostaje vidljiv na nadzornoj ploči (`/dashboard/free-tiers`).
> Animirani sažetak aktivne stranice `/dashboard/free-tiers`. Potpuna metodologija (uklanjanje duplikata skupova, razine kredita, uvjeti pružatelja): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Te se brojke ponovno provjeravaju svaka dva tjedna prema aktivnom katalogu i **mijenjaju se u oba smjera** — kada pružatelj ukine besplatni paket, broj se smanjuje; kada se pojavi novi, broj raste. Objavljujemo ono što katalog doista izračuna, a nikada 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.52+` |
| ----------------------------------------- | :-------------------: | :---------: | :-------------------: |
| 🌐 Pružatelji | 352 | **358** | 372 |
| 🧠 Jedinstveni ID-jevi modela za razgovor | 1320 | **1374** | 1443 |
| 🖼️ Most modaliteta | 🆕 vid + zvuk + video | ✓ | ✓ |
| 📡 Besplatni katalog Radara | 🆕 uz prijavu | ✓ | ✓ |
| ⚖️ Raspoređivanje prema kvoti | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Telemetrija kvota | 🆕 u stvarnom vremenu | ✓ | ✓ |
| 🧰 Način bez sučelja | — | — | 🆕 `serve --headless` |
| 🛤️ Infrastruktura LTS grane | — | — | 🆕 kanali izdanja |
**→ [Plan razvoja](ROADMAP.md) — na tračnicama prema `v3.9.0 LTS`**
## 🧩 Dostupno
[](https://www.npmjs.com/package/omniroute)

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


## 🆓 Instalirajte, povežite pružatelja usluge, a zatim usmjeravajte putem jedne krajnje točke
```bash
# Nakon povezivanja pružatelja usluge kopirajte svoj OmniRoute ključ iz Nadzorne ploče → Krajnje točke:
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 prihvatljivu rutu. Nova instalacija možda neće imati nijedno prihvatljivo odredište bez ključa, a pružatelj usluge bez ključa može odbiti klijente trećih strana. Pružatelji usluga označeni s `tos: avoid`, uključujući OpenCode Free i Kiro, prema zadanim su postavkama isključeni iz automatskog usmjeravanja; povezivanje računa ne mijenja tu postavku. Prije odabira pružatelja usluge pogledajte [Vodič za besplatne razine](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Skripte za brzi početak koje možete kopirati i zalijepiti 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 — Glavni adut
> **Kombinacija** je lanac modela kroz koje OmniRoute usmjerava **automatski**. Ako se kvota potroši, pružatelj usluge zakaže ili troškovi naglo porastu, kombinacija može prijeći na sljedeći prihvatljivi ispravni model. 🛡️
### ⚡ Bez konfiguracije — samo upotrijebite `auto`
Nije potrebno stvarati kombinaciju. Postavite model na `auto` (ili neku varijantu) i OmniRoute će izraditi virtualnu kombinaciju od vaših povezanih pružatelja usluga, ocjenjujući ih u stvarnom vremenu:
ID modela
Što optimizira
auto
🎯 Uravnotežena zadana postavka (LKGP — ostaje uz vašeg posljednjeg pouzdanog pružatelja usluga)
auto/coding
🧑💻 Ponderi usmjereni prvenstveno na kvalitetu generiranja koda
auto/fast
⚡ Najprije najniža latencija
auto/cheap
💰 Najprije najniža cijena po tokenu
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 pouzdanog pružatelja usluga
auto/chaos
🧪 Paralelno raspoređivanje na skup modela (jedan po pružatelju usluga, zadano 5), vraća jedan odgovor; jedan poziv prema nadređenoj usluzi po modelu u skupu, bez umetanja kvarova
##
### 🔀 Ili izradite vlastitu — 19 strategija usmjeravanja
Svih **19** strategija — kombinirajte ih po želji za svaki korak kombinacije:
#
Strategija
Što radi
1
priority
Uređeni popis s prvim ciljem kao prioritetom — iscrpljuje svaki prije prelaska na sljedeći 🥇
2
fill-first
Potpuno ispunjava kvotu svakog cilja prije prelaska na sljedeći
3
weighted
Ponderirani nasumični odabir prema ponderu svakog cilja
4
round-robin
Kružno prolazi kroz ciljeve redoslijedom
5
p2c
Nasumično uravnoteženje opterećenja metodom odabira između dvije mogućnosti
6
least-used
Odabire cilj s trenutačno najmanjim opterećenjem
7
random
Ujednačeni nasumični odabir (bez duplikata)
8
strict-random
Nasumični odabir bez uklanjanja ponavljanja 🎲
9
cost-optimized
Smanjuje trošak u $ po zahtjevu prema aktualnim cijenama iz kataloga 💸
10
headroom
Odabire cilj s najvećom preostalom kvotom
11
reset-window
Daje prednost cilju čiji se prozor kvote najranije poništava
12
reset-aware
Rangira prema vremenu poništavanja kvote — kraći prozori prvi 📊
13
context-relay
Predaje kontekst između ciljeva za duge razgovore 🧠
14
context-optimized
Odabire najbolji cilj za trenutačnu veličinu konteksta
15
cache-optimized
Veže svaki ponovno upotrebljivi prefiks upita uz isti račun — povećava pogotke predmemorije upita 🎯
16
lkgp
Posljednja poznata pouzdana putanja — veže se uz posljednjeg uspješnog pružatelja usluga, a zatim se vraća na pravila
17
auto
Ocjenjivanje uživo prema 16 čimbenika za svaku vezu 🤖
18
fusion
Raspoređuje zahtjev na skup modela, a model-sudac sintetizira jedan odgovor 🧬
19
pipeline
Povezuje korake u lanac — izlaz svakog cilja prosljeđuje se sljedećem 🔗
Mehanizam automatskih kombinacija 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 izdvaja
📊 Potpuna 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
> Nedavne najvažnije promjene od **v3.8.20 → v3.8.50**. Cijela povijest nalazi se u [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — ulazno A2A delegiranje vašoj floti agenata, vještine Conductora na kartici agenta i ploča nadzorne ploče s glasovnim razgovorom Faro „pritisni za govor”. → [A2A poslužitelj](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljivi prihvat i zaštita od preopterećenja** — zahtjevni zahtjevi za razgovor stavljaju se u red umjesto da vraćaju 503, uz atomske klizne RPM zakupe po vezi. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonski redoslijed za `/v1/models`** — jedan neprekinuti blok grupiran po pružatelju za svakog pružatelja (kombinacije su prikvačene na početak), stabilan u svim izvorima kataloga. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🗜️ Ojačavanje kompresije** — zaštita od prekomjerne dekompresije uključena prema zadanim postavkama, Caveman paketi za DE / FR / JA + kineski (wényán), RTK filtri za Gradle i .NET. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Transparentan paušalni trošak** — pružatelji s pretplatom / planom za programiranje u analitici troškova prikazuju **$0**; proračun, kvota i usmjeravanje i dalje se procjenjuju. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **⚖️ Usmjeravanje prema udjelu kvote** — pravedno dijeli kvotu zajedničkog računa među objedinjenim ključevima te iskorištava raspoloživi kapacitet tako da se neaktivni udjeli ustupaju drugima. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Postavljanje CLI-ja/agenta jednom naredbom** — 13 registriranih naredbi `setup-*`; `omniroute run` pokreće 7 CLI-jeva (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 10 odredišta uz interaktivni odabir pružatelja i modela te favorite za svaki kontekst. → [Integracije CLI-ja](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Udaljeni način rada** — upravljajte udaljenim OmniRouteom pomoću tokena ograničenog opsega (`connect` / `contexts` / `tokens`) i OAuth pomagača `antigravity` za instalacije na VPS-u. → [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnije automatsko usmjeravanje** — kombinacije `auto/:`, **Fusion** (panel modela + sudac), usmjeravanje prilagođeno zadatku te nadjačavanja modela / načina rada / proračuna u USD po zahtjevu. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Proširiva kompresija** — 12 kombiniranih pogona + Compression Studios: LLMLingua-2, dvorazinski Ultra, omniglyph, kontrola vjernosti po koraku, GCF v3.2, uređivač s promjenom redoslijeda povlačenjem. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifriranje (TPROXY)** — presreće CLI-jeve koji zanemaruju varijable okruženja proxyja, uz CA za svaki SNI i instalacijski program za spremište pouzdanih certifikata. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija troškova posvuda** — zaglavlja troškova/upotrebe `X-OmniRoute-*` na svakoj krajnjoj točki, zaglavlje uštede za cache-HIT, kvote potrošnje u USD po ključu. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🧠 Memorija pod vašom kontrolom** — prema zadanim je postavkama isključena, uz neobaveznu int8 kvantizaciju vektora + tipizirano slabljenje i `x-omniroute-no-memory` po zahtjevu. → [Memorija](docs/frameworks/MEMORY.md)
- **🛡️ Sigurnost** — zaštita od ubacivanja upita na svakoj LLM ruti (paket testova crvenog tima), neobavezna zaštitna mjera za maskiranje vjerodajnica (redigira procurjele API ključeve/tajne u oba smjera), besplatno web-pretraživanje putem DuckDuckGoa kao posljednja opcija i neobavezna OIDC prijava za nadzornu ploču (prijava lozinkom uvijek ostaje dostupna). → [Zaštitne mjere](docs/security/GUARDRAILS.md)
- **🖼️ Nove krajnje točke** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (u stilu Whispera) zaokružuju podršku za medije. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🎨 Generiranje slika / videozapisa / zvuka** — jedan API za medije: xAI Grok Imagine i Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind te pružatelji govora poput ElevenLabsa. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🌍 Implementacija i operacije** — `basePath` za obrnuti proxy, automatsko otkrivanje jezika preglednika, praćenje uređaja po ključu, MITM pouzdani certifikati bez root ovlasti, lokalizacija zh-TW. → [Okruženje](docs/reference/ENVIRONMENT.md)
- **🤝 Više pružatelja i agenata** — agenti u oblaku (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) s preglednikom + OAuth prijavom, prvoklasna kartica za Ollamu, Claude Opus 5 i Sonnet 5, službeno partnerstvo s Kimijem (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… i osvježeni **katalog s 352 pružatelja**. → [Pružatelji](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparentnost usmjeravanja** — svaki odgovor sadrži zaglavlje `X-OmniRoute-Decision` koje navodi strategiju/pružatelja/latenciju zaslužne za odgovor, nova kombinirana strategija `cache-optimized` + faktor `cacheAffinity` za Auto-Combo usmjerava ponovljene zahtjeve natrag na vezu koja drži predmemorirani prefiks, a krajnja točka samo za čitanje `/v1/auto-combo/{channel}/candidates` izlaže aktivni skup kandidata kanala `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, alati za implementaciju releja na Cloudflare Workers / Deno Deploy, Bifrost i Mux kao nadzirane ugrađene usluge. → [Ugrađene usluge](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Također uključeno** — okvir za dodatke + trgovina, okviri za vještine Omni/Agent/GitHub, integracija s Obsidian trezorom (22 MCP alata), API-ji Batch i Files kompatibilni s OpenAI-jem, semantička predmemorija odgovora, gamifikacija s ljestvicama najboljih, ACP otkrivanje agenata (15 ugrađenih agenata), planirani izvoz zapisnika u BigQuery, paralelno slanje na više modela `auto/chaos`, most za Telegram bot, upravitelj verzija unutar aplikacije i LMArena-ELO ljestvice besplatnih pružatelja. → [Dokumentacija](docs/README.md)
## 🤖 Kompatibilni CLI alati i agenti za kodiranje
> Jedna konfiguracija — `http://localhost:20128/v1` — i **svaki** AI IDE ili CLI radi na besplatnim i povoljnim modelima.
+ radi i s · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bilo kojim alatom kompatibilnim s OpenAI-jem
📖 Postavljanje za svaki od svih 36 alata (26 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 te privremeni izolirani početni direktorij 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
```
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
pohranu tajni u povijesti vaše ljuske. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 pružatelja umjetne inteligencije — 154 označena kao besplatna u katalogu
> **372 registrirana pružatelja** u kanonskim kolekcijama za razgovor, medije, pretraživanje, lokalne modele, agente u oblaku i sustav, uključujući **154 pružatelja s metapodatkom otkrivanja `hasFree: true`**. Registar modela za razgovor obuhvaća **237 pružatelja / 3.009 različitih parova pružatelj-model / 1.443 neobrađena ID-a modela**; zasebni katalog besplatnih kvota ima **491 redak po modelu**, **35 obnavljajućih skupova kvota** i **54 obnavljajuća pružatelja ili pružatelja koji su trajno besplatni bez ključa**. Nazivnici se namjerno razlikuju; definicije i izračuni s uklonjenim duplikatima skupova kvota nalaze se u dokumentima [Referenca pružatelja](docs/reference/PROVIDER_REFERENCE.md) i [Besplatne razine](docs/reference/FREE_TIERS.md).
### 🏢 Svaki veliki laboratorij — putem jedne krajnje točke
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…i još više od 330 — svaka se ikona učitava uživo iz kataloga pružatelja na nadzornoj ploči. 📖 [Referenca pružatelja](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Besplatno zauvijek — 0 USD, bez kartice
OpenCode Zen DeepSeek V4, Nemotron 3 Bez ograničenja tokena
Kilo Code Automatsko usmjeravanje, 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 **cjelovito upravljačko okruženje naredbenog retka** s **više od 80 naredbi**, uz otvorene protokole za agente kako bi AI agent mogao njime upravljati **samostalno**.
### ⌨️ Pravi CLI (ne samo `start`)
```bash
omniroute # pokreni pristupnik i nadzornu ploču (port 20128)
omniroute chat # interaktivni TUI klijent za razgovor (kosa crta: /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 s prijenosnog računala pomoću **istog CLI-ja**. Prijavite se jednom
pomoću pristupnog tokena ograničenog dosega; svaka će naredba zatim ciljati udaljeni poslužitelj.
```bash
omniroute connect 192.168.0.15 # lozinka → token ograničenog dosega, 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 dosega za druga računala
omniroute contexts use default # ← vrati se na lokalni poslužitelj
```
Tokeni imaju dosege `read` / `write` / `admin`; rute koje pokreću procese ostaju dostupne samo preko 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**, **webhookova** ili **udaljenog CLI-ja** — svaki sposoban agent (ili vaš vlastiti kôd) dobiva ključeve cijelog pristupnika: usmjeravanje, pružatelje, kombinacije, predmemoriju, kompresiju i memoriju — potpuno autonomno. HTTP krajnje točke u nastavku poslužuju se 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
Od agenta do agenta, JSON-RPC 2.0 + SSE, 6 vještina
🌐 REST API
/v1/*
Kompatibilno s OpenAI-jem — razgovor, ugrađivanja, slike, zvuk, OCR
🔔 Webhookovi
/api/webhooks
Slanje događaja zahtjeva / kvota u Slack, Discord, Telegram ili na bilo koji URL
🛰️ Udaljeni CLI
omniroute connect
Upravljanje udaljenom instancom pomoću pristupnih tokena ograničenog dosega
```bash
# Omogućite alatu Claude Code cjelovit skup OmniRouteovih 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 — tijek obrade, arhitektura i izračun uštede
Zadana složena kombinacija izvodi `RTK → Caveman`. Kada oba djeluju na isti sadržaj alata/konteksta, uštede se umnožavaju:
```txt
kombinirano = 1 − (1 − RTK) × (1 − Caveman_ulaz)
prosjek = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
raspon = 78.4 – 94.6%
```
Blokovi koda, URL-ovi, JSON i strukturirani podaci **uvijek su zaštićeni** mehanizmom za očuvanje.
> **Zašto upotrebljavati mnogo tokena kada je nekoliko dovoljno?** Svaki zahtjev prolazi kroz OmniRouteov tijek kompresije **transparentno** — bez promjena na klijentu. Sada je to **skup od 12 kombinirajućih mehanizama** koji se izvršavaju redom te se mogu proizvoljno kombinirati za svaku kombinaciju usmjeravanja — nadograđujući ideje iz projekata [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 mehanizama
Mehanizmi se izvršavaju redoslijedom tijeka obrade; svaki se može zasebno uključiti ili isključiti te konfigurirati za svaku kombinaciju:
#
Mehanizam
Što radi
1
Session-Dedup
Uklanja sadržaj koji se ponavlja kroz više poteza (adresiran sadržajem, između poteza)
2
CCR
Arhivira velike blokove iza oznaka za dohvaćanje, a dohvaća ih na zahtjev
3
Lite
Uklanjanje suvišnih razmaka i skraćivanje URL-ova slika (osnovna opcija s malom latencijom)
4
RTK
Pametno filtriranje, deduplikacija i skraćivanje rezultata alata (uz razumijevanje naredbi)
5
Responses Tool Output
JSON prvenstveno bez gubitaka i ograničena dijagnostička kompresija izlaza ljuske/zakrpa/pretraživanja/izgradnje (Responses API)
6
Headroom
Tablično sažimanje JSON nizova bez gubitaka (~30%) putem ugrađenog kodeka GCF
7
Relevance
Ekstraktivno ocjenjivanje rečenica u odnosu na posljednji korisnički upit
8
Caveman
Kompresija proze temeljena na pravilima (~65–75% na izlazu)
9
Aggressive
Sažimanje i progresivno starenje starih poteza
10
LLMLingua-2
Semantičko obrezivanje strojnim učenjem putem MobileBERT ONNX-a — sigurno za kod, asinkrono
11
Ultra
Heurističko obrezivanje tokena s opcionalnim slojem malog modela (SLM)
12
OmniGlyph
Eksperimentalno kodiranje konteksta kao slike za izmjereni Claude Fable 5 putem izravne veze s Anthropicem; transformatori GPT 5.6 ostaju zatvoreni u slučaju pogreške dok se ne zaprime potvrde pružatelja. Četiri profila kompresije (zadani agresivni, uravnoteženi, siguran za kod, bez obrade) (najagresivniji; zahtijeva izričito uključivanje)
Blokovi koda, URL-ovi i strukturirani podaci **uvijek se očuvaju** identično na razini bajtova. **Unaprijed postavljene opcije jednim klikom** kombiniraju mehanizme:
Način rada
Ušteda
Najbolje za
🪶 Lite
~15%
Sigurna zadana opcija koja je uvijek uključena
🪨 Standard (Caveman)
~30%
Svakodnevno programiranje
⚡ Aggressive
~50%
Duge sesije s intenzivnom upotrebom alata
🔥 Ultra
~75%
Maksimalna ušteda
🧰 RTK
60–90%
Izlaz ljuske/testiranja/izgradnje/gita
🔗 Složeno (RTK → Caveman)
78–95%
Mješoviti upiti i zapisnici alata
**Stvarni primjer — način rada Standard:**
> **Prije (69 tokena):** _"Razlog zbog kojeg se vaša React komponenta ponovno iscrtava vjerojatno je taj što stvarate novu referencu na objekt u svakom ciklusu iscrtavanja. Kada proslijedite objekt definiran u retku kao prop, Reactova plitka usporedba svaki ga put prepoznaje kao drukčiji objekt, što pokreće ponovno iscrtavanje. Preporučujem upotrebu useMemo za memoizaciju objekta."_
>
> **Poslije (19 tokena):** _"Nova referenca objekta pri svakom iscrtavanju. Objektni prop u retku = nova referenca = ponovno iscrtavanje. Omotajte u useMemo."_
>
> **Isti odgovor. 72% manje tokena. Bez gubitka točnosti.** ✅
**Primjer na PT-BR-u — način rada [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prije (42 tokena):** _"Problem je u tome što se komponenta ponovno iscrtava jer se u svakom ciklusu iscrtavanja stvara nova referenca na objekt. Preporučio bih upotrebu useMemo."_
>
> **Poslije (12 tokena):** _"Ponovno iscrtavanje: nova ref. u svakom ciklusu (ponovno stvoren inline objekt). Upotrijebiti `useMemo`."_
>
> **Isti odgovor. ~70% manje tokena. Tehnička preciznost netaknuta.** ✅
### 🎚️ Više od pogonskih mehanizama — stilovi izlaza, prilagodljivi regulator i kontrola po zahtjevu
Navedenih 12 pogonskih mehanizama sažimaju ono što ulazi **unutra**. Tri dodatna sloja oblikuju **kako**, **kada** i što izlazi **van**:
- **🪄 Stilovi izlaza** _(usmjeravanje osi izlaza)_ — umeću determinističke upute za oblikovanje odgovora, sigurne za predmemoriranje; mogu se kombinirati, svaki s intenzitetom `lite` / `full` / `ultra`. Dodavanje stila zahtijeva jedan redak u registru:
- **Sažeta proza** — uklanja poštapalice / članove / ograđivanje; tehnički sadržaj ostaje precizan.
- **Manje koda** — YAGNI „lijenog starijeg programera”: najmanja funkcionalna izmjena, bez nezatražene infrastrukture.
- **Konjski rep (lijeni stariji programer)** — uspinje se YAGNI ljestvicom, uklanja temeljni uzrok, najmanji funkcionalni diff.
- **Imam ADHD (prvo radnja)** — započinje sljedećom radnjom, koraci su numerirani, jedan konkretan sljedeći korak, bez uvoda.
- **Sažeti CJK (文言)** — iznimno sažet stil klasičnog kineskog (ograničen na lokalitet `zh`).
- **🎯 Prilagodljivi budžet konteksta** _(regulator)_ — umjesto jednog praga tokena za uključivanje/isključivanje, aktivira najjeftinije pogonske mehanizme s najmanjim gubitkom samo koliko je potrebno da sadržaj **stane u kontekstni prozor modela**. Pravilo: `reserve-output` (zadano, prilagođeno modelu) · `percentage` · `absolute`. Način rada: `floor` (jamči da sadržaj stane) · `replace-autotrigger` (vaš izričiti odabir ima prednost) · `off` (naslijeđeni prag).
- **🎛️ Gdje se odlučuje o kompresiji** _(prioritet, od višeg prema nižem)_ — zaglavlje `x-omniroute-compression` po zahtjevu › nadjačavanje kombinacije usmjeravanja › aktivni imenovani profil › prilagodljiva opcija / automatsko aktiviranje › zadana postavka ploče › isključeno. Primijenjeni plan vraća se u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Automatski aktivirajte kompresiju prema pragu tokena, uključite prilagodljivi regulator, prikvačite imenovani profil, postavite jednokratnu opciju po zahtjevu ili dodijelite procesni slijed svakoj kombinaciji usmjeravanja — što god odgovara radnom opterećenju. Izborni izvanmrežni **evaluacijski alat** (`npm run eval:compression`) ocjenjuje vjernost u odnosu na uštedu na fiksiranom korpusu prije nego što uvedete promjenu.
📖 [`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 li `npm warn ERESOLVE` ili upozorenja o peer ovisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Upotrebljavate npm 11 ili noviji?** npm može blokirati skripte životnog ciklusa paketa ako nisu dopuštene. OmniRouteova skripta `postinstall` (`node scripts/build/postinstall.mjs`) potrebna je za pripremu njegovih izvornih izvršnih datoteka. Pri globalnoj instalaciji dopustite pakete navedene u npm upozorenju. Za skup paketa koji prijavljuje OmniRoute 3.8.51:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Kako biste ponovno upotrijebili ovaj popis dopuštenih paketa za buduće globalne instalacije, konfigurirajte ga jednom, 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
> ```
>
> Popis ovisnosti može se mijenjati između izdanja; ako npm prijavi drukčiji popis, upotrijebite nazive paketa iz tog upozorenja. Dopuštanje paketa omogućuje izvršavanje njegovih instalacijskih skripti.
> **Upotrebljavate Gemini Web ili drugog pružatelja koji se služi web-kolačićima?** npm paket uključuje
> Playwright, ali ne i njegovu binarnu datoteku Chromiuma. Prije prvog zahtjeva web-pružatelju pogledajte
> napomenu o [postavljanju Playwright Chromiuma](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium).
Nadzorna ploča dostupna je na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Povežite prihvatljivog pružatelja vlastitim računom**
Nadzorna ploča → **Pružatelji** → odaberite pružatelja čiji trenutačni uvjeti i kvota odgovaraju vašem slučaju upotrebe → dodajte njegov API ključ ili dovršite postupak povezivanja računa. Besplatne razine mogu zahtijevati registraciju, odobrenje ili način plaćanja. Pregledajte [Vodič za besplatne razine](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez ključa nije zajamčena, a pružatelji označeni s `tos: avoid` prema zadanim su postavkama isključeni iz `auto`.
**3) Usmjerite svoj alat za programiranje**
```txt
Osnovni URL: http://localhost:20128/v1
API ključ: [kopirajte iz Nadzorna ploča → Krajnje točke]
Model: auto (usmjerava između prihvatljivih veza — ili odaberite pružatelja/model)
```
**4) Provjerite radi li**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebali biste vidjeti popis povezanih modela. 🎉 To je sve — počnite programirati, a OmniRoute će automatski usmjeravati zahtjeve i prebacivati se na pričuvne opcije.
Ako vaš klijent ne može slati prilagođena zaglavlja, OmniRoute nudi i kompatibilne pseudonime s tokenima:
```txt
OpenAI katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI modeli: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI razgovor: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI odgovori: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama razgovor: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama oznake: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Upotrebljavajte ih samo za klijente koji ne mogu dodati `Authorization: Bearer ...`. Autentikacija zaglavljem i dalje je preporučeni 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 39.000 statičkih deklaracija testova u više od 5.100 praćenih testnih datoteka (jedinični, integracijski, E2E, sigurnosni i ekosustavski 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 više od 39.000 statičkih deklaracija testova u više od 5.100 praćenih testnih datoteka
# ⭐ Najistaknutiji doprinositelji
> OmniRoute oblikuje strastvena zajednica otvorenog koda. Ovi su pojedinci dali iznimne doprinose koji izravno utječu na kvalitetu, stabilnost i doseg projekta. **Hvala vam.**
### Vanjski doprinositelji prema broju spojenih zahtjeva za povlačenje
Zamrznuto na aktualnom vrhu grane release/v3.8.50, dafb4ae808, sa spajanjima zaključno s 2026-08-24 05:26:03 UTC. Paginirani GitHub GraphQL popis sadrži 5,911 spojenih PR-ova: 2,707 od vlasnika repozitorija, 179 od Dependabota i 3,025 vanjskih PR-ova od 535 različitih suradnika. „Promijenjeni redci” zbroj su dodavanja i brisanja na GitHubu te uključuju generirane datoteke, datoteke zaključavanja, kataloge, prijevode i dokumentaciju; to je količina izmjena, a ne autorski LOC. Izjednačenja na granici uključena su.
### Commitovi koje je pripisao GitHub
Bob.Hou 🏅 51 commit koji je pripisao GitHub · dijeli 10. mjesto
Xiangzhe 🏅 51 commit koji je pripisao GitHub · dijeli 10. mjesto
Ponovno provjereno 2026-08-24 06:14:31 UTC: commitovi koje je pripisao GitHub prema API-ju Contributors repozitorija za zadanu granu release/v3.8.50. API je vratio 525 identiteta (415 korisnika, 2 bota, 108 anonimnih); ova tablica ne uključuje održavatelja, botove ni anonimne identitete te zadržava izjednačena mjesta. Razlikuje se i od prethodno navedenog poretka prema spojenim PR-ovima i od popisa 639 osoba prema Git metapodacima u nastavku.
> 🙏 Funkcionalnosti, ispravci pogrešaka i poboljšanja infrastrukture ovih doprinositelja **ključan su dio** onoga što OmniRoute čini pouzdanim i bogatim funkcionalnostima. Svaki zahtjev za spajanje, svaki testni slučaj i svaka i18n datoteka prijevoda važni su. Otvoreni kod izgrađuju ljudi poput njih.
---
## 💖 Sponzori
Od srca zahvaljujemo ljudima koji financiraju OmniRoute iz vlastitog džepa — svaki doprinos pomaže projektu da ostane besplatan, neovisan i nastavi napredovati.
… i ostali koji žele ostati anonimni 💛Javni sponzori na GitHub Sponsors ponovno su provjereni 2026-08-24. GitHubov status activeOnly određuje gore navedene oznake aktivnosti; i dalje zahvaljujemo prethodno objavljenim javnim jednokratnim podržavateljima, dok privatni sponzori ostaju anonimni.💖 Postanite sponzor → — svaki dolar pomaže da OmniRoute ostane besplatan i neovisan.
## 👥 Više od 600 suradnika
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Provjereno 2026-08-24 na zamrznutoj osnovi ac02c5b42f i ponovno provjereno na aktualnom vrhu grane release/v3.8.50, dafb4ae808: 639 normaliziranih ljudskih Git identiteta — 407 pojavljuje se kao autor commitova (uključujući održavatelja), a 232 samo u izričitim završnim oznakama Co-authored-by. Popis normalizira GitHubove noreply identifikatore, isključuje 26 identiteta botova, agenata, servisa i rezerviranih oznaka te ne spaja obične adrese e-pošte samo zato što imaju ista prikazana imena.
### Kako doprinijeti
1. Napravite fork repozitorija
2. Izradite granu iz **aktivnog** vrha 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 promjene na granu (`git push origin feat/amazing-feature`)
6. Otvorite Pull Request s postavkom **base = ta grana `release/vX.Y.Z`**
Detaljne smjernice potražite u datoteci [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 otad je svaki podsustav naveden u nastavku nadahnut projektom otvorenog koda koji je to učinio prvi. Svaki od njih oblikovao je konkretan dio sustava OmniRoute. Ovo je naša zahvala svima njima. 🙏
> ⭐ broj zvjezdica provjeren je putem GitHubova REST API-ja 24. kolovoza 2026. — podržite ove projekte zvjezdicom. Brojevi predstavljaju točan snimak stanja na navedeni datum i prirodno će se mijenjati.
### 🧬 Podrijetlo i pristupnik
AI pristupnik čiji javni skup podataka o cijenama opskrbljuje našu sinkronizaciju praćenja troškova i čiji je model normalizacije pružatelja utjecao na naše usmjeravanje.
MIT izvorni kod prilagođen u ugrađeni most ChatGPT Web → Codex Responses, uključujući prilagodnike za sesije preglednika, oblikovanje 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 modela Grok, Statsig generator lažnog TypeErrora, zadane postavke zahtjeva i uređaja te procesor NDJSON odgovora značajno su prilagođeni u OmniRouteov izvršitelj za Grok Web.
Glavni tranzitivni izvor koda na kojem se temelji grok2api-merged; njegove implementacije modela, zaglavlja, korisnog sadržaja, Statsiga i procesora očuvane su u razvojnoj liniji Grok Weba.
Temeljni MIT izvorni kod za zadane postavke korisnog sadržaja i uređaja za Grok, Statsig generator i procesor result.response prenesen preko projekata TQZHR i grok2api-merged.
Tranzitivni izvor koji grok2api-merged navodi za svoj sloj skupa proxyja; OmniRoute zadržava tu napomenu o podrijetlu, ali ne tvrdi da je prenio skup proxyja u svoj ograničeni izvršitelj za Grok Web.
Izvorna implementacija Grok Weba oslanjala se na njegov dizajn uzvodne HTTP/pregledničke komunikacije; njezin izravni HTTP put izveden je iz projekta GrokProxy, stoga se ne tvrdi da je riječ o neovisnom prijenosu koda.
Viralni projekt „zašto koristiti mnogo tokena kad malo tokena postiže isto” — 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.
Kompresija izlaza naredbi visokih performansi — nadahnula je naš RTK mehanizam, DSL za filtriranje JSON-a, oporavak neobrađenog izlaza i ulančani proces RTK → Caveman.
Viralna vještina kodiranja „lijenog starijeg programera” u skladu s načelom YAGNI — nadahnula je naš izlazni stil less-code: usmjeravanje prema najmanjoj funkcionalnoj promjeni koje smanjuje _generirani_ kôd (izlazni pandan Cavemanovoj sažetoj prozi).
Njegov stil odgovora prilagođen osobama s ADHD-om, koji daje prednost konkretnim radnjama, prilagođen je u sažeti izlazni stil OmniRoutea na pet jezika.
### 🧩 Kompaktni formati, istraživanje tokena i alati svjesni kôda
Kompresija izlaza svjesna sadržaja i prilagođena pojedinoj vrsti datoteke, uz odustajanje u slučaju pogreške — potvrdila je naše usmjeravanje prema vrsti i preskakanje pri nedovoljnoj uštedi.
Stupčasti JSON u Rustu, dohvaćanje prema sadržaju i uklanjanje duplikata između poruka — 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 temeljeno na parseru koje čuva literale nizova, predložaka i regularnih izraza.
MITM presretanje i 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 pročišćavanje zaglavlja — zamijenjena su neovisnim implementacijama čistog dizajna temeljenima na javnim standardima protokola. Dvije površine za izravno prosljeđivanje na glavno računalo (passthrough.ts i _internal/bypass.cjs) ostaju interne implementacije sustava OmniRoute koje su neovisno klasificirane; nisu ponovno napisane u sklopu te zamjene.
Transparentno usmjeravanje proxyja 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, opažljivost i korisničko sučelje
Opažljivost Istio uslužne mreže — nadahnula je naše značke prekidača strujnog kruga i vizualne prikaze bridova s pogreškama u studiju Routing/Combo Studio.
Pomno odabran popis biblioteka koje su prema zadanim postavkama sigurne i koje usmjeravaju naše sigurnosne odabire (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Nadahnuo je uklanjanje dupliciranih zahtjeva, pričuvnu opciju bez troškova za hitne slučajeve, zamjenjive strategije Auto-Combo i višejezičnu klasifikaciju namjere.
Njegovo ponovno mapiranje modela s obzirom na račun, provjera putanje izvršne datoteke i ponašanje oznaka plana utjecali su na Antigravity okruženje za izvršavanje sustava OmniRoute.
Identificirao je sučelje kvote Grok Build; OmniRoute je zatim neovisno provjerio i ispravio aktivni format podataka na žici.
## 📄 Licenca
Licenca MIT – pojedinosti potražite u datoteci [LICENSE](LICENSE).
---
**[⬆ Povratak na vrh](#-omniroute)** · Izrađeno s ❤️ za AI zajednicu otvorenog koda.
OmniRoute v3.8.52 · Node ≥22.22.2 · Licenca MIT · omniroute.online