> **Uporabite lastne račune ponudnikov.** To je ocenjena skupna vrednost ločeno upravičenih brezplačnih paketov tretjih ponudnikov, ne pa dodelitev žetonov s strani OmniRoute. Registrirajte se, po potrebi pridobite poverilnice in povežite ponudnike, ki jih lahko uporabljate; vsak ponudnik 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 jasne predstave, koliko dejansko imate na voljo. OmniRoute katalogizira **465 vnosov brezplačnih paketov pri 34 ponavljajočih se ključih skupin** in izračuna glavno vrednost žetonov iz **17 skupin z objavljenim pozitivnim mesečnim proračunom ter petih omejitev Groq za posamezne modele**, pri čemer se skupne skupine podvojeno ne štejejo. Kvote, ki se odprejo šele po preverjanju regionalne identitete (trenutno: ModelScope), so prikazane ločeno, +~6 milijonov po regionalnem preverjanju identitete, in se nikoli ne prištevajo h glavni vrednosti. Rezultat ostane viden na nadzorni plošči (`/dashboard/free-tiers`).
> Animirani povzetek aktualne strani `/dashboard/free-tiers`. Celotna metodologija (odstranjevanje dvojnikov skupin, ravni dobroimetij, pogoji ponudnikov): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Te številke se vsaka dva tedna ponovno preverijo glede na aktualni katalog in se **spreminjajo v obe smeri** — ponudnik ukine brezplačni paket in številka se zmanjša; pojavi se nov ponudnik in številka naraste. Objavljamo to, kar katalog dejansko izračuna, nikoli navzgor zaokroženega najboljšega možnega scenarija.
⭐ Označite repozitorij z 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 — prvi prejmite informacije o novih ponudnikih, izdajah in nasvetih:**
[](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, načrt razvoja in podpora → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](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)**
## 📈 Prehodnik še naprej raste
## 🆓 Namestite, povežite ponudnika in nato usmerjajte prek ene končne točke
```bash
# Po povezavi ponudnika kopirajte svoj ključ OmniRoute iz razdelka 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!"}]}'
```
Za `auto` je potrebna ustrezna pot. Sveža namestitev morda nima nobenih ustreznih ciljev brez ključa, ponudnik brez ključa pa lahko zavrne odjemalce tretjih oseb. Ponudniki z oznako `tos: avoid`, vključno s Kiro, 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).📦 Skripti za hiter začetek, ki jih lahko kopirate in prilepite, 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 se OmniRoute razlikuje
📊 Celotna metodologija in podrobnosti po posameznih funkcijah v primerjavi z rešitvami 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
> Najnovejši poudarki od **v3.8.20 → v3.8.54**. Celotna zgodovina je v [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ Usmerjanje `quota-weighted`** — 20. strategija kombinacij preskoči izčrpane račune, nato pa med preostalimi izbira sorazmerno glede na preostalo kvoto ÷ obremenitev zahtev v obdelavi, pri čemer obstoječe pogovore še naprej pripenja. → [Samodejne kombinacije](docs/routing/AUTO-COMBO.md)
- **🧰 Način brez glave** — `omniroute serve --headless` (ali `OMNIROUTE_HEADLESS=1`) zažene samo posredniški mehanizem `/v1/*`, nadzorno ploščo in podsisteme, namenjene samo nadzorni plošči, pa izklopi. → [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čni izbor z enako vidnostjo po ključih. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🔑 Nadzor usmerjanja po ključih** — ključ API-ja pripnite enemu modelu ali kombinaciji z `forcedModel` ter atomsko dodajajte ali odstranjujte modele in kombinacije ključa (`/api/keys/{id}/access`). → [Referenca API-ja](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Natančnejši nadzor osebnih podatkov** — izbira po vrsti, do 20 preverjenih vzorcev maskiranja po meri in števci zaznavanja po vrsti; maskiranje je še vedno treba izrecno omogočiti. → [Zaščitni mehanizmi](docs/security/GUARDRAILS.md)
- **🌍 67 jezikov** — nadzorna plošča, zrcala dokumentacije in CLI, pri čemer `npm run i18n:add-locale` z enim ukazom doda jezik povsod. → [Vodnik za i18n](docs/guides/I18N.md)
- **🎛️ OmniConductor** — vhodno delegiranje A2A v vašo floto agentov, veščine Conductor na kartici agenta in plošča nadzorne plošče z glasovnim klepetom Faro »pritisni za govor«. → [Strežnik A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljivo sprejemanje in zaščita pred preobremenitvijo** — zahtevni klepetalni zahtevki se postavijo v čakalno vrsto namesto vračanja napake 503, z atomskimi drsečimi najemi RPM za vsako povezavo. → [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonični vrstni red `/v1/models`** — en neprekinjen blok, združen po ponudniku, za vsakega ponudnika (kombinacije so najprej pripete), stabilen pri vsakem viru kataloga. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🗜️ Okrepljena stiskanja** — privzeto vklopljena zaščita pred napihovanjem, paketi Caveman za DE / FR / JA in kitajščino (wényán), filtri RTK za Gradle in .NET. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Pošteni stroški pavšalnih cen** — ponudniki naročnin in kodirnih paketov se v analitiki stroškov prikazujejo kot **$0**; proračun, kvota in usmerjanje še naprej ocenjujejo porabo. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **⚖️ Usmerjanje Quota-Share** — kvoto skupnega računa pravično razdeli med združene ključe in učinkovito izrablja vire, tako da se neuporabljeni deleži posodijo. → [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Nastavitev CLI-ja/agentov 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 in modela ter priljubljenimi možnostmi za posamezen kontekst. → [Integracije CLI](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Oddaljeni način** — upravljajte oddaljeni OmniRoute z žetoni z omejenim obsegom (`connect` / `contexts` / `tokens`) in pomočnikom OAuth `antigravity` za namestitve na VPS. → [Oddaljeni način](docs/guides/REMOTE-MODE.md)
- **🧭 Pametnejše samodejno usmerjanje** — kombinacije `auto/:`, **Fusion** (panel modelov + presojevalnik), usmerjanje, prilagojeno nalogi, ter preglasitve modela, načina in proračuna v USD za posamezno zahtevo. → [Samodejne kombinacije](docs/routing/AUTO-COMBO.md)
- **🗜️ Vtično stiskanje** — 12 sestavljivih mehanizmov in Compression Studios: LLMLingua-2, dvonivojski Ultra, omniglyph, preverjanje zvestobe po korakih, GCF v3.2 in urejevalnik z razvrščanjem povleci in spusti. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Pregledno dešifriranje MITM (TPROXY)** — CLI-ji za zajem, ki ne upoštevajo spremenljivk okolja posrednika, z namestitvenim programom CA + shrambe zaupanja za posamezen SNI. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija stroškov povsod** — glave stroškov/porabe `X-OmniRoute-*` na vsaki končni točki, glava s prihranki zaradi zadetkov predpomnilnika in kvote porabe v USD za posamezne ključe. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🧠 Pomnilnik pod vašim nadzorom** — privzeto izklopljen, z možnostjo vklopa vektorske kvantizacije int8 in upadanja po tipih ter z `x-omniroute-no-memory` za posamezno zahtevo. → [Pomnilnik](docs/frameworks/MEMORY.md)
- **🛡️ Varnost** — zaščita pred vbrizganjem pozivov na vsaki poti LLM (testni sklop red team), izbirna zaščita maskiranja poverilnic (zakrije razkrite ključe API-ja/tajne v obeh smereh), brezplačno spletno iskanje DuckDuckGo kot skrajna možnost in izbirna prijavna zapora OIDC za nadzorno ploščo (prijava z geslom ostane 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) dopolnjujeta medijski vmesnik. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🎨 Ustvarjanje slik / videoposnetkov / zvoka** — en API za medije: xAI Grok Imagine in videoposnetki Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind ter ponudniki govora, kot je ElevenLabs. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🌍 Namestitev in upravljanje** — `basePath` povratnega posredniškega strežnika, samodejno zaznavanje jezika brskalnika, sledenje napravam po ključih, zaupanje MITM brez korenskih pravic in lokalizacija zh-TW. → [Okolje](docs/reference/ENVIRONMENT.md)
- **🤝 Več ponudnikov in agentov** — agenti v oblaku (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) z brskalnikom in prijavo OAuth, prvovrstna kartica Ollama, Claude Opus 5 in Sonnet 5, uradno partnerstvo s Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI … in osvežen **katalog 388 ponudnikov**. → [Ponudniki](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Preglednost usmerjanja** — vsak odgovor vsebuje glavo `X-OmniRoute-Decision` z imenom strategije/ponudnika/zakasnitve, ki je odgovor zagotovil; nova strategija kombinacij `cache-optimized` in faktor usmerjanja `cacheAffinity` v funkciji Auto-Combo ponavljajoče se zahteve preusmerita nazaj na povezavo, ki vsebuje predpomnjeno predpono; končna točka samo za branje `/v1/auto-combo/{channel}/candidates` pa razkrije trenutni nabor kandidatov kanala `auto/*`. → [Samodejne kombinacije](docs/routing/AUTO-COMBO.md).
- **⚡ Lokalna zmogljivost in infrastruktura** — lokalni Redis z enim klikom, posredniški uvajalniki za Cloudflare Workers / Deno Deploy, Bifrost in Mux kot nadzorovani vdelani storitvi. → [Vdelane storitve](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Tudi v paketu** — ogrodje vtičnikov in tržnica, ogrodja veščin Omni/Agent/GitHub, integracija z zbirko Obsidian (22 orodij MCP), API-ja Batch in Files, združljiva z OpenAI, semantični predpomnilnik odgovorov, igrifikacija z lestvicami, odkrivanje agentov ACP (15 vgrajenih agentov), načrtovan izvoz dnevnikov v BigQuery, vzporedno razpošiljanje med več modeli `auto/chaos`, most za bota Telegram, upravljalnik različic v aplikaciji in lestvice brezplačnih ponudnikov LMArena-ELO. → [Dokumentacija](docs/README.md)
## 🤖 Združljivi CLI-ji in kodirni agenti
> Ena konfiguracija — `http://localhost:20128/v1` — in **vsak** AI IDE ali CLI deluje na brezplačnih in nizkocenovnih modelih.
+ deluje tudi z · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · katerimkoli orodjem, združljivim z OpenAI
📖 Nastavitev za posamezno orodje za vseh 39 orodij (28 CLI Code + 11 CLI Agentov) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode vtičnik → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Zaženite katerikoli podprti CLI prek OmniRoute z enim ukazom** — brez zapisovanja konfiguracijskih datotek,
podatki za prijavo se vbrizgajo za vsak proces posebej, Qwen/Gemini dobita začasno 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 pa izberite ponudnika+model interaktivno in zapišite lastno konfiguracijo orodja:
omniroute configure codex # tudi: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Vsak ukaz upošteva aktivni oddaljeni kontekst (`omniroute connect `), `--dry-run`
prikaže natančno okolje/argumente brez izvedbe, in `--api-key-env NAME` ohrani skrivnosti
izven zgodovine vaše lupine. → [CLI integracije](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 ponudnikov umetne inteligence — 153 označenih kot brezplačni v katalogu
> **388 registriranih ponudnikov** v kanoničnih zbirkah za klepet, medije, iskanje, lokalne ponudnike, agente v oblaku in sistemske ponudnike, vključno s **153 ponudniki z metapodatki za odkrivanje `hasFree: true`**. Register modelov za klepet zajema **239 ponudnikov / 3.059 različnih parov ponudnik–model / 1.475 neobdelanih ID-jev modelov**; ločeni katalog brezplačnih proračunov ima **471 vrstic po modelih**, **34 ponavljajočih se skladov** in **52 ponavljajočih se oziroma ponudnikov brez ključev, ki so brezplačni za vedno**. To so namerno različni imenovalci; definicije in izračuni z odstranitvijo podvojenih skladov so v dokumentih [Referenca ponudnikov](docs/reference/PROVIDER_REFERENCE.md) in [Brezplačne ravni](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 še več kot 350 — vsaka ikona se v živo razreši iz kataloga ponudnikov na nadzorni plošči. 📖 [Referenca ponudnikov](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Brezplačno za vedno — 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čna raven
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 Več kot 50 modelov 10.000 nevronov/dan
NVIDIA NIM GLM, MiniMax ~40 RPM brezplačno
Cerebras GLM 4.7, GPT-OSS Enkratni dobropis v višini $5; potrebna je kartica
### 🧩 Novo: OmniRoute znotraj izvornega klepeta VS kode Copilot
> Brez nove stranske vrstice, brez novega klepeta UI – vsak model, ki ga ponuja OmniRoute se prikaže neposredno v** izbirnik modela Copilot Chat, ki ga že uporabljate** . Od kode VS 1.122 modeli ponudnikov delujejo brez prijave GitHub ali naročnine na Copilot – agentski način, klicanje orodja in vizija, brezplačno.
Namestite** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** razširitev, jo usmerite na svoj strežnik OmniRoute (privzeto na `localhost:20128`), nato odprite Copilot Chat → model picker →** Upravljanje modelov …** →**OmniRoute** .
V urejevalniku: odprite** Razširitve** pogled, iskanje** "OmniRoute"** , kliknite** Namestite** — deluje na enak način v obeh trgovinah. Vir, izdaje in založniški zbornik v živo na [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [koda VS Copilot Vodnik za klepet](docs/guides/VSCODE-COPILOT.md) — nastavitev, kaj prikazuje izbirnik, nadzorna plošča v zavihku, odpravljanje težav
### 🎩 Novo: OmniRouteTray — vaš prehod, ki živi v menijski vrstici
> `omniroute serve` je najsrečnejša, ko je vedno prižgana.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** to spremeni v aplikacijo menijske vrstice nastavi in pozabi za macOS: zažene strežnik, ga ohranja pri življenju med ponovnimi zagoni, ga posodobi na mestu in postavi vaš živi žetonski proračun na en klik stran —** nobeno terminalsko okno ni ostalo odprto, ni `npm install -g omniroute` za varuško.**
Ustvarjen s [Tauri v2](https://v2.tauri.app/) (jedro Rust velikosti napake zaokroževanja), pošilja lastno podpisano izvajalno okolje Node 24 in upravlja namestitev OmniRoute v lasti aplikacije, tako da se nikoli ne bori z vašim globalnim `node`/`bun`. to** deli vašo obstoječo konfiguracijo `~/.omniroute/` in bazo podatkov** — torej je isti OmniRoute ki ga že tečeš, samo s klobukom na glavi. 🎩
Kaj počne
Kako
🟢 Nadzoruje strežnik
Ustvari omniroute serve , sprejme primerek, ki se že izvaja, namesto da ga podvoji
📊 Kratek pregled uporabe v živo
Vrstice kvot ponudnika, Claude session/weekly omejitve z odštevanji ponastavitve, 30-dnevna razčlenitev stroškov
🔄 Samodejne posodobitve na mestu
Postopna namestitev, atomska zamenjava, povrnitev ob napaki — vedno na najnovejši izdaji
🚀 Zaženi ob prijavi
Izbirni zagon ob prijavi; samo pladenj, brez ikone priklopne
🩺 Doctor & beleži
Diagnostika z enim klikom in dostop do dnevnika strežnika
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Raje prenos? Zgrabite najnovejši .dmg iz
Izdaja . Vir, težave in zgradba
dokumenti v živo na zoispag/omniroute-tray.
💛 Skupnostni projekt @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)
## 🗜️ Samodejno prihranite 15–95 % žetonov
### 📖 Kako deluje — cevovod, arhitektura in izračun prihrankov
Privzeta zložena kombinacija zažene `RTK → Caveman`. Ko oba delujeta na istem uporabnem bremenu orodja/konteksta, se prihranki seštevajo:
```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 z mehanizmom za ohranjanje **vedno zaščiteni**.
> **Zakaj uporabljati veliko žetonov, če zadostuje nekaj žetonov?** Vsaka zahteva gre skozi cevovod stiskanja OmniRoute **pregledno** — brez sprememb odjemalca. Zdaj gre za **sklad 12 sestavljivih mehanizmov**, ki se izvajajo po vrstnem redu ter jih je mogoče poljubno kombinirati za posamezno kombinacijo usmerjanja — pri tem pa gradijo na idejah projektov [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 mehanizmov
Mehanizmi se izvajajo v vrstnem redu cevovoda; vsakega je mogoče neodvisno vklopiti ali izklopiti ter konfigurirati za posamezno kombinacijo:
#
Mehanizem
Kaj počne
1
Session-Dedup
Odstrani vsebino, ponovljeno med obrati (naslavljanje po vsebini, med obrati)
2
CCR
Velike bloke arhivira za oznakami za pridobivanje, ki se pridobijo na zahtevo
3
Lite
Obrezovanje presledkov in URL-jev slik (osnovna različica z majhnim vplivom na zakasnitev)
4
RTK
Pametno filtriranje rezultatov orodij, odstranjevanje dvojnikov in krajšanje (upošteva ukaze)
5
Responses Tool Output
Najprej brezizgubno stiskanje JSON-a in omejeno diagnostično stiskanje izhodov lupine/popravkov/iskanja/gradnje (Responses API)
Ekstraktivno točkovanje stavkov glede na zadnjo uporabniško poizvedbo
8
Caveman
Stiskanje proze na podlagi pravil (približno 65–75 % pri izhodu)
9
Aggressive
Povzemanje in 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
Eksperimentalno kodiranje konteksta kot slike za izmerjeni Claude Fable 5 na neposredni povezavi Anthropic; transformatorji GPT 5.6 ostanejo zaprti ob napaki do prejemov ponudnika. Štirje profili stiskanja (privzeto agresivni, uravnoteženi, varni za kodiranje, prepustni) (najbolj agresiven; po izrecni izbiri)
Bloki kode, URL-ji in strukturirani podatki so **vedno ohranjeni**, bajt za bajtom. **Prednastavitve z enim klikom** združujejo mehanizme:
Način
Prihranek
Najprimernejše za
🪶 Lite
~15%
Vedno vklopljena varna privzeta možnost
🪨 Standard (Caveman)
~30%
Vsakodnevno programiranje
⚡ Aggressive
~50%
Dolge seje z veliko orodji
🔥 Ultra
~75%
Največji prihranek
🧰 RTK
60–90%
Izhod lupine/testov/gradnje/git
🔗 Stacked (RTK → Caveman)
78–95%
Mešani pozivi in dnevniki orodij
**Resnični primer — standardni način:**
> **Prej (69 žetonov):** _"Razlog, da se vaša komponenta React znova izrisuje, je verjetno v tem, da ob vsakem ciklu izrisovanja ustvarite novo referenco objekta. Ko posredujete vstavljeni objekt kot lastnost, ga Reactova plitva primerjava vsakič vidi kot drug objekt, kar sproži ponovno izrisovanje. Priporočam uporabo useMemo za pomnjenje objekta."_
>
> **Potem (19 žetonov):** _"Nova referenca objekta pri vsakem izrisu. Lastnost z vstavljenim objektom = nova referenca = ponovno izrisovanje. Ovijte v useMemo."_
>
> **Isti odgovor. 72 % manj žetonov. Brez izgube natančnosti.** ✅
**Primer PT-BR — način [Troglodita](https://github.com/leninejunior/troglodita):**
> **Prej (42 žetonov):** _"Težava je v tem, da se komponenta znova izrisuje, ker se v vsakem ciklu izrisovanja ustvari nova referenca objekta. Priporočam uporabo useMemo."_
>
> **Potem (12 žetonov):** _"Ponovni izris: nova referenca v vsakem ciklu (v vrstici znova ustvarjen objekt). Uporabi `useMemo`."_
>
> **Isti odgovor. ~70 % manj žetonov. Tehnična natančnost ostaja nedotaknjena.** ✅
### 🎚️ Onkraj pogonov — slogi izhoda, prilagodljivi regulator in nadzor na zahtevo
Zgornjih 12 pogonov zmanjša količino podatkov, ki gre **v** sistem. Tri dodatne plasti oblikujejo **kako**, **kdaj** in kaj pride **ven**:
- **🪄 Slogi izhoda** _(usmerjanje osi izhoda)_ — vstavljajo deterministična navodila za oblikovanje odgovorov, varna za predpomnjenje; mogoče jih je kombinirati, vsak pa ima intenzivnost `lite` / `full` / `ultra`. Dodajanje sloga je enovrstični vnos v register:
- **Jedrnata proza** — odstrani mašila, člene in omahovanje; tehnično vsebino ohrani natančno.
- **Manj kode** — YAGNI po načelu »lenega izkušenega razvijalca«: najmanjša delujoča sprememba brez nenaročene infrastrukture.
- **Čop (leni izkušeni razvijalec)** — povzpni se po lestvici YAGNI, odpravi osnovni vzrok in ustvari najmanjši delujoči diff.
- **Imam ADHD (najprej dejanje)** — naslednje dejanje je na prvem mestu, koraki so oštevilčeni, naveden je en konkreten naslednji korak, brez uvoda.
- **Jedrnati CJK (文言)** — ultrajedrnat slog klasične kitajščine (omejen na lokalne nastavitve `zh`).
- **🎯 Prilagodljivi proračun konteksta** _(regulator)_ — namesto enega praga žetonov za vklop/izklop se najcenejši in najmanj izgubni pogoni stopnjujejo le toliko, kolikor je potrebno, da se vsebina **prilega kontekstnemu oknu modela**. Politika: `reserve-output` (privzeto, upošteva model) · `percentage` · `absolute`. Način: `floor` (zagotovi prileganje) · `replace-autotrigger` (vaša izrecna izbira ima prednost) · `off` (stari prag).
- **🎛️ Kje se določi stiskanje** _(prednost, od večje k manjši)_ — glava `x-omniroute-compression` na zahtevo › preglasitev kombinacije usmerjanja › aktivni poimenovani profil › prilagodljivi sprožilec / samodejni sprožilec › privzeta nastavitev plošče › izklop. Uporabljeni načrt se vrne v odzivni glavi `X-OmniRoute-Compression: ; source=`.
Samodejno sprožite stiskanje pri pragu žetonov, vklopite prilagodljivi regulator, pripnite poimenovani profil, nastavite enkratno možnost za posamezno zahtevo ali dodelite cevovod posamezni kombinaciji usmerjanja — kar najbolje ustreza delovni obremenitvi. Neobvezno brezpovezavno **evalvatorsko okolje** (`npm run eval:compression`) oceni zvestobo glede na prihranek na zaklenjenem korpusu, preden spremembo promovirate.
📖 [`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
```
> 💡 Se prikazujejo `npm warn ERESOLVE` ali opozorila o odvisnostih peer? [Neškodljiva so](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Uporabljate npm 11 ali novejšo različico?** npm lahko blokira skripte življenjskega cikla paketov, razen če so dovoljene. `postinstall` za OmniRoute (`node scripts/build/postinstall.mjs`) je potreben za pripravo izvornih izvajalnih datotek. Pri globalni namestitvi dovolite pakete, navedene v npm-jevem opozorilu. Za nabor paketov, ki ga je prijavil OmniRoute 3.8.54:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Če želite ta seznam dovoljenih paketov znova uporabiti pri prihodnjih globalnih namestitvah, ga enkrat nastavite, 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 prijavi drugačen seznam, uporabite imena paketov iz tega opozorila. Dovoljenje paketu omogoči izvajanje njegovih namestitvenih skript.
> **Uporabljate Gemini Web ali drugega ponudnika spletnih piškotkov?** Paket npm vključuje
> Playwright, ne pa tudi njegove binarne datoteke Chromium. Pred prvo zahtevo spletnemu ponudniku si oglejte
> opombo o [nastavitvi 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 ustreznega ponudnika z uporabo lastnega računa**
Nadzorna plošča → **Ponudniki** → izberite ponudnika, katerega trenutni pogoji in kvota ustrezajo vašemu primeru uporabe → dodajte njegov ključ API ali dokončajte postopek za račun. Brezplačne ravni lahko zahtevajo registracijo, odobritev ali plačilno sredstvo. Oglejte si [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 programiranje**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Preverite delovanje**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Prikazati bi se morali vaši povezani modeli. 🎉 To je vse — začnite programirati, OmniRoute pa bo za vas samodejno usmerjal zahteve in preklapljal na rezervne možnosti.
Če vaš odjemalec ne more pošiljati glav po meri, OmniRoute ponuja tudi združljivostne vzdevke z žetoni:
```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
```
Uporabite jih samo za odjemalce, ki ne morejo dodati `Authorization: Bearer ...`. Preverjanje pristnosti z glavo ostaja 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.
pino — strukturirani dnevniki JSON s kontekstom zahtev
Preizkušanje
Izvajalnik testov Node.js + Vitest — več kot 60.000 statičnih deklaracij testov v več kot 8.400 sledenih datotekah testov (enotno, integracijsko, E2E, varnostno, ekosistemsko)
Strategija pokritosti testov za več kot 60.000 deklaracij statičnih testov v več kot 8.400 spremljanih testnih datotekah
# ⭐ Najboljši sodelavci
> OmniRoute oblikuje zavzeta odprtokodna skupnost. Ti posamezniki so pomembno prispevali in neposredno vplivali na kakovost, stabilnost ter doseg projekta. **Hvala.**
### Zunanji sodelavci glede na združene zahteve za povlečenje
Popis je bil zajet 2026-11-03 03:01:19 UTC z aktivno različico veje release/v3.8.5305bc048d6c. Oštevilčeni popis GitHub GraphQL vsebuje 9.947 združenih PR-jev: 4.130 jih je prispeval lastnik repozitorija, 240 Dependabot, 6 drugi boti/aplikacije, 5.571 zunanjih PR-jev pa 883 različnih sodelavcev. »Spremenjene vrstice« so seštevki dodajanj in brisanj v GitHubu ter vključujejo ustvarjene datoteke, zaklenjene datoteke, kataloge, prevode in dokumentacijo; predstavljajo obseg sprememb, ne števila vrstic, ki jih je avtor napisal. Pri 53 PR-jih GitHub poroča o razlikah, večjih od 500.000 vrstic (na primer pri #13399, eni sami dodani podpori ponudnika, je navedenih 2.347 spremenjenih datotek), kar poveča več zgornjih seštevkov. Izenačene uvrstitve si delijo isto mesto.
### Obveze, pripisane GitHubu
Ponovno preverjeno 2026-11-03 02:09:16 UTC: GitHubove pripisane objave, ki jih je za privzeto vejo release/v3.8.53 sporočil API Contributors v GitHubu. API je vrnil 903 identitete (429 uporabnikov, 2 bota, 472 anonimnih); ta tabela izloča vzdrževalca, bote in anonimne identitete ter ohranja izenačenja. Razlikuje se tako od zgornje lestvice združenih zahtevkov PR kot od spodnjega popisa metapodatkov Git.
> 🙏 Funkcije, popravki napak in izboljšave infrastrukture teh sodelujočih so **ključni del** tega, zaradi česar je OmniRoute zanesljiv in bogat s funkcijami. Vsak zahtevek za združitev, vsak testni primer in vsaka prevodna datoteka i18n so pomembni. Odprtokodne projekte ustvarjajo 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.
## 👥 1.000+ sodelavcev
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Revizija izvedena 2026-11-02 na živem vrhu release/v3.8.531c7135e0fb (7.972 commitov): 1.074 normaliziranih človeških identitet Git — 759 jih nastopa kot avtorji commitov (vključno z vzdrževalcem), 315 pa samo v izrecnih pripisih Co-authored-by. Popis uporablja .mailmap, primerja e-poštne naslove brez upoštevanja velikosti črk, združuje številčne in običajne naslove GitHub noreply samo, kadar kodirajo isto uporabniško ime, izključuje 29 identitet botov/agentov/storitev/rezerviranih mest in ne združuje običajnih e-poštnih naslovov zgolj zato, ker se njihova prikazna imena ujemajo. Revizija z dne 2026-08-24 je objavila 639; ponovni zagon te metode na osnovi te revizije ac02c5b42f da 619, zato povečanje izhaja iz novih sodelavcev in ne iz ohlapnejše metode.
### Kako prispevati
1. Ustvarite fork repozitorija
2. Ustvarite vejo iz **aktivnega** vrha `release/vX.Y.Z` (ne iz `main`) — glejte [Model razvejanja in izdaj](docs/ops/BRANCHING_MODEL.md)
3. Ustvarite vejo funkcionalnosti (`git checkout -b feat/amazing-feature`)
4. Uveljavite spremembe (`git commit -m 'feat: add amazing feature'`)
5. Potisnite spremembe v vejo (`git push origin feat/amazing-feature`)
6. Odprite zahtevo za vključitev z **base = ta veja `release/vX.Y.Z`**
Podrobna navodila najdete v [CONTRIBUTING.md](CONTRIBUTING.md).
### Izdaja nove različice
```bash
# Ustvarite izdajo — npm publish 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 Go **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** v TypeScript — od tam naprej pa je vsak spodnji podsistem navdihnil odprtokodni projekt, ki je bil pri tem prvi. Vsak od njih je oblikoval konkreten del OmniRoute. To je naša zahvala vsem njim. 🙏
> ⭐ Število zvezdic je bilo preverjeno z GitHubovim REST API-jem 3. novembra 2026 — podelite tem projektom zvezdico. Števila so natančen posnetek stanja na navedeni datum in se bodo seveda spreminjala.
### 🧬 Izvor in prehod
Prehod AI, katerega javni podatkovni niz cen oskrbuje našo sinhronizacijo za sledenje stroškom, njegov model normalizacije ponudnikov pa je vplival na naše usmerjanje.
Izvorna koda MIT, prilagojena v vgrajeni most ChatGPT Web → Codex Responses, vključno s prilagojevalniki za sejo brskalnika, uokvirjanje odgovorov, uporabo in spletno iskanje.
Vzorci, preneseni v obnovitev tokov, vzdevke brez razmišljanja, rezervno spletno iskanje, omejitve drsečega okna, izločanje podatkov iz dnevnikov in utrjene zagonske poteke.
Njegove preslikave modelov Grok, generator Statsig z lažno napako TypeError, privzete nastavitve zahtev in naprave ter procesor odgovorov NDJSON so bili vsebinsko prilagojeni v izvajalnik Grok Web v OmniRoute.
Glavni prehodni vir kode za grok2api-merged; njegove implementacije modelov, glav, koristnega tovora, Statsig in procesorja so ohranjene v izvorni veji Grok Web.
Osnovna izvorna koda MIT za koristni tovor in privzete nastavitve naprave Grok, generator Statsig ter procesor result.response, prenesen prek projektov TQZHR in grok2api-merged.
Prehodni vir, ki ga grok2api-merged navaja za plast skupine posredniških strežnikov; OmniRoute ohranja to obvestilo o izvoru, vendar v svojem omejenem izvajalniku Grok Web ne zahteva prenosa plasti skupine posredniških strežnikov.
Prvotna implementacija Grok Web je bila uporabljena kot referenca za zasnovo njenega HTTP/brskalniškega zaledja; njena neposredna pot HTTP izhaja iz GrokProxy, zato ni uveljavljan noben neodvisen prenos kode.
Viralni projekt »zakaj uporabiti veliko žetonov, ko jih nekaj opravi nalogo« — njegova filozofija govora jamskega človeka poganja naš standardni način stiskanja in več kot 30 pravil za odstranjevanje polnila/kondenzacijo.
Viralna veščina »lenega izkušenega razvijalca« za kodiranje YAGNI — navdihnila je naš izhodni slog less-code: usmerjanje z najmanjšo delujočo spremembo, ki zmanjša _ustvarjeno_ kodo (sorodnik jedrnate proze Cavemana na osi izhoda).
Vsebinsko ozaveščeno stiskanje izhoda glede na vrsto datoteke z opuščanjem ob napakah — potrdilo je naše usmerjanje glede na vrsto in preskok ob najmanjšem izboljšanju.
Stolpčni JSON v Rustu, pridobivanje na podlagi vsebinskih naslovov in odstranjevanje dvojnikov med sporočili — potrdili so našo zasnovo mehanizmov headroom/ccr/session-dedup ter invariant predpomnilniško stabilne »stisnjene oblike, neodvisne od položaja«.
Komplet orodij za API prevajalnika TypeScript — navdihnil je naše odstranjevanje komentarjev na podlagi razčlenjevalnika, ki ohranja literale nizov, predlog in regularnih izrazov.
Prestrezanje in analiza prometa med pomočnikom za programiranje in LLM prek MITM sta vplivala na zgodnje zahteve za Traffic Inspector. Štirje prej izpeljani moduli — združevanje SSE, normalizacija pogovorov, maskiranje skrivnosti in čiščenje glav — so bili nadomeščeni z neodvisnimi implementacijami, razvitimi v čistem okolju na podlagi javnih standardov protokolov. Površini za posredovanje gostiteljev (passthrough.ts in _internal/bypass.cjs) ostajata notranji implementaciji OmniRoute, razvrščeni neodvisno; v okviru te zamenjave nista bili ponovno napisani.
Transparentno usmerjanje posrednika za posamezne procese — navdihnilo je našo varno razgradnjo MITM ob sesutju, časovne omejitve nedejavnosti vtičnic, pripisovanje procesov prek /proc in zajem TPROXY.
### 📚 Podatki o modelih, opazljivost in uporabniški vmesnik
Kuriran seznam knjižnic z varnimi privzetimi nastavitvami, ki usmerja naše varnostne izbire (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Njegovo preslikovanje modelov, upoštevajoč račune, preverjanje poti do izvedljivih datotek in vedenje oznak paketov so vplivali na izvajalno okolje Antigravity v OmniRoute.
Identificiral je površino kvote Grok Build; OmniRoute je nato neodvisno preveril in popravil obliko podatkov v žičnem protokolu v živo.
## 📄 Licenca
Licenca MIT – podrobnosti najdete v [LICENSE](LICENSE).
---
**[⬆ Nazaj na vrh](#-omniroute)** · Ustvarjeno z ❤️ za odprtokodno skupnost umetne inteligence.
Ustvaril Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · Licenca MIT · omniroute.online