## 💰 ~1.62B tokena mjesečno putem besplatnih paketa trećih strana
> **Koristite vlastite račune kod pružalaca usluga.** Ovo je procijenjeni zbir zasebno dostupnih besplatnih paketa trećih strana, a ne dodjela tokena od OmniRoutea. Registrujte se, pribavite pristupne podatke gdje su potrebni i povežite pružaoce usluga koje možete koristiti; svaki pružalac kontroliše svoja ograničenja, dostupnost i uslove.
>
> Ručno kombinovanje besplatnih paketa je naporno — deseci SDK-ova, deseci ograničenja učestalosti zahtjeva i nikakva predstava o tome koliko zapravo imate. OmniRoute katalogizira **489 stavki besplatnih paketa kroz 35 ključeva ponavljajućih skupova** i izračunava istaknuti broj tokena iz **17 skupova s objavljenim pozitivnim mjesečnim budžetom i 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 nakon 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 se ponovo provjeravaju svake dvije sedmice u odnosu na aktuelni katalog i **kreću se u oba smjera** — ako pružalac ukine besplatni paket, broj se smanjuje; ako se pojavi novi, broj raste. Objavljujemo ono što katalog zaista izračuna, a nikada zaokružen naviše najbolji mogući slučaj.
⭐ Označite repozitorij zvjezdicom ako vam je OMNIROUTE pomogao da uštedite novac i olakšate rad.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Pridružite se zajednici
**👋 Pratite održavaoca — prvi saznajte za nove pružaoce, izdanja i 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.50 | **v3.8.51** | `v3.8.52+` |
| ------------------------------------ | :-------------------: | :---------: | :-------------------: |
| 🌐 Pružatelji usluga | 352 | **358** | 372 |
| 🧠 Jedinstveni ID-ovi modela za chat | 1320 | **1374** | 1443 |
| 🖼️ Most modaliteta | 🆕 vid + zvuk + video | ✓ | ✓ |
| 📡 Besplatni Radar katalog | 🆕 uz prijavu | ✓ | ✓ |
| ⚖️ Raspoređivanje prema kvoti | 🆕 Quota-Share | ✓ | ✓ |
| 📊 Telemetrija kvota | 🆕 uživo | ✓ | ✓ |
| 🧰 Bezinterfejsni način rada | — | — | 🆕 `serve --headless` |
| 🛤️ Infrastruktura LTS grane | — | — | 🆕 kanali izdanja |
**→ [Plan razvoja](ROADMAP.md) — na putu prema `v3.9.0 LTS`**
## 🆓 Instalirajte, povežite pružaoca usluge, a zatim usmjeravajte kroz jednu krajnju tačku
```bash
# Nakon povezivanja pružaoca usluge, kopirajte svoj OmniRoute ključ iz Dashboard → Endpoints:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` zahtijeva podržanu rutu. Nova instalacija možda neće imati nijedno podržano odredište bez ključa, a pružalac usluge bez ključa može odbiti klijente trećih strana. Pružaoci označeni sa `tos: avoid`, uključujući OpenCode Free i Kiro, podrazumijevano su isključeni iz automatskog usmjeravanja; povezivanje računa ne poništava tu postavku. Prije odabira pružaoca usluge pogledajte [Vodič za besplatne pakete](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Skripte za brzi početak koje možete kopirati i zalijepiti za **Python, Node.js, PHP i cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obećanje
# 🤔 Zašto OmniRoute?
## 🤝 Uz podršku naših prijatelja otvorenog koda
> **Želite li nam se pridružiti kao prijatelj otvorenog koda?** Ovo su 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`
Nije potrebno kreirati kombinaciju. Postavite model na `auto` (ili neku varijantu) i OmniRoute će izgraditi virtuelnu kombinaciju od vaših povezanih pružalaca usluga, ocjenjujući ih u stvarnom vremenu:
🧑💻 Ponderi usmjereni prvenstveno na kvalitet za generiranje koda
auto/fast
⚡ Prvo najniža latencija
auto/cheap
💰 Prvo najniža cijena po tokenu
auto/offline
🔋 Prvo najveća rezerva kvote / ograničenja brzine
auto/smart
🔭 Kvalitet na prvom mjestu + 10% istraživanja radi pronalaženja boljih modela
auto/lkgp
📌 Izričito zadržavanje posljednjeg poznatog pouzdanog pružaoca usluge
auto/chaos
🧪 Paralelno slanje panelu modela (jedan po pružaocu usluge, zadano 5), uz vraćanje jednog odgovora; jedan uzvodni poziv po modelu u panelu, bez ubrizgavanja grešaka
##
### 🔀 Ili izradite vlastitu — 19 strategija usmjeravanja
Svih **19** strategija — kombinirajte ih po svakom koraku kombinacije:
#
Strategija
Šta radi
1
priority
Uređena lista s prvim ciljem — 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žno prolazite kroz ciljeve po redu
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 trošak u $ 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 poništava
12
reset-aware
Rangirajte prema vremenu poništavanja kvote — kraći periodi prvi 📊
13
context-relay
Predajte kontekst između ciljeva tokom dugih razgovora 🧠
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 — maksimalno povećajte pogotke predmemorije upita 🎯
16
lkgp
Posljednja poznata pouzdana putanja — zadržava posljednjeg uspješnog pružaoca usluge, a zatim prelazi na rezervna pravila
17
auto
Ocjenjivanje u stvarnom vremenu na osnovu 16 faktora za svaku vezu 🤖
18
fusion
Šalje zahtjev panelu modela, a sudija objedinjuje jedan odgovor 🧬
19
pipeline
Ulančava korake — izlaz svakog cilja prosljeđuje se sljedećem 🔗
Mehanizam Auto-Combo ocjenjuje svakog kandidata na osnovu **16 faktora** (stanje, kvota, cijena, 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)
## 🏆 Po čemu se OmniRoute izdvaja
📊 Potpuna metodologija & detalji po funkcionalnostima u poređenju s rješenjima 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
> Najvažnije novosti od **v3.8.20 → v3.8.50**. Potpuna historija dostupna je u [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — dolazno A2A delegiranje vašoj floti agenata, Conductor vještine na kartici agenta i panel kontrolne 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** — zahtjevni zahtjevi za razgovor stavljaju se u red čekanja umjesto vraćanja greške 503, uz atomske RPM rotirajuće zakupe po vezi. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonski redoslijed za `/v1/models`** — jedan neprekinuti blok grupiran po pružaocu za svakog pružaoca (kombinacije su prve), stabilan u svim izvorima kataloga. → [API referenca](docs/reference/API_REFERENCE.md)
- **🗜️ Poboljšana zaštita kompresije** — zaštita od prekomjernog raspakivanja uključena po 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 fiksni trošak** — pružaoci s pretplatom / planom za programiranje prikazuju trošak od **$0** u analitici troškova; budžet, kvota i usmjeravanje nastavljaju s procjenjivanjem. → [API referenca](docs/reference/API_REFERENCE.md)
- **⚖️ Usmjeravanje prema udjelu kvote** — pravedno raspoređuje kvotu zajedničkog računa između udruženih ključeva, uz očuvanje iskorištenosti tako što se neaktivni udjeli ustupaju drugima. → [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Postavljanje CLI-ja/agenta jednom naredbom** — 13 registriranih naredbi `setup-*`; `omniroute run` pokreće 7 CLI alata (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 10 odredišta s interaktivnim odabirom 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 `antigravity` OAuth pomoćnika za VPS instalacije. → [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnije automatsko usmjeravanje** — kombinacije `auto/:`, **Fusion** (panel modela + sudija), usmjeravanje prilagođeno zadatku te zasebne izmjene modela / načina rada / USD budžeta za svaki zahtjev. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Proširiva kompresija** — 12 međusobno kombiniranih pogona + Compression Studios: LLMLingua-2, dvonivojski Ultra, omniglyph, provjera vjernosti za svaki korak, GCF v3.2 i uređivač s promjenom redoslijeda povlačenjem. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifriranje (TPROXY)** — presreće CLI alate 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 za cache-HIT i USD kvote potrošnje za svaki ključ. → [API referenca](docs/reference/API_REFERENCE.md)
- **🧠 Memorija kojom vi upravljate** — zadano je isključena, uz opcionalnu int8 kvantizaciju vektora i tipski definirano slabljenje te `x-omniroute-no-memory` za svaki zahtjev. → [Memorija](docs/frameworks/MEMORY.md)
- **🛡️ Sigurnost** — zaštita od ubrizgavanja upita na svakoj LLM ruti (red-team paket testova), opcionalna zaštita maskiranjem vjerodajnica (redigira otkrivene API ključeve/tajne u oba smjera), besplatna DuckDuckGo web-pretraga kao krajnje rješenje 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 ponudu medijskih funkcija. → [API referenca](docs/reference/API_REFERENCE.md)
- **🎨 Generiranje slika / videozapisa / zvuka** — jedan API za medije: xAI Grok Imagine i Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind i pružaoci govornih usluga kao što je ElevenLabs. → [API referenca](docs/reference/API_REFERENCE.md)
- **🌍 Implementacija i operacije** — `basePath` za obrnuti proxy, automatsko otkrivanje jezika preglednika, praćenje uređaja za svaki ključ, MITM pouzdanost bez root ovlasti i zh-TW lokalizacija. → [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 i OAutha, 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žen **katalog s 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 njegovo posluživanje, nova kombinirana strategija `cache-optimized` i Auto-Combo faktor `cacheAffinity` vraćaju ponovljene zahtjeve vezi koja sadrži keširani prefiks, a krajnja tačka `/v1/auto-combo/{channel}/candidates` samo za čitanje izlaže aktivni skup kandidata kanala `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, alati za implementaciju releja za Cloudflare Workers / Deno Deploy te Bifrost i Mux kao nadzirane ugrađene usluge. → [Ugrađene usluge](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Također uključeno** — okvir za dodatke i tržište, okviri za Omni/Agent/GitHub vještine, integracija s Obsidian trezorom (22 MCP alata), Batch i Files API-ji kompatibilni s OpenAI-jem, semantički keš odgovora, gejmifikacija s rang-listama, otkrivanje ACP agenata (15 ugrađenih agenata), zakazani izvoz zapisnika u BigQuery, `auto/chaos` paralelno grananje na više modela, Telegram bot most, upravitelj verzijama 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)
## 🌐 372 AI pružaoca — 154 označena u katalogu kao besplatna
> **372 registrovana pružaoca** u kanonskim kolekcijama za razgovor, medije, pretragu, lokalne modele, agente u oblaku i sistem, uključujući **154 s metapodacima za otkrivanje `hasFree: true`**. Registar modela za razgovor obuhvata **237 pružalaca / 3.009 različitih parova pružalac-model / 1.443 izvorna ID-a modela**; zasebni katalog besplatnih kvota sadrži **491 red po modelu**, **35 obnavljajućih skupova** i **54 obnavljajuća pružaoca ili pružaoca koji su trajno besplatni bez ključa**. To su namjerno različiti nazivnici; definicije i proračuni s uklonjenim duplikatima skupova 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 učitava se 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 **uvijek su zaštićeni** mehanizmom za očuvanje.
> **Zašto koristiti mnogo tokena kada ih je dovoljno nekoliko?** Svaki zahtjev prolazi kroz OmniRouteov cjevovod kompresije **transparentno** — bez izmjena na klijentu. To je sada **skup od 12 kombinabilnih mehanizama** koji se izvršavaju redom i mogu se kombinirati za svaku kombinaciju usmjeravanja — nadograđujući ideje iz projekata [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) i [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Skup od 12 mehanizama
Mehanizmi se izvršavaju redoslijedom u cjevovodu; svaki se može zasebno uključiti ili isključiti i konfigurirati za svaku kombinaciju:
#
Mehanizam
Šta radi
1
Session-Dedup
Uklanja sadržaj koji se ponavlja kroz razmjene (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 uključenog GCF kodeka
7
Relevance
Ekstraktivno ocjenjivanje rečenica u odnosu na posljednji korisnički upit
8
Caveman
Kompresija proznog teksta zasnovana na pravilima (~65–75% na izlazu)
9
Aggressive
Sažimanje + progresivno starenje starih razmjena
10
LLMLingua-2
Semantičko skraćivanje pomoću ML-a putem MobileBERT ONNX-a — sigurno za kod, asinhrono
11
Ultra
Heurističko skraćivanje tokena uz opcionalni 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 greške dok se čekaju potvrde pružatelja. Četiri profila kompresije (agresivni zadani, uravnoteženi, siguran za kodiranje, bez obrade) (najagresivniji; zahtijeva izričito uključivanje)
Blokovi koda, URL-ovi i strukturirani podaci **uvijek se čuvaju** uz potpunu bajtovnu identičnost. **Unaprijed postavljene opcije jednim klikom** kombiniraju mehanizme:
Način rada
Ušteda
Najbolje za
🪶 Lite
~15%
Sigurna zadana opcija koja je uvijek uključena
🪨 Standard (Caveman)
~30%
Svakodnevno programiranje
⚡ Aggressive
~50%
Duge sesije s intenzivnom upotrebom alata
🔥 Ultra
~75%
Maksimalna ušteda
🧰 RTK
60–90%
Izlaz ljuske/testova/izgradnje/git-a
🔗 Stacked (RTK → Caveman)
78–95%
Mješoviti upiti + dnevnici alata
**Stvarni primjer — način rada Standard:**
> **Prije (69 tokena):** _"Razlog zbog kojeg se vaša React komponenta ponovo iscrtava vjerovatno je to što stvarate novu referencu na objekt pri svakom ciklusu iscrtavanja. Kada proslijedite umetnuti objekt kao prop, Reactovo površinsko poređenje svaki put ga vidi kao drugi objekt, što pokreće ponovno iscrtavanje. Preporučujem korištenje useMemo za memoizaciju objekta."_
>
> **Poslije (19 tokena):** _"Nova referenca objekta pri svakom iscrtavanju. Umetnuti objekt kao prop = nova referenca = ponovno iscrtavanje. Omotajte u useMemo."_
>
> **Isti odgovor. 72% manje tokena. Bez gubitka tačnosti.** ✅
**PT-BR primjer — način rada [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prije (42 tokena):** _"Problem je u tome što se komponenta ponovo iscrtava jer se u svakom ciklusu iscrtavanja kreira nova referenca na objekt. Preporučio bih korištenje `useMemo`."_
>
> **Poslije (12 tokena):** _"Ponovno iscrtavanje: nova referenca u svakom ciklusu (inline objekt se ponovo kreira). Koristiti `useMemo`."_
>
> **Isti odgovor. ~70% manje tokena. Tehnička preciznost očuvana.** ✅
### 🎚️ Više od mehanizama — stilovi izlaza, prilagodljivi regulator i kontrola po zahtjevu
Gornjih 12 mehanizama smanjuju ono što ulazi **unutra**. Još tri sloja oblikuju **kako**, **kada** i šta izlazi **van**:
- **🪄 Stilovi izlaza** _(usmjeravanje po osi izlaza)_ — ubacuju determinističke instrukcije za oblikovanje odgovora koje su sigurne za keširanje; mogu se kombinovati, a svaka ima intenzitet `lite` / `full` / `ultra`. Dodavanje stila predstavlja unos jednog reda u registar:
- **Sažeta proza** — uklanja poštapalice / članove / ograđivanje; zadržava tačnu tehničku suštinu.
- **Manje koda** — YAGNI pristup „lijenog iskusnog programera“: najmanja funkcionalna izmjena, bez nezatražene prateće strukture.
- **Konjski rep (lijeni iskusni programer)** — penje se YAGNI ljestvicom, otklanja osnovni uzrok, najmanji funkcionalni diff.
- **Imam ADHD (prvo radnja)** — započinje sljedećom radnjom, koraci su numerisani, jedan konkretan sljedeći korak, bez uvoda.
- **Sažeti CJK (文言)** — izuzetno sažet stil klasičnog kineskog (ograničen na lokal `zh`).
- **🎯 Prilagodljivi budžet konteksta** _(regulator)_ — umjesto jednog praga tokena za uključivanje/isključivanje, aktivira najjeftinije mehanizme s najmanje gubitaka samo u mjeri potrebnoj da se sadržaj **uklopi u kontekstni prozor modela**. Pravilo: `reserve-output` (zadano, prilagođeno modelu) · `percentage` · `absolute`. Režim: `floor` (garantuje uklapanje) · `replace-autotrigger` (vaš eksplicitni izbor ima prednost) · `off` (stari prag).
- **🎛️ Gdje se odlučuje o kompresiji** _(redoslijed prvenstva, visoko → nisko)_ — zaglavlje `x-omniroute-compression` po zahtjevu › nadjačavanje kombinacije usmjeravanja › aktivni imenovani profil › prilagodljivo / automatsko aktiviranje › zadana postavka panela › isključeno. Primijenjeni plan vraća se u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`.
Koristite automatsko aktiviranje prema pragu tokena, uključite prilagodljivi regulator, fiksirajte imenovani profil, postavite jednokratnu vrijednost po zahtjevu ili dodijelite cjevovod svakoj kombinaciji usmjeravanja — šta god odgovara radnom opterećenju. Opcionalni vanmrežni **eval alat** (`npm run eval:compression`) ocjenjuje vjernost u odnosu na uštedu koristeći fiksirani korpus 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 ravnopravnim zavisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Koristite npm 11 ili noviju verziju?** npm može blokirati skripte životnog ciklusa paketa ako nisu dozvoljene. OmniRouteova skripta `postinstall` (`node scripts/build/postinstall.mjs`) potrebna je za pripremu njegovih izvornih izvršnih datoteka. Prilikom globalne instalacije dozvolite pakete navedene u npm upozorenju. Za skup paketa koji prijavljuje OmniRoute 3.8.51:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Da biste ovu listu dozvoljenih paketa ponovo koristili za buduće globalne instalacije, konfigurišite je jednom, a zatim obavljajte instalaciju na uobičajen način:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Lista zavisnosti može se mijenjati između izdanja; ako npm prijavi drugačiju listu, koristite nazive paketa iz tog upozorenja. Dozvoljavanje paketa omogućava pokretanje njegovih instalacijskih skripti.
> **Koristite Gemini Web ili drugog pružaoca usluga koji koristi web-kolačiće?** npm paket uključuje
> Playwright, ali ne i njegov Chromium binarni fajl. Prije slanja prvog zahtjeva web-pružaocu pogledajte
> napomenu o [postavljanju Chromiuma za Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium).
Kontrolna tabla dostupna je na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Povežite odgovarajućeg pružaoca usluga koristeći vlastiti račun**
Kontrolna tabla → **Pružaoci usluga** → odaberite pružaoca čiji trenutni uslovi i kvota odgovaraju vašem slučaju upotrebe → dodajte njegov API ključ ili dovršite postupak povezivanja računa. Besplatni paketi mogu zahtijevati registraciju, odobrenje ili način plaćanja. Pregledajte [Vodič za besplatne pakete](docs/getting-started/FREE-TIERS-GUIDE.md); dostupnost bez ključa nije zagarantovana, a pružaoci označeni sa `tos: avoid` zadano su isključeni iz `auto`.
**3) Usmjerite svoj alat za programiranje**
```txt
Osnovni URL: http://localhost:20128/v1
API ključ: [kopirajte iz Kontrolna tabla → Krajnje tačke]
Model: auto (usmjerava između odgovarajućih veza — ili odaberite pružaoca/model)
```
**4) Provjerite radi li**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Trebali biste vidjeti listu povezanih modela. 🎉 To je sve — počnite programirati, a OmniRoute će za vas automatski usmjeravati zahtjeve i prelaziti na rezervne opcije.
Ako vaš klijent ne može slati prilagođena zaglavlja, OmniRoute također nudi tokenizirane pseudonime radi kompatibilnosti:
```txt
OpenAI katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI modeli: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI razgovor: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI odgovori: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama razgovor: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama oznake: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Koristite ih samo za klijente koji ne mogu priložiti `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.
pino — strukturirani JSON dnevnici s kontekstom zahtjeva
Testiranje
Node.js pokretač testova + Vitest — više od 39.000 statičkih deklaracija testova u više od 5.100 praćenih testnih datoteka (jedinični, integracijski, E2E, sigurnosni, ekosistemski)
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.52 · Node ≥22.22.2 · MIT licenca · omniroute.online