> Ručno kombinovanje besplatnih nivoa je mukotrpno — deseci SDK-ova, deseci ograničenja brzine i nikakva predstava o tome koliko zapravo imate. OmniRoute katalogizira **489 stavki besplatnih nivoa raspoređenih u 35 ključeva periodičnih skupova** i izračunava istaknuti broj tokena na osnovu **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 (trenutno: ModelScope) prikazane su zasebno, +~6M iza regionalne provjere identiteta, i nikada se ne pribrajaju istaknutom broju. Rezultat ostaje vidljiv na kontrolnoj ploči (`/dashboard/free-tiers`).
> Animirani sažetak aktivne stranice `/dashboard/free-tiers`. Potpuna metodologija (uklanjanje duplikata skupova, nivoi kredita, uslovi pružalaca): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Ove brojke ponovo provjeravamo svake dvije sedmice prema aktivnom katalogu i one se **mijenjaju u oba smjera** — ako pružalac ukine besplatni nivo, broj se smanjuje; ako se pojavi novi, broj raste. Objavljujemo ono što katalog stvarno izračuna, nikada zaokruženi najbolji mogući slučaj.
⭐ Dodijelite 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žavaoca — prvi saznajte za nove pružaoce, 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žaocima, 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.49 | **v3.8.50** | `v3.8.51+` |
| ---------------------------------- | :-----: | :--------------------------: | :--------------: |
| 🌐 Pružaoci usluga | 290 | **357** | još ih je u redu |
| 🧠 Jedinstveni ID-jevi chat modela | 1185 | **1312** | — |
| 🖼️ Most modaliteta | — | 🆕 slika + zvuk + videozapis | — |
| 📡 Besplatni Radar katalog | — | 🆕 po izboru korisnika | — |
| ⚖️ Raspoređivanje prema kvoti | — | 🆕 Quota-Share | — |
| 📊 Telemetrija kvota | — | 🆕 uživo | — |
**→ [Plan razvoja](ROADMAP.md) — na putu prema `v3.9.0 LTS`**
## 🆓 Radi čim ga instalirate — bez ključeva, bez konfiguracije
```bash
# Svježa instalacija, nula akreditiva — 'auto' već radi:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Preferirate specifični besplatni backend? Pozovite `oc/…` (OpenCode Free) direktno. Zatim pređite na `auto` i pustite OmniRoute da odabere.📦 Kopirajte i zalijepite skripte za brzi početak 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 — Glavna funkcionalnost
> **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 prijeći na sljedeći odgovarajući model koji ispravno radi. 🛡️
### ⚡ Bez konfiguracije — samo koristite `auto`
Ne morate kreirati kombinaciju. Postavite svoj model na `auto` (ili neku varijantu) i OmniRoute će od vaših povezanih pružalaca usluga izgraditi virtualnu kombinaciju, ocijenjenu u stvarnom vremenu:
🧪 Ponderi za ubrizgavanje grešaka radi testiranja otpornosti (inženjering haosa)
##
### 🔀 Ili izradite vlastitu — 19 strategija usmjeravanja
Svih **19** strategija — kombinirajte ih po želji za svaki korak kombinacije:
#
Strategija
Šta radi
1
priority
Uređena lista s prvim ciljem kao prioritetom — iscrpite svaki prije prelaska na sljedeći 🥇
2
fill-first
U potpunosti iskoristite kvotu svakog cilja prije prelaska na sljedeći
3
weighted
Ponderirani nasumični odabir prema ponderu svakog cilja
4
round-robin
Kružite kroz ciljeve redom
5
p2c
Nasumično balansiranje opterećenja metodom izbora između dvije opcije
6
least-used
Odaberite cilj s najnižim trenutnim opterećenjem
7
random
Ravnomjeran nasumični odabir (bez duplikata)
8
strict-random
Nasumični odabir bez uklanjanja ponavljanja 🎲
9
cost-optimized
Minimizirajte $ po zahtjevu na osnovu aktuelnih cijena iz kataloga 💸
10
headroom
Odaberite cilj s najvećom preostalom kvotom
11
reset-window
Dajte prednost cilju čiji se period kvote najranije resetuje
12
reset-aware
Rangirajte prema vremenu resetovanja kvote — prvo kratki periodi 📊
13
context-relay
Prosljeđujte kontekst između ciljeva za duge razgovore 🧠
14
context-optimized
Odaberite opciju koja najbolje odgovara trenutnoj veličini konteksta
15
cache-optimized
Vežite svaki višekratno upotrebljivi prefiks upita za isti račun — maksimizirajte pogotke keša upita 🎯
16
lkgp
Posljednja poznata ispravna putanja — veže se za posljednjeg uspješnog pružaoca usluge, a zatim se vraća na pravila
17
auto
Ocjenjivanje u stvarnom vremenu prema 16 faktora za svaku vezu 🤖
18
fusion
Šalje zahtjev panelu modela, a sudijski model sintetizira jedan odgovor 🧬
19
pipeline
Lančano povezuje korake — izlaz svakog cilja prosljeđuje se sljedećem 🔗
Mehanizam Auto-Combo ocjenjuje svakog kandidata prema **16 faktora** (ispravnost, 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)
📖 [Mehanizam automatskog kombinovanja](docs/routing/AUTO-COMBO.md) · [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Šta izdvaja OmniRoute
📊 Potpuna metodologija & detalji po funkciji u poređenju sa 9router, OpenRouter, CLIProxyAPI & 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
> Nedavno istaknute novosti od **v3.8.20 → v3.8.50**. Cjelokupna historija nalazi se u [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — dolazna A2A delegacija vašoj floti agenata, Conductor vještine na kartici agenta i panel kontrolne ploče s Faro glasovnim razgovorom uz pritisak za govor. → [A2A server](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljiv prijem i zaštita od preopterećenja** — zahtjevni zahtjevi za razgovor stavljaju se u red čekanja umjesto da vraćaju grešku 503, uz atomske klizne RPM zakupe po vezi. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonski redoslijed za `/v1/models`** — jedan neprekinuti blok grupisan po pružaocu za svakog pružaoca (kombinacije su prikvačene na početak), stabilan u svim izvorima kataloga. → [API referenca](docs/reference/API_REFERENCE.md)
- **🗜️ Ojačana kompresija** — zaštita od prekomjerne dekompresije podrazumijevano je uključena, Caveman paketi za DE / FR / JA + kineski (wényán), RTK filteri za Gradle i .NET. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Transparentan fiksni trošak** — pružaoci pretplatničkih / programerskih planova prikazuju **$0** u analitici troškova; budžet, kvota i usmjeravanje nastavljaju s procjenama. → [API referenca](docs/reference/API_REFERENCE.md)
- **⚖️ Usmjeravanje prema udjelu kvote** — pravedno dijeli kvotu zajedničkog računa između grupisanih ključeva, uz očuvanje iskorištenosti tako da se neaktivni udjeli ustupaju drugima. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Postavljanje CLI-ja/agenta jednom naredbom** — 13 registrovanih `setup-*` naredbi; `omniroute run` pokreće 7 CLI-jeva (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 10 odredišta s interaktivnim biračem pružaoca i modela te favoritima za svaki kontekst. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Udaljeni način rada** — upravljajte udaljenim OmniRouteom pomoću tokena ograničenog opsega (`connect` / `contexts` / `tokens`) i OAuth pomoćnika `antigravity` za VPS instalacije. → [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnije automatsko usmjeravanje** — kombinacije `auto/:`, **Fusion** (panel modela + ocjenjivač), usmjeravanje prilagođeno zadatku te nadjačavanja modela / načina rada / USD budžeta za svaki zahtjev. → [Automatska kombinacija](docs/routing/AUTO-COMBO.md)
- **🗜️ Proširiva kompresija** — 12 kombinabilnih mehanizama + Compression Studios: LLMLingua-2, dvostepeni Ultra, omniglyph, provjera vjernosti za svaki korak, GCF v3.2, uređivač za promjenu redoslijeda povlačenjem. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifriranje (TPROXY)** — presreće CLI-jeve koji zanemaruju varijable okruženja za proxy, uz CA za svaki SNI i instalacijski program za spremište pouzdanih certifikata. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija troškova svuda** — zaglavlja troškova/upotrebe `X-OmniRoute-*` na svakoj krajnjoj tački, zaglavlje uštede pri pogotku u keš i USD kvote potrošnje za svaki ključ. → [API referenca](docs/reference/API_REFERENCE.md)
- **🧠 Memorija kojom vi upravljate** — podrazumijevano isključena, opcionalna int8 kvantizacija vektora + tipizirano opadanje, `x-omniroute-no-memory` za svaki zahtjev. → [Memorija](docs/frameworks/MEMORY.md)
- **🛡️ Sigurnost** — zaštita od ubacivanja u upit na svakoj LLM ruti (paket testova protivničkih napada), opcionalna zaštita za maskiranje pristupnih podataka (rediguje procurjele API ključeve/tajne u oba smjera), besplatna DuckDuckGo web-pretraga kao posljednja opcija i opcionalna OIDC prijava za kontrolnu 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) zaokružuju podršku za medije. → [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 te pružaoci govora kao što je ElevenLabs. → [API referenca](docs/reference/API_REFERENCE.md)
- **🌍 Implementacija i operacije** — `basePath` obrnutog proxyja, automatsko otkrivanje jezika preglednika, praćenje uređaja za svaki ključ, MITM pouzdani certifikati 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 preglednikom + OAuth prijavom, prvoklasna kartica za Ollama, Claude Opus 5 i Sonnet 5, službeno partnerstvo s Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… i osvježeni **katalog od 352 pružaoca**. → [Pružaoci](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Transparentnost usmjeravanja** — svaki odgovor sadrži zaglavlje `X-OmniRoute-Decision` koje navodi strategiju/pružaoca/latenciju korištenu za odgovor, nova strategija kombinovanja `cache-optimized` + faktor Auto-Combo `cacheAffinity` usmjerava ponovljene zahtjeve nazad na vezu koja čuva keširani prefiks, a krajnja tačka samo za čitanje `/v1/auto-combo/{channel}/candidates` izlaže aktivni skup kandidata kanala `auto/*`. → [Automatska kombinacija](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, alati za implementaciju releja za 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 dodataka + trgovina, okviri Omni/Agent/GitHub vještina, integracija s Obsidian trezorom (22 MCP alata), OpenAI-kompatibilni Batch i Files API-ji, semantički keš odgovora, gejmifikacija s rang-listama, otkrivanje ACP agenata (15 ugrađenih agenata), zakazani izvoz zapisnika u BigQuery, ubrizgavanje grešaka `auto/chaos`, Telegram botski most, upravitelj verzija unutar aplikacije i LMArena-ELO rangiranje besplatnih pružalaca. → [Dokumentacija](docs/README.md)
## 🤖 Kompatibilni CLI alati i agenti za programiranje
> Jedna konfiguracija — `http://localhost:20128/v1` — i **svaki** AI IDE ili CLI radi na besplatnim i povoljnim modelima.
+ također radi s · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bilo kojim alatom kompatibilnim s OpenAI-jem
📖 Postavljanje po alatu za svih 36 alata (26 CLI Code alata + 10 CLI agenata) → [`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 OmniRoutea jednom naredbom** — bez zapisivanja konfiguracijskih datoteka,
vjerodajnice se umeću zasebno za svaki proces, a Qwen/Gemini dobijaju privremeni izolovani početni 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 interaktivno odaberite pružaoca 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 koristi aktivni udaljeni kontekst (`omniroute connect `), `--dry-run`
prikazuje tačne varijable okruženja/argumente bez izvršavanja, a `--api-key-env NAME` sprječava
da se tajne zabilježe u historiji komandne ljuske. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 AI pružalaca — 152 označena kao besplatna u katalogu
> **357 registrovanih pružalaca** u kanonskim kolekcijama za razgovor, medije, pretragu, lokalne modele, agente u oblaku i sistem, uključujući **152 pružaoca s metapodacima za otkrivanje `hasFree: true`**. Registar modela za razgovor obuhvata **229 pružalaca / 2.554 različita para pružalac-model / 1.283 neobrađena ID-a modela**; zasebni katalog besplatnih kvota ima **491 red po modelu**, **35 obnavljajućih fondova** i **54 obnavljajuća pružaoca ili pružaoca bez ključa koji su trajno besplatni**. Ovi nazivnici su namjerno različiti; definicije i proračuni s uklonjenim duplikatima fondova nalaze se u dokumentima [Referenca pružalaca](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š 330+ — svaka ikona se učitava uživo iz kataloga pružalaca na kontrolnoj ploči. 📖 [Referenca pružalaca](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Zauvijek besplatno — $0, bez kartice
OpenCode Zen DeepSeek V4, Nemotron 3 Bez ograničenja tokena
Kilo Code Automatsko usmjeravanje, Tencent Hy3 Zauvijek besplatno
### 🧩 Novo: OmniRoute unutar izvornog VS Code Copilot Chata
> Bez nove bočne trake i bez novog interfejsa za razgovor — svaki model koji OmniRoute pruža pojavljuje se direktno u
> **biraču modela Copilot Chata koji već koristite**. Od verzije VS Code 1.122, modeli pružatelja usluga rade
> bez prijave na GitHub ili pretplate na Copilot — agentski način rada, pozivanje alata i vizuelne mogućnosti,
> besplatno.
Instalirajte proširenje **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, usmjerite ga
na svoj OmniRoute server (zadana vrijednost je `localhost:20128`), zatim otvorite Copilot Chat → birač modela
→ **Upravljanje modelima…** → **OmniRoute**.
Unutar uređivača: otvorite prikaz **Proširenja**, potražite **„OmniRoute”**, kliknite **Instaliraj**
— radi na isti način u obje trgovine. Izvorni kod, prijave problema i vodič za objavljivanje nalaze se na
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Vodič za VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — postavljanje, šta birač prikazuje, kontrolna tabla u kartici, rješavanje problema
### 🎩 Novo: OmniRouteTray — vaš pristupnik koji živi u traci menija
> `omniroute serve` najbolje radi kada je uvijek uključen. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> to pretvara u macOS aplikaciju u traci menija koju jednom postavite i zaboravite: pokreće server, održava ga aktivnim
> nakon ponovnih pokretanja, ažurira ga na mjestu i omogućava pristup trenutnom budžetu tokena jednim klikom — **bez
> otvorenog prozora terminala i bez potrebe da nadgledate `npm install -g omniroute`.**
Izgrađen pomoću [Tauri v2](https://v2.tauri.app/) (Rust jezgra zanemarive veličine), isporučuje se
s vlastitim potpisanim Node 24 izvršnim okruženjem i upravlja instalacijom OmniRoutea u vlasništvu aplikacije, tako da nikada nije u sukobu s vašim
globalnim `node`/`bun`. **Dijeli vašu postojeću konfiguraciju i bazu podataka u `~/.omniroute/`** — tako da je to
isti OmniRoute koji već koristite, samo sa šeširom. 🎩
Šta radi
Kako
🟢 Nadzire server
Pokreće omniroute serve i preuzima već pokrenutu instancu umjesto da je duplicira
📊 Pregled korištenja uživo
Trake kvota pružatelja usluga, ograničenja Claude sesije/sedmice s odbrojavanjem do poništavanja, pregled troškova za 30 dana
🔄 Automatski se ažurira na mjestu
Postepena instalacija, atomska zamjena, vraćanje prethodne verzije u slučaju greške — uvijek na najnovijem izdanju
🚀 Pokretanje pri prijavi
Opcionalno pokretanje pri prijavi; samo u traci menija, bez ikone na docku
🩺 Dijagnostika i zapisnici
Dijagnostika jednim klikom i pristup zapisnicima servera
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Preferirate preuzimanje? Preuzmite najnoviji .dmg iz odjeljka
Izdanja. Izvorni kod, prijave problema i dokumentacija za izgradnju
dostupni su na zoispag/omniroute-tray.
💛 Projekt zajednice koji održava @zoispag — nije zvanično OmniRoute izdanje.
> Osim servera, OmniRoute je **potpuni komandnolinijski kontrolni centar** s **više od 80 komandi**, uz otvorene protokole 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 (kosa crta: /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 zatim cilja udaljeni server.
```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 # ← odabire udaljeni model, zapisuje lokalni Codex profil
omniroute tokens create --name ci --scope read # izdaje tokene užeg opsega za druge računare
omniroute contexts use default # ← prebacuje se nazad na lokalni server
```
Tokeni su ograničeni na opsege `read` / `write` / `admin`; rute koje pokreću procese ostaju dostupne samo putem povratne petlje.
📖 [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
### 🤝 Povežite agenta — i on upravlja samim 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 ključeve cijelog pristupnika: usmjeravanja, pružalaca usluga, kombinacija, predmemorije, kompresije i memorije — autonomno. HTTP krajnje tačke u nastavku dostupne su putem `http://localhost:20128`.
Sučelje
Krajnja tačka / komanda
Koristite 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
Š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 skup OmniRoute 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)
## 🗜️ Uštedite 15–95% tokena — automatski
### 📖 Kako funkcionira — cjevovod, arhitektura i izračun uštede
Zadana složena kombinacija izvršava `RTK → Caveman`. Kada oba djeluju na isti sadržaj alata/konteksta, uštede se umnožavaju:
```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 je dovoljno nekoliko?** Svaki zahtjev prolazi kroz OmniRouteov cjevovod za kompresiju **transparentno** — bez izmjena na klijentu. Sada je to **skup od 12 kombinabilnih mehanizama** koji se izvršavaju redom i mogu se međusobno kombinirati za svaku kombinaciju usmjeravanja — nadograđen na idejama 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 cjevovoda; svaki se može nezavisno uključiti ili isključiti i konfigurirati za svaku kombinaciju:
#
Mehanizam
Šta radi
1
Session-Dedup
Uklanja sadržaj koji se ponavlja kroz više razmjena (adresiran sadržajem, između razmjena)
2
CCR
Arhivira velike blokove iza oznaka za dohvaćanje, koji se preuzimaju na zahtjev
3
Lite
Skraćivanje razmaka i URL-ova slika (osnovna opcija s malom latencijom)
4
RTK
Pametno filtriranje, deduplikacija i skraćivanje rezultata alata (uz prepoznavanje naredbi)
5
Responses Tool Output
JSON bez gubitaka kao prvi izbor + ograničena dijagnostička kompresija za izlaze ljuske/zakrpa/pretrage/izgradnje (Responses API)
6
Headroom
Tabelarno sažimanje JSON nizova bez gubitaka (~30%) putem ugrađenog GCF kodeka
7
Relevance
Ekstraktivno ocjenjivanje rečenica u odnosu na posljednji korisnički upit
8
Caveman
Kompresija proze zasnovana na pravilima (~65–75% na izlazu)
9
Aggressive
Sažimanje + progresivno zastarijevanje starih razmjena
10
LLMLingua-2
ML semantičko skraćivanje putem MobileBERT ONNX-a — sigurno za kod, asinhrono
11
Ultra
Heurističko skraćivanje tokena s opcionalnim nivoom malog modela (SLM)
12
OmniGlyph
Eksperimentalno kodiranje konteksta kao slike za izmjereni Claude Fable 5 na direktnoj Anthropic vezi; GPT 5.6 transformeri ostaju zatvoreni u slučaju greške dok se čekaju potvrde pružatelja. Četiri profila kompresije (agresivni zadani, uravnoteženi, sigurni za kod, bez izmjena) (najagresivniji; mora se izričito uključiti)
Blokovi koda, URL-ovi i strukturirani podaci se **uvijek čuvaju** savršeno, bajt po bajt. **Unaprijed postavljene opcije jednim klikom** kombiniraju mehanizme:
Režim
Ušteda
Najbolje za
🪶 Lite
~15%
Sigurna zadana opcija koja je uvijek uključena
🪨 Standardni (Caveman)
~30%
Svakodnevno programiranje
⚡ Agresivni
~50%
Duge sesije s intenzivnom upotrebom alata
🔥 Ultra
~75%
Maksimalna ušteda
🧰 RTK
60–90%
Izlaz ljuske/testiranja/izgradnje/gita
🔗 Složeni (RTK → Caveman)
78–95%
Kombinirani upiti + zapisnici alata
**Stvarni primjer — standardni režim:**
> **Prije (69 tokena):** _"Razlog zbog kojeg se vaša React komponenta ponovo iscrtava vjerovatno je taj što pri svakom ciklusu iscrtavanja stvarate novu referencu na objekt. Kada proslijedite objekt definiran unutar izraza kao prop, Reactovo površinsko poređenje svaki put ga prepoznaje kao drugačiji objekt, što pokreće ponovno iscrtavanje. Preporučio bih korištenje useMemo za memoriranje objekta."_
>
> **Poslije (19 tokena):** _"Nova referenca objekta pri svakom iscrtavanju. Objekt definiran unutar izraza kao prop = nova referenca = ponovno iscrtavanje. Omotajte u useMemo."_
>
> **Isti odgovor. 72% manje tokena. Bez gubitka tačnosti.** ✅
**PT-BR primjer — režim [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prije (42 tokena):** _"Problem je u tome što se komponenta ponovo renderira jer se nova referenca objekta kreira u svakom ciklusu renderiranja. Preporučio bih korištenje useMemo."_
>
> **Poslije (12 tokena):** _"Ponovno renderiranje: nova ref. u svakom ciklusu (inline objekt ponovo kreiran). Koristiti `useMemo`."_
>
> **Isti odgovor. ~70% manje tokena. Tehnička preciznost netaknuta.** ✅
### 🎚️ Više od mehanizama — stilovi izlaza, adaptivni regulator i kontrola po zahtjevu
Gornjih 12 mehanizama smanjuje ono što ulazi **unutra**. Još tri sloja oblikuju **kako**, **kada** i šta izlazi **van**:
- **🪄 Stilovi izlaza** _(usmjeravanje izlazne ose)_ — umeću determinističke instrukcije za oblikovanje odgovora koje su sigurne za keširanje; mogu se kombinovati, svaka s intenzitetom `lite` / `full` / `ultra`. Dodavanje stila zahtijeva samo jedan red unosa u registru:
- **Sažeta proza** — uklanja suvišne izraze / članove / ograđivanje; zadržava tačnu tehničku suštinu.
- **Manje koda** — YAGNI pristup „lijenog senior developera“: najmanja funkcionalna izmjena, bez netražene strukture.
- **Konjski rep (lijeni senior developer)** — napreduje YAGNI ljestvicom, otklanja osnovni uzrok, najmanji funkcionalni diff.
- **Imam ADHD (prvo radnja)** — sljedeća radnja je prva, koraci su numerisani, jedan konkretan sljedeći korak, bez uvoda.
- **Sažeti CJK (文言)** — ultrasažeti stil klasičnog kineskog (ograničen na lokalizaciju `zh`).
- **🎯 Adaptivni budžet konteksta** _(regulator)_ — umjesto jednog uključenog/isključenog praga tokena, aktivira najjeftinije mehanizme s najmanjim gubitkom samo onoliko koliko je potrebno da se sadržaj **uklopi u kontekstni prozor modela**. Pravilo: `reserve-output` (zadano, prilagođeno modelu) · `percentage` · `absolute`. Način rada: `floor` (garantuje uklapanje) · `replace-autotrigger` (vaš eksplicitni izbor ima prednost) · `off` (naslijeđeni prag).
- **🎛️ Gdje se odlučuje o kompresiji** _(redoslijed prioriteta, visoki → niski)_ — zaglavlje `x-omniroute-compression` po zahtjevu › nadjačavanje kombinacije usmjeravanja › aktivni imenovani profil › adaptivno / automatsko pokretanje › zadana postavka panela › isključeno. Primijenjeni plan vraća se u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Postavite automatsko pokretanje prema pragu tokena, uključite adaptivni regulator, fiksirajte imenovani profil, postavite jednokratnu opciju po zahtjevu ili dodijelite pipeline svakoj kombinaciji usmjeravanja — šta god odgovara radnom opterećenju. Opcionalni offline **eval alat** (`npm run eval:compression`) ocjenjuje vjernost u odnosu na uštedu na fiksiranom korpusu prije nego što uvedete 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 Gemini Web ili drugog pružaoca koji koristi web kolačiće?** npm paket uključuje
> Playwright, ali ne i njegovu Chromium binarnu datoteku. Pogledajte napomenu o
> [postavljanju Playwright Chromiuma](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> prije slanja prvog zahtjeva web pružaocu.
Kontrolna ploča je na `http://localhost:20128` · API je na `http://localhost:20128/v1`.
**2) Povežite BESPLATNOG pružaoca (bez registracije)**
Kontrolna ploča → **Pružaoci** → povežite **Kiro AI** (besplatni Claude, ~50 kredita mjesečno po računu) ili **OpenCode Free** (bez autentifikacije) → gotovo.
**3) Podesite svoj alat za programiranje**
```txt
Osnovni URL: http://localhost:20128/v1
API ključ: [kopirajte iz Kontrolna ploča → Krajnje tačke]
Model: auto (pametno usmjeravanje bez konfiguracije — ili bilo koji pružalac/model)
```
**4) Provjerite radi li**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebali biste vidjeti spisak povezanih modela. 🎉 To je sve — počnite programirati, a OmniRoute će automatski usmjeravati zahtjeve i koristiti rezervne opcije umjesto vas.
Ako vaš klijent ne može slati prilagođena zaglavlja, OmniRoute također nudi tokenizirane pseudonime za kompatibilnost:
```txt
OpenAI katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI modeli: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI odgovori: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama oznake: 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 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 `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 39.000 statičkih deklaracija testova u više od 5.100 praćenih testnih datoteka
# ⭐ Najistaknutiji doprinosioci
> OmniRoute oblikuje strastvena zajednica otvorenog koda. Ovi pojedinci dali su izuzetne doprinose koji direktno utiču na kvalitet, stabilnost i doseg projekta. **Hvala vam.**
### Vanjski doprinosioci prema spojenim zahtjevima za povlačenje
Zamrznuto na trenutnom vrhu 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 doprinosilaca. „Izmijenjene linije” predstavljaju zbir GitHubovih dodavanja i brisanja te uključuju generirane datoteke, datoteke zaključavanja, kataloge, prijevode i dokumentaciju; to je obim izmjena, a ne broj autorskih linija koda. Izjednačeni rezultati na granici su zadržani.
### Commitovi pripisani putem GitHuba
Bob.Hou 🏅 51 commit pripisan na GitHubu · dijeli 10. mjesto
Xiangzhe 🏅 51 commit pripisan na GitHubu · dijeli 10. mjesto
Ponovo provjereno 2026-08-24 06:14:31 UTC: commitovi pripisani na GitHubu koje je prijavio API repozitorija za doprinositelje za zadanu granu release/v3.8.50. API je vratio 525 identiteta (415 korisnika, 2 bota, 108 anonimnih); ova tabela isključuje održavaoca, botove i anonimne identitete te zadržava izjednačene plasmane. Razlikuje se i od rangiranja prema spojenim PR-ovima iznad i od popisa 639 osoba zasnovanog na Git metapodacima ispod.
> 🙏 Funkcionalnosti, ispravke grešaka i poboljšanja infrastrukture ovih doprinositelja **ključni su dio** onoga što OmniRoute čini pouzdanim i bogatim funkcionalnostima. Svaki pull request, svaki testni slučaj i svaka i18n datoteka prijevoda su važni. Otvoreni kod grade ljudi poput njih.
---
## 💖 Sponzori
Od srca zahvaljujemo ljudima koji finansiraju OmniRoute iz vlastitog džepa — svaki doprinos pomaže da projekt ostane besplatan, nezavisan i da napreduje.
… i drugi koji žele ostati anonimni 💛Javni GitHub sponzori ponovo su provjereni 2026-08-24. GitHubov status activeOnly određuje gore navedene oznake aktivnosti; javno objavljenim prethodnim jednokratnim podržavaocima i dalje zahvaljujemo, dok privatni sponzori ostaju anonimni.💖 Postanite sponzor → — svaki dolar pomaže da OmniRoute ostane besplatan i nezavisan.
## 👥 Više od 600 saradnika
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Provjereno 2026-08-24 na zamrznutoj bazi ac02c5b42f i ponovo provjereno na aktuelnom vrhu grane release/v3.8.50, dafb4ae808: 639 normalizovanih ljudskih Git identiteta — 407 se pojavljuje kao autori commitova (uključujući održavaoca), a 232 samo u izričitim završnim oznakama Co-authored-by. Popis normalizuje GitHub noreply korisnička imena, isključuje 26 identiteta botova/agenata/servisa/rezervisanih oznaka i ne spaja obične adrese e-pošte samo zato što im se prikazana imena podudaraju.
### Kako doprinijeti
1. Napravite fork repozitorija
2. Napravite granu od vrha **aktivne** grane `release/vX.Y.Z` (ne od `main`) — pogledajte [Model grananja i izdanja](docs/ops/BRANCHING_MODEL.md)
3. Kreirajte svoju granu za funkcionalnost (`git checkout -b feat/amazing-feature`)
4. Commitujte svoje izmjene (`git commit -m 'feat: add amazing feature'`)
5. Pošaljite ih na granu (`git push origin feat/amazing-feature`)
6. Otvorite Pull Request s postavkom **base = ta grana `release/vX.Y.Z`**
Za detaljne smjernice pogledajte [CONTRIBUTING.md](CONTRIBUTING.md).
### 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 projektom otvorenog koda koji je to prvi postigao. Svaki od njih oblikovao je konkretan dio OmniRoutea. Ovo je naša zahvala svima njima. 🙏
> ⭐ broj zvjezdica provjeren je putem GitHubovog REST API-ja 24. augusta 2026. — podržite ove projekte zvjezdicom. Brojevi predstavljaju tačan snimak stanja na navedeni datum i s vremenom će se, naravno, mijenjati.
### 🧬 Porijeklo i mrežni prolaz
AI pristupnik čiji javni skup podataka o cijenama pokreće našu sinhronizaciju praćenja troškova i čiji je model normalizacije pružalaca usluga oblikovao naše usmjeravanje.
MIT izvorni kod prilagođen u uključeni most ChatGPT Web → Codex Responses, uključujući adaptere za sesije preglednika, uokviravanje odgovora, korištenje i web-pretragu.
Zadane vrijednosti transformacije kompatibilne s Claude Codeom i ponašanje zaglavlja za naplatu generalizovani su u OmniRouteov most vođen konfiguracijom.
Njegova mapiranja Grok modela, Statsig generator lažnog TypeErrora, zadane vrijednosti zahtjeva i uređaja te procesor NDJSON odgovora značajno su prilagođeni u OmniRouteov Grok Web izvršitelj.
Glavni posredni izvor koda iza projekta grok2api-merged; njegove implementacije modela, zaglavlja, korisnih podataka, Statsiga i procesora sačuvane su u porijeklu komponente Grok Web.
Temeljni MIT izvorni kod za zadane vrijednosti Grok korisnih podataka i uređaja, Statsig generator i procesor result.response prenesen kroz TQZHR i grok2api-merged.
Posredni izvor kojem grok2api-merged pripisuje svoj sloj skupa proxyja; OmniRoute zadržava tu napomenu o porijeklu, ali ne tvrdi da je prenio skup proxyja u svoj ograničeni Grok Web izvršitelj.
Izvorna implementacija Grok Weba oslanjala se na njegov HTTP/preglednički dizajn uzvodnog sistema; njegov direktni HTTP put izveden je iz GrokProxyja, pa se ne tvrdi da je izvršen nezavisan prijenos koda.
Viralni projekt „zašto koristiti mnogo tokena kada malo tokena radi posao“ — njegova filozofija pećinskog govora pokreće naš standardni način kompresije i više od 30 pravila za uklanjanje suvišnih riječi i sažimanje.
Istraživanje kompresije upita (LLMLingua / LLMLingua-2) — inspirisalo je naš asinhroni llmlingua mehanizam koji je siguran za kôd i nastavlja rad u slučaju greške.
Viralna vještina YAGNI programiranja „lijenog starijeg programera“ — inspirisala je naš izlazni stil less-code: usmjeravanje ka najmanjoj funkcionalnoj izmjeni koje smanjuje _generisani_ kôd (parnjak Cavemanovoj sažetoj prozi na osi izlaza).
Kompresija izlaza svjesna sadržaja i prilagođena svakoj vrsti datoteke, uz odustajanje u slučaju greške — potvrdila je naše usmjeravanje prema vrsti i preskakanje kada je dobitak manji od minimalnog.
Stupčani JSON u Rustu + dohvaćanje adresirano sadržajem + deduplikacija između poruka — potvrdili su dizajn naših headroom/ccr/session-dedup mehanizama i invarijantu stabilnu za predmemoriju „komprimirani oblik ne zavisi od položaja“.
Komplet alata za TypeScript Compiler API — inspirisao je naše uklanjanje komentara zasnovano na parseru koje čuva literale nizova, predložaka i regularnih izraza.
MITM presretanje/analiza saobraćaja između pomoćnika za programiranje ↔ LLM-a uticali su na rane zahtjeve za Traffic Inspector. Četiri prethodno izvedena modula — spajanje SSE-a, normalizacija razgovora, maskiranje tajni i sanitizacija zaglavlja — zamijenjena su nezavisnim clean-room implementacijama zasnovanim na javnim standardima protokola. Dvije površine za direktno prosljeđivanje hosta (passthrough.ts i _internal/bypass.cjs) ostaju interne implementacije OmniRoutea koje su zasebno klasifikovane; nisu ponovo napisane u sklopu te zamjene.
Transparentno proxy usmjeravanje po procesu — inspirisalo je naše uklanjanje MITM-a otporno na padove, vremenska ograničenja neaktivnosti socketa, pripisivanje procesa putem /proc i TPROXY presretanje.
### 📚 Podaci o modelima, opservabilnost i korisničko sučelje
Pažljivo odabrana lista biblioteka koje su podrazumijevano sigurne i koje usmjeravaju naše sigurnosne izbore (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Njegovo ponovno mapiranje modela uzimajući u obzir korisnički račun, provjera putanje izvršne datoteke i ponašanje oznaka planova uticali su na Antigravity izvršno okruženje OmniRoutea.
Identifikovao je površinu kvote za Grok Build; OmniRoute je zatim nezavisno provjerio i ispravio aktivni format prenosa.
## 📄 Licenca
MIT licenca – pogledajte [LICENSE](LICENSE) za detalje.
---
**[⬆ Nazad na vrh](#-omniroute)** · Napravljeno s ❤️ za AI zajednicu otvorenog koda.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT licenca · omniroute.online