# 🚀 OmniRoute — Besplatni AI gateway
**Kreirao [Diego Souza](https://github.com/diegosouzapw)**
## 💰 ~1.62B tokena / mjesečno kroz besplatne nivoe trećih strana
> **Koristite vlastite naloge kod provajdera.** Ovo je procijenjeni zbir kroz zasebno podobne besplatne nivoe trećih strana, a ne dodjela tokena od strane OmniRoutea. Registrujte se, pribavite akreditive gdje je potrebno i povežite provajdere koje možete koristiti; svaki provajder određuje svoja ograničenja, dostupnost i uslove.
>
> Ručno kombinovanje besplatnih nivoa je naporno — deseci SDK-ova, deseci ograničenja brzine i bez jasne predstave o tome koliko zapravo imate. OmniRoute katalogizira **465 stavki besplatnog nivoa kroz 34 ključa ponavljajućih skupova** i izračunava glavni podatak o tokenima iz **17 skupova s objavljenim pozitivnim mjesečnim budžetom, uz pet Groq ograničenja po modelu**, dedupliciranih prema zajedničkom skupu. Kvote koje se otvaraju tek nakon provjere regionalnog identiteta (danas: ModelScope) prikazane su odvojeno, +~6M nakon verifikacije regionalnog identiteta, i nikada se ne sabiraju u glavni podatak. Rezultat ostaje vidljiv na kontrolnoj ploči (`/dashboard/free-tiers`).
> Animirani sažetak aktivne stranice `/dashboard/free-tiers`. Potpuna metodologija (deduplikacija skupova, nivoi kredita, uslovi provajdera): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Ove brojke se ponovo provjeravaju svake dvije sedmice u odnosu na aktivni katalog i **mijenjaju se u oba smjera** — provajder ukine besplatni nivo i broj opadne; pojavi se novi i broj poraste. Objavljujemo ono što katalog zaista izračuna, nikada naviše zaokružen najbolji slučaj.
⭐ Označite repozitorij zvjezdicom ako vam je OMNIROUTE pomogao da uštedite novac i olakšate posao.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Pridružite se zajednici
**👋 Pratite održavaoca — prvi saznajte za nove provajdere, 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 provajderima, plan razvoja i podrška → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway nastavlja rasti
## 🆓 Instalirajte, povežite dobavljača, zatim usmjeravajte kroz jednu krajnju tačku
```bash
# Nakon povezivanja dobavljača, kopirajte svoj OmniRoute ključ iz odjeljka 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 podržanu rutu. Nova instalacija možda neće imati nijedno podržano odredište bez ključa, a dobavljač bez ključa može odbiti klijente trećih strana. Dobavljači označeni sa `tos: avoid`, uključujući Kiro, prema zadanim postavkama izuzeti su iz automatskog usmjeravanja; povezivanje naloga ne poništava tu postavku. Pogledajte [Vodič kroz besplatne nivoe](docs/getting-started/FREE-TIERS-GUIDE.md) prije nego što odaberete dobavljača.📦 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 kompanije koje podržavaju otvoreni kod i pomažu da OmniRoute nastavi napredovati — a mi javno navodimo gdje odlazi svaki token koji nam daju. Javite se na: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Hvala kompaniji Kimi (Moonshot AI), našem osnivačkom prijatelju otvorenog koda, na podršci ovom projektu! Kimi je AI laboratorija koja stoji iza porodica modela s otvorenim težinama K2 i K3 — Kimi K3 pruža kontekstni prozor od 1M tokena, nativnu podršku za vid i programiranje na najvišem nivou po djeliću cijene zatvorenih modela te odmah radi s alatima Claude Code, Codex i svim alatima za programiranje koje OmniRoute podržava.
Šta omogućava podrška kompanije Kimi: Kimi API krediti pokreću OmniRouteov proces izdanja potvrđen pomoću AI-ja — fazu provjere spajanja koju pokreće Kimi K3, a koja pregleda svaki zahtjev za povlačenje prije objave — kao i svakodnevni razvoj funkcionalnosti. Prvorazredna podrška za Kimi dostupna je putem oba kanala: direktnog Kimi API-ja (kimi-k3) i Kimi Code plana za programiranje (OAuth i API ključ). OmniRoute je također prvi brazilski projekat otvorenog koda u programu podrške kompanije Kimi. Nabavite Kimi API ključ uz 15% dodatnih kredita →
Cheaper Inference cheaperinference.com
Hvala kompaniji Cheaper Inference, OmniRouteovom prijatelju otvorenog koda, na podršci ovom projektu! Cheaper Inference je pristupnik rangiran prema troškovima koji preprodaje 42 vrhunska modela — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok i MiniMax — putem jedne krajnje tačke kompatibilne s OpenAI-jem, usmjeravajući svaki zahtjev prema najjeftinijem odgovarajućem pružaocu usluga, a da pritom nikada ne naplaćuje više od cijene koju je odredio proizvođač modela.
Prvorazredna podrška u OmniRouteu: Chat Completions, nativna krajnja tačka /v1/responses, vid, pozivanje alata i 3 modela za slike (grok-imagine, nano-banana-pro, nano-banana-2, dostupni kao cheaperinference/<model>). Nabavite API ključ →
Linkovi označeni s aff=omniroute partnerski su linkovi. Oni finansiraju projekat bez dodatnih troškova za vas. 🎟️ Promocije partnera — besplatni kuponi za registraciju od pružalaca usluga koje ne sponzorišemo (kliknite za proširenje)Ovaj odjeljak namijenjen je isključivo kodovima za preporuke/kupone. Sponzorisana partnerstva nalaze se u gornjem odjeljku 🤝 Uz podršku naših prijatelja otvorenog koda. OmniRoute nema sponzorski ni partnerski odnos s ovdje navedenim pružaocima usluga — ovo su javni kuponi koje svako može koristiti.
AgentRouter agentrouter.org
AgentRouter — partnerska registracija · $100 besplatnih kredita nakon registracije (besplatan server, očekujte veće kašnjenje — najbolje za testiranje, ne za produkciju). Prvorazredna podrška u OmniRouteu od verzije v3.8.50: Chat Completions, format komunikacije kompatibilan s Anthropicem i putanja kompatibilna s OpenAI-jem. Dostupni modeli uključuju claude-opus-4-8, claude-opus-5, gpt-5.6-sol i druge. Preuzmite svojih $100 →
⚠️ Partnerski link — OmniRoute nema sponzorski ni partnerski odnos s ovim pružaocem usluga.
Znate li za drugog pružaoca usluga s velikodušnim besplatnim kuponom za registraciju koji koristi korisnicima OmniRoutea? Otvorite prijavu problema i dodat ćemo ga ovdje.
## 🎯 Kombinacije — Vodeća funkcija
> **Kombinacija** je lanac modela kroz koje OmniRoute usmjerava **automatski**. Ako se kvota potroši, pružalac usluge zakaže ili troškovi naglo porastu, kombinacija može preći na sljedeći odgovarajući model koji ispravno radi. 🛡️
### ⚡ Bez konfiguracije — samo koristite `auto`
Nije potrebno kreirati kombinaciju. Postavite svoj model na `auto` (ili neku varijantu) i OmniRoute će izgraditi virtuelnu kombinaciju od vaših povezanih pružalaca usluga, ocijenjenu u stvarnom vremenu:
🧪 Paralelno slanje panelu modela (po jedan za svakog pružaoca usluge, zadano 5), uz vraćanje jednog odgovora; jedan uzvodni poziv po modelu panela, bez ubrizgavanja grešaka
##
### 🔀 Ili napravite vlastitu — 20 strategija usmjeravanja
Svih **20** strategija — kombinirajte ih po želji za svaki korak kombinacije:
#
Strategija
Šta radi
1
priority
Uređena lista s prvim odredištem — iscrpite svako prije prelaska na sljedeće 🥇
2
fill-first
Potpuno iskoristite kvotu svakog odredišta prije prelaska na sljedeće
3
weighted
Ponderirani nasumični odabir prema ponderu svakog odredišta
4
round-robin
Kružno prolazi kroz odredišta redom
5
p2c
Nasumično balansiranje opterećenja metodom izbora između dvije opcije
6
least-used
Odabire odredište s najmanjim trenutnim opterećenjem
7
random
Ravnomjeran nasumični odabir (bez duplikata)
8
strict-random
Nasumični odabir bez uklanjanja ponavljanja 🎲
9
cost-optimized
Minimizira cijenu u $ po zahtjevu na osnovu aktuelnih cijena iz kataloga 💸
10
headroom
Odabire odredište s najvećom preostalom kvotom
11
quota-weighted
Preskače iscrpljene račune, a zatim bira proporcionalno preostaloj kvoti ÷ trenutnom aktivnom opterećenju — postojeći razgovori ostaju prikvačeni ⚖️
12
reset-window
Daje prednost odredištu čiji se period kvote najranije obnavlja
13
reset-aware
Rangira prema vremenu obnove kvote — najprije kratki periodi 📊
14
context-relay
Prosljeđuje kontekst između odredišta za duge razgovore 🧠
15
context-optimized
Odabire opciju koja najbolje odgovara trenutnoj veličini konteksta
16
cache-optimized
Prikvačuje svaki ponovo upotrebljivi prefiks upita za isti račun — maksimizira pogotke u predmemoriji upita 🎯
17
lkgp
Posljednja poznata pouzdana putanja — prikvačuje za posljednjeg uspješnog pružaoca usluge, a zatim prelazi na rezervna pravila
18
auto
Ocjenjivanje u stvarnom vremenu prema 16 faktora za svaku vezu 🤖
19
fusion
Šalje upit panelu modela, a sudija sintetizira jedan odgovor 🧬
20
pipeline
Povezuje korake u lanac — izlaz svakog odredišta prosljeđuje se sljedećem 🔗
Auto-Combo mehanizam ocjenjuje svakog kandidata na osnovu **16 faktora** (stanje, kvota, trošak, latencija, prikladnost za zadatak, kvalitet, dostupnost sesije…) — pogledajte [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Otpornost je ugrađena (3 nezavisna sloja)
📖 [Auto-Combo mehanizam](docs/routing/AUTO-COMBO.md) · [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Po čemu se OmniRoute izdvaja
📊 Kompletna metodologija i detalji po funkcionalnostima u odnosu na 9router, OpenRouter, CLIProxyAPI i LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podržite OmniRoute
OmniRoute je licenciran MIT licencom i održava se javno. Ako vam štedi vrijeme ili novac, evo kako možete pomoći da ostane nezavisan — odaberite ono što vam odgovara. Sponzorstvo nikada ne utječe na prioritet usmjeravanja; njime se kupuje vidljivost, a ne rangiranje.
**🇧🇷 PIX** — trenutno, 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 grešku ili imate povratne informacije? Otvorite [diskusiju](https://github.com/diegosouzapw/OmniRoute/discussions).
Napomene za programere: Projekat može generisati lokalnu datoteku .env tokom npm instalacije/postinstalacije radi praktičnosti programera. Ova datoteka se namjerno ignoriše putem .gitignore (pogledajte .gitignore) i nikada se ne smije predati u repozitorij — ako je slučajno predate, promijenite sve otkrivene tajne i uklonite datoteku iz historije. Smjernice za upravljanje lokalnim datotekama okruženja i tajnama potražite u dokumentu docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Glavna brojka za besplatni nivo ostaje **~1,62 mlrd. tokena/mjesečno** iz gore navedenog dokumentovanog kataloga,
iz kojeg su uklonjeni duplikati među zajedničkim kvotama. Privremeni krediti pri registraciji kod pružalaca usluga mogu zasebno povećati prvi
mjesec na **~2,22 mlrd.** Radar je opcionalni, potpisani sloj kataloga za korisnike koji žele ažurniju
dostupnost besplatnih modela između OmniRoute izdanja; katalog zajednice i svaka postojeća besplatna
funkcija ostaju besplatni.
Podržavaoci mogu dobiti aktivni katalog i dodatne mogućnosti kod pružalaca usluga. Njegova zasebna,
promjenjiva gornja granica iznosi **najviše približno 3 mlrd. tokena/mjesečno**, zavisno od dostupnosti pružalaca usluga.
Ta gornja granica nije zagarantovana: pružaoci usluga mogu u bilo kojem trenutku promijeniti kvote, uslove ispunjavanja, modele ili regije.
Radar se koristi samo uz izričit pristanak i podržava isključivo GET zahtjeve. OmniRoute klijent ne prenosi upite, saobraćaj, konfiguraciju pružalaca
usluga, telemetriju korištenja niti lokalno stanje odbacivanja obavještenja. Saznajte više o uslovima ispunjavanja i
trenutnom katalogu na **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Šta je novo
> Najnovije istaknute novosti od **v3.8.20 → v3.8.54**. Kompletna historija nalazi se u [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` usmjeravanje** — 20. strategija kombinovanja preskače iscrpljene naloge, a zatim među preostalim bira proporcionalno odnosu preostale kvote ÷ opterećenja zahtjevima u toku, pri čemu postojeći razgovori ostaju vezani za isti nalog. → [Automatsko kombinovanje](docs/routing/AUTO-COMBO.md)
- **🧰 Način rada bez korisničkog interfejsa** — `omniroute serve --headless` (ili `OMNIROUTE_HEADLESS=1`) pokreće samo `/v1/*` proxy mehanizam, dok su nadzorna ploča i podsistemi namijenjeni samo nadzornoj ploči isključeni. → [Način rada bez korisničkog interfejsa](docs/guides/HEADLESS.md)
- **🔎 Otkrivanje modela** — `/v1/models` filtrira prema mogućnostima, kontekstu, vrsti i tekstu, a `POST /v1/models/query` vraća kratak deterministički uži izbor s istom vidljivošću po ključu. → [API referenca](docs/reference/API_REFERENCE.md)
- **🔑 Usmjeravanje po ključu** — API ključ se može vezati za jedan model ili kombinaciju pomoću `forcedModel`, a modeli i kombinacije ključa mogu se atomski dodati ili ukloniti (`/api/keys/{id}/access`). → [API referenca](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Preciznije kontrole PII podataka** — izbor po vrsti, do 20 provjerenih prilagođenih obrazaca maskiranja i brojači detekcije po vrsti; samo maskiranje i dalje se mora izričito uključiti. → [Zaštitne mjere](docs/security/GUARDRAILS.md)
- **🌍 67 jezika** — nadzorna ploča, preslike dokumentacije i CLI, pri čemu `npm run i18n:add-locale` dodaje jezik svuda jednom naredbom. → [Vodič za i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — ulazno A2A delegiranje vašoj floti agenata, Conductor vještine na Agent Card kartici i panel nadzorne ploče s Faro glasovnim razgovorom putem funkcije „pritisni za govor“. → [A2A server](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljivi prijem i zaštita od preopterećenja** — zahtjevi za zahtjevne razgovore stavljaju se u red čekanja umjesto da vraćaju grešku 503, uz atomske RPM klizne najmove po konekciji. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonski redoslijed `/v1/models`** — jedan neprekinuti blok grupisan po pružaocu za svakog pružaoca (kombinacije su prve), stabilan u svim izvorima kataloga. → [API referenca](docs/reference/API_REFERENCE.md)
- **🗜️ Ojačana kompresija** — zaštita od prekomjernog napuhavanja uključena je prema zadanim postavkama, Caveman paketi za DE / FR / JA + kineski (wényán), RTK filteri za Gradle i .NET. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Iskreni trošak s fiksnom cijenom** — pružaoci pretplata / coding-plan usluga u analitici troškova prikazuju **$0**; budžet, kvota i usmjeravanje i dalje daju procjene. → [API referenca](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share usmjeravanje** — zajednička kvota naloga pravedno se dijeli između udruženih ključeva, uz iskorištavanje resursa tako da se neaktivni dijelovi posuđuju. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Postavljanje CLI-ja/agenata jednom naredbom** — 15 registrovanih naredbi `setup-*`; `omniroute run` pokreće 7 CLI alata (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 11 odredišta s interaktivnim biračem pružaoca i modela te favoritima po kontekstu. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Udaljeni način rada** — upravljajte udaljenim OmniRouteom pomoću tokena ograničenih opsegom (`connect` / `contexts` / `tokens`) + `antigravity` OAuth pomoćnik za VPS instalacije. → [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnije automatsko usmjeravanje** — kombinacije `auto/:`, **Fusion** (panel modela + sudija), usmjeravanje svjesno zadatka, nadjačavanja modela / načina rada / USD budžeta po zahtjevu. → [Automatsko kombinovanje](docs/routing/AUTO-COMBO.md)
- **🗜️ Modularna kompresija** — 12 kombinabilnih mehanizama + Compression Studios: LLMLingua-2, Ultra u dva nivoa, omniglyph, provjera vjernosti po koraku, GCF v3.2, uređivač za promjenu redoslijeda prevlačenjem. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifrovanje (TPROXY)** — CLI alati za hvatanje saobraćaja koji zanemaruju proxy varijable okruženja, uz instalacijski program CA certifikata + skladišta povjerenja po SNI-ju. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija troškova svuda** — zaglavlja troška/upotrebe `X-OmniRoute-*` na svakoj krajnjoj tački, zaglavlje uštede od pogodaka keša i kvote potrošnje u USD po ključu. → [API referenca](docs/reference/API_REFERENCE.md)
- **🧠 Memorija pod vašom kontrolom** — prema zadanim postavkama isključena, kvantizacija vektora int8 i opadanje po tipu uz izričito uključivanje, `x-omniroute-no-memory` po zahtjevu. → [Memorija](docs/frameworks/MEMORY.md)
- **🛡️ Sigurnost** — zaštita od prompt-injekcija na svakoj LLM ruti (red-team paket), zaštita za maskiranje vjerodajnica uz izričito uključivanje (uklanja otkrivene API ključeve/tajne u oba smjera), besplatna web pretraga DuckDuckGo kao krajnja opcija i opcionalna OIDC prijava za nadzornu ploču (prijava lozinkom uvijek ostaje dostupna). → [Zaštitne mjere](docs/security/GUARDRAILS.md)
- **🖼️ Nove krajnje tačke** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (u stilu Whispera) upotpunjuju medijski interfejs. → [API referenca](docs/reference/API_REFERENCE.md)
- **🎨 Generisanje slika / videa / zvuka** — jedan API za medije: xAI Grok Imagine i Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind i pružaoci govora poput ElevenLabs. → [API referenca](docs/reference/API_REFERENCE.md)
- **🌍 Implementacija i operacije** — `basePath` obrnutog proxyja, automatsko prepoznavanje jezika preglednika, praćenje uređaja po ključu, MITM povjerenje bez root ovlasti, lokalizacija zh-TW. → [Okruženje](docs/reference/ENVIRONMENT.md)
- **🤝 Više pružalaca i agenata** — agenti u oblaku (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) s prijavom putem preglednika + OAuth, prvoklasna kartica za Ollama, 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 388 pružaocem**. → [Pružaoci](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparentnost usmjeravanja** — svaki odgovor sadrži zaglavlje `X-OmniRoute-Decision` koje navodi strategiju/pružaoca/latenciju koji su ga poslužili, nova strategija kombinovanja `cache-optimized` + faktor `cacheAffinity` automatskog kombinovanja usmjerava ponovljene zahtjeve nazad na konekciju koja sadrži keširani prefiks, a krajnja tačka samo za čitanje `/v1/auto-combo/{channel}/candidates` izlaže aktivni skup kandidata `auto/*` kanala. → [Automatsko kombinovanje](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, deployeri za Cloudflare Workers / Deno Deploy relay, Bifrost i Mux kao nadzirane ugrađene usluge. → [Ugrađene usluge](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Također uključeno** — okvir za dodatke + marketplace, Omni/Agent/GitHub okviri vještina, integracija s Obsidian trezorom (22 MCP alata), OpenAI-kompatibilni Batch i Files API-ji, semantička predmemorija odgovora, gamifikacija s rang-listama, ACP otkrivanje agenata (15 ugrađenih agenata), zakazani izvoz logova u BigQuery, `auto/chaos` paralelno prosljeđivanje prema više modela, most za Telegram bot, upravljač verzijama unutar aplikacije i rang-liste besplatnih pružalaca usluga LMArena-ELO. → [Dokumentacija](docs/README.md)
## 🤖 Kompatibilni CLI-ji i Koderski AgentI
> Jedna konfiguracija — `http://localhost:20128/v1` — i **svaki** AI IDE ili CLI radi na besplatnim i niskobudžetnim modelima.
+ radi i sa · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bilo kojim alatom kompatibilnim sa OpenAI
📖 Postavljanje za svaki alat pojedinačno za svih 39 alata (28 CLI Code + 11 CLI Agenti) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode dodatak → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Pokrenite bilo koji podržani CLI putem OmniRoute jednom komandom** — bez pisanih konfiguracijskih fajlova,
povjerljive informacije se ubrizgavaju po procesu, Qwen/Gemini dobijaju izolirani privremeni home direktorij:
```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 izaberite provider+model interaktivno i napišite vlastitu konfiguraciju alata:
omniroute configure codex # također: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Svaka komanda poštuje aktivni udaljeni kontekst (`omniroute connect `), `--dry-run`
prikazuje tačno okruženje/argumente bez izvršavanja, a `--api-key-env NAME` čuva tajne
izvan vaše shell historije. → [CLI Integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 AI provajder — 153 označena kao besplatna u katalogu
> **388 registrovani provajder** u kanonskim kolekcijama za chat, medije, pretragu, lokalne i cloud agente te sistemske kolekcije, uključujući **153 provajdera s metapodacima za otkrivanje `hasFree: true`**. Registar chat modela obuhvata **239 provajdera / 3,059 različitih parova provajder-model / 1,475 sirovih ID-jeva modela**; zasebni katalog besplatnog budžeta sadrži **471 red po modelu**, **34 periodična fonda** i **52 periodična/beskonačno besplatna provajdera bez ključa**. Ovo su različiti nazivnici po dizajnu; definicije i izračuni s uklonjenim duplikatima fondova dostupni su u dokumentima [Referenca provajdera](docs/reference/PROVIDER_REFERENCE.md) i [Besplatni nivoi](docs/reference/FREE_TIERS.md).
### 🏢 Svaka velika laboratorija — putem jedne krajnje tač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 350 — svaka ikona se učitava uživo iz kataloga provajdera na kontrolnoj tabli. 📖 [Referenca provajdera](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Zauvijek besplatno — $0, bez kartice
OpenCode Zen DeepSeek V4, Nemotron 3 Bez ograničenja broja tokena
Kilo Code Automatsko usmjeravanje, Tencent Hy3 Zauvijek besplatno
### 🧩 Novo: OmniRoute unutar VS -ovog izvornog Copilot chata
> Nema nove bočne trake, nema novog chata UI — svaki model OmniRoute služi pojavljuje se upravo u**Copilot Chat birač modela koji već koristite** . Od VS koda 1.122, modeli provajdera rade bez GitHub prijave ili Copilot pretplate — režim agenta, pozivanje alata i vizija, besplatno.
Instalirajte** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** ekstenziju, usmerite je na vaš OmniRoute server (podrazumevano na `localhost:20128`), zatim otvorite Copilot Chat → birač modela →** Upravljajte modelima…** →**OmniRoute** .
Iz uređivača: otvorite** Ekstenzije** pogledajte, pretražite** "OmniRoute"** , kliknite** Instaliraj** — radi na isti način u obje trgovine. Izvor, izdanja i priručnik za objavljivanje uživo na [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Code Copilot Vodič za ćaskanje](docs/guides/VSCODE-COPILOT.md) — podešavanje, šta prikazuje birač, kontrolna tabla-u-kartici, rešavanje problema
### 🎩 Novo: OmniRouteTray — vaš gateway koji živi u traci menija
> `omniroute serve` je najsrećnija kada je stalno uključena.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** pretvara to u aplikaciju za postavljanje i zaboravljanje menija za macOS: pokreće server, održava ga na životu nakon ponovnog pokretanja, ažurira ga na mjestu i stavlja vaš živi token budžet na jedan klik -** nema otvoren prozor terminala, nema `npm install -g omniroute` za čuvanje djece.**
Napravljen sa [Tauri v2](https://v2.tauri.app/) (Rust jezgro veličine greške zaokruživanja), isporučuje vlastito potpisano Node 24 runtime i upravlja OmniRoute instalacijom u vlasništvu aplikacije, tako da se nikada ne bori protiv vašeg globalnog `node`/`bun`. To** dijeli vašu postojeću `~/.omniroute/` konfiguraciju i bazu podataka** — znači to je isti OmniRoute koji već trčiš, samo sa šeširom. 🎩
Šta radi
Kako
🟢 Nadzire server
Pojavljuje omniroute serve , usvaja već pokrenutu instancu umjesto da je duplicira
📊 Kratak pregled upotrebe uživo
Trake kvota dobavljača, Claude session/weekly ograničenja s poništavanjem odbrojavanja, 30-dnevna analiza troškova
🔄 Automatska ažuriranja na mjestu
Postepena instalacija, atomska zamjena, vraćanje na neuspjeh — uvijek na najnovijem izdanju
🚀 Pokreni pri prijavi
Opciono pokretanje pri prijavi; samo za ladicu, bez ikone priključne stanice
🩺 Doctor & logira
Dijagnostika jednim klikom i pristup zapisniku servera
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Želite li preuzimanje? Preuzmite najnoviji .dmg sa
Izdaje . Izvor, problemi i izrada
dokumenti uživo na zoispag/omniroute-tray.
💛 Projekt zajednice od @zoispag — nije službeno izdanje OmniRoute.
> Pored servera, OmniRoute je **potpuna komandna konzola** sa **više od 80 komandi**, kao i otvorenim protokolima za agente, tako da AI agent može njime upravljati **samostalno**.
### ⌨️ Pravi CLI (ne samo `start`)
```bash
omniroute # pokreni pristupnik + kontrolnu ploču (port 20128)
omniroute chat # interaktivni TUI klijent za razgovor (komande: /model /combo /skill /memory)
omniroute setup # vođeni čarobnjak za prvo pokretanje
omniroute doctor # dijagnosticiraj pružaoce usluga, portove i izvorne zavisnosti
```
### 🛰️ Udaljeni način rada — pokrenite CLI ovdje, a OmniRoute na VPS-u
OmniRoute je na serveru? Upravljajte njime sa svog laptopa koristeći **isti CLI**. Prijavite se jednom
pomoću pristupnog tokena ograničenog opsega; svaka komanda će se zatim izvršavati na udaljenom serveru.
```bash
omniroute connect 192.168.0.15 # lozinka → token ograničenog opsega, sačuvan kao kontekst
omniroute models # ← izvršava se na UDALJENOM serveru
omniroute configure codex # ← bira udaljeni model, zapisuje lokalni Codex profil
omniroute tokens create --name ci --scope read # kreiraj tokene užeg opsega za druge uređaje
omniroute contexts use default # ← prebaci se nazad na lokalni server
```
Tokeni imaju opseg `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**, **webhookova** ili **udaljenog CLI-ja** — svaki sposoban agent (ili vaš vlastiti kod) dobija pristup cijelom pristupniku: usmjeravanju, pružaocima usluga, kombinacijama, predmemoriji, kompresiji i memoriji — potpuno samostalno. HTTP krajnje tačke ispod dostupne su putem `http://localhost:20128`.
Interfejs
Krajnja tačka / komanda
Koristite 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/*
Kompatibilan s OpenAI-jem — razgovor, ugrađivanja, slike, zvuk, OCR
🔔 Webhookovi
/api/webhooks
Šaljite događaje zahtjeva / kvota na Slack, Discord, Telegram ili bilo koji URL
🛰️ Udaljeni CLI
omniroute connect
Upravljajte udaljenom instancom pomoću pristupnih tokena ograničenog opsega
```bash
# Omogućite Claude Codeu potpuni OmniRoute skup alata putem MCP-a:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP server](docs/frameworks/MCP-SERVER.md) · [A2A server](docs/frameworks/A2A-SERVER.md) · [Protokoli za agente](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Automatski uštedite 15–95% tokena
### 📖 Kako funkcioniše — cjevovod, arhitektura i računica uštede
Podrazumijevana složena kombinacija pokreće `RTK → Caveman`. Kada oba djeluju na istom alatu/kontekstualnom sadržaju, uštede se kumuliraju:
```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 su **uvijek zaštićeni** mehanizmom za očuvanje.
> **Zašto koristiti mnogo tokena kada nekoliko tokena završava posao?** Svaki zahtjev prolazi kroz OmniRouteov cjevovod kompresije **transparentno** — bez izmjena na klijentu. Sada je to **skup od 12 kompozabilnih mehanizama** koji se pokreću redom i mogu se kombinovati za svaku kombinaciju rutiranja — nadovezujući se na 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).
### 🧱 Složeni sistem od 12 mehanizama
Mehanizmi se pokreću redoslijedom cjevovoda; svaki se može nezavisno uključiti ili isključiti i konfigurisati za svaku kombinaciju:
#
Mehanizam
Šta radi
1
Session-Dedup
Uklanja sadržaj koji se ponavlja kroz različite poruke (adresirano sadržajem, kroz više poruka)
2
CCR
Arhivira velike blokove iza oznaka za preuzimanje, koji se dohvataju na zahtjev
3
Lite
Uklanjanje razmaka i skraćivanje URL-ova slika (osnovna opcija s malim kašnjenjem)
4
RTK
Pametno filtriranje rezultata alata, uklanjanje duplikata i skraćivanje (svjestan komandi)
5
Responses Tool Output
Kompresija JSON-a koja prvo čuva sadržaj, uz ograničenu dijagnostičku kompresiju izlaza ljuske/zakrpe/pretrage/izgradnje (Responses API)
6
Headroom
Kompaktiranje JSON nizova u tabelarnom obliku bez gubitaka (~30%) pomoću ugrađenog GCF kodeka
7
Relevance
Ekstraktivno rangiranje rečenica u odnosu na posljednji korisnički upit
8
Caveman
Kompresija proze zasnovana na pravilima (~65–75% izlaza)
9
Aggressive
Sažimanje i progresivno starenje starih poruka
10
LLMLingua-2
Semantičko uklanjanje pomoću ML-a putem MobileBERT ONNX — sigurno za kod, asinhrono
11
Ultra
Heurističko uklanjanje tokena uz opcioni nivo malog modela (SLM)
12
OmniGlyph
Eksperimentalno kodiranje konteksta kao slike za izmjereni Claude Fable 5 na direktnoj Anthropic vezi; GPT 5.6 transformatori ostaju zatvoreni u slučaju neuspjeha dok se ne dobiju potvrde pružaoca. Četiri profila kompresije (podrazumijevano agresivni, uravnoteženi, sigurni za kodiranje, prolazni) (najagresivniji; uključuje se po izboru)
Blokovi koda, URL-ovi i strukturirani podaci su **uvijek očuvani bajt po bajt**. **Unaprijed podešene opcije jednim klikom** kombinuju mehanizme:
Režim
Ušteda
Najbolje za
🪶 Lite
~15%
Sigurna podrazumijevana opcija koja je uvijek uključena
🪨 Standard (Caveman)
~30%
Svakodnevno programiranje
⚡ Aggressive
~50%
Duge sesije s mnogo alata
🔥 Ultra
~75%
Maksimalna ušteda
🧰 RTK
60–90%
Izlaz ljuske/testiranja/izgradnje/git-a
🔗 Stacked (RTK → Caveman)
78–95%
Kombinovani upiti i dnevnici alata
**Stvarni primjer — standardni režim:**
> **Prije (69 tokena):** _"Razlog zbog kojeg se vaša React komponenta ponovo iscrtava vjerovatno je to što pri svakom ciklusu iscrtavanja kreirate novu referencu objekta. Kada proslijedite ugrađeni objekat kao svojstvo, Reactovo plitko poređenje ga svaki put vidi kao drugi objekat, što pokreće ponovno iscrtavanje. Preporučio bih upotrebu useMemo za memorisanje objekta."_
>
> **Poslije (19 tokena):** _"Nova referenca objekta pri svakom iscrtavanju. Ugrađeno svojstvo objekta = nova referenca = ponovno iscrtavanje. Umotajte u useMemo."_
>
> **Isti odgovor. 72% manje tokena. Bez gubitka preciznosti.** ✅
**PT-BR primjer — režim [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prije (42 tokena):** _"Problem je u tome što se komponenta ponovo renderuje jer se u svakom ciklusu renderovanja kreira nova referenca objekta. Preporučio bih korištenje useMemo."_
>
> **Poslije (12 tokena):** _"Ponovno renderovanje: nova referenca u svakom ciklusu (inline objekat ponovo kreiran). Koristiti `useMemo`."_
>
> **Isti odgovor. ~70% manje tokena. Tehnička preciznost očuvana.** ✅
### 🎚️ Iza mehanizama — stilovi izlaza, adaptivni regulator i kontrola po zahtjevu
Navedenih 12 mehanizama smanjuje ono što **ulazi**. Još tri sloja oblikuju **kako**, **kada** i šta **izlazi**:
- **🪄 Stilovi izlaza** _(usmjeravanje ose izlaza)_ — ubacuju determinističke instrukcije za oblikovanje odgovora, sigurne za keširanje; mogu se kombinovati, a svaki je dostupan na intenzitetima `lite` / `full` / `ultra`. Dodavanje stila je unos u registar u jednom redu:
- **Sažeta proza** — ukloniti popunjavanje / članove / ograđivanje; zadržati tehnički sadržaj potpuno preciznim.
- **Manje koda** — YAGNI pristup „lijenog senior developera“: najmanja funkcionalna izmjena, bez nepotražene infrastrukture.
- **Konjski rep (lijeni senior developer)** — popeti se YAGNI ljestvicom, otkloniti osnovni uzrok, najmanji funkcionalni diff.
- **Imam ADHD (akcija na prvom mjestu)** — sljedeća akcija je na početku, koraci su numerisani, jedan konkretan sljedeći korak, bez uvoda.
- **Sažeti CJK (文言)** — ultrasažeti stil klasičnog kineskog jezika (ograničen na lokalizaciju `zh`).
- **🎯 Adaptivni budžet konteksta** _(regulator)_ — umjesto jednog praga tokena koji je uključen ili isključen, eskaliraju se najjeftiniji mehanizmi s najmanjim gubitkom samo onoliko koliko je potrebno da se sadržaj **uklopi u prozor konteksta modela**. Pravila: `reserve-output` (podrazumijevano, prilagođeno modelu) · `percentage` · `absolute`. Režim: `floor` (garantuje uklapanje) · `replace-autotrigger` (vaš izričiti izbor ima prednost) · `off` (naslijeđeni prag).
- **🎛️ Gdje se odlučuje kompresija** _(prioritet, od višeg ka nižem)_ — zaglavlje po zahtjevu `x-omniroute-compression` › premošćavanje kombinacije rutiranja › aktivni imenovani profil › adaptivni / automatski okidač › podrazumijevana vrijednost panela › isključeno. Primijenjeni plan se vraća u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Pokrenite automatski okidač prema pragu tokena, uključite adaptivni regulator, zakačite imenovani profil, postavite jednokratnu vrijednost po zahtjevu ili dodijelite cjevovod svakoj kombinaciji rutiranja — šta god najbolje odgovara radnom opterećenju. Opcionalni offline **okvir za evaluaciju** (`npm run eval:compression`) procjenjuje vjernost u odnosu na uštedu na fiksiranom korpusu prije nego što promovišete izmjenu.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Brzi početak
**1) Instalirajte i pokrenite**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidite `npm warn ERESOLVE` ili upozorenja o peer zavisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Koristite npm 11 ili noviji?** npm može blokirati skripte životnog ciklusa paketa dok im ne dozvolite izvršavanje. OmniRouteov `postinstall` (`node scripts/build/postinstall.mjs`) potreban je za pripremu izvornih datoteka runtime okruženja. Prilikom globalne instalacije dozvolite pakete navedene u npm upozorenju. Za skup paketa koji prijavljuje OmniRoute 3.8.54:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Da biste ovu listu dozvola ponovo koristili pri budućim globalnim instalacijama, jednom je konfigurišite, a zatim instalirajte uobičajeno:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Lista zavisnosti može se promijeniti između izdanja; ako npm prijavi drugačiju listu, koristite nazive paketa iz tog upozorenja. Dozvoljavanje paketa omogućava izvršavanje njegovih instalacijskih skripti.
> **Koristite Gemini Web ili drugog pružaoca koji koristi web kolačiće?** npm paket uključuje
> Playwright, ali ne i njegov Chromium binarni fajl. Pogledajte bilješku
> [Postavljanje Playwright Chromiuma](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> prije slanja prvog zahtjeva web-pružaocu.
Kontrolna tabla na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Povežite podržanog pružaoca koristeći vlastiti račun**
Kontrolna tabla → **Pružaoci** → odaberite pružaoca čiji trenutni uslovi i kvota odgovaraju vašem slučaju upotrebe → dodajte njegov API ključ ili dovršite postupak za račun. Besplatni nivoi mogu zahtijevati registraciju, odobrenje ili način plaćanja. Pregledajte [Vodič kroz besplatne nivoe](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez ključa nije zagarantovana, a pružaoci označeni sa `tos: avoid` podrazumijevano su isključeni iz `auto`.
**3) Usmjerite svoj alat za programiranje**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Provjerite da li radi**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebalo bi da vidite navedene povezane modele. 🎉 To je sve — počnite programirati, a OmniRoute će automatski usmjeravati zahtjeve i prebacivati se na rezervne opcije umjesto vas.
Ako vaš klijent ne može slati prilagođena zaglavlja, OmniRoute takođe nudi tokenizirane pseudonime za kompatibilnost:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Koristite ih samo za klijente koji ne mogu dodati `Authorization: Bearer ...`. Autentifikacija putem zaglavlja ostaje preporučeni režim.
## 📦 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 `main`. Fiksirajte `:X.Y.Z` za GitOps. Pogledajte [Docker kanale izdanja](docs/guides/DOCKER_GUIDE.md#release-channels). Slika postavlja **`OMNIROUTE_MEMORY_MB=1024`**. To je dovoljno za kontrolnu ploču i lagani razgovor. **Agenti za programiranje** (`POST /v1/responses` iz Claude Codea, Codexa, Groka, …) zahtijevaju znatno veću V8 gomilu ili će proces prijaviti `FATAL ERROR` na približno 12 GiB pri dva preklapajuća duga konteksta. Dodijelite kontejneru više memorije od veličine gomile (izvorni međuspremnici nalaze se izvan V8):
| Radno opterećenje | Gomila (`-e OMNIROUTE_MEMORY_MB`) | Kontejner (`--memory`) |
| ------------------------------------ | --------------------------------- | ---------------------- |
| Kontrolna ploča / lagani razgovor | `1024` (zadana vrijednost slike) | ≥2 g |
| Jedan agent za programiranje | `8192` | ≥10 g |
| Dva istovremena 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
```
Kompletna tabela: [Docker vodič — RAM za vrijeme izvođenja](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker kanal za predizdanja:** `diegosouzapw/omniroute:next` i
> `diegosouzapw/omniroute:next-web` prate trenutnu zadanu `release/v*`
> granu. Ove promjenjive oznake namijenjene su samo za testiranje neobjavljenih ispravki i
> **nisu podržane za produkciju**. Pogledajte
> [Docker 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 Bun izvršnog okruženja:
- **Ugrađeni `bun:sqlite`**: OmniRoute koristi Bunov ugrađeni upravljački program `bun:sqlite` kada se izvršava u Bunu, uz rezervni prelazak na `better-sqlite3` u Node.js-u ili na `sql.js`.
- **Automatski odabir Webpack alata za objedinjavanje u razvojnom okruženju**: Razvoj (`bun run dev`) automatski otkriva Bun i onemogućava Turbopack u korist Webpacka kako bi spriječio nekompatibilnosti izvornih V8 povezivanja. Produkcijske izgradnje (`bun run build`) tačno slijede `OMNIROUTE_USE_TURBOPACK`, kao i na Nodeu: Turbopack je zadan, a `OMNIROUTE_USE_TURBOPACK=0` omogućava izgradnju pomoću Webpacka (`Dockerfile.bun` ga izlaže kao `--build-arg`).
- **Namjenski Bun Dockerfile**: Višefazni `Dockerfile.bun` za izvorne Bun produkcijske implementacije (`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
# Korištenje Nix flakesa
nix develop
npm run dev
# Ili korištenje devboxa
devbox run npm run dev
```
📖 [Docker vodič](docs/guides/DOCKER_GUIDE.md) — Compose profili, Caddy HTTPS, Cloudflare tuneli.
**🦭 Podman**
```bash
# 1. Pripremite direktorij podataka montiran povezivanjem
mkdir -p data
# 2. Samo Linux + lokalni rootless Podman (nikada udaljeni klijent za Podman Machine):
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 macOS-u ili Windowsu Podman koristi 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 izgradnje, Podman Machine i
postavljanje Linux/systemd Quadleta.
**⚡ Brža / jednostavnija instalacija (preskočite izvornu izgradnju)**
Izvorni SQLite mehanizam (`better-sqlite3`) **neobavezna** je zavisnost, pa globalna
instalacija nikada ne čeka kompiliranje iz izvornog koda: koristi unaprijed izgrađenu binarnu datoteku kada ona odgovara
vašoj platformi/Nodeu, a u suprotnom neprimjetno prelazi na čisti JS mehanizam
(`node:sqlite` na Nodeu 22+, inače na uključeni `sql.js` WASM) — nisu potrebni alati za izgradnju.
Da biste u potpunosti preskočili **izvorno zagrijavanje** nakon instalacije (CI, sistemi bez grafičkog sučelja ili spori računari).
Napomena: ovime se preskače samo korak zagrijavanja izvornog SQLitea (`scripts/postinstall.mjs`);
skripta za kopiranje/popravku binarne datoteke (`scripts/build/postinstall.mjs`) i dalje se normalno izvršava:
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 ga također preskače
```
Za najbrže instalacije koristite **pnpm** (spremište adresirano sadržajem + tvrde veze — pogledajte iznad).
Za izvršno okruženje bez kontrolne ploče i grafičkog sučelja koristite Docker profil `base` (iznad) ili
[Termux vodič](docs/guides/TERMUX_GUIDE.md). CLI i web-kontrolnu ploču poslužuje
isti proces na jednom portu, pa trenutno ne postoji zaseban paket samo za CLI.
Strategija pokrivenosti testovima za više od 60,000 statičkih deklaracija testova kroz više od 8,400 praćenih datoteka testova
# ⭐ Najvažniji doprinosioci
> OmniRoute oblikuje strastvena zajednica otvorenog koda. Ove osobe dale su izuzetne doprinose koji direktno utiču na kvalitet, stabilnost i doseg projekta. **Hvala vam.**
### Vanjski doprinosioci prema spojenim pull requestovima
Popis je napravljen 2026-11-03 03:01:19 UTC, uz aktuelni vrh release/v3.8.53 grane 05bc048d6c. Paginirani GitHub GraphQL popis sadrži 9,947 spojenih PR-ova: 4,130 autora repozitorija, 240 servisa Dependabot, 6 drugih botova/aplikacija i 5,571 vanjski PR od 883 različita doprinosioca. „Izmijenjeni redovi“ predstavljaju GitHubove dodatke + brisanja i uključuju generisane datoteke, lockfileove, kataloge, prevode i dokumentaciju; to je količina izmjena, a ne autorski LOC. Za 53 PR-a GitHub prikazuje razlike veće od 500,000 redova (naprimjer, #13399, jedno dodavanje provajdera, navodi 2,347 izmijenjenih datoteka), što povećava nekoliko gornjih ukupnih vrijednosti. Jednaki rezultati rangirani su zajedno.
### Komitovi pripisani GitHubu
Ponovo provjereno 2026-11-03 02:09:16 UTC: commitovi koje je GitHub pripisao, a koje je prijavio Contributors API repozitorija za zadanu granu release/v3.8.53. API je vratio 903 identiteta (429 korisnika, 2 bota, 472 anonimna identiteta); ova tabela isključuje održavaoca, botove i anonimne identitete te zadržava izjednačene rezultate. Razlikuje se i od rangiranja iznad prema spojenim PR-ovima i od popisa u nastavku zasnovanog na Git metapodacima.
> 🙏 Funkcionalnosti, ispravke grešaka i poboljšanja infrastrukture ovih saradnika **ključni su dio** onoga što OmniRoute čini pouzdanim i bogatim funkcionalnostima. Svaki pull request, svaki testni slučaj i svaka i18n datoteka za prevođenje su važni. Otvoreni kod stvaraju ljudi poput njih.
---
## 💖 Sponzori
Od srca hvala ljudima koji finansiraju OmniRoute iz vlastitog džepa — svaki doprinos pomaže da projekat ostane besplatan, nezavisan i da nastavi napredovati.
… i ostali koji žele ostati privatni 💛Javni GitHub sponzori ponovo su provjereni 2026-10-18 putem GitHub Sponsors GraphQL API-ja: 11 javnih sponzorstava (6 aktivnih, 5 ranijih) od ukupno 14. GitHubov status isActive određuje gornje oznake aktivnih sponzora; ranijim javnim jednokratnim podržavaocima i dalje se zahvaljujemo, dok privatni sponzori ostaju anonimni. Donacije putem servisa Ko-fi, Buy Me a Coffee, Liberapay, PIX i kriptovaluta nisu navedene jer za njih ne postoji javni zapis o sponzoru.💖 Postanite sponzor → — svaki dolar pomaže da OmniRoute ostane besplatan i nezavisan.
## 👥 1.000+ Saradnika
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revidirano 2026-11-02. na aktivnom vrhu release/v3.8.53 grane 1c7135e0fb (7.972 commita): 1.074 normaliziranih ljudskih Git identiteta — 759 se pojavljuje kao autori commita (uključujući održavaoca), a 315 samo u eksplicitnim Co-authored-by dodacima. Popis primjenjuje .mailmap, poredi adrese e-pošte bez obzira na velika i mala slova, objedinjuje numeričke i obične GitHub noreply adrese samo kada kodiraju isto korisničko ime, isključuje 29 identiteta botova/agenta/servisa/rezerviranih vrijednosti i ne objedinjuje obične adrese e-pošte samo zato što im se prikazana imena podudaraju. Revizija od 2026-08-24. objavila je broj 639; ponovnim pokretanjem ove metode nad osnovom te revizije ac02c5b42f dobija se 619, tako da povećanje dolazi od novih saradnika, a ne od blaže metode.
### Kako doprinijeti
1. Napravite fork repozitorija
2. Kreirajte granu iz vrha **aktivne** grane `release/vX.Y.Z` (ne iz grane `main`) — pogledajte [Model grananja i izdanja](docs/ops/BRANCHING_MODEL.md)
3. Kreirajte svoju granu funkcionalnosti (`git checkout -b feat/amazing-feature`)
4. Commitujte promjene (`git commit -m 'feat: add amazing feature'`)
5. Pošaljite promjene na granu (`git push origin feat/amazing-feature`)
6. Otvorite Pull Request sa **osnovom = tom granom** `release/vX.Y.Z`
Pogledajte [CONTRIBUTING.md](CONTRIBUTING.md) za detaljne smjernice.
### Objavljivanje nove verzije
```bash
# Kreirajte izdanje — npm publish se izvršava automatski
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 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 odatle je svaki podsistem u nastavku inspirisan open-source projektom koji je prvi stigao do tog rješenja. Svaki od njih oblikovao je konkretan dio OmniRoutea. Ovo je naša zahvala svima njima. 🙏
> ⭐ broj zvjezdica provjeren putem GitHub REST API-ja 3. novembra 2026. — dajte ovim projektima zvjezdicu. Brojevi predstavljaju tačan snimak stanja na navedeni datum i prirodno će se mijenjati.
### 🧬 Porijeklo i gateway
AI gateway čiji javni skup podataka o cijenama pokreće našu sinhronizaciju praćenja troškova i čiji je model normalizacije pružalaca usluga usmjerio naše rutiranje.
MIT izvor prilagođen ugrađenom mostu ChatGPT Web → Codex Responses, uključujući adaptere za sesiju pregledača, uokvirivanje odgovora, korištenje i web-pretragu.
Obrasci preneseni u oporavak toka, aliasе bez razmišljanja, rezervnu web-pretragu, ograničenja kliznog prozora, uklanjanje osjetljivih podataka iz zapisa i učvršćene tokove pokretača.
Podrazumijevane vrijednosti transformacije kompatibilne s Claude Codeom i ponašanje zaglavlja za naplatu uopšteni su u OmniRouteov most zasnovan na konfiguraciji.
Njegova mapiranja Grok modela, Statsig generator lažnog TypeError-a, podrazumijevane vrijednosti zahtjeva i uređaja te procesor NDJSON odgovora materijalno su prilagođeni u OmniRouteov izvršavač Grok Web.
Glavni tranzitivni izvor koda iza projekta grok2api-merged; njegove implementacije modela, zaglavlja, korisnog sadržaja, Statsiga i procesora sačuvane su u porijeklu Grok Weba.
Osnovni MIT izvor za podrazumijevane vrijednosti Grok korisnog sadržaja i uređaja, Statsig generator i procesor result.response prenesen kroz TQZHR i grok2api-merged.
Tranzitivni izvor koji grok2api-merged navodi za svoj sloj skupa proxy servera; OmniRoute čuva tu napomenu o porijeklu, ali ne tvrdi da je prenio skup proxy servera u svom ograničenom izvršavaču Grok Web.
Izvorna implementacija Grok Weba poslužila je kao referenca za dizajn HTTP/browser upstreama; njen direktni HTTP put izveden je iz GrokProxyja, pa se ne tvrdi da je kod nezavisno prenesen.
Viralni projekat „why use many token when few token do trick“ — njegova filozofija govora pećinskog čovjeka pokreće naš standardni režim kompresije i više od 30 pravila za uklanjanje/sažimanje popunskih riječi.
Vještina viralnog „lijenog senior developera“ koji piše YAGNI kod — inspirisala je naš stil izlaza less-code: usmjeravanje ka najmanjoj funkcionalnoj promjeni koja smanjuje _generisani_ kod (srodnik Cavemanovog sažetog proznog izraza na osi izlaza).
Kompresija izlaza svjesna sadržaja, po tipu datoteke, uz odustajanje u slučaju neuspjeha — potvrdila je naše usmjeravanje po tipu i preskakanje kada je dobitak minimalan.
Kolonarski JSON u Rustu + preuzimanje adresirano sadržajem + deduplikacija kroz poruke — potvrdili su naš dizajn enginea headroom/ccr/session-dedup i invarijantu stabilnosti keša „kompresovani oblik nezavisan je od pozicije“.
Alatni komplet TypeScript Compiler API-ja — inspirisao je naše uklanjanje komentara zasnovano na parseru, koje čuva stringovne, predloške i regex literale.
MITM presretanje i analiza saobraćaja između pomoćnika za programiranje i LLM-a uticali su na rane zahtjeve za Traffic Inspector. Četiri prethodno izvedena modula — spajanje SSE tokova, normalizacija razgovora, maskiranje tajni i sanitizacija zaglavlja — zamijenjene su nezavisnim implementacijama iz čistog okruženja, zasnovanim na javnim standardima protokola. Dvije površine za prosljeđivanje hosta (passthrough.ts i _internal/bypass.cjs) ostaju interne implementacije OmniRoute-a, klasifikovane nezavisno; nisu ponovo napisane u okviru te zamjene.
Transparentno usmjeravanje proksija po procesu — inspirisalo je naše MITM gašenje otporno na pad sistema, vremenska ograničenja neaktivnosti utičnica, atribuciju procesa putem /proc i TPROXY hvatanje.
### 📚 Podaci o modelima, observabilnost i korisnički interfejs
Observabilnost Istio servisne mreže — inspirisala je naše oznake prekidača kola i vizuelne prikaze ivica grešaka u Studiju za usmjeravanje/kombinovanje.
Odabrana lista biblioteka sigurnih prema podrazumijevanim postavkama koja usmjerava naše sigurnosne izbore (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Njegovo premapiranje modela svjesno naloga, validacija putanja izvršnih datoteka i ponašanje oznaka planova uticali su na OmniRoute-ovo Antigravity okruženje za izvršavanje.
Identifikovao je površinu kvote za Grok Build; OmniRoute je zatim nezavisno provjerio i ispravio aktivni format komunikacije.
## 📄 Licenca
MIT licenca - pogledajte [LICENSE](LICENSE) za detalje.
---
**[⬆ Nazad na vrh](#-omniroute)** · Izrađeno s ❤️ za open-source AI zajednicu.
Kreirao Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · MIT licenca · omniroute.online