# README (Hrvatski) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇮 [fi](../fi/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
OmniRoute nadzorna ploča

# 🚀 OmniRoute — Besplatni AI pristupnik OmniRoute — Nikad ne prestajte kodirati. Svaki AI alat → 358 pružatelja — 150+ besplatnih — putem jedne pristupne točke. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity u BESPLATNI Claude / GPT / Gemini s automatskim povratkom. RTK + Caveman složena kompresija štedi 15–95% tokena (~89% prosječno) — nikad ne dosegnite ograničenja. 358 AI pružatelja · 150+ besplatnih razina · ~1.62B besplatnih tokena/mj · 19 strategija usmjeravanja · 0$ za početak.
## 💰 ~1,62 mlrd. besplatnih tokena mjesečno
> Ručno kombiniranje besplatnih paketa mukotrpno je — deseci SDK-ova, deseci ograničenja brzine i nikakva predodžba o tome koliko zapravo imate na raspolaganju. OmniRoute katalogizira **489 stavki besplatnih paketa unutar 35 ključeva periodičnih skupova** i izračunava istaknuti broj tokena na temelju **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 (trenutačno: ModelScope) prikazuju se zasebno, +~6 mil. iza regionalne provjere identiteta, i nikada se ne pribrajaju istaknutom ukupnom iznosu. Rezultat ostaje vidljiv na nadzornoj ploči (`/dashboard/free-tiers`). Kartica budžeta besplatnog paketa OmniRoute: stabilnih ~1,62 mlrd. besplatnih tokena mjesečno, do ~2,22 mlrd. u prvom mjesecu uz kredite za registraciju, iz 35 dokumentiranih ključeva periodičnih skupova koji obuhvaćaju 489 katalogiziranih stavki besplatnih paketa iza jedne krajnje točke. Iskren izračun s uklanjanjem duplikata po skupovima — svaki zajednički skup računa se samo jednom, uključujući 17 periodičnih skupova s objavljenim pozitivnim mjesečnim budžetom tokena i pet Groq ograničenja po modelu; 13 pružatelja označeno je oznakom izbjegavati u katalogu rizika uvjeta korištenja kako biste sami mogli odlučiti. Traka budžeta uključuje Mistral 1B, Nara 210M, LLM7 150M, xKiro 150M, Groq 30M (pet ograničenja po modelu) i manje skupove, uz kredite za registraciju tijekom prvog mjeseca i trajno besplatne pružatelje bez ograničenja tokena koji su prikazani zasebno kako nikada ne bi umjetno povećavali istaknuti ukupni iznos. Aktualna potrošnja/preostalo na /dashboard/free-tiers. > Animirani sažetak aktualne stranice `/dashboard/free-tiers`. Potpuna metodologija (uklanjanje duplikata skupova, razine kredita, uvjeti pružatelja): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Ove se brojke ponovno provjeravaju svaka dva tjedna prema aktualnom katalogu i **mijenjaju se u oba smjera** — ako pružatelj ukine besplatni paket, broj se smanjuje; ako se pojavi novi, broj raste. Objavljujemo ono što katalog stvarno izračuna, a nikada zaokruženi najpovoljniji scenarij.

⭐ Označite repozitorij zvjezdicom ako vam je OMNIROUTE pomogao uštedjeti novac i olakšati rad.

[![Zvjezdice](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Poredak povijesti zvjezdica](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Pridružite se zajednici **👋 Pratite održavatelja — prvi saznajte za nove pružatelje, izdanja i savjete:** [![Pratite Diega na LinkedInu](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Pratite @diegosouzapw na GitHubu](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp Globalno](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brazil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Web-mjesto](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Pitanja, savjeti o pružateljima, plan razvoja i podrška → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalno](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Pristupnik nastavlja rasti
| | v3.8.49 | **v3.8.50** | `v3.8.51+` | | ----------------------------------------- | :-----: | :---------------------: | :--------------: | | 🌐 Pružatelji usluga | 290 | **357** | još ih je u redu | | 🧠 Jedinstveni ID-ovi modela za razgovor | 1185 | **1312** | — | | 🖼️ Most modaliteta | — | 🆕 slika + zvuk + video | — | | 📡 Besplatni katalog Radara | — | 🆕 uz prijavu | — | | ⚖️ Raspoređivanje uzimajući u obzir kvote | — | 🆕 Quota-Share | — | | 📊 Telemetrija kvota | — | 🆕 uživo | — | **→ [Plan razvoja](ROADMAP.md) — na tračnicama prema `v3.9.0 LTS`**

## 🧩 Dostupno [![verzija na npm-u](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![Mjesečna preuzimanja s NPM-a](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Licenca: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Preuzimanja s Dockera](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Preuzimanja Electrona](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Početak 🚀 Brzi početak 📦 Instalacija 🆓 Bez konfiguracije
💡 Saznajte više 💥 Obećanje 🤔 Zašto OmniRoute 🏆 Po čemu se ističe
⚙️ Značajke 🎯 Kombinacije 🌐 Pružatelji usluga 🔌 CLI & MCP
🗜️ Sažimanje 🖥️ Gdje se pokreće 🔒 Privatno
👀 Pogledajte 🎬 Na djelu ✨ Novosti 🤖 Kompatibilni CLI-jevi
💚 Podrška 💚 Podržite / donirajte 💬 Zajednica 💖 Sponzori
📦 Projekt 🛠️ Tehnološki stog 📖 Dokumentacija 👥 Suradnici
🌐 Na 66 jezika

Engleski (en) Portugalski — Brazil (pt-BR) Portugalski (pt) Španjolski (es) Francuski (fr) Talijanski (it) Njemački (de) Nizozemski (nl) Ruski (ru) Ukrajinski (uk-UA) Poljski (pl) Češki (cs) Slovački (sk) Rumunjski (ro) Mađarski (hu) Bugarski (bg) Danski (da) Finski (fi) Norveški (no) Švedski (sv) Kineski — pojednostavljeni (zh-CN) Kineski — tradicionalni (zh-TW) Japanski (ja) Korejski (ko) Tajlandski (th) Vijetnamski (vi) Indonezijski (id) Malajski (ms) Filipinski (phi) Hindski (hi) Gudžaratski (gu) Marathski (mr) Tamilski (ta) Teluški (te) Bengalski (bn) Urdski (ur) Perzijski (fa) Arapski (ar) Hebrejski (he) Turski (tr) Azerbajdžanski (az) Svahili (sw) Grčki (el) Hrvatski (hr) Srpski (sr) Litavski (lt) Estonski (et) Latvijski (lv) Slovenski (sl) Malteški (mt) Irski (ga) Kannadski (kn) Malajalamski (ml) Odijski (or) Pandžapski (pa) Nepalski (ne) Sinhaleški (si) Burmanski (my) Kmerski (km) Hauski (ha) Jorupski (yo) Igbo (ig) Amharski (am) Uzbečki (uz) Gruzijski (ka) Armenski (hy)


## 🆓 Radi čim ga instalirate — bez ključeva, bez konfiguracije
Radi čim ga instalirate — nulta konfiguracija. Tri koraka: 1. Instalirajte — npm i -g omniroute, poslužitelj se pokreće na localhost:20128. 2. Usmjerite svoj alat na http://localhost:20128/v1 — bilo koji alat kompatibilan s OpenAI-jem (Claude Code, Cursor, Cline). 3. Odgovara — pozovite model auto za trenutačni odgovor, bez API ključa, bez prijave, bez konfiguracije. Davatelj usluga bez ključa OpenCode Free unaprijed je ožičen u auto kombinaciju, tako da svježa instalacija odgovara odmah. ```bash # Svježa instalacija, nula vjerodajnica — `auto` već radi: curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` Preferirate određeni besplatni backend? Pozovite `oc/…` (OpenCode Free) izravno. Zatim prijeđite na `auto` i pustite OmniRoute da odabere. 📦 Skripte za brzi početak kopiraj-zalijepi za **Python, Node.js, PHP i cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obećanje
Obećanje — Jedna krajnja točka i 358 pružatelja. Automatski povratni mehanizam nastavlja usmjeravanje dok je dostupan drugi zdravi cilj. Šest stupova: otporan povratni mehanizam preko 358 pružatelja · do 95% uštede tokena na prihvatljivim radnim opterećenjima · 0 USD za početak s 150+ besplatnih razina i 54 ponavljajuća/bez ključa besplatna zauvijek pružatelja · 36 CLI/agent integracija putem jedne konfiguracije · kompatibilnost s OpenAI, Claude, Gemini i Responses API-jem na /v1 · kontrole proizvodnje uključujući prekidače strujnog kruga, TLS stealth, MCP 110 alate, A2A, memoriju, zaštitne ograde, evaluacije i 39.000+ statičkih testnih deklaracija preko 5.100+ praćenih testnih datoteka.

# 🤔 Zašto OmniRoute?
Zašto OmniRoute — prestanite žonglirati s 10 nadzornih ploča, mrtvim API ključevima i iznenadnim računima. Deset svakodnevnih problema naspram rješenja: kvota istječe neiskorištena → maksimizirajte pretplate; ograničenja stope usred kodiranja → 4-razinski automatski povratni mehanizam (Pretplata → API → Jeftino → Besplatno); izlazi alata troše tokene → RTK + Caveman kompresija (15–95%); skupi API-ji → troškovno optimizirano usmjeravanje; svaki alat vlastita postavka → jedna krajnja točka, jedna nadzorna ploča; AI blokiran → 3-razinski proxy + TLS stealth; mrtvi ključevi → 3-slojni otpor (prekidači strujnog kruga, hlađenje ključa, zaključavanje modela); tim dijeli jednu pretplatu → skupovi ključeva s kvotama pravedne podjele; upiti kroz nečiji oblak → lokalno prvo s AES-256-GCM šifriranim ključevima; nema vidljivosti potrošnje → analitika uživo (upotreba, kvota, uštede, p95 latencija).
Tijek zahtjeva OmniRoute: vaše IDE ili CLI (Claude Code, Cursor, Cline…) poziva jednu lokalnu krajnju točku (http://localhost:20128/v1); OmniRoute Smart Router (RTK + Caveman kompresija, 19 strategija usmjeravanja, prekidači strujnog kruga, TLS stealth, MCP, A2A, zaštitne ograde) može se vratiti na 4 razine pružatelja dok god postoji prihvatljiv zdravi cilj — Razina 1 Pretplata, Razina 2 API ključ, Razina 3 Jeftino i Razina 4 Besplatno.

## 🤝 Podržavaju nas naši prijatelji otvorenog koda

Kimi K3 — Otvorena granična inteligencija · 2.8T parametara · 1M-token kontekst

> **Želite se pridružiti kao prijatelj otvorenog koda?** To su tvrtke koje podržavaju otvoreni kod i pomažu OmniRouteu da nastavi s radom — a mi javno objavljujemo gdje ide svaki token koji nam daju. Javite nam se: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Osnivački prijatelj otvorenog koda
Hvala Kimiju (Moonshot AI), našem osnivačkom prijatelju otvorenog koda, na podršci ovom projektu! Kimi je AI laboratorij iza obitelji modela otvorenog koda K2 i K3 — Kimi K3 pruža kontekstni prozor od 1M tokena, izvornu viziju i kodiranje na graničnoj razini po djeliću cijene zatvorenih modela, i radi odmah s Claude Codeom, Codexom i svakim alatom za kodiranje koji OmniRoute poslužuje.

Što Kimi podržava: Kimijevi API krediti pokreću OmniRouteov AI-validirani cjevovod izdavanja — fazu validacije spajanja koju pokreće Kimi K3 koja pregledava svaki pull zahtjev prije nego što se objavi — plus svakodnevni razvoj značajki. Prvoklasna Kimi podrška isporučuje se na obje tračnice: izravni Kimi API (kimi-k3) i Kimi Code plan kodiranja (OAuth i API ključ). OmniRoute je također prvi brazilski projekt otvorenog koda u Kimijevom programu podrške. Nabavite Kimi API ključ s 15% dodatnih kredita →
Jeftinije zaključivanje
Jeftinije zaključivanje
cheaperinference.com

Prijatelj otvorenog koda
Hvala Cheaper Inferenceu, prijatelju otvorenog koda OmniRoutea, na podršci ovom projektu! Cheaper Inference je cjenovno rangirani pristupnik koji preprodaje 42 granična modela — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok i MiniMax — iza jedne OpenAI-kompatibilne krajnje točke, usmjeravajući svaki zahtjev najjeftinijem prihvatljivom pružatelju bez naplate iznad cjenika proizvođača modela.

Prvoklasna podrška u OmniRouteu: Chat Completions, izvorni /v1/responses krajnja točka, vizija, pozivanje alata i 3 modela slika (grok-imagine, nano-banana-pro, nano-banana-2, dostupni kao cheaperinference/<model>). Nabavite API ključ →
Veze označene s aff=omniroute su partnerske veze. One financiraju projekt bez dodatnih troškova za vas.
🎟️ Promocija partnera — besplatni kuponi za prijavu od pružatelja koje ne sponzoriramo (kliknite za proširenje) Ovaj odjeljak je samo za referalne/kuponske kodove. Sponzorirana partnerstva nalaze se u 🤝 Podržavaju nas naši prijatelji otvorenog koda iznad. OmniRoute nema sponzorstvo niti partnerstvo s pružateljima navedenim ovdje — to su javni kuponi koje svatko može koristiti.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — partnerska prijava · 100 USD besplatnih kredita pri prijavi (besplatni poslužitelj, očekujte veću latenciju — najbolje za testiranje, ne za proizvodnju). Prvoklasna podrška u OmniRouteu od v3.8.50: Chat Completions, Anthropic-kompatibilni format žice i OpenAI-kompatibilna putanja. Dostupni modeli uključuju claude-opus-4-8, claude-opus-5, gpt-5.6-sol i više. Zgrabite svojih 100 USD →

⚠️ Partnerska veza — OmniRoute nema sponzorstvo niti partnerstvo s ovim pružateljem.
Znate li za drugog pružatelja s izdašnim besplatnim kuponom za prijavu koji koristi korisnicima OmniRoutea? Otvorite problem i dodati ćemo ga ovdje.

## 🎯 Combosi — Zastavni brod
Svih 19 animiranih strategija usmjeravanja combo-a — jedna pločica po strategiji: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Pogledajte tablicu iznad za opis svake od njih. > **Combo** je lanac modela kroz koje OmniRoute usmjerava **automatski**. Ako kvota istekne, davatelj usluge zapadne u kvar ili troškovi naglo skoče, combo se može prebaciti na sljedeći dostupan i ispravan model. 🛡️ ### ⚡ Bez podešavanja — jednostavno koristite `auto` Nema potrebe stvarati combo. Postavite svoj model na `auto` (ili neku varijantu) i OmniRoute će izgraditi virtualni combo od vaših povezanih davatelja usluga, uz ocjenjivanje u stvarnom vremenu:
ID modelaZa što je optimiziran
auto🎯 Uravnoteženo zadano ponašanje (LKGP — ostaje uz vašeg posljednjeg dobrog davatelja usluge)
auto/coding🧑💻 Ponderi usmjereni na kvalitetu za generiranje koda
auto/fast⚡ Prvo najniža latencija
auto/cheap💰 Prvo najjeftiniji po tokenu
auto/offline🔋 Prvo najveća rezerva kvote / ograničenja brzine
auto/smart🔭 Prioritet kvaliteti + 10% istraživanja za otkrivanje boljih modela
auto/lkgp📌 Izričita privrženost posljednjem poznatom dobrom davatelju usluge
auto/chaos🧪 Ponderi za ubrizgavanje kvarova radi testiranja otpornosti (chaos engineering)
## ### 🔀 Ili izgradite svoj vlastiti — 19 strategija usmjeravanja Svih **19** strategija — kombinirajte ih po volji za svaki korak combo-a:
# Strategija Što radi
1 priority Popis uređen prema prvom cilju — iscrpi svaki prije prelaska na sljedeći 🥇
2 fill-first Popuni kvotu svakog cilja u potpunosti prije prelaska dalje
3 weighted Ponderirani nasumičan izbor prema pojedinačnoj težini cilja
4 round-robin Redom prolazi kroz ciljeve
5 p2c Nasumično uravnotežavanje opterećenja metodom "power-of-two-choices"
6 least-used Odabire cilj s trenutno najmanjim opterećenjem
7 random Jednoliko nasumičan izbor (bez dupliciranja)
8 strict-random Nasumičan izbor bez uklanjanja ponavljanja 🎲
9 cost-optimized Minimizira $ po zahtjevu prema cijenama iz aktualnog katalog 💸
10 headroom Odabire cilj s najvećom preostalom kvotom
11 reset-window Prioritet cilju čiji se prozor kvote najprije resetira
12 reset-aware Rangiranje prema vremenu resetiranja kvote — kratki prozori prvi 📊
13 context-relay Prosljeđuje kontekst između ciljeva za dugačke razgovore 🧠
14 context-optimized Odabire najprikladniji cilj za trenutnu veličinu konteksta
15 cache-optimized Fiksira svaki ponovno upotrebljivi prefiks upita na isti račun — maksimizira pogotke predmemorije upita 🎯
16 lkgp Last-Known-Good Path — fiksira se na posljednjeg uspješnog davatelja usluge, a zatim pada na pravila
17 auto Ocjenjivanje uživo prema 16 faktora za svaku vezu 🤖
18 fusion Šalje upit skupu modela + sudac sintetizira jedan odgovor 🧬
19 pipeline Lanac koraka — izlaz svakog cilja hrani sljedeći 🔗
Mehanizam Auto-Combo ocjenjuje svakog kandidata prema **16 faktora** (zdravstveni status, kvota, cijena, latencija, prikladnost za zadatak, kvaliteta, dostupnost sesije…) — pogledajte [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 Otpornost je ugrađena (3 nezavisna sloja) Otpornost OmniRoute — 3 nezavisna sloja koja se sama oporavljaju, pravi sloj za pravi kvar. Sloj 1 prekidač strujnog kruga davatelja usluge (cijeli davatelj usluge): aktivira se samo na 408/5xx, pragovi OAuth 8× / API ključ 12× / lokalno 2×, resetira se 60s/30s/15s u HALF-OPEN probu, lijeni oporavak; dok je OPEN, combo se preusmjerava na sljedećeg davatelja usluge. Sloj 2 hlađenje veze (jedan ključ/račun): osnova 5s OAuth / 3s API ključ, eksponencijalno ×2 povlačenje s zaštitom protiv 'thundering herd' učinka, 429 poštuje Retry-After, uspjeh briše sve stanje pogreške; jedan ključ koji se hladi biva zaobiđen dok susjedni ključevi nastavljaju posluživati. Sloj 3 zabrana modela (jedan model): 429 po modelu, lokalni 404 ili odbijanja moda zaključavaju samo taj model — nikad cijelu vezu. Terminalna stanja (zabranjen, istekao, kredit potrošen) su za operatora, a ne za hlađenje. 📖 [Auto-Combo Engine](docs/routing/AUTO-COMBO.md) · [Vodič za otpornost](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Po čemu se OmniRoute ističe
Po čemu se OmniRoute ističe — zastarjeli snimak značajki u usporedbi s 9router, OpenRouter, CLIProxyAPI i LiteLLM kroz 13 mogućnosti. OmniRoute: 358 pružatelja, ugrađeno 150+ besplatnih razina, 19 strategija usmjeravanja, kompresija tokena s 12 motora, ugrađeni MCP poslužitelj sa 110 alata, A2A agentski protokol, trajna memorija, zaštitne ograde, cloud agenti, TLS fingerprint stealth, Desktop/Termux/PWA i 42 i18n UI lokalizacije. OmniRoute je licenciran pod MIT licencom i može se samostalno hostati. Mogućnosti i brojevi konkurenata mogu se promijeniti; pogledajte povezanu metodologiju. 📊 Potpuna metodologija & detalji po značajkama u usporedbi s 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podržite OmniRoute OmniRoute je licenciran pod MIT licencom i održava se otvoreno. Ako vam štedi vrijeme ili novac, evo kako ga možete pomoći da ostane neovisan — odaberite ono što vam odgovara. Sponzorstvo nikada ne utječe na prioritet usmjeravanja; kupuje vidljivost, a ne rang.
⭐ Dajte repozitoriju zvjezdicuBesplatno — istinski pomaže vidljivostiStar OmniRoute
🐙 GitHub SponsorsJednokratno ili mjesečno · bez naknade platformegithub.com/sponsors/diegosouzapw
☕ Ko-fiBrzi jednokratni napojnica, bez potrebe za registracijom donatorako-fi.com/diegosouzapw
🧋 Buy Me a CoffeeMali, neformalni gestbuymeacoffee.com/diegosouzapw
🖐 LiberapayRedovito · neprofitno · otvoreni kodliberapay.com/diegosouzapw
🇧🇷 PIX (Brazil)Trenutno, bez naknadaključ i QR ispod
₿ KriptoBTC · ETH · USDT-TRC20 · USDC-Solanaadrese ispod
**🇧🇷 PIX** — trenutno, bez naknada (Brazil) OmniRoute PIX QR kod Ključ (nasumičan): `5d865059-bc44-483a-962d-43ceb80126eb` Pix copia-e-cola: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Kripto — BTC · ETH · USDT-TRC20 · USDC-Solana (kliknite za proširenje)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Svaki novčić šaljite samo na prikazanoj mreži — slanje na pogrešnu mrežu može uzrokovati gubitak sredstava.
🐛 Pronašli ste bug ili imate povratnu informaciju? Otvorite [Discussion](https://github.com/diegosouzapw/OmniRoute/discussions).

Napomene za razvojne programere: Projekt može generirati lokalnu datoteku .env tijekom npm install/postinstall radi praktičnosti razvojnih programera. Ova datoteka je namjerno zanemarena putem .gitignore (pogledajte .gitignore) i nikada se ne smije predati (commit) — ako je slučajno predana, promijenite sve otkrivene tajne podatke i uklonite datoteku iz povijesti. Pogledajte docs/DEVELOPER-ENVIRONMENT.md za smjernice o upravljanju lokalnim datotekama okruženja i tajnim podacima.

## 📡 OmniRoute Radar Glavna brojka za besplatnu razinu i dalje iznosi **~1.62B tokena/mjesečno** iz prethodno dokumentiranog kataloga iz kojeg su uklonjeni duplikati među skupovima. Privremeni krediti za registraciju kod pružatelja mogu zasebno povećati količinu u prvom mjesecu na **~2.22B**. Radar je neobavezan, potpisan kataloški sloj za korisnike koji žele ažurnije informacije o dostupnosti besplatnih modela između izdanja OmniRoutea; katalog zajednice i sve postojeće besplatne značajke ostaju besplatni. Podržavatelji mogu dobiti aktualni katalog i dodatne mogućnosti pružatelja usluga. Njegova zasebna, promjenjiva gornja granica iznosi **najviše približno 3B tokena/mjesečno**, ovisno o dostupnosti pružatelja. Ta gornja granica nije zajamčena: pružatelji mogu u bilo kojem trenutku promijeniti kvote, uvjete prihvatljivosti, modele ili regije. Radar se uključuje po želji i upotrebljava isključivo GET zahtjeve. Klijent OmniRoute ne prenosi upite, promet, konfiguraciju pružatelja, telemetriju upotrebe ni lokalno stanje odbacivanja obavijesti. Saznajte više o uvjetima prihvatljivosti i trenutačnom katalogu na adresi **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Što je novo
> Nedavne istaknute promjene iz **v3.8.20 → v3.8.50**. Potpuna povijest u [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — dolazna A2A delegacija vašoj floti agenata, Conductor vještine na Agent Card kartici, te dashboard panel s Faro push-to-talk glasovnim chatom. → [A2A Server](docs/frameworks/A2A-SERVER.md) - **🛂 Adaptivno prihvaćanje i zaštita od preopterećenja** — zahtjevni chat zahtjevi se stavljaju u red čekanja umjesto vraćanja 503 pogreške, uz atomske rotirajuće RPM zakupe po vezi. → [Vodič o otpornosti](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Kanonsko `/v1/models` sortiranje** — jedan neprekinuti blok grupiran po pružatelju usluga za svakog pružatelja (kombinacije su prve prikvačene), stabilno kroz svaki izvor kataloga. → [API referenca](docs/reference/API_REFERENCE.md) - **🗜️ Poboljšana kompresija** — zaštita od inflacije uključena po zadanim postavkama, Caveman paketi za DE / FR / JA + kineski (wényán), RTK filtri za Gradle i .NET. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md) - **💸 Iskrena fiksna cijena** — pružatelji usluga s pretplatom / planom za programiranje prikazuju **$0** u analitici troškova; budžet, kvota i usmjeravanje i dalje procjenjuju troškove. → [API referenca](docs/reference/API_REFERENCE.md) - **⚖️ Quota-Share usmjeravanje** — pravedno raspoređuje kvotu zajedničkog računa na skup ključeva, uz radno-konzervirajući princip po kojem se neiskorišteni dijelovi posuđuju drugima. → [Vodič o otpornosti](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 Postavljanje CLI-a/agenta jednom naredbom** — 13 registriranih `setup-*` naredbi; `omniroute run` pokreće 7 CLI alata (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podržava 10 ciljeva s interaktivnim odabirom pružatelja usluga i modela te favoritima po kontekstu. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Udaljeni način rada** — upravljajte udaljenim OmniRoute-om putem tokena s ograničenim opsegom (`connect` / `contexts` / `tokens`) + `antigravity` OAuth pomoćnik za VPS instalacije. → [Udaljeni način rada](docs/guides/REMOTE-MODE.md) - **🧭 Pametnije automatsko usmjeravanje** — `auto/:` kombinacije, **Fusion** (panel modela + sudac), usmjeravanje ovisno o zadatku, prilagodbe modela / načina rada / USD budžeta po zahtjevu. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Modularna kompresija** — 12 kombinirajućih mehanizama + Compression Studios: LLMLingua-2, dvorazinski Ultra, omniglyph, kontrolni prolaz vjernosti po koraku, GCF v3.2, uređivač s povlačenjem i ponovnim redoslijedom. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Transparentno MITM dekriptiranje (TPROXY)** — hvatanje CLI alata koji ignoriraju varijable okoline za proxy, uz CA po SNI-u i instalater za pohranu povjerenja. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Telemetrija troškova posvuda** — zaglavlja `X-OmniRoute-*` za trošak/korištenje na svakom endpointu, zaglavlje ušteda za cache-HIT, USD kvote potrošnje po ključu. → [API referenca](docs/reference/API_REFERENCE.md) - **🧠 Memorija koju vi kontrolirate** — isključena po zadanim postavkama, opcionalna int8 vektorska kvantizacija + tipizirano opadanje, `x-omniroute-no-memory` po zahtjevu. → [Memorija](docs/frameworks/MEMORY.md) - **🛡️ Sigurnost** — zaštita od prompt-injekcije na svakoj LLM ruti (red-team paket), opcionalna zaštita maskiranja vjerodajnica (skriva otkrivene API ključeve/tajne u oba smjera), besplatna DuckDuckGo pretraga weba kao krajnja opcija, i opcionalni OIDC prijavni sustav za dashboard (prijava lozinkom uvijek ostaje dostupna). → [Sigurnosne mjere](docs/security/GUARDRAILS.md) - **🖼️ Novi endpointi** — `/v1/ocr` (Mistral OCR) i `/v1/audio/translations` (Whisper stil) proširuju mogućnosti obrade medija. → [API referenca](docs/reference/API_REFERENCE.md) - **🎨 Generiranje slika / videa / audia** — jedan API za medije: xAI Grok Imagine i Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind, te pružatelji govora kao ElevenLabs. → [API referenca](docs/reference/API_REFERENCE.md) - **🌍 Postavljanje i operacije** — reverse-proxy `basePath`, automatsko prepoznavanje jezika preglednika, praćenje uređaja po ključu, MITM povjerenje bez root pristupa, zh-TW lokalizacija. → [Okolina](docs/reference/ENVIRONMENT.md) - **🤝 Više pružatelja usluga i agenata** — cloud agenti (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) s prijavom putem preglednika i OAuth-a, Ollama kao potpuno integriran alat, Claude Opus 5 i Sonnet 5, službeno partnerstvo s Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… i osvježeni **katalog s 352 pružatelja usluga**. → [Pružatelji usluga](docs/reference/PROVIDER_REFERENCE.md) - **📡 Transparentnost usmjeravanja** — svaki odgovor nosi zaglavlje `X-OmniRoute-Decision` koje navodi strategiju/pružatelja usluga/latenciju koja je poslužila zahtjev, nova `cache-optimized` strategija kombinacija + Auto-Combo faktor `cacheAffinity` usmjerava ponovljene zahtjeve nazad na vezu koja sadrži predmemorirani prefiks, a read-only endpoint `/v1/auto-combo/{channel}/candidates` prikazuje aktivni skup kandidata za `auto/*` kanal. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Lokalne performanse i infrastruktura** — lokalni Redis jednim klikom, alati za implementaciju na Cloudflare Workers / Deno Deploy relay, Bifrost i Mux kao nadzirane ugrađene usluge. → [Ugrađene usluge](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Također u paketu** — okvir za dodatke (plugin framework) i tržnica, Omni/Agent/GitHub okviri vještina, integracija s Obsidian trezorom (22 MCP alata), OpenAI-kompatibilni Batch i Files API-jevi, semantička predmemorija odgovora, gamifikacija s ljestvicama najboljih, ACP otkrivanje agenata (15 ugrađenih agenata), planirani izvoz zapisa u BigQuery, `auto/chaos` ubrizgavanje kvarova, Telegram bot most, upravitelj verzija u aplikaciji te LMArena-ELO rangiranja besplatnih pružatelja usluga. → [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.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ radi i s · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · bilo kojim alatom kompatibilnim s OpenAI-jem
📖 Postavljanje za svaki alat za svih 36 alata (26 CLI alata za kodiranje + 10 CLI agenata) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Dodatak za OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Pokrenite bilo koji podržani CLI putem OmniRoutea jednom naredbom** — bez zapisivanja konfiguracijskih datoteka, vjerodajnice se umeću zasebno za svaki proces, a Qwen/Gemini dobivaju privremeni izolirani matični 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žatelja usluge i model te zapišite vlastitu konfiguraciju alata: omniroute configure codex # također: claude opencode qwen aider goose gemini cline continue kilo ``` Svaka naredba poštuje aktivni udaljeni kontekst (`omniroute connect `), `--dry-run` prikazuje točne varijable okruženja i argumente bez izvršavanja, a `--api-key-env NAME` čuva tajne izvan povijesti vaše ljuske. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 pružatelja AI usluga — 152 označena u katalogu kao besplatna
> **357 registriranih pružatelja usluga** u kanonskim kolekcijama za razgovor, medije, pretraživanje, lokalne modele, agente u oblaku i sustave, uključujući **152 pružatelja s metapodacima za otkrivanje `hasFree: true`**. Registar modela za razgovor obuhvaća **229 pružatelja / 2.554 različita para pružatelj-model / 1.283 neobrađena ID-a modela**; zasebni katalog besplatnih kvota sadrži **491 redak po modelu**, **35 ponavljajućih skupova kvota** i **54 pružatelja s ponavljajućim ili trajno besplatnim pristupom bez ključa**. Nazivnici su namjerno različiti; definicije i izračuni s dedupliciranim skupovima dostupni su u dokumentima [Referenca pružatelja](docs/reference/PROVIDER_REFERENCE.md) i [Besplatne razine](docs/reference/FREE_TIERS.md).
### 🏢 Svaki veliki laboratorij — putem jedne krajnje točke
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…i više od 330 drugih — svaka se ikona učitava uživo iz kataloga pružatelja na nadzornoj ploči. 📖 [Referenca pružatelja](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Zauvijek besplatno — 0 USD, bez kartice
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Bez ograničenja tokena
Kilo Code
Kilo Code
Automatsko usmjeravanje, Tencent Hy3
Zauvijek besplatno
Requesty
Requesty
GPT-OSS 120B, Nemotron
Zauvijek besplatno
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Besplatna razina
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Zauvijek besplatno
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Zauvijek besplatno
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
Neograničeno i BESPLATNO
Pollinations
Pollinations
GPT, Llama, Claude
Ključ nije potreban
Cloudflare AI
Cloudflare AI
50+ modela
10K neurona/dan
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM besplatno
Cerebras
Cerebras
GLM 4.7, GPT-OSS
1M tokena/dan
OpenRouter
OpenRouter
:free modeli
+$10 → viši RPM
📖 Cijeli strojno čitljiv katalog → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Gdje OmniRoute radi — Bilo gdje
> Ista aplikacija, vaš uređaj, vaša pravila. Od globalne npm instalacije do **vašeg telefona** putem Termuxa.
PlatformaInstalacijaIstaknuto
📦 npm (globalno)npm install -g omnirouteJedna naredba, bilo koji OS
🐳 Dockerdocker run … diegosouzapw/omnirouteMulti-arch AMD64 + ARM64
🖥️ Desktop (Electron)npm run electron:buildNativni prozor + sistemska traka — Windows / macOS / Linux
💪 ARMnativno arm64Raspberry Pi, ARM serveri, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteRadi na vašem telefonu, 24/7, bez root pristupa
📲 PWA"Dodaj na početni zaslon"Cijeli zaslon, offline, instalira se iz preglednika
🧩 OpenCode dodatak@omniroute/opencode-providerNativna OpenCode integracija
🤖 VS Code Copilot Chatinstalirajte proširenje OmniCopilotSvaki OmniRoute model u nativnom Copilot Chat izborniku — stabilna verzija & Insiders
🛠️ Iz izvornog kodanpm install && npm run devIsprobajte, doprinesite
📖 [Docker vodič](docs/guides/DOCKER_GUIDE.md) · [Desktop](electron/README.md) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Novo: OmniRoute unutar VS Code-ovog nativnog Copilot Chata
> Nema nove bočne trake, nema novog chat sučelja — svaki model koji OmniRoute poslužuje pojavljuje se > izravno u **Copilot Chat izborniku modela koji već koristite**. Od VS Code 1.122, provider modeli > radi bez GitHub prijave ili Copilot pretplate — agent mode, tool calling i vision, > besplatno. Instalirajte proširenje **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, usmjerite ga na vaš OmniRoute server (zadano `localhost:20128`), zatim otvorite Copilot Chat → izbornik modela → **Manage Models…** → **OmniRoute**.
TrgovinaPoveznicaRadi s
🧩 VS Code MarketplaceInstaliraj →VS Code — stabilna verzija & Insiders
🔓 Open VSX RegistryInstaliraj →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Unutar editora: otvorite prikaz **Extensions**, pretražite **"OmniRoute"**, kliknite **Install** — 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, što izbornik prikazuje, nadzorna ploča u kartici, rješavanje problema
## 🔒 Privatno i lokalno prvo
Privatno i lokalno prvo — OmniRoute-ov gateway i kontrolna ravnina rade na vašem računalu. Upiti se šalju uzvodnom (upstream) pružatelju odabranom za svaki zahtjev; OmniRoute ne dodaje nikakav hostirani korak za obradu upita, a telemetrija je onemogućena po zadanim postavkama. Vjerodajnice su enkriptirane u stanju mirovanja pomoću AES-256-GCM; kontrole uključuju opsege API ključeva, IP filtriranje, ograničenja stope, zaštitu od prompt injection napada, čišćenje uzvodnih zaglavlja, opcionalno uklanjanje osobnih podataka (PII), sanitizirane pogreške i lokalni SQLite trag revizije. OmniRoute je licenciran pod MIT licencom i može se samostalno hostirati. 📖 [Ovlaštenje](docs/architecture/AUTHZ_GUIDE.md) · [Zaštitne ograde](docs/security/GUARDRAILS.md) · [Usklađenost](docs/security/COMPLIANCE.md)
## 🔌 Potpuni CLI + A2A i MCP
> Osim servera, OmniRoute je **potpuna komandna kontrolna ploča** sa **80+ naredbi**, plus otvoreni agentski protokoli tako da AI agent može upravljati njime **samostalno**. ### ⌨️ Prava CLI alatka (ne samo `start`) ```bash omniroute # pokreće gateway + nadzornu ploču (port 20128) omniroute chat # interaktivni TUI chat klijent (kose crte: /model /combo /skill /memory) omniroute setup # vođeni čarobnjak za prvo pokretanje omniroute doctor # dijagnostika pružatelja, portova, izvornih ovisnosti (native deps) ``` ### 🛰️ Udaljeni način rada — pokrenite CLI ovdje, OmniRoute na VPS-u OmniRoute na serveru? Upravljajte njime s prijenosnog računala istim CLI-em. Prijavite se jednom pomoću opsegovanog pristupnog tokena; svaka sljedeća naredba tada cilja na udaljeni server. ```bash omniroute connect 192.168.0.15 # lozinka → opsegovani token, spremljen kao kontekst omniroute models list # ← pokreće se na UDALJENOM serveru omniroute configure codex # ← bira udaljeni model, piše lokalni Codex profil omniroute tokens create --name ci --scope read # generira uže opsegovane tokene za druge uređaje omniroute contexts use default # ← vraća se na lokalni server ``` Tokeni imaju opsege `read` / `write` / `admin`; rute koje pokreću procese ostaju ograničene samo na loopback. 📖 [Udaljeni način rada](docs/guides/REMOTE-MODE.md)
Animirani terminal koji demonstrira OmniRoute CLI — omniroute providers list, omniroute combo list i omniroute health — kroz prikaz površine od 86 naredbi na najvišoj razini: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Povežite agenta — i on preuzima kontrolu nad samim OmniRoute-om Izložite OmniRoute putem **MCP**, **A2A**, **REST API**, **webhook**-ova ili **udaljenog CLI**-a — bilo koji sposoban agent (ili vaš vlastiti kod) dobiva ključeve cijelog gatewaya: usmjeravanje (routing), pružatelje, kombinacije, predmemoriju, kompresiju, memoriju — autonomno. Niže navedene HTTP krajnje točke poslužuju se na `http://localhost:20128`.
SučeljeKrajnja točka / naredbaKoristi se za
🧰 MCP (stdio)omniroute --mcpPriključivanje na Claude Desktop, Cursor, bilo koji MCP klijent
🌊 MCP (HTTP)/api/mcp/streamUdaljeni MCP — 110 alata, 33 opsega (provedba opcionalna), potpuni trag revizije
📡 MCP (SSE)/api/mcp/sseMCP transport sa streamingom
🤝 A2A/.well-known/agent.jsonKomunikacija između agenata, JSON-RPC 2.0 + SSE, 6 vještina
🌐 REST API/v1/*Kompatibilan s OpenAI-em — chat, embeddingi, slike, audio, OCR
🔔 Webhookovi/api/webhooksSlanje događaja zahtjeva / kvota na Slack, Discord, Telegram ili bilo koji URL
🛰️ Udaljeni CLIomniroute connect Upravljanje udaljenom instancom pomoću opsegovanih pristupnih tokena
```bash # Dajte Claude Code cijeli OmniRoute skup alata putem MCP-a: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [MCP server](docs/frameworks/MCP-SERVER.md) · [A2A server](docs/frameworks/A2A-SERVER.md) · [Vodič za agentske protokole](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Uštedite 15–95% tokena — automatski
### 📖 Kako radi — pipeline, arhitektura i matematika ušteda OmniRoute pipeline za kompresiju: ilustrativni klijentski zahtjev od 10.000 tokena prolazi kroz 12 kompozitnih modula — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra i OmniGlyph — i može doseći providera na oko 1.080 tokena u dokumentiranom slaganom primjeru. Strukturirani sadržaj štite mehanizmi za očuvanje i vrata vjernosti po koraku; eksplicitni lossy ili eksperimentalni modovi mogu transformirati prihvatljivi sadržaj. Zadana slagana kombinacija pokreće `RTK → Caveman`. Kada oba djeluju na isti payload alata/konteksta, uštede se kombiniraju: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Blokovi kôda, URL-ovi, JSON i strukturirani podaci **su uvijek zaštićeni** mehanizmom za očuvanje. > **Zašto koristiti mnogo tokena kada nekoliko tokena obavi posao?** Svaki zahtjev prolazi kroz OmniRoute-ov pipeline za kompresiju **transparentno** — bez izmjena na strani klijenta. Sada je to **stog od 12 kompozitnih modula** koji se izvršavaju redom i mogu se mix & match po kombinaciji rutiranja — nadograđujući ideje iz [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) i [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR). ### 🧱 Stog od 12 modula Moduli se izvršavaju u redoslijedu pipeline-a; svaki se može zasebno uključiti/isključiti i konfigurirati po kombinaciji:
#ModulŠto radi
1Session-DedupUklanja sadržaj koji se ponavlja kroz ture (adresirano po sadržaju, kroz ture)
2CCRArhivira velike blokove iza markera za dohvat, dohvaćaju se po potrebi
3LiteSkraćivanje razmaka + URL-ova slika (osnovni sloj s malom latencijom)
4RTKPametno filtriranje rezultata alata, dedup i skraćivanje (svjesno naredbi)
5Responses Tool OutputBezgubna JSON kompresija po prioritetu + ograničena dijagnostička kompresija za shell/patch/search/build izlaze (Responses API)
6HeadroomBezgubna tabularna kompakcija JSON polja (~30%) putem ugrađenog GCF kodeka
7RelevanceEkstraktivno bodovanje rečenica u odnosu na posljednji korisnički upit
8CavemanKompresija proze temeljena na pravilima (~65–75% na izlazu)
9AggressiveSažimanje + progresivno "starenje" starih tura
10LLMLingua-2ML semantičko obrezivanje putem MobileBERT ONNX — sigurno za kôd, asinkrono
11UltraHeurističko obrezivanje tokena s opcionalnim malim modelom (SLM) razinom
12OmniGlyphEksperimentalno kodiranje konteksta-kao-slike, mjereno na Claude Fable 5 preko direktne Anthropic veze; GPT 5.6 transformeri ostaju fail-closed do potvrde providera. Četiri profila kompresije (agresivan zadani, uravnotežen, sigurno za kodiranje, passthrough) (najagresivnije; opcionalno)
Blokovi kôda, URL-ovi i strukturirani podaci **uvijek se čuvaju** byte-precizno. **Prijednamještaji jednim klikom** kombiniraju module:
ModUštedaNajbolje za
🪶 Lite~15%Sigurna zadana postavka, uvijek uključena
🪨 Standard (Caveman)~30%Svakodnevno programiranje
⚡ Aggressive~50%Duge sesije intenzivne uporabe alata
🔥 Ultra~75%Maksimalna ušteda
🧰 RTK60–90%Shell/test/build/git izlaz
🔗 Stacked (RTK → Caveman)78–95%Mješoviti promptovi + logovi alata
**Stvarni primjer — Standard mod:** > **Prije (69 tokena):** _"The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."_ > > **Nakon (19 tokena):** _"New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."_ > > **Isti odgovor. 72% manje tokena. Nula gubitka točnosti.** ✅ **PT-BR primjer — [Troglodita](https://github.com/leninejunior/troglodita) mod:** > **Antes (42 tokena):** _"O problema é que o componente está re-renderizando porque uma nova referência de objeto está sendo criada em cada ciclo de renderização. Eu recomendaria usar useMemo."_ > > **Depois (12 tokena):** _"Re-render: ref nova cada ciclo (objeto inline recriado). Usar `useMemo`."_ > > **Mesma resposta. ~70% menos tokens. Precisão técnica intacta.** ✅
### 🎚️ Iza modula — izlazni stilovi, adaptivna skala i kontrola po zahtjevu 12 modula iznad smanjuju ono što ulazi **u** sustav. Još tri sloja oblikuju **kako**, **kada** i što izlazi **iz** njega: - **🪄 Izlazni stilovi** _(oblikovanje na izlaznoj osi)_ — ubacuju deterministične, cache-safe upute za oblikovanje odgovora; kombinirajuće, svaka na intenzitetu `lite` / `full` / `ultra`. Dodavanje stila je unos u registar od jedne linije: - **Sažeta proza** — izbacuje suvišne riječi / članove / oklijevajuće izraze; tehnička srž ostaje netaknuta. - **Manje kôda** — "lijeni senior developer" YAGNI pristup: najmanja radna izmjena, bez nezatraženog skeletnog kôda. - **Ponytail (lijeni senior developer)** — penje se uz YAGNI ljestvicu, rješava temeljni uzrok, najmanja radna razlika. - **Imam ADHD (akcija na prvom mjestu)** — sljedeća akcija je na čelu, koraci numerirani, jedan konkretan sljedeći korak, bez uvoda. - **Sažeti CJK (文言)** — ultra-sažeti stil klasičnog kineskog (ograničen na lokal `zh`). - **🎯 Adaptivni proračun konteksta** _(skala)_ — umjesto jednog uklj./isklj. praga tokena, postupno se aktiviraju najjeftiniji, najviše bezgubni moduli samo do te mjere koliko je potrebno da se sadržaj **uklopi u kontekstualni prozor modela**. Politika: `reserve-output` (zadano, svjesno modela) · `percentage` · `absolute`. Mod: `floor` (osigurava uklapanje) · `replace-autotrigger` (vaš eksplicitni izbor pobjeđuje) · `off` (naslijeđeni prag). - **🎛️ Gdje se odlučuje o kompresiji** _(prioritet, viši → niži)_ — zaglavlje `x-omniroute-compression` po zahtjevu › nadglašavanje kombinacije rutiranja › aktivni imenovani profil › adaptivni / auto-trigger › zadana postavka panela › isključeno. Primijenjeni plan se odražava u zaglavlju odgovora `X-OmniRoute-Compression: ; source=`. Auto-trigger prema pragu tokena, uključite adaptivnu skalu, prikvačite imenovani profil, postavite jednokratnu opciju po zahtjevu ili dodijelite pipeline po kombinaciji rutiranja — što god odgovara opterećenju. Opcionalna offline **evaluacijska infrastruktura** (`npm run eval:compression`) bodovanjem procjenjuje vjernost u odnosu na uštedu na fiksiranom korpusu prije nego promovirate promjenu. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Brzi početak
**1) Instalirajte i pokrenite** ```bash npm install -g omniroute omniroute ``` > 💡 Vidite `npm warn ERESOLVE` ili upozorenja o peer ovisnostima? [Bezopasna su](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). Nadzorna ploča na `http://localhost:20128` · API na `http://localhost:20128/v1`. **2) Povežite BESPLATNOG providera (bez registracije)** Nadzorna ploča → **Providers** → povežite **Kiro AI** (besplatni Claude, ~50 kredita/mjesec po računu) ili **OpenCode Free** (bez autentifikacije) → gotovo. **3) Usmjerite svoj alat za kodiranje** ```txt Base URL: http://localhost:20128/v1 API Key: [kopirajte iz Dashboard → Endpoints] Model: auto (rutiranje bez konfiguracije — ili bilo koji provider/model) ``` **4) Provjerite radi li** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Trebali biste vidjeti popis svojih povezanih modela. 🎉 To je to — počnite programirati, a OmniRoute će automatski rutirati i preusmjeravati zahtjeve za vas. Ako vaš klijent ne može slati prilagođena zaglavlja, OmniRoute također izlaže tokenizirane alias-e za kompatibilnost: ```txt OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/ OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Koristite ove opcije samo za klijente koji ne mogu prikvačiti `Authorization: Bearer ...`. Autentifikacija putem zaglavlja ostaje preferirani mod.
## 📦 Više metoda 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 najnoviju **objavljenu** stabilnu SemVer verziju. Ne prati git `main`. Za GitOps koristite fiksnu verziju `:X.Y.Z`. Pogledajte [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels). Slika ima fiksiranu vrijednost **`OMNIROUTE_MEMORY_MB=1024`**. To je dovoljno za nadzornu ploču i lagani chat. **Agenti za kodiranje** (`POST /v1/responses` iz Claude Code, Codex, Grok, …) trebaju znatno veći V8 heap, jer inače proces baca `FATAL ERROR` pri ~12 GiB kod dva preklapajuća dugačka konteksta. Kontejner postavite iznad veličine heapa (nativni bufferi se nalaze izvan V8): | Radno opterećenje | Heap (`-e OMNIROUTE_MEMORY_MB`) | Kontejner (`--memory`) | | --------------------------------------- | ------------------------------- | ---------------------- | | Nadzorna ploča / lagani chat | `1024` (zadano u slici) | ≥2 g | | Jedan agent za kodiranje | `8192` | ≥10 g | | Dva istovremena dugačka `/v1/responses` | `10240`–`12288` | ≥12–16 g | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Cijela tablica: [Docker Guide — runtime RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Pre-release Docker kanal:** `diegosouzapw/omniroute:next` i > `diegosouzapw/omniroute:next-web` prate trenutnu zadanu granu > `release/v*`. Ove promjenjive oznake namijenjene su isključivo testiranju neobjavljenih > ispravaka i **nisu podržane za produkciju**. Pogledajte > [Docker Release Channels](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** Standardna `bun install` i globalna instalacija (`bun install -g omniroute`) podržane su putem detekcije Bun runtime-a: - **Ugrađeni `bun:sqlite`**: OmniRoute koristi ugrađeni Bun-ov `bun:sqlite` driver kada se pokreće pod Bun-om, s povratkom na `better-sqlite3` na Node.js ili `sql.js`. - **Automatski odabir Webpack bundlera u dev okruženju**: Razvojni način (`bun run dev`) automatski detektira Bun i isključuje Turbopack u korist Webpacka radi izbjegavanja nekompatibilnosti nativnih V8 povezivanja (bindings). Produkcijske izgradnje (`bun run build`) slijede `OMNIROUTE_USE_TURBOPACK` potpuno isto kao na Node-u: Turbopack je zadan, a `OMNIROUTE_USE_TURBOPACK=0` gradi s Webpackom (`Dockerfile.bun` to izlaže kao `--build-arg`). - **Namjenska Bun Dockerfile datoteka**: Višestupanjski `Dockerfile.bun` za nativna Bun produkcijska postavljanja (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Instalacija i pokretanje s Bun-om 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 flakes nix develop npm run dev # Ili korištenje devbox devbox run npm run dev ``` 📖 [Docker Guide](docs/guides/DOCKER_GUIDE.md) — Compose profili, Caddy HTTPS, Cloudflare tuneli. **🦭 Podman** ```bash # 1. Pripremite direktorij za podatke koji se povezuje bind mountom mkdir -p data # 2. Samo Linux + lokalni rootless Podman (nikada udaljeni Podman Machine klijent): podman unshare chown 1000:1000 ./data # 3. Postavite naznaku za runtime, 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 pratite [smjernice za direktorij podataka specifične za topologiju](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Podman Guide](contrib/podman/README.md) — Compose izgradnje, Podman Machine i postavljanje Linux/systemd Quadlet. **⚡ Brža / lakša instalacija (bez nativne izgradnje)** Nativni SQLite engine (`better-sqlite3`) je **opcionalna** ovisnost, tako da globalna instalacija nikada ne čeka na kompilaciju iz izvornog koda: koristi predizgrađenu binarnu datoteku kada odgovara vašoj platformi/Node verziji, a inače se transparentno oslanja na čisti JS engine (`node:sqlite` na Node 22+, ili ugrađeni `sql.js` WASM) — nisu potrebni alati za izgradnju. Da biste u potpunosti preskočili nativno zagrijavanje nakon instalacije (CI, headless ili spori uređaji): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 to također preskače ``` Za najbrže instalacije preporučujemo **pnpm** (spremište adresirano sadržajem + hard linkovi — vidi gore). Za headless runtime bez nadzorne ploče koristite Docker `base` profil (gore) ili [Termux vodič](docs/guides/TERMUX_GUIDE.md). CLI i web nadzorna ploča poslužuju se putem istog procesa na jednom portu, tako da danas ne postoji zaseban paket samo za CLI.
# 🎬 OmniRoute u akciji
## 📹 Videovodiči
Snapshot do painel em 2026-08-24 · Catálogo bruto: YT 809 | TT 137 | IG 124 · Frescor (dias): YT 1 | TT 21 | IG 22
Instagram Reel
🎬 #1 — Instagram
nick_saraev — 3.042.474 pregleda
Instagram Reel — theopenstack
🎬 #2 — Instagram
theopenstack — 692.419 pregleda
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620.400 pregleda
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391.109 pregleda
Instagram Reel — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347.652 pregleda
**Potpuni poredak (deduplicirani kanonski URL-ovi, `v > 0`, najveći doseg):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3.042.474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692.419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620.400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391.109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347.652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331.973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263.744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218.174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186.786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177.800** | Kanonski podaci na dan 2026-08-24: **1.029 jedinstvenih videa** · **11.132.922 poznatih pregleda** (`v > 0`) · **639 kanala/profila po mreži**. Sirovi pregled sadrži 1.070 redaka; 41 duplikat s Instagrama normaliziran je prema kanonskom URL-u, uz zadržavanje najvećeg broja pregleda po videu. > 🎬 **Snimili ste video o OmniRoute?** Otvorite [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) ili [raspravu](https://github.com/diegosouzapw/OmniRoute/discussions) s poveznicom — istaknut ćemo ga ovdje.
# 📧 Zajednica i pomoć > Sve na jednom mjestu — pratite održavatelja, razgovarajte sa zajednicom ili otvorite issue. | Kanal | Gdje / kako | | ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — pratite održavatelja | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — pratite za nova izdanja i savjete | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 Globalno** | [pridružite se grupi](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brazil** | [pridružite se grupi](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Web stranica** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍StHub OmniRoute zajednica (besplatno)** | [portal sthub](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Izvorni kod** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Prijavite grešku** | [otvorite issue](https://github.com/diegosouzapw/OmniRoute/issues) — priložite izlaz naredbe `npm run system-info` | | 🤝 **Doprinesite** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Model grananja i izdanja](docs/ops/BRANCHING_MODEL.md) · odaberite `good first issue` | | 💚 **Podržite projekt** | [Načini podrške ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Tehnološki stog
SlojTehnologija
RuntimeNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
JezikTypeScript 6.0 — 100% TypeScript u src/ i open-sse/ (nula any u jezgri od v2.0)
OkvirNext.js 16 + React 19 + Tailwind CSS 4
Baza podatakabetter-sqlite3 (SQLite, WAL journaling) + LowDB (JSON legacy) — 122 domenska modula, 183 migracije
MemorijaSQLite FTS5 pretraživanje cijelog teksta + int8-kvantizirani vektorski ugradci, tipizirani raspad
ShemeZod 4 — MCP validacija ulaza/izlaza alata + API ugovori
ProtokoliMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
StrimingServer-Sent Events (SSE) + WebSocket most (`/v1/ws`)
KompresijaCjevovod s 12 mehanizama — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Autentifikacija i sigurnostOAuth 2.0 (PKCE) + JWT + API ključevi + MCP autorizacija s opsegom · AES-256-GCM u mirovanju · DOMPurify
Prikrivanjewreq-js — JA3 / JA4 imitacija TLS otiska prsta, proxy na 3 razine
OtpornostPrekidač strujnog kruga, eksponencijalno odgađanje, zaštita od preopterećenja (anti-thundering-herd), auto-kombinirano samoizlječenje
Zapisivanjepino — strukturirani JSON zapisi s kontekstom zahtjeva
TestiranjeNode.js test runner + Vitest — 39.000+ statičkih deklaracija testova u 5.100+ praćenih testnih datoteka (jedinični, integracijski, E2E, sigurnosni, ekosustav)
PlatformeStolno računalo (Electron) · Android (Termux) · PWA (bilo koji preglednik)
CI/CDGitHub Actions — automatsko objavljivanje na npm + Docker Hub pri izdanju
PovezniceWeb stranica · npm · Docker Hub

## 📖 Dokumentacija
### 📘 Početak rada
DokumentOpis
Korisnički vodičPružatelji usluga, kombinacije, integracija s CLI-jem, implementacija
Vodič za postavljanjeSve metode instalacije, konfiguracije CLI alata, postavljanje protokola, prilagodba vremenskih ograničenja
Vodič za CLI alatePostavljanje pojedinačnih alata Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo i Copilot
Udaljeni način radaUpravljajte udaljenim OmniRouteom (VPS) iz CLI-ja na svojem prijenosnom računalu putem tokena s ograničenim pristupom
Konfiguracija alata Claude CodeUsmjerite Claude Code na OmniRoute (lokalni/udaljeni) pomoću naredbe launch i profila za pojedinačne modele
Brzi početakInstalirajte → povežite → konfigurirajte u 3 koraka
### 🔧 Rad i implementacija
DokumentOpis
Vodič za DockerDocker run, Compose profili, Caddy HTTPS, tuneli, oznake slika
Vodič za PodmanIntegracija sustava Quadlet sa systemdom, podman-compose, SELinux
Implementacija na virtualnom strojuPotpuni vodič: postavljanje virtualnog stroja, nginxa i Cloudflarea
Implementacija na Fly.ioImplementirajte na Fly.io uz trajnu pohranu
Vodič za TermuxPokrenite OmniRoute na Androidu putem Termuxa
Vodič za PWAInstalacija progresivne web-aplikacije, predmemoriranje, arhitektura
Vodič za deinstalacijuČisto uklanjanje za sve metode instalacije
Konfiguracija okruženjaPotpuni popis varijabli datoteke .env i referenci
### 🧠 Značajke i arhitektura
DokumentOpis
ArhitekturaArhitektura sustava, tijek podataka i unutarnji mehanizmi
Vodič za kompresijuProces sa 7 opcija: isključeno / lagano / standardno / agresivno / ultra / RTK / složeno
RTK kompresijaKompresija izlaza naredbi, filtri, pouzdanost, provjera, oporavak neobrađenog izlaza
Mehanizmi za kompresijuCaveman, RTK, složeni procesi, sučelja nadzorne ploče/API-ja/MCP-a
Format pravila kompresijeSheme JSON paketa pravila za filtre Caveman i RTK
Jezični paketi za kompresijuOtkrivanje jezika i izrada Caveman paketa pravila
Vodič za otpornostPrekidači kruga, razdoblja čekanja, red čekanja, sprječavanje naglog istodobnog opterećenja, lažiranje TLS-a
Mehanizam Auto-ComboBodovanje prema 16 čimbenika, paketi načina rada, samooporavak
Vodič za proxyProxy sustav s 3 razine, tržište 1proxy, CRUD registra
Besplatne razineObjedinjeni direktorij: 35 dokumentiranih skupova koji se obnavljaju / 489 katalogiziranih stavki besplatne razine
Galerija značajkiVizualni obilazak nadzorne ploče sa snimkama zaslona
Dokumentacija baze kodaPregled baze koda prilagođen početnicima
### 🤖 Protokoli i API-ji
DokumentOpis
Referenca API-jaSve krajnje točke s primjerima
OpenAPI specifikacijaSpecifikacija OpenAPI 3.0
MCP poslužitelj110 MCP alata, IDE konfiguracije, Python/TS/Go klijenti
Vodič za MCP poslužiteljInstalacija MCP-a, prijenosi i referenca alata
A2A poslužiteljProtokol JSON-RPC 2.0, vještine, strujanje, upravljanje zadacima
Vodič za A2A poslužiteljKartica A2A agenta, zadaci, vještine i strujanje
### 📋 Projekt i kvaliteta
DokumentOpis
DoprinošenjePostavljanje razvojnog okruženja i smjernice
Model grananja i izdanjaNa koje su grane usmjereni PR-ovi (release/*) te što znače main i oznake
Dnevnik promjenaPotpuna povijest izdanja po verzijama
Sigurnosna pravilaPrijavljivanje ranjivosti i sigurnosne prakse
Vodič za i18nPodrška za 42 jezika, tijek rada prevođenja, RTL
Kontrolni popis za izdanjeKoraci provjere prije izdanja
Plan pokrivenostiStrategija pokrivenosti testovima za više od 39.000 statičkih deklaracija testova u više od 5.100 praćenih datoteka testova

# ⭐ Najistaknutiji doprinositelji > OmniRoute oblikuje strastvena zajednica otvorenog koda. Ovi su pojedinci dali iznimne doprinose koji izravno utječu na kvalitetu, stabilnost i doseg projekta. **Hvala vam.** ### Vanjski doprinositelji prema spojenim zahtjevima za povlačenje
PoredakDoprinositeljSpojeni PR-ovi~Promijenjenih redaka
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Zamrznuto na trenutačnom vrhu grane release/v3.8.50, na reviziji dafb4ae808, sa spajanjima do 2026-08-24 05:26:03 UTC. Straničeni popis iz GitHub GraphQL-a sadržava 5.911 spojenih PR-ova: 2.707 od vlasnika repozitorija, 179 od Dependabota i 3.025 vanjskih PR-ova od 535 različitih doprinositelja. „Promijenjeni retci” zbroj su dodavanja i brisanja na GitHubu te uključuju generirane datoteke, datoteke zaključavanja, kataloge, prijevode i dokumentaciju; predstavljaju količinu promjena, a ne broj autorski napisanih redaka koda. Izjednačeni rezultati na graničnoj vrijednosti zadržani su. ### Commitovi pripisani na GitHubu
backryun
backryun

🥇 220 doprinosa pripisanih na GitHubu
Paijo
Paijo

🥈 219 doprinosa pripisanih na GitHubu
Randi
Randi

🥉 108 doprinosa pripisanih na GitHubu
Ravi Tharuma
Ravi Tharuma

🏅 81 doprinos pripisan na GitHubu
Chris
Chris

🏅 70 doprinosa pripisanih na GitHubu
Markus Hartung
Markus Hartung

🏅 69 doprinosa pripisanih na GitHubu · dijeli 6. mjesto
Dizzle
Dizzle

🏅 69 doprinosa pripisanih na GitHubu · dijeli 6. mjesto
Jan Leon
Jan Leon

🏅 64 doprinosa pripisana na GitHubu
zenobit
zenobit

🏅 62 doprinosa pripisana na GitHubu
Bob.Hou
Bob.Hou

🏅 51 doprinos pripisan na GitHubu · dijeli 10. mjesto
Xiangzhe
Xiangzhe

🏅 51 doprinos pripisan na GitHubu · dijeli 10. mjesto
Ponovno provjereno 2026-08-24 06:14:31 UTC: doprinosi pripisani na GitHubu koje je API repozitorija Contributors prijavio za zadanu granu release/v3.8.50. API je vratio 525 identiteta (415 korisnika, 2 bota, 108 anonimnih); ova tablica isključuje održavatelja, botove i anonimne identitete te zadržava izjednačene plasmane. Razlikuje se i od gornjeg poretka spojenih PR-ova i od donjeg popisa 639 osoba iz Git metapodataka. > 🙏 Značajke, ispravci pogrešaka i poboljšanja infrastrukture ovih suradnika **ključni su dio** onoga što OmniRoute čini pouzdanim i bogatim značajkama. Svaki zahtjev za spajanje, svaki testni slučaj i svaka i18n datoteka prijevoda važni su. Otvoreni kod grade ljudi poput njih.
---
## 💖 Sponzori
Iskrena zahvala ljudima koji financiraju OmniRoute iz svog vlastitog džepa — svaki doprinos održava projekt besplatnim, neovisnim i u kretanju.
Andrew
Andrew

💛 Aktivan mjesečni sponzor
Vlad I
Vlad I

💛 Aktivan mjesečni sponzor
Paco Cartones
Paco Cartones

💛 Aktivan jednokratni sponzor
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Bivši jednokratni pomagač
longtao
longtao

💛 Bivši jednokratni pomagač
… i drugi koji preferiraju ostati privatni 💛 Javni GitHub Sponsors ponovno provjereni 2026-08-24. GitHub-ov status activeOnly određuje gore prikazane oznake aktivnosti; prethodno objavljeni javni jednokratni pomagači i dalje ostaju zahvaljeni, a privatni sponzori ostaju anonimni. 💖 Postani sponzor → — svaki dolar održava OmniRoute besplatnim i neovisnim.

## 👥 600+ Suradnika
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Provjereno 2026-08-24 na zamrznutoj osnovi ac02c5b42f i ponovno provjereno na uživo vrhu release/v3.8.50 dafb4ae808: 639 normaliziranih ljudskih Git identiteta — 407 se javlja kao autori commitova (uključujući održavatelja), a 232 samo u eksplicitnim Co-authored-by napomenama. Popis normalizira GitHub noreply nadimke, isključuje 26 bot/agent/servisnih/placeholder identiteta i ne spaja obične e-mail adrese samo zato što se njihova prikazana imena podudaraju. ### Kako doprinijeti 1. Forkajte repozitorij 2. Kreirajte granu od **aktivnog** vrha `release/vX.Y.Z` (ne `main`) — pogledajte [Model grananja i izdavanja](docs/ops/BRANCHING_MODEL.md) 3. Kreirajte svoju feature granu (`git checkout -b feat/amazing-feature`) 4. Commitajte svoje promjene (`git commit -m 'feat: add amazing feature'`) 5. Pushajte granu (`git push origin feat/amazing-feature`) 6. Otvorite Pull Request s **base = ta `release/vX.Y.Z` grana** Pogledajte [CONTRIBUTING.md](CONTRIBUTING.md) za detaljne smjernice. ### Objava 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 Grafikon povijesti zvjezdica
## 🌍 StarMapper StarMapper

## 🙏 Zahvale
OmniRoute stoji na plećima divova. Počeo je kao fork projekta **[9router](https://github.com/decolua/9router)** i TypeScript port Go projekta **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — i od tada je svaki podsustav u nastavku bio inspiriran open-source projektom koji je do toga došao prvi. Svaki od njih oblikovao je konkretan dio OmniRoutea. Ovo je naša zahvala svima njima. 🙏 > ⭐ broj zvjezdica provjeren putem GitHubovog REST API-ja 24. kolovoza 2026. — idite dati ovim projektima zvjezdicu. Brojevi su točan snapshot s datumom i naravno da će se mijenjati. ### 🧬 Podrijetlo i gateway
Projekt⭐Kako je inspirirao OmniRoute
9router26,161Izvorni projekt na kojem je ovaj fork izgrađen — ovdje proširen multi-modalnim API-jima i potpunim TypeScript prepisom.
CLIProxyAPI48,497Go implementacija koja je inspirirala ovaj JavaScript/TypeScript port.
LiteLLM57,100AI gateway čiji javni skup podataka o cijenama napaja našu sinkronizaciju praćenja troškova i čiji model normalizacije providera je informirao naše usmjeravanje.
codex-chatgpt-web1,410MIT izvorni kod prilagođen u vendored ChatGPT Web → Codex Responses bridge, uključujući browser-session, response-framing, usage i web-search adaptere.
free-claude-code48,112Obrasci preneseni u oporavak streama, no-thinking aliase, fallback web pretraživanje, ograničenja kliznog prozora, redakciju logova i pooštrene tijekove pokretanja.
composer-api322Cursor Composer obrasci tool-choice, output-constraint i tool-commit prilagođeni u nativni Cursor izvršitelj.
codex-multi-auth457Obrasci fresh-login i rotacije refresh tokena preneseni u Codex OAuth reautentikaciju.
opencode-anthropic-auth510Zadane vrijednosti transformacije kompatibilne s Claude Code i ponašanje billing-headera generalizirani u OmniRouteov konfiguracijski upravljan bridge.
grok2api-merged2Njegova mapiranja Grok modela, generator lažnog TypeError Statsig, zadane vrijednosti zahtjeva i uređaja, te NDJSON procesor odgovora bili su znatno prilagođeni u OmniRouteov Grok Web izvršitelj.
TQZHR/grok2api705Glavni tranzitivni izvor koda iza grok2api-merged; njegove implementacije modela, headera, payloada, Statsig i procesora sačuvane su u Grok Web liniji.
chenyme/grok2api7,520Temeljni MIT izvor za Grok payload i zadane vrijednosti uređaja, Statsig generator i result.response procesor prenesen kroz TQZHR i grok2api-merged.
grok2api-pro27Tranzitivni izvor koji grok2api-merged priznaje za svoj sloj proxy-pool; OmniRoute čuva tu napomenu o podrijetlu, ali ne tvrdi da je prenio proxy-pool u svoj ograničeni Grok Web izvršitelj.
GrokProxy50Njegov cookie-autentificirani Grok proxy i obrazac streaminga result.response.token informirali su OmniRouteov Grok Web transport.
GrokBridge5Izvorna Grok Web implementacija konzultirala je njegov HTTP/browser upstream dizajn; njegov direktni HTTP put potječe iz GrokProxy, tako da se ne tvrdi neovisan prijenos koda.
grok-web-api14Njegove Rust sheme ChatOptions i response-envelope informirale su OmniRouteove TypeScript tipove za Grok zahtjeve i streaming odgovore.
### 🗜️ Kompresija konteksta i tokena — motori
Projekt⭐Kako je inspirirao OmniRoute
Caveman100,538Viralni projekt "why use many token when few token do trick" — njegova pećinsko-govorna filozofija pokreće naš standardni način kompresije i 30+ pravila punjenja/kondenzacije.
RTK – Rust Token Killer77,185Visoko-performantna kompresija izlaza naredbi — inspirirala naš RTK motor, JSON filter DSL, oporavak sirovog izlaza i stack-anu RTK → Caveman cjevovoda.
headroom67,310Reverzibilna kompresija konteksta (SmartCrusher) — inspirirala naš headroom motor i obrazac oznake za dohvat ccr.
LLMLingua6,598Istraživanje kompresije promptova (LLMLingua / LLMLingua-2) — inspiriralo naš asinkroni, sigurni-za-kod, fail-open llmlingua motor.
llmlingua-2-js31JS/ONNX port (MobileBERT / XLM-RoBERTa) korišten kao worker-thread backend za naš LLMLingua motor.
Troglodita40Kompresija tokena za PT-BR — pokreće naš jezični paket za pt-BR: redukciju pleonazama i uklanjanje punjenja usklađeno s gramatikom brazilskog portugalskog.
ponytail108,957Viralna vještina "lazy senior dev" YAGNI-programera — inspirirala naš Output Style less-code: usmjeravanje na najmanju radnu promjenu koje smanjuje _generirani_ kod (sestrinski koncept na osi izlaza uz Cavemanovu sažetu prozu).
i-have-adhd23,526Njegov stil odgovora fokusiran na akciju, prilagođen ADHD-u, prilagođen je u sažeti stil izlaza OmniRoutea na pet jezika.
### 🧩 Kompaktni formati, istraživanje tokena i alati svjesni koda
Projekt⭐Kako je inspirirao OmniRoute
TOON25,233Token-Oriented Object Notation — njegov kolumnarni model header-plus-rows oblikovao je našu fazu tabelarne kompakcije.
GCF – Graph Compact Format41Njegov kompaktni graf format i generičko-profilni dizajn informirali su OmniRouteovu tabelarnu kompakciju i Headroom codec format.
gcf-typescript4MIT TypeScript implementacija direktno vendorirana i proširena kao Headroom generičko-profilni kodek.
token-optimizer-mcp494Brotli/SQLite cache + context-delta po sesiji — inspirirao naš session-dedup motor.
token-savior1,122Kompakcija bash izlaza + MCP profili — inspirirali disciplinu prekida kompresije i redukciju manifesta MCP alata.
token-saver138Kompresija izlaza svjesna sadržaja, po tipu datoteke, s prekidom svjesnim neuspjeha — potvrdila naš dispatch po tipu i preskakanje minimalne dobiti.
token-optimizer1,951"Find the ghost tokens" — njegov obrazac offload + oporabive handle informirao naše CCR offload razmišljanje.
TokenMizer28Nacrt session-graph + cross-turn deduplikacije linija koji je informirao naš dizajn session-dedup.
OmniCompress3Rust kolumnarni JSON + content-addressed retrieve + cross-message deduplikacija — potvrdili dizajn naših motora headroom/ccr/session-dedup i invarijantu stabilnu za cache "kompresirani oblik je nezavisan o poziciji".
mcp-compressor113Kompresija MCP tool-schema/description — informirala redukciju kardinalnosti manifesta MCP alata.
RepoMapper197Aider-style repo-map rangiranje — informiralo naše istraživanje repo-mape / rangiranja dohvaćanja.
quiet-shell-mcp4Deklarativna redukcija shell izlaza putem MCP — potvrdila našu deklarativnu kompakciju bash izlaza.
ts-morph6,162Alat TypeScript Compiler API — inspirirao naše uklanjanje komentara temeljeno na parseru koje čuva string, template i regex literale.
### 🧠 Memorija i RAG
Projekt⭐Kako je inspirirao OmniRoute
Mem063,902Univerzalni sloj memorije — njegov model proxy-as-write/read-boundary oblikovao je našu arhitekturu memorije.
Letta (MemGPT)24,382Stateful agenti s podijeljenom memorijom — inspirirali naš stupnjeviti model Context Control & Recovery (CCR).
WFGY1,781Taksonomija ProblemMap od 16 ponavljajućih načina neuspjeha RAG/LLM — zajednički vokabular u našem vodiču za rješavanje problema.
### 🛰️ Inspekcija prometa, MITM i transparentni proxy
Projekt⭐Kako je inspirirao OmniRoute
llm-interceptor66MITM presretanje/analiza prometa asistenta za kodiranje ↔ LLM informiralo je rane zahtjeve za Traffic Inspector. Četiri prethodno derivirana modula — SSE spajanje, normalizacija konverzacije, maskiranje tajni i sanitizacija headera — zamijenjena su neovisnim clean-room implementacijama zasnovanim na javnim standardima protokola. Dvije host-passthrough površine (passthrough.ts i _internal/bypass.cjs) ostaju interne OmniRoute implementacije klasificirane neovisno; nisu ponovno napisane kao dio te zamjene.
ProxyBridge5,995Transparentno usmjeravanje proxya po procesu — inspiriralo naš crash-safe MITM teardown, socket idle-timeouts, atribuciju procesa putem /proc i TPROXY hvatanje.
### 📚 Podaci o modelima, opservabilnost i UI
Projekt⭐Kako je inspirirao OmniRoute
models.dev6,555Otvorena baza podataka o specifikacijama AI modela, cijenama i mogućnostima — natively sinkronizirana u naš katalog modela.
React Flow / xyflow38,108Biblioteka grafova temeljena na čvorovima koja pokreće naš Compression Studio u stvarnom vremenu i Combo/Routing Studio.
LangGraph40,314Vizualizacija radnog toka uživo u LangGraph Studiju inspirirala je pregled kaskade u stvarnom vremenu u našim Studios.
Langfuse33,592Njegov model opservabilnosti trace → span → generation oblikovao je vodeni pad našeg Compression Studia.
Kiali3,631Opservabilnost service-mesha za Istio — inspirirala naše circuit-breaker oznake i vizuale error-edge u Routing/Combo Studiju.
lobe-icons2,428Logotipi AI/LLM brendova koji prikazuju ikone providera na cijelom našem dashboardu.
flag-icons12,354Pruža MIT-licencirane SVG zastave koje koristi birač jezika u README-u.
### 🛡️ Sigurnost
Projekt⭐Kako je inspirirao OmniRoute
awesome-secure-defaults721Kurirani popis sigurnih-po-defaultu biblioteka koji usmjerava naše sigurnosne odluke (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Komplementarni alati
Projekt⭐Kako je inspirirao OmniRoute
ClawRouter6,564Inspirirao deduplikaciju zahtjeva, hitni fallback bez troška, priključive Auto-Combo strategije i višejezičnu klasifikaciju namjere.
Antigravity-Manager30,652Njegovo remapiranje modela svjesno računa, validacija izvršne putanje i ponašanje oznake plana informirali su OmniRouteov Antigravity runtime.
vscode-antigravity-cockpit4,817Njegov kompaktni format odbrojavanja resetiranja kvote inspirirao je odgovarajući prikaz limita providera u OmniRouteu.
AionUi32,230Njegove ACP integracije inspirirale su OmniRouteovo automatsko otkrivanje instaliranih CLI agenata.
CodexBar20,507Identificirao površinu kvote za Grok Build; OmniRoute je zatim neovisno provjerio i korigirao live wire format.
## 📄 Licenca MIT licenca - pogledajte [LICENSE](LICENSE) za detalje. ---
**[⬆ Povratak na vrh](#-omniroute)** · Izrađeno s ❤️ za zajednicu otvorenog koda za AI. OmniRoute v3.8.51 · Node ≥22.22.2 · MIT licenca · omniroute.online