# 🚀 OmniRoute — Brezplačni prehod za umetno inteligenco
## 💰 ~1,62 mrd žetonov/mesec prek brezplačnih paketov tretjih ponudnikov
> **Uporabite lastne račune pri ponudnikih.** To je ocenjena skupna količina ločeno razpoložljivih brezplačnih paketov tretjih ponudnikov in ne 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 mučno — na desetine SDK-jev, na desetine omejitev hitrosti in nobenega pregleda nad tem, koliko dejansko imate. OmniRoute katalogizira **489 vnosov brezplačnih paketov v 35 ponavljajočih se ključih skupin** ter izračuna navedeno število žetonov na podlagi **17 skupin z objavljenim pozitivnim mesečnim proračunom in petih omejitev Groq za posamezne modele**, pri čemer odstrani podvojitve zaradi skupnih skupin. Kvote, ki so na voljo šele po regionalnem preverjanju identitete (trenutno: ModelScope), so prikazane ločeno, +~6 mio. za regionalnim preverjanjem identitete, in nikoli niso vključene v glavno številko. Rezultat je vedno viden na nadzorni plošči (`/dashboard/free-tiers`).
> Animirani povzetek strani `/dashboard/free-tiers` v živo. Celotna metodologija (odstranjevanje podvojitev skupin, ravni dobroimetja, pogoji ponudnikov): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Te številke vsaka dva tedna ponovno preverimo glede na aktualni katalog in se **spreminjajo v obe smeri** — če ponudnik ukine brezplačni paket, se številka zmanjša; če se pojavi nov, se poveča. Objavljamo to, kar katalog dejansko izračuna, nikoli navzgor zaokroženega najboljšega možnega scenarija.
⭐ Dodajte repozitorij med priljubljene, če vam je OMNIROUTE pomagal prihraniti denar in olajšal 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 — bodite prvi obveščeni 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 glede ponudnikov, načrt razvoja 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)**
## 📈 Prehod še naprej raste
## 🆓 Namestite, povežite ponudnika in nato usmerjajte prek ene končne točke
```bash
# Ko povežete ponudnika, kopirajte svoj ključ OmniRoute iz Dashboard → Endpoints:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
`auto` potrebuje primerno pot. Sveža namestitev morda nima primernih ciljev brez ključa, ponudnik brez ključa pa lahko zavrne odjemalce tretjih oseb. Ponudniki z oznako `tos: avoid`, vključno z OpenCode Free in Kiro, so privzeto izključeni iz samodejnega usmerjanja; povezava računa te nastavitve ne razveljavi. Preden izberete ponudnika, preberite [Vodnik po brezplačnih paketih](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Skripti za hiter začetek, pripravljeni za kopiranje in lepljenje, 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 ni treba ustvariti. Model nastavite na `auto` (ali eno od različic), OmniRoute pa iz vaših povezanih ponudnikov sestavi navidezno kombinacijo in jih sproti ocenjuje:
ID modela
Kaj optimizira
auto
🎯 Uravnotežena privzeta možnost (LKGP — ostane pri vašem zadnjem delujočem ponudniku)
auto/coding
🧑💻 Uteži s prednostjo kakovosti za ustvarjanje kode
auto/fast
⚡ Najprej najmanjša zakasnitev
auto/cheap
💰 Najprej najnižja cena na žeton
auto/offline
🔋 Najprej največ razpoložljive kvote oziroma rezerve omejitve hitrosti
auto/smart
🔭 Prednost kakovosti + 10-% raziskovanje za odkrivanje boljših modelov
auto/lkgp
📌 Izrecno vztrajanje pri zadnjem znanem delujočem ponudniku
auto/chaos
🧪 Vzporedno razpošiljanje skupini modelov (eden na ponudnika, privzeto 5), ki vrne en odgovor; en klic zaledne storitve na model v skupini, ne vbrizgavanje napak
##
### 🔀 Ali pa sestavite svojo — 19 strategij usmerjanja
Vseh **19** strategij — poljubno jih kombinirajte pri vsakem koraku kombinacije:
#
Strategija
Kaj počne
1
priority
Urejen seznam s prvim ciljem — vsakega izčrpa pred prehodom na naslednjega 🥇
2
fill-first
Pred nadaljevanjem v celoti zapolni kvoto vsakega cilja
3
weighted
Utežena naključna izbira glede na utež posameznega cilja
4
round-robin
Kroži med cilji po vrsti
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 podvajanj)
8
strict-random
Naključna izbira brez odstranjevanja ponovitev 🎲
9
cost-optimized
Zmanjša strošek v $ na zahtevo glede na trenutne cene v katalogu 💸
10
headroom
Izbere cilj z največ preostale kvote
11
reset-window
Prednost da cilju, katerega obdobje kvote se bo najprej ponastavilo
12
reset-aware
Razvrsti glede na čas ponastavitve kvote — najprej kratka obdobja 📊
13
context-relay
Za dolge pogovore predaja kontekst med cilji 🧠
14
context-optimized
Izbere najprimernejši cilj za trenutno velikost konteksta
15
cache-optimized
Vsako predpono poziva za vnovično uporabo pripne istemu računu — poveča število zadetkov predpomnilnika pozivov 🎯
16
lkgp
Zadnja znana delujoča pot — pripne se zadnjemu uspešnemu ponudniku, nato pa uporabi nadomestna pravila
17
auto
Sprotno ocenjevanje vseh povezav na podlagi 16 dejavnikov 🤖
18
fusion
Razpošlje zahtevo skupini modelov, ocenjevalec pa njihove rezultate združi v en odgovor 🧬
19
pipeline
Veriži korake — izhod vsakega cilja se posreduje naslednjemu 🔗
Mehanizem samodejnih kombinacij vsakega kandidata oceni na podlagi **16 dejavnikov** (delovanje, 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)
## 🏆 Kaj odlikuje OmniRoute
📊 Celotna metodologija & podrobnosti posameznih funkcij v primerjavi z 9router, OpenRouter, CLIProxyAPI & 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 od **v3.8.20 → v3.8.50**. Celotna zgodovina je v [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — vhodno delegiranje A2A vaši floti agentov, veščine Conductor na kartici agenta in nadzorna plošča z glasovnim klepetom Faro s funkcijo »pritisni za govor«. → [Strežnik A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljiv sprejem in zaščita pred preobremenitvijo** — zahtevne zahteve za klepet se namesto vračanja napake 503 postavijo v čakalno vrsto, z atomarnimi drsečimi zakupi RPM za vsako povezavo. → [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonično razvrščanje `/v1/models`** — en neprekinjen blok na ponudnika, združen po ponudnikih (kombinacije so pripete na začetek), stabilen v vseh virih kataloga. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🗜️ Okrepitev stiskanja** — privzeto vklopljena zaščita pred napihovanjem, paketi Caveman za DE / FR / JA + kitajščino (wényán), filtri RTK za Gradle in .NET. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Pošteni pavšalni stroški** — ponudniki naročniških paketov in paketov za programiranje v analitiki stroškov prikazujejo **$0**; proračun, kvota in usmerjanje še naprej uporabljajo ocene. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **⚖️ Usmerjanje Quota-Share** — pravično razdeli kvoto skupnega računa med združene ključe ter ohranja izkoriščenost tako, da se nedejavni deleži posodijo drugim. → [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Nastavitev CLI-ja/agenta z enim ukazom** — 13 registriranih ukazov `setup-*`; `omniroute run` zažene 7 CLI-jev (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` podpira 10 ciljev z interaktivnim izbirnikom ponudnika in modela ter priljubljenimi izbirami 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** (nabor modelov + razsodnik), usmerjanje z upoštevanjem naloge ter preglasitve modela / načina / proračuna v USD za posamezno zahtevo. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Priklopljivo stiskanje** — 12 sestavljivih mehanizmov + Compression Studios: LLMLingua-2, dvonivojski Ultra, omniglyph, preverjanje zvestobe pri vsakem koraku, GCF v3.2, urejevalnik za spreminjanje vrstnega reda z vlečenjem. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Pregledno dešifriranje MITM (TPROXY)** — prestrezite CLI-je, ki prezrejo okoljske spremenljivke posredniškega strežnika, z overiteljem potrdil za vsak SNI in namestitvenim programom za shrambo zaupanja vrednih potrdil. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija stroškov povsod** — glave stroškov/uporabe `X-OmniRoute-*` na vsaki končni točki, glava prihrankov ob zadetku predpomnilnika in kvote porabe v USD za posamezen ključ. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🧠 Pomnilnik pod vašim nadzorom** — privzeto izklopljen, izbirna kvantizacija vektorjev int8 + tipizirano pojemanje, `x-omniroute-no-memory` za posamezno zahtevo. → [Pomnilnik](docs/frameworks/MEMORY.md)
- **🛡️ Varnost** — zaščita pred vbrizgavanjem pozivov na vsaki poti LLM (zbirka preizkusov red-team), izbirno varovalo za prikrivanje poverilnic (v obeh smereh zakrije razkrite ključe API in skrivnosti), brezplačno spletno iskanje DuckDuckGo kot zadnja možnost in izbirna prijavna pregrada OIDC za nadzorno ploščo (prijava z geslom vedno ostane na voljo). → [Varovala](docs/security/GUARDRAILS.md)
- **🖼️ Nove končne točke** — `/v1/ocr` (Mistral OCR) in `/v1/audio/translations` (v slogu Whisper) zaokrožujeta nabor večpredstavnostnih funkcij. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🎨 Ustvarjanje slik / videoposnetkov / zvoka** — en API za večpredstavnostne vsebine: 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)
- **🌍 Uvajanje in operacije** — `basePath` povratnega posredniškega strežnika, samodejno zaznavanje jezika brskalnika, sledenje napravam za posamezen ključ, zaupanje MITM brez korenskih pravic, 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 + prijavo OAuth, polnopravna kartica Ollama, Claude Opus 5 in Sonnet 5, uradno partnerstvo s Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI … in prenovljen **katalog 352 ponudnikov**. → [Ponudniki](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Preglednost usmerjanja** — vsak odgovor vsebuje glavo `X-OmniRoute-Decision`, ki navaja strategijo/ponudnika/zakasnitev, ki ga je obdelala; nova kombinirana strategija `cache-optimized` + dejavnik Auto-Combo `cacheAffinity` ponovljene zahteve usmerja nazaj k povezavi s predpomnjeno predpono, končna točka samo za branje `/v1/auto-combo/{channel}/candidates` pa razkriva trenutno skupino kandidatov kanala `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalna zmogljivost in infrastruktura** — lokalni Redis z enim klikom, uvajalniki posredniških storitev Cloudflare Workers / Deno Deploy ter Bifrost in Mux kot nadzorovani vdelani storitvi. → [Vdelane storitve](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Vključeno je tudi** — ogrodje za vtičnike + tržnica, ogrodja veščin Omni/Agent/GitHub, integracija shrambe Obsidian (22 orodij MCP), z OpenAI združljivi API-ji Batch in Files, semantični predpomnilnik odgovorov, igrifikacija z lestvicami najboljših, odkrivanje agentov ACP (15 vgrajenih agentov), načrtovani izvoz dnevnikov v BigQuery, vzporedno razvejanje na več modelov `auto/chaos`, most za bota Telegram, vgrajeni upravljalnik različic in lestvice brezplačnih ponudnikov LMArena-ELO. → [Dokumentacija](docs/README.md)
## 🤖 Združljivi CLI-ji in agenti za programiranje
> Ena konfiguracija — `http://localhost:20128/v1` — in **vsak** IDE ali CLI z umetno inteligenco deluje z brezplačnimi in cenovno ugodnimi modeli.
**Zaženite katerikoli 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 # tudi: claude opencode qwen aider goose gemini cline continue kilo
```
Vsak ukaz upošteva aktivni oddaljeni kontekst (`omniroute connect `), `--dry-run`
prikaže natančne spremenljivke okolja/argumente brez izvajanja, `--api-key-env NAME` pa prepreči,
da bi se skrivnosti shranile v zgodovino ukazne lupine. → [Integracije CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 ponudnikov umetne inteligence — 154 označenih kot brezplačnih v katalogu
> **372 registriranih ponudnikov** v kanoničnih zbirkah za klepet, predstavnost, iskanje, lokalne storitve, agente v oblaku in sistemske storitve, med katerimi jih **154 vsebuje metapodatke za odkrivanje `hasFree: true`**. Register modelov za klepet zajema **237 ponudnikov / 3.009 različnih parov ponudnik–model / 1.443 neobdelanih ID-jev modelov**; ločeni katalog brezplačnih kvot vsebuje **491 vrstic za posamezne modele**, **35 ponavljajočih se skupnih kvot** in **54 ponudnikov s ponavljajočim se ali trajno brezplačnim dostopom brez ključa**. Ti imenovalci so namenoma različni; definicije in izračuni z odstranjenimi podvojenimi skupnimi kvotami so na voljo v dokumentih [Referenca ponudnikov](docs/reference/PROVIDER_REFERENCE.md) in [Brezplačne ravni](docs/reference/FREE_TIERS.md).
### 🏢 Vsi večji laboratoriji — 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 330 drugih — vsaka ikona se sproti naloži iz kataloga ponudnikov nadzorne plošče. 📖 [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č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 10K nevronov/dan
NVIDIA NIM GLM, MiniMax ~40 RPM brezplačno
Cerebras GLM 4.7, GPT-OSS Enkratno dobroimetje v višini $5; kartica je obvezna
> 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 nadzorno središče ukazne vrstice** 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žene prehod in nadzorno ploščo (vrata 20128)
omniroute chat # interaktivni odjemalec za klepet TUI (ukazi s poševnico: /model /combo /skill /memory)
omniroute setup # vodeni čarovnik za prvi zagon
omniroute doctor # diagnosticira ponudnike, vrata in izvorne odvisnosti
```
### 🛰️ Oddaljeni način — CLI zaženite tukaj, OmniRoute pa v strežniku VPS
Je OmniRoute v strežniku? Upravljajte ga iz svojega prenosnika z **istim CLI-jem**. Enkrat se prijavite
z žetonom za dostop z omejenim obsegom; nato vsak ukaz cilja oddaljeni strežnik.
```bash
omniroute connect 192.168.0.15 # geslo → žeton z omejenim obsegom, shranjen kot kontekst
omniroute models # ← izvede se v 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 računalnike
omniroute contexts use default # ← preklopi nazaj na lokalni strežnik
```
Žetoni imajo obseg `read` / `write` / `admin`; poti, ki zaganjajo procese, ostanejo omejene na povratno zanko.
📖 [Oddaljeni način](docs/guides/REMOTE-MODE.md)
### 🤝 Povežite agenta — in ta bo sam upravljal OmniRoute
Omogočite dostop do OmniRoute prek **MCP-ja**, **A2A-ja**, **vmesnika REST API**, **spletnih kavljev** ali **oddaljenega CLI-ja** — vsak zmogljiv agent (ali vaša lastna koda) dobi dostop do celotnega prehoda: usmerjanja, ponudnikov, kombinacij, predpomnilnika, stiskanja in pomnilnika — vse samostojno. Spodnje končne točke HTTP so na voljo na naslovu `http://localhost:20128`.
Vmesnik
Končna točka/ukaz
Uporaba
🧰 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žljivo z OpenAI — klepet, vdelave, slike, zvok, OCR
🔔 Spletni kavlji
/api/webhooks
Pošiljanje dogodkov zahtev/kvot v Slack, Discord, Telegram ali na poljuben 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 izračun prihrankov
Privzeta sestavljena kombinacija izvaja `RTK → Caveman`. Ko oba delujeta na isti koristni vsebini orodja/konteksta, se prihranki množijo:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Bloke kode, URL-je, JSON in strukturirane podatke mehanizem za ohranjanje **vedno zaščiti**.
> **Zakaj uporabljati veliko žetonov, če jih zadošča le nekaj?** Vsaka zahteva gre skozi cevovod stiskanja OmniRoute **pregledno** — brez sprememb odjemalca. Zdaj je to **sklad 12 sestavljivih mehanizmov**, ki se izvajajo po vrstnem redu ter poljubno kombinirajo glede na usmerjevalno kombinacijo — na podlagi zamisli iz 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 po vrstnem redu cevovoda; vsakega je mogoče neodvisno vklopiti ali izklopiti ter nastaviti za posamezno kombinacijo:
#
Mehanizem
Kaj počne
1
Session-Dedup
Odstrani vsebino, ki se ponavlja med izmenjavami (vsebinsko naslovljeno, med izmenjavami)
2
CCR
Arhivira velike bloke za oznakami za pridobivanje, ki se naložijo na zahtevo
3
Lite
Odstranjevanje odvečnih presledkov in URL-jev slik (osnovni način z majhno zakasnitvijo)
4
RTK
Pametno filtriranje, odstranjevanje podvojitev in krajšanje rezultatov orodij (z upoštevanjem ukazov)
5
Responses Tool Output
JSON s prednostjo stiskanja brez izgub in omejeno diagnostično stiskanje izhodov lupine/popravkov/iskanja/gradnje (Responses API)
6
Headroom
Tabelarično zgoščevanje polj JSON brez izgub (~30 %) prek vključene kopije kodeka GCF
7
Relevance
Ekstraktivno ocenjevanje stavkov glede na zadnjo uporabnikovo poizvedbo
8
Caveman
Stiskanje proze na podlagi pravil (~65–75 % pri izhodu)
9
Aggressive
Povzemanje in postopno staranje starih izmenjav
10
LLMLingua-2
Semantično obrezovanje s strojnim učenjem 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 prek neposredne povezave Anthropic; transformatorji GPT 5.6 ostajajo varno zaprti do prejema potrdil ponudnika. Štirje profili stiskanja (privzeti agresivni, uravnoteženi, varni za kodiranje, brez spreminjanja) (najagresivnejši; treba ga je izrecno omogočiti)
Bloki kode, URL-ji in strukturirani podatki se **vedno ohranijo** z natančno enakimi bajti. **Prednastavitve z enim klikom** združujejo mehanizme:
Način
Prihranek
Najprimernejše za
🪶 Lite
~15 %
Varna privzeta nastavitev za stalno uporabo
🪨 Standard (Caveman)
~30 %
Vsakodnevno programiranje
⚡ Aggressive
~50 %
Dolge seje z intenzivno uporabo orodij
🔥 Ultra
~75 %
Največji prihranek
🧰 RTK
60–90 %
Izhod lupine/preizkusov/gradnje/git
🔗 Stacked (RTK → Caveman)
78–95 %
Mešani pozivi in dnevniki orodij
**Resnični primer — način Standard:**
> **Prej (69 žetonov):** _»Razlog, da se vaša komponenta React znova izrisuje, je verjetno ta, da v vsakem ciklu izrisa ustvarite novo referenco na objekt. Ko kot lastnost posredujete objekt, definiran neposredno v kodi, ga Reactova plitva primerjava vsakič prepozna kot drug objekt, kar sproži ponovni izris. Priporočam uporabo useMemo za shranjevanje objekta v predpomnilnik.«_
>
> **Potem (19 žetonov):** _»Nova referenca objekta ob vsakem izrisu. Objektna lastnost neposredno v kodi = nova referenca = ponovni izris. Ovijte v useMemo.«_
>
> **Enak 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 na objekt. Priporočam uporabo useMemo.«_
>
> **Potem (12 žetonov):** _»Ponovni izris: nova referenca v vsakem ciklu (vdelani objekt je znova ustvarjen). Uporabite `useMemo`.«_
>
> **Enak odgovor. ~70 % manj žetonov. Tehnična natančnost je ohranjena.** ✅
### 🎚️ Več kot le pogoni — slogi izhoda, prilagodljivi regulator in nadzor za posamezno zahtevo
Zgornjih 12 pogonov skrči tisto, kar gre **noter**. Tri dodatne plasti določajo, **kako**, **kdaj** in kaj pride **ven**:
- **🪄 Slogi izhoda** _(usmerjanje po osi izhoda)_ — vstavijo deterministična navodila za oblikovanje odgovorov, varna za predpomnjenje; sloge je mogoče kombinirati, vsak pa podpira intenzivnost `lite` / `full` / `ultra`. Dodajanje sloga zahteva enovrstični vnos v register:
- **Jedrnata proza** — odstrani mašila / člene / omahovanje; tehnično vsebino ohrani natančno.
- **Manj kode** — »leni izkušeni razvijalec« po načelu YAGNI: najmanjša delujoča sprememba brez nezahtevane ogrodne kode.
- **Čop (leni izkušeni razvijalec)** — vzpenjaj se po lestvici YAGNI, odpravi temeljni vzrok, uporabi najmanjšo delujočo razliko.
- **Imam ADHD (najprej dejanje)** — začni z naslednjim dejanjem, oštevilči korake, navedi en konkreten naslednji korak, brez uvoda.
- **Jedrnati CJK (文言)** — izjemno jedrnat slog klasične kitajščine (omejen na področno nastavitev `zh`).
- **🎯 Prilagodljivi proračun konteksta** _(regulator)_ — namesto enega praga žetonov za vklop ali izklop stopnjuje uporabo najcenejših pogonov z najmanj izgubami le toliko, kolikor je potrebno, da se vsebina **prilega kontekstnemu oknu modela**. Pravilnik: `reserve-output` (privzeto, prilagojeno modelu) · `percentage` · `absolute`. Način: `floor` (zagotovi prileganje) · `replace-autotrigger` (vaša izrecna izbira ima prednost) · `off` (starejši prag).
- **🎛️ Kje se določi stiskanje** _(prednostni vrstni red, od najvišje do najnižje)_ — glava `x-omniroute-compression` posamezne zahteve › preglasitev kombinacije usmerjanja › aktiven poimenovani profil › prilagodljivi način / samodejni sprožilec › privzeta nastavitev plošče › izklopljeno. Uporabljeni načrt se vrne v glavi odgovora `X-OmniRoute-Compression: ; source=`.
Uporabite samodejno sprožitev glede na prag žetonov, vklopite prilagodljivi regulator, pripnite poimenovani profil, določite enkratno nastavitev za posamezno zahtevo ali dodelite cevovod kombinaciji usmerjanja — kar najbolje ustreza delovni obremenitvi. Izbirno okolje za vrednotenje brez povezave (`npm run eval:compression`) na pripetem korpusu oceni zvestobo glede na prihranek, preden spremembo uvedete.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Hiter začetek
**1) Namestite in zaženite**
```bash
npm install -g omniroute
omniroute
```
> 💡 Vidite `npm warn ERESOLVE` ali opozorila o enakovrednih odvisnostih? [So neškodljiva](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, če niso dovoljene. OmniRoute potrebuje svoj `postinstall` (`node scripts/build/postinstall.mjs`) za pripravo izvornih izvajalnih datotek. Pri globalni namestitvi dovolite pakete, navedene v opozorilu npm. Za nabor paketov, ki ga navaja OmniRoute 3.8.51:
>
> ```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 konfigurirajte in nato namestitev izvedite kot 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 navede drugačen seznam, uporabite imena paketov iz tega opozorila. Če paket dovolite, se lahko zaženejo njegove namestitvene skripte.
> **Uporabljate Gemini Web ali drugega ponudnika s spletnimi piškotki?** Paket npm vključuje
> Playwright, vendar ne njegove binarne datoteke Chromium. Pred prvo zahtevo spletnemu ponudniku preberite
> opombo o [nastavitvi Chromium za Playwright](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium).
Nadzorna plošča je na naslovu `http://localhost:20128` · API je na naslovu `http://localhost:20128/v1`.
**2) Povežite ustreznega ponudnika z lastnim 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 načina `auto`.
**3) Nastavite svoje razvojno orodje**
```txt
Osnovni URL: http://localhost:20128/v1
Ključ API: [kopirajte iz Nadzorna plošča → Končne točke]
Model: auto (usmerja med ustreznimi povezavami — ali izberite ponudnika/model)
```
**4) Preverite delovanje**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Prikazati bi se moral seznam povezanih modelov. 🎉 To je vse — začnite programirati, OmniRoute pa bo samodejno usmerjal zahteve in po potrebi preklopil na nadomestno možnost.
Če vaš odjemalec ne more pošiljati glav po meri, OmniRoute ponuja tudi žetonizirane vzdevke za združljivost:
```txt
Katalog OpenAI: http://localhost:20128/vscode/YOUR_KEY/
Modeli OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
Klepet OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
Odgovori OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
Klepet Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
Oznake Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Uporabite jih le za odjemalce, ki ne morejo dodati `Authorization: Bearer ...`. Preverjanje pristnosti z glavo ostaja priporočeni 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.
# 🎬 OmniRoute v akciji
## 📹 Video vodiči
Posnetek nadzorne plošče z dne 2026-08-24 · Neobdelani katalog: YT 809 | TT 137 | IG 124 · Svežina (v dneh): YT 1 | TT 21 | IG 22
pino — strukturirani dnevniki JSON s kontekstom zahteve
Preizkušanje
Izvajalnik preizkusov Node.js + Vitest — več kot 39.000 statičnih deklaracij preizkusov v več kot 5.100 spremljanih preizkusnih datotekah (enotski, integracijski, E2E, varnostni in ekosistemski preizkusi)
Strategija pokritosti testov za več kot 39.000 statičnih deklaracij testov v več kot 5.100 sledenih testnih datotekah
# ⭐ Najvidnejši sodelujoči
> OmniRoute oblikuje strastna odprtokodna skupnost. Ti posamezniki so prispevali izjemno k temu, kar neposredno vpliva na kakovost, stabilnost in doseg projekta. **Hvala.**
### Zunanji sodelujoči po združenih pull requestih
Zamrznjeno na trenutnem vrhu release/v3.8.50 v živo dafb4ae808, z združitvami do 2026-08-24 05:26:03 UTC. Oštevilčeni popis GitHub GraphQL vsebuje 5,911 združenih PR-jev: 2,707 jih je prispeval lastnik repozitorija, 179 Dependabot, 3,025 zunanjih PR-jev pa je prispevalo 535 različnih sodelujočih. »Spremenjene vrstice« so vsota GitHubovih dodanih in izbrisanih vrstic ter vključujejo ustvarjene datoteke, zaklenjene datoteke, kataloge, prevode in dokumentacijo; predstavljajo spremembe, ne pa avtorskih vrstic kode. Izenačenja na meji so ohranjena.
### Objave, pripisane GitHubu
Bob.Hou 🏅 51 potrditev, pripisanih v GitHubu · izenačeno 10. mesto
Xiangzhe 🏅 51 potrditev, pripisanih v GitHubu · izenačeno 10. mesto
Ponovno preverjeno 2026-08-24 06:14:31 UTC: potrditve, pripisane v GitHubu, kot jih je za privzeto vejo release/v3.8.50 navedel API Contributors repozitorija. API je vrnil 525 identitet (415 uporabnikov, 2 bota, 108 anonimnih); ta tabela izključuje vzdrževalca, bote in anonimne identitete ter ohranja izenačenja na lestvici. Razlikuje se tako od zgornje lestvice združenih zahtev za potegnitev kot od spodnjega popisa 639 oseb na podlagi metapodatkov Git.
> 🙏 Funkcionalnosti, popravki napak in izboljšave infrastrukture teh sodelavcev so **ključni del** tega, zaradi česar je OmniRoute zanesljiv in bogat s funkcionalnostmi. Vsaka zahteva za potegnitev, vsak testni primer in vsaka prevodna datoteka i18n so pomembni. Odprtokodno programsko opremo 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-08-24. GitHubovo stanje activeOnly določa zgornje oznake aktivnosti; javno razkritim nekdanjim enkratnim podpornikom se še vedno zahvaljujemo, zasebni sponzorji pa ostajajo anonimni.💖 Postanite sponzor → — vsak dolar pomaga, da OmniRoute ostaja brezplačen in neodvisen.
## 👥 Več kot 600 sodelavcev
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Preverjeno 2026-08-24 na zamrznjeni osnovi ac02c5b42f in ponovno preverjeno na trenutnem vrhu release/v3.8.50dafb4ae808: 639 normaliziranih človeških identitet Git — 407 jih nastopa kot avtorjev potrditev (vključno z vzdrževalcem), 232 pa samo v izrecnih priklopnikih Co-authored-by. Popis normalizira uporabniška imena GitHub noreply, izključuje 26 identitet botov/agentov/storitev/oznak mesta in običajnih e-poštnih naslovov ne združuje zgolj zato, ker se njihova prikazna imena ujemajo.
### Kako prispevati
1. Razvejite repozitorij
2. Ustvarite vejo iz **aktivnega** vrha `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 Pull Request z **base = ta veja `release/vX.Y.Z`**
Za podrobne smernice glejte [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 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** iz jezika Go v TypeScript — od tam naprej pa se je vsak spodaj navedeni podsistem zgledoval po odprtokodnem projektu, ki je to uresničil že prej. Vsak od njih je oblikoval konkreten del projekta OmniRoute. S tem se zahvaljujemo vsem. 🙏
> ⭐ število zvezdic je bilo preverjeno prek GitHubovega REST API-ja 24. avgusta 2026 — podarite tem projektom zvezdico. Števila so natančen posnetek stanja na navedeni datum in se bodo sčasoma seveda spremenila.
### 🧬 Izvor in prehod
Prehod za umetno inteligenco, katerega javni nabor podatkov o cenah oskrbuje našo sinhronizacijo sledenja stroškom, njegov model normalizacije ponudnikov pa je vplival na naše usmerjanje.
Izvorna koda z licenco MIT, prilagojena v vključeni most ChatGPT Web → Codex Responses, vključno s prilagojevalniki za seje brskalnika, oblikovanje odzivov, uporabo in spletno iskanje.
Njegove preslikave modelov Grok, generator Statsig z lažnim TypeError, privzete nastavitve zahtev in naprav ter obdelovalnik odzivov NDJSON so bili v znatni meri prilagojeni izvajalniku Grok Web v OmniRoute.
Glavni posredni vir kode za grok2api-merged; njegove implementacije modelov, glav, koristnih vsebin, Statsig in obdelovalnikov so ohranjene v verigi izvora Grok Web.
Temeljna izvorna koda z licenco MIT za koristne vsebine 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 nabora posredniških strežnikov; OmniRoute ohranja to navedbo izvora, vendar ne trdi, da njegov omejeni izvajalnik Grok Web vsebuje prenos nabora posredniških strežnikov.
Njegov posredniški strežnik Grok s preverjanjem pristnosti prek piškotkov in vzorec pretočnega prenosa result.response.token sta vplivala na transport Grok Web v OmniRoute.
Prvotna implementacija Grok Web se je zgledovala po njegovi zasnovi povezovanja HTTP/brskalnika z nadrejenim strežnikom; njena neposredna pot HTTP izhaja iz GrokProxy, zato ne uveljavljamo neodvisnega prenosa kode.
Viralni projekt »zakaj uporabiti veliko žetonov, ko malo žetonov opravi delo« — njegova filozofija jamskega govora poganja naš standardni način stiskanja ter več kot 30 pravil za odstranjevanje mašil in zgoščevanje.
Viralna veščina kodiranja po načelu YAGNI za »lenega starejšega razvijalca« — navdihnila je naš izhodni slog less-code: usmerjanje k najmanjši delujoči spremembi, ki zmanjša količino _ustvarjene_ kode (izhodni sorodnik Cavemanove jedrnate proze).
Stiskanje izpisa glede na vsebino in vrsto datoteke z odstopom ob napaki — potrdilo je naše usmerjanje glede na vrsto in preskok ob nezadostnem dobitku.
Stolpčni JSON v jeziku Rust, vsebinsko naslovljeno pridobivanje in odstranjevanje podvojitev med sporočili — potrdili so našo zasnovo pogonov headroom/ccr/session-dedup ter za predpomnilnik stabilno invarianto »stisnjena oblika je neodvisna od položaja«.
Zbirka orodij za TypeScript Compiler API — navdihnila je naše odstranjevanje komentarjev na osnovi razčlenjevalnika, ki ohranja literale nizov, predlog in regularnih izrazov.
Prestrezanje in analiza prometa med pomočnikom za programiranje in LLM z uporabo MITM sta vplivala na zgodnje zahteve za pregledovalnik prometa. Štirje predhodno izpeljani moduli — združevanje SSE, normalizacija pogovorov, prikrivanje skrivnosti in čiščenje glav — so bili nadomeščeni z neodvisnimi izvedbami, razvitimi v izoliranem okolju na podlagi javnih protokolnih standardov. Površini za neposredno posredovanje gostitelju (passthrough.ts in _internal/bypass.cjs) ostajata notranji izvedbi OmniRoute, razvrščeni neodvisno; v okviru te zamenjave nista bili na novo napisani.
Transparentno usmerjanje prek posredniškega strežnika za vsak proces — navdihnilo je našo za zrušitve varno zaustavitev MITM, časovne omejitve nedejavnosti vtičnic, pripisovanje procesov prek /proc in zajem TPROXY.
### 📚 Podatki o modelih, opazljivost in uporabniški vmesnik
Njegovo preslikovanje modelov ob upoštevanju računov, preverjanje poti do izvedljivih datotek in vedenje oznak paketov so vplivali na izvajalno okolje Antigravity v OmniRoute.
Prepoznal je vmesnik za kvoto Grok Build; OmniRoute je nato neodvisno preveril in popravil dejanski žični format.
## 📄 Licenca
Licenca MIT – za podrobnosti glejte [LICENSE](LICENSE).
---
**[⬆ Nazaj na vrh](#-omniroute)** · Ustvarjeno z ❤️ za odprtokodno skupnost umetne inteligence.
OmniRoute v3.8.52 · Node ≥22.22.2 · Licenca MIT · omniroute.online