> **Prinesite svoje račune ponudnikov.** To je ocenjen skupni seštevek ločeno upravičenih brezplačnih paketov tretjih ponudnikov, ne pa dodelitev žetonov s strani OmniRoute. Registrirajte se, kjer je zahtevano pridobite poverilnice, in povežite ponudnike, ki jih lahko uporabljate; vsak ponudnik sam določa svoje omejitve, razpoložljivost in pogoje.
>
> Ročno združevanje brezplačnih paketov je naporno — na desetine SDK-jev, na desetine omejitev hitrosti in brez predstave, koliko dejansko imate na voljo. OmniRoute katalogizira **467 vnosov brezplačnih paketov v 34 ponavljajočih se ključih skupin**, glavno številko žetonov pa izračuna iz **17 skupin z objavljenim pozitivnim mesečnim proračunom ter petih omejitev Groq po posameznih modelih**, pri čemer vsako skupno skupino šteje samo enkrat. Kvote, ki se odprejo šele po regionalnem preverjanju identitete (danes: ModelScope), so prikazane ločeno — +~6M za regionalnim preverjanjem identitete — in nikoli niso prištete v glavno številko. Rezultat ostane viden na nadzorni plošči (`/dashboard/free-tiers`).
> Animiran povzetek žive strani `/dashboard/free-tiers`. Celotna metodologija (deduplikacija skupin, kreditni nivoji, pogoji ponudnikov): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Te številke vsaka dva tedna ponovno preverjamo proti živemu katalogu in **se gibljejo v obe smeri** — ponudnik ukine brezplačni paket in številka pade; pojavi se nov in naraste. Objavljamo tisto, kar katalog dejansko izračuna, nikoli navzgor zaokroženega najboljšega scenarija.
⭐ Dajte repozitoriju zvezdico, če vam je OMNIROUTE pomagal prihraniti denar in si olajšati delo.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Pridružite se skupnosti
**👋 Sledite vzdrževalcu — med prvimi prejmite nove ponudnike, izdaje in nasvete:**
[](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)
**Vprašanja, nasveti o ponudnikih, razvojni načrt in podpora → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globalno](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brazilija](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 kar naprej raste
## 🆓 Namestite, povežite ponudnika, nato usmerjajte skozi eno končno točko
```bash
# Po povezavi ponudnika kopirajte svoj ključ OmniRoute iz Nadzorna plošča → Končne točke:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` potrebuje upravičeno pot. Sveža namestitev lahko nima nobenih upravičenih ciljev brez ključa, ponudnik brez ključa pa lahko zavrne odjemalce tretjih oseb. Ponudniki, označeni s `tos: avoid`, vključno s Kirom, so privzeto izključeni iz samodejnega usmerjanja; povezava računa te nastavitve ne preglasi. Pred izbiro ponudnika si oglejte [Vodnik po brezplačnih paketih](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Skripte za hiter začetek s kopiranjem in lepljenjem za **Python, Node.js, PHP in cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obljuba
# 🤔 Zakaj OmniRoute?
## 🤝 Podpirajo nas naši odprtokodni prijatelji
> **Želite postati odprtokodni prijatelj?** To so podjetja, ki podpirajo odprto kodo in pomagajo ohranjati razvoj projekta OmniRoute — mi pa javno objavimo, za kaj porabimo vsak žeton, ki nam ga namenijo. Pišite nam: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Hvala podjetju Kimi (Moonshot AI), našemu ustanovnemu odprtokodnemu prijatelju, za podporo temu projektu! Kimi je laboratorij za umetno inteligenco, ki stoji za družinama modelov z odprtimi utežmi K2 in K3 — Kimi K3 zagotavlja kontekstno okno z 1 milijonom žetonov, izvorno podporo za vid in programiranje na pionirski ravni za delček cene zaprtih modelov, poleg tega pa brez dodatnih nastavitev deluje s Claude Code, Codex in vsakim programerskim orodjem, ki ga podpira OmniRoute.
Kaj omogoča podpora podjetja Kimi: Dobroimetje za Kimi API poganja z umetno inteligenco podprt postopek preverjanja izdaj projekta OmniRoute — fazo preverjanja združitev, ki jo poganja Kimi K3, v kateri je vsak zahtevek za vključitev sprememb pregledan pred izdajo — ter vsakodnevni razvoj funkcionalnosti. Prvorazredna podpora za Kimi je na voljo po obeh poteh: neposredno prek Kimi API (kimi-k3) in prek programerskega paketa Kimi Code (OAuth in ključ API). OmniRoute je tudi prvi brazilski odprtokodni projekt v podpornem programu podjetja Kimi. Pridobite ključ za Kimi API s 15 % dodatnega dobroimetja →
Cheaper Inference cheaperinference.com
Hvala podjetju Cheaper Inference, odprtokodnemu prijatelju projekta OmniRoute, za podporo temu projektu! Cheaper Inference je prehod, razvrščen po stroških, ki preprodaja 42 pionirskih modelov — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok in MiniMax — prek ene končne točke, združljive z OpenAI, pri čemer vsako zahtevo usmeri k najcenejšemu ustreznemu ponudniku in nikoli ne zaračuna več od prodajne cene izdelovalca modela.
Prvorazredna podpora v projektu OmniRoute: Chat Completions, izvorna končna točka /v1/responses, vid, klicanje orodij in 3 slikovni modeli (grok-imagine, nano-banana-pro, nano-banana-2, dostopni kot cheaperinference/<model>). Pridobite ključ API →
Povezave, označene z aff=omniroute, so partnerske povezave. Projekt financirajo brez dodatnih stroškov za vas. 🎟️ Partnerske promocije — brezplačni kuponi ponudnikov ob registraciji, ki jih ne sponzoriramo (kliknite za razširitev)Ta razdelek je namenjen samo referenčnim kodam in kodam kuponov. Sponzorirana partnerstva so navedena v zgornjem razdelku 🤝 Podpirajo nas naši odprtokodni prijatelji. OmniRoute nima sponzorskega ali partnerskega odnosa s tukaj navedenimi ponudniki — to so javni kuponi, ki jih lahko uporabi vsakdo.
AgentRouter agentrouter.org
AgentRouter — registracija prek partnerske povezave · 100 $ brezplačnega dobroimetja ob registraciji (brezplačen strežnik, zato pričakujte večjo zakasnitev — najbolje za preizkušanje, ne za produkcijo). Prvorazredna podpora v projektu OmniRoute od različice v3.8.50: Chat Completions, prenosni format, združljiv z Anthropic, in pot, združljiva z OpenAI. Razpoložljivi modeli vključujejo claude-opus-4-8, claude-opus-5, gpt-5.6-sol in druge. Prevzemite svojih 100 $ →
⚠️ Partnerska povezava — OmniRoute nima sponzorskega ali partnerskega odnosa s tem ponudnikom.
Poznate še kakšnega ponudnika z velikodušnim brezplačnim kuponom ob registraciji, ki bi koristil uporabnikom projekta OmniRoute? Odprite prijavo težave in dodali ga bomo sem.
## 🎯 Kombinacije — paradni konj
> **Kombinacija** je veriga modelov, med katerimi OmniRoute usmerja **samodejno**. Če zmanjka kvote, ponudnik odpove ali stroški skokovito narastejo, lahko kombinacija preklopi na naslednji primeren in delujoč model. 🛡️
### ⚡ Brez konfiguracije — preprosto uporabite `auto`
Kombinacije vam ni treba ustvariti. Nastavite model na `auto` (ali eno od njegovih različic) in OmniRoute iz vaših povezanih ponudnikov sestavi navidezno kombinacijo, ki jo sproti ocenjuje:
ID modela
Kaj optimizira
auto
🎯 Uravnotežena privzeta možnost (LKGP — ostane pri zadnjem delujočem ponudniku)
auto/coding
🧑💻 Uteži s prednostjo kakovosti za ustvarjanje kode
auto/fast
⚡ Najprej najnižja zakasnitev
auto/cheap
💰 Najprej najnižja cena na žeton
auto/subscription
🎟️ Samo naročniška kvota, ki jo že plačujete — ob neuspehu se varno ustavi in nikoli ne preklopi na plačljivo nadomestno možnost (vodnik)
auto/thrifty
🪜 Najprej kvota paketa, nato po eno stopničko do najcenejših plačljivih možnosti — po ponastavitvi se vrne na paket (vodnik)
auto/offline
🔋 Najprej največja rezerva kvote oziroma omejitve hitrosti
auto/smart
🔭 Najprej kakovost + 10 % raziskovanja za odkrivanje boljših modelov
auto/lkgp
📌 Izrecno vztrajanje pri zadnjem znanem delujočem ponudniku
auto/chaos
🧪 Vzporedno razprševanje na skupino modelov (eden na ponudnika, privzeto 5), ki vrne en odgovor; en nadrejeni klic na model v skupini, ne vbrizgavanje napak
##
### 🔀 Ali pa sestavite svojo — 20 strategij usmerjanja
Vseh **20** strategij — poljubno jih kombinirajte pri vsakem koraku kombinacije:
#
Strategija
Kaj počne
1
priority
Urejen seznam s prvim ciljem — vsakega izčrpa, preden nadaljuje z naslednjim 🥇
2
fill-first
V celoti porabi kvoto vsakega cilja, preden nadaljuje
3
weighted
Utežena naključna izbira glede na utež posameznega cilja
4
round-robin
Zaporedno kroži med cilji
5
p2c
Naključno uravnoteženje obremenitve z izbiro boljšega od dveh ciljev
6
least-used
Izbere cilj z najnižjo trenutno obremenitvijo
7
random
Enakomerna naključna izbira (brez podvojitev)
8
strict-random
Naključna izbira brez odstranjevanja ponovitev 🎲
9
cost-optimized
Zmanjša strošek $ na zahtevo glede na trenutne cene v katalogu 💸
10
headroom
Izbere cilj z največ preostale kvote
11
quota-weighted
Preskoči račune z izčrpano kvoto, nato izbira sorazmerno s preostalo kvoto ÷ trenutno obremenitvijo — obstoječi pogovori ostanejo pripeti ⚖️
12
reset-window
Prednost da cilju, katerega obdobje kvote se bo ponastavilo najprej
13
reset-aware
Razvrsti glede na čas ponastavitve kvote — najprej krajša obdobja 📊
14
context-relay
Za dolge pogovore predaja kontekst med cilji 🧠
15
context-optimized
Izbere cilj, ki najbolje ustreza trenutni velikosti konteksta
16
cache-optimized
Vsako ponovno uporabljivo predpono poziva pripne na isti račun — kar najbolj poveča število zadetkov v predpomnilniku pozivov 🎯
17
lkgp
Zadnja znana delujoča pot — pripne se na zadnjega uspešnega ponudnika, nato pa uporabi nadomestna pravila
18
auto
Sprotno ocenjevanje vseh povezav na podlagi 16 dejavnikov 🤖
19
fusion
Razprši zahtevo na skupino modelov, ocenjevalnik pa njihove rezultate združi v en odgovor 🧬
20
pipeline
Veriži korake — izhod vsakega cilja se posreduje naslednjemu 🔗
Mehanizem Auto-Combo vsakega kandidata oceni glede na **16 dejavnikov** (stanje, kvota, stroški, zakasnitev, primernost za nalogo, kakovost, razpoložljivost seje …) — glejte [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Odpornost je vgrajena (3 neodvisne plasti)
📖 [Mehanizem Auto-Combo](docs/routing/AUTO-COMBO.md) · [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Po čem OmniRoute izstopa
📊 Celotna metodologija in podrobnosti posameznih funkcij v primerjavi s 9router, OpenRouter, CLIProxyAPI in LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podprite OmniRoute
OmniRoute ima licenco MIT in se vzdržuje odprto. Če vam prihrani čas ali denar, ga lahko pomagate ohraniti neodvisnega na način, ki vam najbolj ustreza. Sponzorstvo nikoli ne vpliva na prednost pri usmerjanju; kupi prepoznavnost, ne pa uvrstitve.
**🇧🇷 PIX** — takojšnje, brez provizij (Brazilija)
Ključ (naključni): `5d865059-bc44-483a-962d-43ceb80126eb`
Pix za kopiranje in lepljenje:
```
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
```
₿ Kriptovalute — BTC · ETH · USDT-TRC20 · USDC-Solana (kliknite za razširitev)
₿ BTC
Bitcoin (SegWit)
bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETH
Ethereum (ERC20)
0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDT
Tron (TRC20)
TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDC
Solana
2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Vsak kovanec pošljite samo prek prikazanega omrežja — pošiljanje prek napačnega omrežja lahko povzroči izgubo sredstev.
🐛 Ste našli napako ali imate povratne informacije? Odprite [razpravo](https://github.com/diegosouzapw/OmniRoute/discussions).
Opombe za razvijalce: Projekt lahko med npm install/postinstall zaradi priročnosti za razvijalce ustvari lokalno datoteko .env. Ta datoteka je namenoma prezrta prek .gitignore (glejte .gitignore) in ne sme biti nikoli vključena v commit — če jo pomotoma vključite, zamenjajte vse razkrite skrivnosti in odstranite datoteko iz zgodovine. Navodila za upravljanje lokalnih datotek okolja in skrivnosti najdete v docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Glavna navedba za brezplačno raven ostaja **~1,62 mrd. žetonov/mesec** iz zgoraj dokumentiranega
kataloga z odstranjenimi podvojitvami med nabori. Začasna dobroimetja ponudnikov ob registraciji lahko prvi
mesec ločeno povečajo na **~2,22 mrd.** Radar je izbirna, podpisana kataloška prekrivna plast za uporabnike, ki želijo ažurnejšo
razpoložljivost brezplačnih modelov med izdajami OmniRoute; skupnostni katalog in vse obstoječe brezplačne
funkcije ostajajo brezplačni.
Podporniki lahko prejemajo katalog v živo in dodatne možnosti ponudnikov. Njegova ločena,
spremenljiva zgornja meja je **največ približno 3 mrd. žetonov/mesec**, odvisno od razpoložljivosti ponudnikov.
Ta zgornja meja ni zagotovilo: ponudniki lahko kadar koli spremenijo kvote, pogoje upravičenosti, modele ali regije.
Radar je omogočen le po izbiri uporabnika in uporablja samo zahteve GET. Odjemalec OmniRoute ne nalaga pozivov, prometa, konfiguracije
ponudnikov, telemetrije uporabe ali lokalnega stanja opuščenih obvestil. Več o pogojih upravičenosti in
trenutnem katalogu najdete na **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Kaj je novega
> Nedavni poudarki različic **v3.8.20 → v3.8.53**. Celotna zgodovina v [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Usmerjanje `quota-weighted`** — dvajseta kombinirana strategija preskoči izčrpane račune, nato med preostalimi izbira sorazmerno s preostalo kvoto ÷ obremenitvijo v teku, pri čemer obstoječi pogovori ostanejo pripeti. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Način brez glave (headless)** — `omniroute serve --headless` (ali `OMNIROUTE_HEADLESS=1`) zažene samo proxy mehanizem `/v1/*`, nadzorna plošča in podsistemi, namenjeni izključno nadzorni plošči, pa so izklopljeni. → [Način brez glave](docs/guides/HEADLESS.md)
- **🔎 Odkrivanje modelov** — `/v1/models` filtrira po zmožnosti, kontekstu, vrsti in besedilu, `POST /v1/models/query` pa vrne kratek determinističen izbor z enako vidnostjo po ključih. → [Referenca API](docs/reference/API_REFERENCE.md)
- **🔑 Nadzor usmerjanja po ključih** — pripnite API ključ na en model ali kombinacijo s `forcedModel` ter atomarno dodajte ali odstranite modele in kombinacije ključa (`/api/keys/{id}/access`). → [Referenca API](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Natančnejši nadzori PII** — izbira po vrstah, do 20 validiranih vzorcev maskiranja po meri in števci zaznavanja po vrstah; samo maskiranje ostaja opcijsko. → [Zaščitni mehanizmi](docs/security/GUARDRAILS.md)
- **🌍 67 jezikov** — nadzorna plošča, ogledala dokumentacije in CLI, pri čemer `npm run i18n:add-locale` doda jezik povsod z enim samim ukazom. → [Vodnik i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — dohodna A2A delegacija vaši floti agentov, veščine Conductor na kartici agenta (Agent Card) in plošča na nadzorni plošči z Faro push-to-talk glasovnim klepetom. → [A2A strežnik](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljiv sprejem in zaščita pred preobremenitvijo** — težke chat zahteve se uvrstijo v čakalno vrsto namesto da bi vrnejo napako 503, z atomarnimi drsečimi RPM zakupi na povezavo. → [Vodnik odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanoničen vrstni red `/v1/models`** — en neprekinjen, po ponudniku združen blok na ponudnika (kombinacije pripete najprej), stabilen v vseh virih kataloga. → [Referenca API](docs/reference/API_REFERENCE.md)
- **🗜️ Utrditev kompresije** — privzeto vklopljena zaščita pred napihovanjem, paketi Caveman za DE / FR / JA + kitajščino (wényán), RTK filtri za Gradle & .NET. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Pošten strošek pavšalne tarife** — ponudniki z naročnino / paketom za kodiranje se v analitiki stroškov prikažejo kot **$0**; proračun, kvota in usmerjanje še naprej ocenjujejo. → [Referenca API](docs/reference/API_REFERENCE.md)
- **⚖️ Usmerjanje Quota-Share** — pošteno razdelite kvoto skupnega računa med združene ključe, z ohranjanjem dela, tako da se nedejavni deleži izposojajo. → [Vodnik odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Nastavitev CLI/agenta z enim ukazom** — 15 registriranih ukazov `setup-*`; `omniroute run` zažene 7 CLI-jev (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podpira 11 ciljev z interaktivnim izbirnikom ponudnika+modela in priljubljenimi po kontekstu. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Oddaljeni način** — upravljajte oddaljeni OmniRoute z žetoni z omejenim obsegom (`connect` / `contexts` / `tokens`) + `antigravity` OAuth pomočnikom za namestitve na VPS. → [Oddaljeni način](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnejše samodejno usmerjanje** — kombinacije `auto/:`, **Fusion** (panel modelov + sodnik), usmerjanje glede na nalogo, preglasitve modela / načina / USD proračuna po zahtevi. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Kompresija z vtičniki** — 12 sestavljivih mehanizmov + Compression Studios: LLMLingua-2, dvostopenjski Ultra, omniglyph, vrata zvestobe po korakih, GCF v3.2, urejevalnik s povleci in spremeni vrstni red. → [Kompresija](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno MITM dešifriranje (TPROXY)** — zajemite CLI-je, ki prezirajo okoljske spremenljivke proxyja, s CA po SNI + namestitvenim programom za shrambo zaupanja. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija stroškov povsod** — glave `X-OmniRoute-*` o stroških/uporabi na vsaki končni točki, glava prihrankov ob zadetku predpomnilnika (cache-HIT), kvote porabe v USD po ključih. → [Referenca API](docs/reference/API_REFERENCE.md)
- **🧠 Spomin, ki ga nadzirate** — privzeto izklopljen, opcijska int8 vektorska kvantizacija + tipizirano propadanje, po zahtevi `x-omniroute-no-memory`. → [Spomin](docs/frameworks/MEMORY.md)
- **🛡️ Varnost** — zaščita pred vbrizgavanjem pozivov na vsaki LLM poti (red-team paket), opcijski varnostni mehanizem maskiranja poverilnic (prikrije ušle API ključe/skrivnosti v obe smeri), brezplačno spletno iskanje DuckDuckGo kot zadnja možnost in opcijska OIDC prijavna vrata za nadzorno ploščo (prijava z geslom ostaja vedno na voljo). → [Zaščitni mehanizmi](docs/security/GUARDRAILS.md)
- **🖼️ Nove končne točke** — `/v1/ocr` (Mistral OCR) in `/v1/audio/translations` (v slogu Whisper) zaokrožujeta medijsko ponudbo. → [Referenca API](docs/reference/API_REFERENCE.md)
- **🎨 Generiranje slik / videa / zvoka** — en API za medije: xAI Grok Imagine & Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind in ponudniki govora, kot je ElevenLabs. → [Referenca API](docs/reference/API_REFERENCE.md)
- **🌍 Namestitev in operacije** — `basePath` za povratni proxy, samodejno zaznavanje jezika brskalnika, sledenje naprav po ključih, MITM zaupanje brez roota, lokalizacija zh-TW. → [Okolje](docs/reference/ENVIRONMENT.md)
- **🤝 Več ponudnikov in agentov** — oblak agenti (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) z brskalnikom + OAuth prijavo, prvovrstna kartica Ollama, Claude Opus 5 & Sonnet 5, uradno partnerstvo Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… in osvežen **katalog 375 ponudnikov**. → [Ponudniki](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Preglednost usmerjanja** — vsak odgovor nosi glavo `X-OmniRoute-Decision`, ki imenuje strategijo/ponudnika/zakasnitev, ki ga je postregla, nova kombinirana strategija `cache-optimized` + faktor `cacheAffinity` v Auto-Combo usmerjata ponovne zahteve nazaj na povezavo, ki hrani predpomnjeno predpono, končna točka samo za branje `/v1/auto-combo/{channel}/candidates` pa razkriva živi nabor kandidatov kanala `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalna zmogljivost in infrastruktura** — lokalni Redis z enim klikom, namestitelji posrednikov za Cloudflare Workers / Deno Deploy, Bifrost in Mux kot nadzorovani vdelani storitvi. → [Vdelane storitve](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Prav tako v paketu** — ogrodje vtičnikov + tržnica, ogrodja znanj Omni/Agent/GitHub, integracija z Obsidian sefom (22 orodij MCP), z OpenAI združljiva API-ja Batch & Files, semantični predpomnilnik odzivov, gamifikacija z lestvicami, odkrivanje agentov ACP (15 vgrajenih agentov), načrtovani izvoz dnevnikov v BigQuery, `auto/chaos` vzporedno razvejanje med več modeli, most za Telegramove bote, upravitelj različic znotraj aplikacije in lestvice brezplačnih ponudnikov LMArena-ELO. → [Dokumentacija](docs/README.md)
## 🤖 Združljivi vmesniki CLI in programski agenti
> Ena konfiguracija — `http://localhost:20128/v1` — in **vsak** IDE ali CLI z umetno inteligenco deluje z brezplačnimi in cenovno ugodnimi modeli.
**Zaženite kateri koli podprti CLI prek OmniRoute z enim ukazom** — brez zapisovanja konfiguracijskih datotek,
poverilnice se vstavijo za vsak proces posebej, Qwen/Gemini pa dobita začasen izoliran domači imenik:
```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"
# Ali interaktivno izberite ponudnika in model ter zapišite lastno konfiguracijo orodja:
omniroute configure codex # na voljo tudi: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Vsak ukaz upošteva aktivni oddaljeni kontekst (`omniroute connect `), `--dry-run`
prikaže predogled točnih spremenljivk okolja/argumentov brez izvajanja, `--api-key-env NAME` pa prepreči, da bi skrivnosti
končale v zgodovini vaše lupine. → [Integracije CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 ponudnikov AI — 153 jih je v katalogu označenih kot brezplačni
> **375 registriranih ponudnikov** v kanoničnih zbirkah za klepet, medije, iskanje, lokalno uporabo, oblak-agente in sistem, vključno s **153, ki nosijo odkrivne metapodatke `hasFree: true`**. Register modelov klepeta zajema **239 ponudnikov / 3.059 različnih parov ponudnik–model / 1.475 surovih ID-jev modelov**; ločen katalog brezplačnega proračuna ima **467 vrstic na model**, **34 ponavljajočih se bazenov** in **51 ponavljajočih/brezključnih ponudnikov, ki so za vedno brezplačni**. To so po zasnovi različni imenovalci; definicije in izračuni z odstranjenimi podvojitvami bazenov so na voljo v [Referenci ponudnikov](docs/reference/PROVIDER_REFERENCE.md) in [Brezplačnih nivojih](docs/reference/FREE_TIERS.md).
### 🏢 Vsak večji laboratorij — prek ene končne točke
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…in več kot 350 drugih — vsaka ikona se v živo razreši iz kataloga ponudnikov na nadzorni plošči. 📖 [Referenca ponudnikov](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Za vedno brezplačno — 0 $, brez kartice
OpenCode Zen DeepSeek V4, Nemotron 3 Brez omejitve žetonov
Kilo Code Samodejni usmerjevalnik, Tencent Hy3 Za vedno brezplačno
Requesty GPT-OSS 120B, Nemotron Za vedno brezplačno
SiliconFlow DeepSeek V3.2 / R1 Brezplačni paket
Z.AI GLM GLM-4.7 / 4.5-Flash Za vedno brezplačno
Baidu ERNIE ERNIE 4.0 Za vedno brezplačno
Qoder AI Qwen3-Max, Kimi-K2 Neomejeno BREZPLAČNO
Pollinations GPT, Llama, Claude Ključ ni potreben
Cloudflare AI 50+ modelov 10K nevronov/dan
NVIDIA NIM GLM, MiniMax ~40 RPM brezplačno
Cerebras GLM 4.7, GPT-OSS Enkratni kredit $5; potrebna kartica
> Ista aplikacija, vaša naprava, vaša pravila. Od globalne namestitve npm do **vašega telefona** prek Termuxa.
Platforma
Namestitev
Prednosti
📦 npm (globalno)
npm install -g omniroute
En ukaz, kateri koli OS
🐳 Docker
docker run … diegosouzapw/omniroute
Več arhitektur: AMD64 + ARM64
🖥️ Namizje (Electron)
npm run electron:build
Izvorno okno + sistemski pladenj — Windows / macOS / Linux
🎩 Menijska vrstica (OmniRouteTray)
brew install --cask zoispag/tap/omniroute-tray
Nadzira & samodejno posodablja strežnik — macOS
💪 ARM
izvorni arm64
Raspberry Pi, strežniki ARM, Apple Silicon
📱 Android (Termux)
pkg install nodejs && npx -y omniroute
Deluje na vašem telefonu, 24/7, brez korenskega dostopa
📲 PWA
"Dodaj na začetni zaslon"
Celozaslonsko delovanje, delovanje brez povezave in namestitev iz brskalnika
🧩 Vtičnik OpenCode
@omniroute/opencode-provider
Izvorna integracija z OpenCode
🤖 VS Code Copilot Chat
namestite razširitev OmniCopilot
Vsi modeli OmniRoute v izvornem izbirniku Copilot Chat — stabilna različica & Insiders
🛠️ Iz izvorne kode
npm install && npm run dev
Prilagajajte ga in prispevajte
📖 [Vodnik za Docker](docs/guides/DOCKER_GUIDE.md) · [Namizje](electron/README.md) · [Pladenj v menijski vrstici](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Novo: OmniRoute znotraj izvornega vmesnika Copilot Chat v VS Code
> Brez nove stranske vrstice in brez novega uporabniškega vmesnika za klepet — vsak model, ki ga ponuja OmniRoute, se prikaže neposredno v
> **izbirniku modelov Copilot Chat, ki ga že uporabljate**. Od različice VS Code 1.122 modeli ponudnikov delujejo
> brez prijave v GitHub ali naročnine na Copilot — agentski način, klicanje orodij in vid, vse
> brezplačno.
Namestite razširitev **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, usmerite jo
na svoj strežnik OmniRoute (privzeto `localhost:20128`), nato odprite Copilot Chat → izbirnik modelov
→ **Upravljanje modelov …** → **OmniRoute**.
V urejevalniku odprite pogled **Razširitve**, poiščite **"OmniRoute"** in kliknite **Namesti**
— v obeh trgovinah deluje enako. Izvorna koda, težave in navodila za objavljanje so na voljo na
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Vodnik za VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — nastavitev, vsebina izbirnika, nadzorna plošča v zavihku, odpravljanje težav
### 🎩 Novo: OmniRouteTray — vaš prehod v menijski vrstici
> `omniroute serve` najbolje deluje, ko je vedno vklopljen. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> ga spremeni v aplikacijo za menijsko vrstico sistema macOS, ki jo nastavite in nanjo pozabite: zažene strežnik, ga ohranja pri delovanju
> med ponovnimi zagoni, ga sproti posodablja in omogoča dostop do trenutne omejitve žetonov z enim klikom — **brez
> odprtega terminalskega okna in brez potrebe po nadzorovanju ukaza `npm install -g omniroute`.**
Zgrajen je s [Tauri v2](https://v2.tauri.app/) (jedrom Rust, majhnim kot zaokrožitvena napaka) ter vključuje
lastno podpisano izvajalno okolje Node 24 in upravlja namestitev OmniRoute v lasti aplikacije, zato nikoli ne prihaja v spor z vašim
globalnim okoljem `node`/`bun`. **Souporablja vašo obstoječo konfiguracijo in podatkovno zbirko v `~/.omniroute/`** — zato je to
isti OmniRoute, ki ga že uporabljate, le da zdaj nosi klobuk. 🎩
Kaj počne
Kako
🟢 Nadzira strežnik
Zažene omniroute serve in prevzame že delujoči primerek, namesto da bi ga podvojil
📊 Sprotni pregled uporabe
Vrstice kvot ponudnikov, omejitve seje/tedna za Claude z odštevanjem do ponastavitve in 30-dnevna razčlenitev stroškov
🔄 Samodejno sprotno posodabljanje
Postopna namestitev, atomska zamenjava in povrnitev ob napaki — vedno uporablja najnovejšo izdajo
🚀 Zagon ob prijavi
Izbirni zagon ob prijavi; samo v pladnju, brez ikone v vrstici Dock
🩺 Diagnostika & dnevniki
Diagnostika in dostop do dnevnika strežnika z enim klikom
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Imate raje prenos? Prenesite najnovejšo datoteko .dmg iz razdelka
Izdaje. Izvorna koda, težave in dokumentacija za gradnjo
so na voljo v repozitoriju zoispag/omniroute-tray.
💛 Skupnostni projekt avtorja @zoispag — ni uradna izdaja OmniRoute.
> Poleg strežnika je OmniRoute **celovito ukaznovrstično nadzorno središče** z **več kot 80 ukazi** in odprtimi protokoli za agente, tako da ga lahko agent umetne inteligence upravlja **samostojno**.
### ⌨️ Pravi CLI (ne le `start`)
```bash
omniroute # zaženi prehod in nadzorno ploščo (vrata 20128)
omniroute chat # interaktivni odjemalec za klepet TUI (poševni ukazi: /model /combo /skill /memory)
omniroute setup # vodeni čarovnik za prvi zagon
omniroute doctor # diagnosticiraj ponudnike, vrata in izvorne odvisnosti
```
### 🛰️ Oddaljeni način — CLI zaženite tukaj, OmniRoute pa na VPS-u
Je OmniRoute na strežniku? Upravljajte ga s prenosnika z **istim CLI-jem**. Enkrat se prijavite
z žetonom za dostop z omejenim obsegom; vsak ukaz bo nato usmerjen v oddaljeni strežnik.
```bash
omniroute connect 192.168.0.15 # geslo → žeton z omejenim obsegom, shranjen kot kontekst
omniroute models # ← izvede se na ODDALJENEM strežniku
omniroute configure codex # ← izbere oddaljeni model in zapiše lokalni profil Codex
omniroute tokens create --name ci --scope read # ustvari žetone z ožjim obsegom za druge naprave
omniroute contexts use default # ← preklopi nazaj na lokalni strežnik
```
Žetoni imajo obseg `read` / `write` / `admin`; poti, ki zaganjajo procese, ostanejo dostopne le prek povratne zanke.
📖 [Oddaljeni način](docs/guides/REMOTE-MODE.md)
### 🤝 Povežite agenta — in OmniRoute bo upravljal sam
OmniRoute izpostavite prek **MCP-ja**, **A2A-ja**, **REST API-ja**, **spletnih kavljev** ali **oddaljenega CLI-ja** — vsak zmogljiv agent (ali vaša lastna koda) dobi ključe do celotnega prehoda: usmerjanja, ponudnikov, kombinacij, predpomnilnika, stiskanja in pomnilnika — vse to avtonomno. Spodnje končne točke HTTP so na voljo pod `http://localhost:20128`.
Vmesnik
Končna točka/ukaz
Namen uporabe
🧰 MCP (stdio)
omniroute --mcp
Povežite s Claude Desktop, Cursorjem ali katerim koli odjemalcem MCP
Komunikacija med agenti, JSON-RPC 2.0 + SSE, 6 veščin
🌐 REST API
/v1/*
Združljiv z OpenAI — klepet, vdelave, slike, zvok, OCR
🔔 Spletni kavlji
/api/webhooks
Pošiljajte dogodke zahtev/kvot v Slack, Discord, Telegram ali na kateri koli URL
🛰️ Oddaljeni CLI
omniroute connect
Upravljajte oddaljeni primerek z žetoni za dostop z omejenim obsegom
```bash
# Omogočite Claude Code celoten nabor orodij OmniRoute prek MCP-ja:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [Strežnik MCP](docs/frameworks/MCP-SERVER.md) · [Strežnik A2A](docs/frameworks/A2A-SERVER.md) · [Protokoli za agente](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Prihranite 15–95 % žetonov — samodejno
### 📖 Kako deluje — cevovod, arhitektura in računica prihrankov
Privzeta zložena kombinacija izvaja `RTK → Caveman`. Ko oba delujeta na isti vsebini orodja/konteksta, se prihranki stopnjujejo:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Bloki kode, URL-ji, JSON in strukturirani podatki so **vedno zaščiteni** s pogonom ohranjanja.
> **Zakaj uporabljati veliko žetonov, ko jih malo zadostuje?** Vsaka zahteva gre skozi cevovod stiskanja OmniRoute **transparentno** — brez sprememb odjemalca. Zdaj je to **sklad 12 sestavljivih pogonov**, ki se izvajajo zaporedno in se mešajo ter kombinirajo glede na kombinacijo usmerjanja — gradijo na idejah iz [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) in [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Sklad 12 pogonov
Pogoni se izvajajo v vrstnem redu cevovoda; vsakega je mogoče neodvisno vklopiti/izklopiti in konfigurirati za vsako kombinacijo:
#
Pogon
Kaj počne
1
Session-Dedup
Odstrani vsebino, ki se ponavlja čez obrate (naslavljanje po vsebini, čez obrate)
2
CCR
Arhivira velike bloke za označevalci pridobitve; pridobijo se na zahtevo
3
Lite
Obrezovanje presledkov in URL-jev slik (osnovna raven z nizko zakasnitvijo)
4
RTK
Pametno filtriranje rezultatov orodij, deduplikacija in odrezovanje (zavedanje ukazov)
5
Responses Tool Output
Najprej brezizguben JSON + omejeno diagnostično stiskanje za izhode lupine, obližev, iskanja in gradnje (Responses API)
Ekstraktivno ocenjevanje stavkov glede na zadnjo uporabnikovo poizvedbo
8
Caveman
Stiskanje proze na podlagi pravil (~65–75 % na izhodu)
9
Aggressive
Povzemanje + postopno staranje starih obratov
10
LLMLingua-2
Semantično obrezovanje z ML prek MobileBERT ONNX — varno za kodo, asinhrono
11
Ultra
Hevristično obrezovanje žetonov z izbirno ravnjo majhnega modela (SLM)
12
OmniGlyph
Poskusno kodiranje konteksta kot slike za izmerjeni Claude Fable 5 na neposredni povezavi Anthropic; transformerji GPT 5.6 ostajajo fail-closed, dokler ni potrdil ponudnika. Štirje profili stiskanja (privzeto agresivni, uravnoteženi, varni za kodo, passthrough) (najbolj agresivni; po izbiri)
Bloki kode, URL-ji in strukturirani podatki so **vedno ohranjeni** do bajta natančno. **Prednastavitve na en klik** združujejo pogone:
Način
Prihranki
Najboljše za
🪶 Lite
~15 %
Vedno vklopljena varna privzeta raven
🪨 Standard (Caveman)
~30 %
Vsakodnevno kodiranje
⚡ Aggressive
~50 %
Dolge seje z intenzivno uporabo orodij
🔥 Ultra
~75 %
Največji prihranki
🧰 RTK
60–90 %
Izhod shell/test/build/git
🔗 Stacked (RTK → Caveman)
78–95 %
Mešani pozivi + dnevniki orodij
**Resnični primer — način Standard:**
> **Pred (69 žetonov):** _"Razlog, da se vaša komponenta React ponovno upodablja, je verjetno v tem, da v vsakem ciklu upodabljanja ustvarjate novo referenco na objekt. Ko kot lastnost (prop) posredujete inline objekt, ga Reactova plitva primerjava vsakič vidi kot drug objekt, kar sproži ponovno upodabljanje. Priporočal bi uporabo useMemo za memoizacijo objekta."_
>
> **Po (19 žetonov):** _"Nova referenca objekta ob vsakem upodabljanju. Inline objekt kot prop = nova referenca = ponovno upodabljanje. Ovijte v useMemo."_
>
> **Isti odgovor. 72 % manj žetonov. Nič izgube natančnosti.** ✅
**Primer PT-BR — način [Troglodita](https://github.com/leninejunior/troglodita):**
> **Pred (42 žetonov):** _"Težava je v tem, da se komponenta ponovno upodablja, ker se v vsakem ciklu upodabljanja ustvari nova referenca objekta. Priporočal bi uporabo useMemo."_
>
> **Po (12 žetonov):** _"Ponovno upodabljanje: nova ref. v vsakem ciklu (objekt inline ponovno ustvarjen). Uporabite `useMemo`."_
>
> **Isti odgovor. ~70 % manj žetonov. Tehnična natančnost nedotaknjena.** ✅
### 🎚️ Poleg pogonov — izhodni slogi, prilagodljiv gumb in nadzor po zahtevku
Zgornjih 12 pogonov skrči tisto, kar gre **noter**. Tri dodatne plasti oblikujejo, **kako**, **kdaj** in kaj pride **ven**:
- **🪄 Izhodni slogi** _(usmerjanje po izhodni osi)_ — vstavijo deterministična, za predpomnilnik varna navodila za oblikovanje odgovorov; med seboj združljivi, vsak z intenzivnostjo `lite` / `full` / `ultra`. Dodajanje sloga je enovrstični vnos v register:
- **Jedrnata proza** — opusti polnilne besede / členke / ovinkarjenje; ohrani natančno tehnično vsebino.
- **Manj kode** — YAGNI "lenega senior razvijalca": najmanjša delujoča sprememba, brez nezahtevanega ogrodja.
- **Ponytail (leni senior razvijalec)** — povzpne se po lestvici YAGNI, odpravi korenski vzrok, najmanjši delujoči diff.
- **Imam ADHD (najprej dejanje)** — naslednje dejanje vodi, koraki so oštevilčeni, en konkreten naslednji korak, brez uvoda.
- **Jedrnata CJK (文言)** — izjemno jedrnat slog klasične kitajščine (omejeno na področno nastavitev `zh`).
- **🎯 Prilagodljiv kontekstni proračun** _(gumb)_ — namesto enega samega praga žetonov za vklop/izklop stopnjuje najcenejše, najbolj brezizgubne pogone le toliko, kolikor je potrebno, da se vsebina **prilega kontekstnemu oknu modela**. Politika: `reserve-output` (privzeto, glede na model) · `percentage` · `absolute`. Način: `floor` (zagotovljeno prileganje) · `replace-autotrigger` (vaša izrecna izbira ima prednost) · `off` (podedovan prag).
- **🎛️ Kje se odloča o stiskanju** _(prednost, visoka → nizka)_ — glava `x-omniroute-compression` na zahtevo › preglasitev kombinacije usmerjanja › aktivni poimenovani profil › prilagodljivo / samodejni sprožilec › privzeta nastavitev plošče › izklopljeno. Uporabljeni načrt se odzove nazaj v glavi odgovora `X-OmniRoute-Compression: ; source=`.
Samodejno sproženje po pragu žetonov, vklop prilagodljivega gumba, pripetje poimenovanega profila, enkratna nastavitev na zahtevo ali dodelitev cevovoda na kombinacijo usmerjanja — kar koli ustreza delovni obremenitvi. Izbirno brezpovezavno **ocenjevalno ogrodje** (`npm run eval:compression`) na pripetem korpusu oceni zvestobo glede na prihranke, preden spremembo uveljavite.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Hitri začetek
**1) Namestitev in zagon**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidite `npm warn ERESOLVE` ali opozorila o peer-odvisnostih? [Nedolžna so](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Uporabljate npm 11 ali novejši?** npm lahko blokira skripte življenjskega cikla paketov, če niso dovoljene. OmniRoutov `postinstall` (`node scripts/build/postinstall.mjs`) je potreben za pripravo njegovih izvornih izvajalnih datotek. Pri globalni namestitvi dovolite pakete, navedene v opozorilu npm. Za nabor paketov, ki ga navaja OmniRoute 3.8.53:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Če želite ta seznam dovoljenih ponovno uporabiti pri prihodnjih globalnih namestitvah, ga enkrat konfigurirajte, nato pa nameščajte običajno:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Seznam odvisnosti se lahko med izdajami spremeni; če npm javi drugačen seznam, uporabite imena paketov iz tistega opozorila. Če paket dovolite, se lahko zaženejo njegove namestitvene skripte.
> **Uporabljate Gemini Web ali drugega ponudnika prek spletnih piškotkov?** Paket npm vključuje
> Playwright, ne pa njegove binarne datoteke Chromium. Pred prvo zahtevo do spletnega ponudnika si oglejte opombo
> [Nastavitev Playwright Chromium](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium).
Nadzorna plošča na `http://localhost:20128` · API na `http://localhost:20128/v1`.
**2) Povežite primernega ponudnika s svojim računom**
Nadzorna plošča → **Ponudniki** → izberite ponudnika, katerega trenutni pogoji in kvota ustrezajo vašemu primeru uporabe → dodajte njegov ključ API ali dokončajte postopek povezave računa. Brezplačne ravni lahko zahtevajo registracijo, odobritev ali plačilno sredstvo. Preglejte [Vodnik po brezplačnih ravneh](docs/getting-started/FREE-TIERS-GUIDE.md); razpoložljivost brez ključa ni zagotovljena, ponudniki z oznako `tos: avoid` pa so privzeto izključeni iz `auto`.
**3) Usmerite svoje orodje za kodiranje**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Preverite, ali deluje**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Videti bi morali navedene povezane modele. 🎉 To je vse — začnite kodirati, OmniRoute pa bo namesto vas samodejno usmerjal in preklapljal v rezervo.
Če vaš odjemalec ne more pošiljati glav po meri, OmniRoute razkriva tudi žetonirane vzdevke za združljivost:
```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
```
Te uporabite le za odjemalce, ki ne morejo priložiti `Authorization: Bearer ...`. Avtentikacija z glavo ostane prednostni način.
## 📦 Več načinov namestitve — Docker, izvorna koda, 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` sledi najvišji **objavljeni** stabilni različici SemVer. Ne sledi veji git `main`. Za GitOps pripnite `:X.Y.Z`. Glejte [Kanali izdaj Docker](docs/guides/DOCKER_GUIDE.md#release-channels). Slika ima nastavljeno **`OMNIROUTE_MEMORY_MB=1024`**. To zadostuje za nadzorno ploščo in lažji klepet. **Agenti za programiranje** (`POST /v1/responses` iz Claude Code, Codex, Grok, …) potrebujejo precej večjo kopico V8, sicer se proces pri približno 12 GiB in dveh prekrivajočih se dolgih kontekstih konča z napako `FATAL ERROR`. Velikost vsebnika nastavite nad velikostjo kopice (izvorni medpomnilniki so zunaj V8):
| Delovna obremenitev | Kopica (`-e OMNIROUTE_MEMORY_MB`) | Vsebnik (`--memory`) |
| --------------------------------- | --------------------------------- | -------------------- |
| Nadzorna plošča / lažji klepet | `1024` (privzeto v sliki) | ≥2 g |
| En agent za programiranje | `8192` | ≥10 g |
| Dva sočasna dolga `/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
```
Celotna tabela: [Vodnik za Docker — pomnilnik RAM med izvajanjem](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Kanal predizdaj Docker:** `diegosouzapw/omniroute:next` in
> `diegosouzapw/omniroute:next-web` sledita trenutni privzeti veji `release/v*`.
> Ti spremenljivi oznaki sta namenjeni samo preizkušanju še neobjavljenih popravkov in
> **nista podprti za produkcijsko uporabo**. Glejte
> [Kanali izdaj Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardna ukaza `bun install` in globalna namestitev (`bun install -g omniroute`) sta podprta prek zaznavanja izvajalnega okolja Bun:
- **Vgrajeni `bun:sqlite`**: OmniRoute med izvajanjem v okolju Bun uporablja njegov vgrajeni gonilnik `bun:sqlite`, v okolju Node.js pa preklopi na `better-sqlite3` ali `sql.js`.
- **Samodejna izbira pakirnika Webpack med razvojem**: Razvojno izvajanje (`bun run dev`) samodejno zazna Bun in onemogoči Turbopack v korist Webpacka, da prepreči nezdružljivosti izvornih vezav V8. Produkcijske gradnje (`bun run build`) upoštevajo `OMNIROUTE_USE_TURBOPACK` povsem enako kot v okolju Node: privzeto uporabljajo Turbopack, z `OMNIROUTE_USE_TURBOPACK=0` pa se gradijo z Webpackom (`Dockerfile.bun` to izpostavi kot `--build-arg`).
- **Namenska datoteka Dockerfile za Bun**: Večstopenjska datoteka `Dockerfile.bun` za izvorne produkcijske uvedbe Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Namestitev in zagon z okoljem Bun
bun install
bun run dev
```
**🛠️ Iz izvorne kode**
```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
# Uporaba paketov Flake Nix
nix develop
npm run dev
# Ali uporaba okolja devbox
devbox run npm run dev
```
📖 [Vodnik za Docker](docs/guides/DOCKER_GUIDE.md) — profili Compose, Caddy HTTPS in tuneli Cloudflare.
**🦭 Podman**
```bash
# 1. Pripravite priklopljeni podatkovni imenik
mkdir -p data
# 2. Samo Linux in lokalni brezkorenski Podman (nikoli oddaljeni odjemalec Podman Machine):
podman unshare chown 1000:1000 ./data
# 3. Nastavite namig izvajalnega okolja, zgradite lokalno sliko Compose in jo zaženite
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
V sistemih macOS ali Windows uporablja Podman oddaljeni Podman Machine: preskočite `podman unshare` in
upoštevajte [navodila za podatkovni imenik glede na topologijo](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Vodnik za Podman](contrib/podman/README.md) — gradnje Compose, Podman Machine in
nastavitev Quadlet za Linux/systemd.
**⚡ Hitrejša / varčnejša namestitev (brez izvorne gradnje)**
Izvorni mehanizem SQLite (`better-sqlite3`) je **izbirna** odvisnost, zato globalna
namestitev nikoli ne čaka na prevajanje iz izvorne kode: če je na voljo vnaprej prevedena binarna datoteka,
ki ustreza vaši platformi/različici Node, jo uporabi, sicer pa neopazno preklopi na mehanizem v čistem JS
(`node:sqlite` v Node 22+, sicer priloženi `sql.js` WASM) — orodja za gradnjo niso potrebna.
Če želite v celoti preskočiti **izvorno ogrevanje** po namestitvi (v okoljih CI, brez grafičnega vmesnika ali na počasnih napravah).
Opomba: s tem preskočite samo korak ogrevanja izvornega SQLite (`scripts/postinstall.mjs`);
kavelj za kopiranje/popravilo binarne datoteke (`scripts/build/postinstall.mjs`) se še vedno izvede kot običajno:
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Preskoči ga tudi CI=1
```
Za najhitrejše namestitve izberite **pnpm** (vsebinsko naslovljena shramba + trde povezave — glejte zgoraj).
Za izvajalno okolje brez nadzorne plošče in grafičnega vmesnika uporabite profil Docker `base` (zgoraj) ali
[vodnik za Termux](docs/guides/TERMUX_GUIDE.md). Vmesnik ukazne vrstice in spletno nadzorno ploščo zagotavlja
isti proces na enih vratih, zato trenutno ni ločenega paketa samo za vmesnik ukazne vrstice.
Strategija testne pokritosti za več kot 56.000 statičnih testnih deklaracij v več kot 7.800 sledenih testnih datotekah
# ⭐ Najboljši prispevalci
> OmniRoute oblikuje strastna skupnost odprte kode. Ti posamezniki so s svojimi izjemnimi prispevki neposredno vplivali na kakovost, stabilnost in doseg projekta. **Hvala.**
### Zunanji prispevalci po združenih PR-jih
Popis opravljen 2026-10-18 15:09:09 UTC na takratni živi konici release/v3.8.52656f01cb43. Oštevilčeni popis GitHub GraphQL vsebuje 9.191 združenih PR-jev: 3.834 od lastnika repozitorija, 229 od Dependabota, 6 od drugih botov/aplikacij in 5.122 zunanjih PR-jev 835 različnih prispevalcev. »Spremenjene vrstice« so seštevek GitHubovih dodajanj in izbrisov ter vključujejo generirane datoteke, zaklepne datoteke, kataloge, prevode in dokumentacijo; gre za obseg sprememb, ne za avtorsko napisane vrstice kode (LOC). Pri 49 PR-jih GitHubove razlike presegajo 500.000 vrstic (na primer #13399, dodajanje enega samega ponudnika, navaja 2.347 spremenjenih datotek), kar napihuje več zgornjih skupnih vsot. Izenačeni si delijo isto uvrstitev.
### GitHubu pripisani commiti
Ponovno preverjeno 2026-10-18 14:44:45 UTC: GitHubu pripisani commiti, ki jih za privzeto vejo release/v3.8.52 poroča API za prispevajoče (Contributors API) repozitorija. API je vrnil 849 identitet (429 uporabnikov, 2 bota, 418 anonimnih); ta tabela izključuje vzdrževalca, bote in anonimne identitete ter ohranja izenačena mesta. Razlikuje se tako od zgornje lestvice združenih PR-jev kot od spodnjega popisa Git-metapodatkov.
> 🙏 Funkcije, popravki napak in izboljšave infrastrukture teh prispevajočih so **bistveni del** tega, kar dela OmniRoute zanesljiv in bogat z možnostmi. Vsak pull request, vsak testni primer in vsaka datoteka prevodov i18n šteje. Odprto kodo gradijo ljudje, kot so oni.
---
## 💖 Sponzorji
Iskrena hvala ljudem, ki OmniRoute financirajo iz lastnega žepa — vsak prispevek pomaga, da projekt ostaja brezplačen, neodvisen in se še naprej razvija.
… in drugi, ki želijo ostati zasebni 💛Javni sponzorji GitHub Sponsors so bili ponovno preverjeni 2026-10-18 prek vmesnika GitHub Sponsors GraphQL API: 11 javnih sponzorstev (6 aktivnih, 5 nekdanjih) od skupno 14. Stanje isActive v storitvi GitHub določa zgornje oznake aktivnosti; nekdanjim javnim enkratnim podpornikom se še vedno zahvaljujemo, zasebni sponzorji pa ostajajo anonimni. Donacije prek Ko-fi, Buy Me a Coffee, Liberapay, PIX in kriptovalut niso navedene, ker zanje ni javnega zapisa o sponzorju.💖 Postanite sponzor → — vsak dolar pomaga, da OmniRoute ostaja brezplačen in neodvisen.
## 👥 Več kot 900 sodelujočih
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revizija je bila opravljena 2026-10-18 na aktualni konici veje release/v3.8.52, pri potrditvi ad160ab2d1 (6.826 potrditev): 993 normaliziranih človeških identitet Git — 707 jih je navedenih kot avtorjev potrditev (vključno z vzdrževalcem), 286 pa samo v izrecnih priklopnikih Co-authored-by. Popis uporablja .mailmap, e-poštne naslove primerja brez razlikovanja med velikimi in malimi črkami, številske in običajne GitHubove naslove noreply združi samo, kadar vsebujejo isti uporabniški vzdevek, izključuje 26 identitet botov/agentov/storitev/oznak mesta ter običajnih e-poštnih naslovov ne združuje zgolj zato, ker se njihova prikazna imena ujemajo. Revizija z dne 2026-08-24 je objavila število 639; ponovna izvedba te metode na osnovi navedene revizije ac02c5b42f da rezultat 619, zato povečanje izhaja iz novih sodelujočih in ne iz manj stroge metode.
### Kako prispevati
1. Razvejite repozitorij
2. Ustvarite vejo iz **aktivne** konice `release/vX.Y.Z` (ne iz `main`) — glejte [Model vej in izdaj](docs/ops/BRANCHING_MODEL.md)
3. Ustvarite svojo funkcijsko vejo (`git checkout -b feat/amazing-feature`)
4. Potrdite svoje spremembe (`git commit -m 'feat: add amazing feature'`)
5. Potisnite spremembe v vejo (`git push origin feat/amazing-feature`)
6. Odprite zahtevo za spojitev z nastavitvijo **base = ta veja `release/vX.Y.Z`**
Za podrobna navodila glejte [CONTRIBUTING.md](CONTRIBUTING.md).
### Izdaja nove različice
```bash
# Ustvarite izdajo — objava v npm se izvede samodejno
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Zvezdice
## 🌍 StarMapper
## 🙏 Zahvale
OmniRoute stoji na ramenih velikanov. Začel se je kot razcep projekta **[9router](https://github.com/decolua/9router)** in prenos projekta **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** iz jezika Go v TypeScript — od tam naprej pa je vsak spodaj navedeni podsistem navdihnil odprtokodni projekt, ki je to dosegel prvi. Vsak od njih je oblikoval konkreten del OmniRoute. S tem se zahvaljujemo vsem. 🙏
> ⭐ število zvezdic je bilo preverjeno prek GitHubovega API-ja REST 18. oktobra 2026 — podarite tem projektom zvezdico. Števila so natančen posnetek na navedeni datum in se bodo sčasoma seveda spremenila.
### 🧬 Izvor in prehod
Prehod za umetno inteligenco, katerega javni nabor podatkov o cenah napaja našo sinhronizacijo sledenja stroškom in katerega model normalizacije ponudnikov je sooblikoval naše usmerjanje.
Izvorna koda z licenco MIT, prilagojena za vključeni most ChatGPT Web → Codex Responses, vključno z vmesniki za sejo brskalnika, oblikovanje odgovorov, beleženje uporabe in spletno iskanje.
Njegove preslikave modelov Grok, generator Statsig z lažnim TypeError, privzete nastavitve zahtev in naprav ter obdelovalnik odgovorov NDJSON so bili v znatni meri prilagojeni za OmniRoutov izvajalnik Grok Web.
Glavni posredni vir kode za grok2api-merged; njegove implementacije modelov, glav, koristne vsebine, Statsig in obdelovalnikov so ohranjene v izvorni liniji Grok Web.
Temeljni vir z licenco MIT za koristno vsebino Grok in privzete nastavitve naprav, generator Statsig ter obdelovalnik result.response, prenesen prek TQZHR in grok2api-merged.
Posredni vir, ki ga grok2api-merged navaja za svojo plast skupine posredniških strežnikov; OmniRoute ohranja to navedbo izvora, vendar ne trdi, da je v njegov omejeni izvajalnik Grok Web prenesena skupina posredniških strežnikov.
Njegov posredniški strežnik Grok s preverjanjem pristnosti s piškotki in vzorec pretakanja result.response.token sta sooblikovala OmniRoutov prenos Grok Web.
Izvirna implementacija Grok Web se je zgledovala po njegovi zasnovi zaledja HTTP/brskalnika; njena neposredna pot HTTP izhaja iz GrokProxy, zato se ne uveljavlja neodvisen prenos kode.
Viralni projekt »zakaj uporabiti veliko žetonov, ko malo žetonov opravi nalogo« — njegova filozofija jamskega govora poganja naš standardni način stiskanja ter več kot 30 pravil za odstranjevanje mašil in zgoščevanje.
Raziskave stiskanja pozivov (LLMLingua / LLMLingua-2) — navdihnile so naš asinhroni, za kodo varen mehanizem llmlingua, ki ob napaki nadaljuje brez stiskanja.
Viralna spretnost kodiranja »lenega izkušenega razvijalca« po načelu YAGNI — navdihnila je naš izhodni slog less-code: usmerjanje k najmanjši delujoči spremembi, ki zmanjša _ustvarjeno_ kodo (ustreznik jedrnati prozi projekta Caveman na osi izhoda).
Stiskanje izpisa glede na vsebino in vrsto datoteke z odstopom ob napakah — potrdilo je naše usmerjanje glede na vrsto in preskok ob premajhnem prihranku.
Načrt grafa seje in odstranjevanja podvojenih vrstic med izmenjavami, ki je vplival na zasnovo našega mehanizma za odstranjevanje dvojnikov med sejami.
Stolpčni JSON v jeziku Rust, vsebinsko naslovljeno pridobivanje in odstranjevanje dvojnikov med sporočili — potrdili so zasnovo naših mehanizmov headroom/ccr/session-dedup ter invarianto za stabilnost predpomnilnika »stisnjena oblika je neodvisna od položaja«.
Zbirka orodij za TypeScript Compiler API — navdihnila je naše odstranjevanje komentarjev na podlagi razčlenjevalnika, ki ohrani literale nizov, predlog in regularnih izrazov.
Prestrezanje/analiza prometa med pomočnikom za programiranje ↔ LLM z uporabo MITM je vplivala na zgodnje zahteve za pregledovalnik prometa. Štiri predhodno izpeljane module — združevanje SSE, normalizacijo pogovorov, maskiranje skrivnosti in čiščenje glav — so nadomestile neodvisne implementacije iz čiste sobe, ki temeljijo na javnih protokolarnih standardih. Dve površini za neposreden prehod gostitelja (passthrough.ts in _internal/bypass.cjs) ostajata interni implementaciji OmniRoute, razvrščeni neodvisno; v okviru te zamenjave nista bili na novo napisani.
Transparentno usmerjanje prek posredniškega strežnika za vsak proces posebej — navdih za našo zaustavitev MITM, varno ob zrušitvah, časovne omejitve nedejavnosti vtičnic, pripisovanje procesov prek /proc in zajem TPROXY.
### 📚 Podatki o modelih, opazljivost in uporabniški vmesnik
Opazljivost storitvenega omrežja Istio — navdih za naše značke prekinjevalnikov tokokroga in vizualne prikaze povezav z napakami v Routing/Combo Studio.
Navdih za odpravljanje podvojenih zahtev, rezervno možnost brez stroškov za nujne primere, priklopljive strategije Auto-Combo in večjezično razvrščanje namenov.
Njegovo preslikovanje modelov glede na račun, preverjanje poti do izvedljive datoteke in vedenje oznak paketov so vplivali na izvajalno okolje Antigravity v OmniRoute.
Prepoznal je vmesnik kvote Grok Build; OmniRoute je nato neodvisno preveril in popravil dejanski format podatkov na povezavi.
## 📄 Licenca
Licenca MIT – podrobnosti si oglejte v datoteki [LICENSE](LICENSE).
---
**[⬆ Nazaj na vrh](#-omniroute)** · Zgrajeno z ❤️ za odprtokodno skupnost umetne inteligence.
OmniRoute v3.8.53 · Node ≥22.22.2 · Licenca MIT · omniroute.online