# 🚀 OmniRoute — brezplačni prehod za umetno inteligenco
## 💰 Približno 1,51 milijarde brezplačnih žetonov / mesec
> Ročno združevanje brezplačnih paketov je zahtevno — na ducate SDK-jev, na ducate omejitev hitrosti in nobenega pregleda nad tem, koliko dejansko imate na voljo. OmniRoute katalogizira **446 vnosov brezplačnih paketov v 38 ponavljajočih se ključih skupin** in izračuna skupno število žetonov iz **20 skupin z objavljenim pozitivnim mesečnim proračunom**, pri čemer odstrani podvojitve skupnih skupin. Rezultat je vedno prikazan 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 znova preverimo glede na trenutni katalog in se **spreminjajo v obe smeri** — če ponudnik ukine brezplačni paket, številka pade; če se pojavi nov, se zviša. Objavljamo dejanski izračun kataloga, nikoli navzgor zaokroženega najboljšega možnega scenarija.
⭐ Dodajte repozitoriju zvezdico, č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 o ponudnikih, 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 nenehno raste
| | v3.8.49 | **v3.8.50** | `v3.8.51+` |
| ----------------------------------- | :-----: | :-------------------: | :----------: |
| 🌐 Ponudniki | 290 | **352** | več jih čaka |
| 🧠 Enolični ID-ji modelov za klepet | 1185 | **1312** | — |
| 🖼️ Most med modalnostmi | — | 🆕 vid + zvok + video | — |
| 📡 Brezplačni katalog Radar | — | 🆕 po izbiri | — |
| ⚖️ Razporejanje z upoštevanjem kvot | — | 🆕 Quota-Share | — |
| 📊 Telemetrija kvot | — | 🆕 v živo | — |
**→ [Načrt razvoja](ROADMAP.md) — po tirnicah proti `v3.9.0 LTS`**
## 🧩 Na voljo
[](https://www.npmjs.com/package/omniroute)

[](https://hub.docker.com/r/diegosouzapw/omniroute)
[](LICENSE)


## 🆓 Deluje takoj po namestitvi — brez ključev in konfiguracije
```bash
# Sveža namestitev brez poverilnic — `auto` že deluje:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Želite določen brezplačen zaledni sistem? Neposredno pokličite `oc/…` (OpenCode Free). Nato preidite na `auto` in prepustite izbiro OmniRoute.📦 Skripti za hiter začetek za **Python, Node.js, PHP in cURL**, pripravljeni za kopiranje in lepljenje → [`examples/quickstart/`](examples/quickstart/)
# 💥 Obljuba
# 🤔 Zakaj OmniRoute?
## 🤝 Podpirajo nas naši prijatelji odprte kode
> **Želite postati prijatelj odprte kode?** To so podjetja, ki podpirajo odprto kodo in pomagajo pri nadaljnjem razvoju 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 prijatelju odprte kode, za podporo temu projektu! Kimi je laboratorij za umetno inteligenco, ki stoji za družinama modelov K2 in K3 z odprtimi utežmi — Kimi K3 ponuja kontekstno okno z 1 milijonom žetonov, izvorno podporo za vid in vrhunske sposobnosti programiranja za delček cene zaprtih modelov, poleg tega pa že takoj deluje s Claude Code, Codex in vsemi programerskimi orodji, ki jih podpira OmniRoute.
Kaj omogoča Kimijeva podpora: Dobropisi za Kimijev API poganjajo cevovod za izdaje OmniRoute, preverjene z umetno inteligenco — stopnjo preverjanja združitev, ki jo poganja Kimi K3, v kateri je vsak zahtevek za vključitev pregledan pred izdajo — ter vsakodnevni razvoj funkcij. Prvorazredna podpora za Kimi je na voljo po obeh poteh: prek neposrednega vmesnika Kimi API (kimi-k3) in programerskega paketa Kimi Code (OAuth in ključ API). OmniRoute je tudi prvi brazilski odprtokodni projekt v Kimijevem programu podpore. Pridobite ključ za Kimi API s 15 % dodatnega dobroimetja →
Cheaper Inference cheaperinference.com
Hvala podjetju Cheaper Inference, prijatelju odprte kode projekta OmniRoute, za podporo temu projektu! Cheaper Inference je prehod, ki ponudnike razvršča po stroških in preprodaja dostop do 42 vrhunskih 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 maloprodajne cene izdelovalca modela.
Prvorazredna podpora v OmniRoute: dokončevanje klepeta, 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 z oznako aff=omniroute so partnerske povezave. Financirajo projekt brez dodatnih stroškov za vas. 🎟️ Promocije pridruženih ponudnikov — brezplačni kuponi ob registraciji pri ponudnikih, ki nas ne sponzorirajo (kliknite za razširitev)Ta razdelek je namenjen samo napotitvenim kodam in kodam kuponov. Sponzorirana partnerstva so navedena v zgornjem razdelku 🤝 Podpirajo nas naši prijatelji odprte kode. 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 USD brezplačnega dobroimetja ob registraciji (brezplačni strežnik, zato pričakujte večjo zakasnitev — najprimernejši je za preizkušanje, ne za produkcijo). Prvorazredna podpora v OmniRoute od različice v3.8.50: dokončevanje klepeta, žični 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 USD →
⚠️ Partnerska povezava — OmniRoute nima sponzorskega ali partnerskega odnosa s tem ponudnikom.
Poznate drugega ponudnika z velikodušnim brezplačnim kuponom ob registraciji, ki bi koristil uporabnikom OmniRoute? Odprite težavo 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 ustrezni zdrav model. 🛡️
### ⚡ Brez konfiguracije — preprosto uporabite `auto`
Kombinacije ni treba ustvariti. Nastavite model na `auto` (ali eno od 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 uspešnem ponudniku)
auto/coding
🧑💻 Uteži, osredotočene na kakovost ustvarjanja kode
auto/fast
⚡ Najprej najnižja zakasnitev
auto/cheap
💰 Najprej najnižja cena na žeton
auto/offline
🔋 Najprej največ preostale kvote oziroma rezerve omejitve hitrosti
auto/smart
🔭 Kakovost na prvem mestu + 10-% raziskovanje za odkrivanje boljših modelov
auto/lkgp
📌 Izrecno vztrajanje pri zadnjem znanem uspešnem ponudniku
auto/chaos
🧪 Uteži za vbrizgavanje napak pri preizkušanju odpornosti (inženirstvo kaosa)
##
### 🔀 Ali pa ustvarite svojo — 19 strategij usmerjanja
Vseh **19** strategij — poljubno jih kombinirajte v posameznih korakih kombinacije:
#
Strategija
Kaj počne
1
priority
Urejen seznam s prvim ciljem — vsakega izčrpa, preden preide na naslednjega 🥇
2
fill-first
V celoti zapolni 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 po načelu izbire med dvema možnostma
6
least-used
Izbere cilj z najmanjšo trenutno obremenitvijo
7
random
Enakomerna naključna izbira (brez dvojnikov)
8
strict-random
Naključno 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 cilj, ki najbolje ustreza trenutni velikosti konteksta
15
cache-optimized
Vsako ponovno uporabljivo predpono poziva pripne istemu računu — za čim več zadetkov v predpomnilniku pozivov 🎯
16
lkgp
Zadnja znana uspešna pot — pripne se na zadnjega uspešnega ponudnika, nato pa uporabi nadomestna pravila
17
auto
Sprotno ocenjevanje vsake povezave na podlagi 16 dejavnikov 🤖
18
fusion
Zahtevo razpošlje skupini modelov, ocenjevalni model pa njihove odgovore združi v enega 🧬
19
pipeline
Veriži korake — izhod vsakega cilja postane vhod naslednjega 🔗
Mehanizem Auto-Combo vsakega kandidata ocenjuje na podlagi **16 dejavnikov** (zdravje, kvota, stroški, zakasnitev, primernost za nalogo, kakovost, razpoložljivost seje …) — glejte [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Odpornost je vgrajena (3 neodvisne plasti)
📖 [Mehanizem Auto-Combo](docs/routing/AUTO-COMBO.md) · [Vodnik po odpornosti](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Po čem OmniRoute izstopa
📊 Celotna metodologija & podrobnosti o posameznih funkcijah v primerjavi z 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Podprite OmniRoute
OmniRoute je licenciran z licenco MIT in se vzdržuje odprto. Če vam prihrani čas ali denar, ga lahko pomagate ohraniti neodvisnega na katerega koli od spodnjih načinov. Sponzorstvo nikoli ne vpliva na prednost pri usmerjanju; omogoča prepoznavnost, ne višje uvrstitve.
**🇧🇷 PIX** — takoj, brez provizij (Brazilija)
Ključ (naključen): `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
⚠️ Vsako valuto 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 postopkom 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 objavo — če jo pomotoma vključite, zamenjajte vse razkrite skrivnosti in odstranite datoteko iz zgodovine. Navodila za upravljanje lokalnih datotek okolja in skrivnosti so na voljo v docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Glavna ponudba brezplačne ravni ostaja **~1.51B žetonov/mesec** iz zgoraj dokumentiranega
kataloga z odstranjenimi podvojitvami med skupnimi bazeni. Začasni dobropisi ob registraciji pri ponudnikih lahko prvi
mesec ločeno povečajo na **~2.13B**. Radar je izbirna, podpisana prekrivna plast kataloga za uporabnike, ki želijo bolj ažurne
podatke o razpoložljivosti brezplačnih modelov med izdajami OmniRoute; katalog skupnosti in vse obstoječe brezplačne
funkcije ostajajo brezplačni.
Podporniki lahko prejemajo katalog v živo in dodatne priložnosti ponudnikov. Njegova ločena,
spremenljiva zgornja meja je **največ približno 3B žetonov/mesec**, odvisno od razpoložljivosti ponudnikov.
Ta meja ni zajamčena: ponudniki lahko kadar koli spremenijo kvote, pogoje upravičenosti, modele ali regije.
Radar je treba izrecno omogočiti in uporablja samo zahteve GET. Odjemalec OmniRoute ne nalaga pozivov, prometa, konfiguracije
ponudnikov, telemetrije uporabe ali lokalnega stanja opuščenih obvestil. Več o upravičenosti in
trenutnem katalogu je na voljo na **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Kaj je novega
> Nedavni poudarki iz različic **v3.8.20 → v3.8.50**. Celotna zgodovina je v datoteki [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — vhodno delegiranje A2A vaši floti agentov, veščine Conductor na kartici Agent Card in nadzorna plošča z glasovnim klepetom Faro s funkcijo »pritisni za govor«. → [Strežnik A2A](docs/frameworks/A2A-SERVER.md)
- **🛂 Prilagodljivo sprejemanje in zaščita pred preobremenitvijo** — zahtevne zahteve za klepet se namesto vračanja napake 503 postavijo v čakalno vrsto, z atomskimi drsečimi rezervacijami RPM za posamezno povezavo. → [Vodnik za odpornost](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), ki je stabilen v vseh virih kataloga. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🗜️ Okrepljeno stiskanje** — privzeto omogočena zaščita pred čezmernim razširjanjem, paketi Caveman za DE / FR / JA + kitajščino (wényán) ter filtri RTK za Gradle in .NET. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Pošten prikaz pavšalnih stroškov** — ponudniki z naročnino oziroma paketom za programiranje v analitiki stroškov prikazujejo **$0**; ocenjevanje proračuna, kvot in usmerjanja se nadaljuje. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **⚖️ Usmerjanje Quota-Share** — pravično razdeli kvoto skupnega računa med združene ključe in neizkoriščene dele posodi drugim. → [Vodnik za odpornost](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 možnostmi za posamezni kontekst. → [Integracije CLI-ja](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Oddaljeni način** — upravljajte oddaljeno instanco 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** (skupina modelov + ocenjevalec), usmerjanje glede na nalogo ter preglasitve modela, načina in proračuna v USD za posamezno zahtevo. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Modularno stiskanje** — 12 sestavljivih pogonov + Compression Studios: LLMLingua-2, dvonivojski Ultra, omniglyph, preverjanje zvestobe pri vsakem koraku, GCF v3.2 in urejevalnik za spreminjanje vrstnega reda z vlečenjem. → [Stiskanje](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparentno dešifriranje MITM (TPROXY)** — prestrezanje CLI-jev, ki prezrejo okoljske spremenljivke posredniškega strežnika, z overiteljem potrdil za posamezni SNI in namestitvenikom shrambe zaupanja. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Telemetrija stroškov povsod** — glave `X-OmniRoute-*` s stroški in uporabo na vsaki končni točki, glava s prihranki ob zadetku predpomnilnika in kvote porabe v USD za posamezni ključ. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🧠 Pomnilnik pod vašim nadzorom** — privzeto izklopljen, izbirna kvantizacija vektorjev int8 in tipsko določeno pojemanje ter `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), izbirna zaščita z maskiranjem poverilnic (v obeh smereh zakrije razkrite ključe API in skrivnosti), brezplačno spletno iskanje DuckDuckGo kot skrajna možnost in izbirna prijavna zapora OIDC za nadzorno ploščo (prijava z geslom je vedno na voljo). → [Zaščitni ukrepi](docs/security/GUARDRAILS.md)
- **🖼️ Nove končne točke** — `/v1/ocr` (Mistral OCR) in `/v1/audio/translations` (v slogu Whisper) dopolnjujeta nabor medijskih vmesnikov. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🎨 Ustvarjanje slik, videoposnetkov in zvoka** — en API za predstavnostne vsebine: videoposnetki xAI Grok Imagine in Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind ter ponudniki govora, kot je ElevenLabs. → [Referenca API-ja](docs/reference/API_REFERENCE.md)
- **🌍 Uvajanje in delovanje** — `basePath` za obratni posredniški strežnik, samodejno zaznavanje jezika brskalnika, sledenje napravam za posamezni ključ, zaupanje MITM brez pravic root 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 … ter osvežen **katalog 352 ponudnikov**. → [Ponudniki](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Preglednost usmerjanja** — vsak odgovor vsebuje glavo `X-OmniRoute-Decision`, ki navede strategijo, ponudnika in zakasnitev obdelave; nova kombinirana strategija `cache-optimized` in dejavnik Auto-Combo `cacheAffinity` ponavljajoče se zahteve usmerita nazaj k povezavi s predpomnjeno predpono, končna točka samo za branje `/v1/auto-combo/{channel}/candidates` pa razkrije trenutno zbirko kandidatov kanala `auto/*`. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokalna zmogljivost in infrastruktura** — lokalni Redis z enim klikom, orodja za uvajanje relejev 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 in tržnica, ogrodja veščin Omni/Agent/GitHub, integracija s trezorjem Obsidian (22 orodij MCP), API-ji Batch in Files, združljivi z OpenAI, semantični predpomnilnik odgovorov, igrifikacija z lestvicami najboljših, odkrivanje agentov ACP (15 vgrajenih agentov), načrtovani izvoz dnevnikov v BigQuery, vbrizgavanje napak `auto/chaos`, most do bota Telegram, upravljalnik različic v aplikaciji in lestvice brezplačnih ponudnikov LMArena-ELO. → [Dokumentacija](docs/README.md)
## 🤖 Združljiva orodja CLI 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.
+ deluje tudi z · Kiro · Command Code · Antigravity · Windsurf · AMP · katerim koli orodjem, združljivim z OpenAI
📖 Navodila za nastavitev vseh 36 orodij (26 orodij CLI za programiranje + 10 agentov CLI) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 Vtičnik OpenCode → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Zaženite kateri koli podprti CLI prek OmniRoute z enim ukazom** — brez zapisovanja konfiguracijskih datotek,
poverilnice se vstavijo za vsak proces, 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 in argumente brez izvajanja, možnost `--api-key-env NAME` pa prepreči,
da bi se skrivnosti zapisale v zgodovino lupine. → [Integracije CLI](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 352 ponudnikov umetne inteligence — 152 v katalogu označenih kot brezplačnih
> **352 registriranih ponudnikov** v kanoničnih zbirkah za klepet, predstavnost, iskanje, lokalno izvajanje, agente v oblaku in sistemske storitve, vključno s **152 ponudniki z metapodatkom za odkrivanje `hasFree: true`**. Register modelov za klepet zajema **229 ponudnikov / 2.554 različnih parov ponudnik-model / 1.283 neobdelanih ID-jev modelov**; ločeni katalog brezplačnih kvot vsebuje **446 vrstic za posamezne modele**, **38 ponavljajočih se kvot** in **53 ponudnikov z brezplačnim trajnim dostopom, ki se obnavlja oziroma ne zahteva ključa**. Imenovalci se namensko razlikujejo; definicije in izračuni z odstranjenimi podvojenimi 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 v živo nalož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 Brezplačno za vedno
Requesty GPT-OSS 120B, Nemotron Brezplačno za vedno
SiliconFlow DeepSeek V3.2 / R1 Brezplačna raven
Z.AI GLM GLM-4.7 / 4.5-Flash Brezplačno za vedno
Baidu ERNIE ERNIE 4.0 Brezplačno za vedno
Qoder AI Qwen3-Max, Kimi-K2 Neomejeno in BREZPLAČNO
Pollinations GPT, Llama, Claude Ključ ni potreben
Cloudflare AI Več kot 50 modelov 10 tisoč nevronov/dan
### 🧩 Novo: OmniRoute v izvornem klepetu Copilot Chat urejevalnika VS Code
> Brez nove stranske vrstice in 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)** in jo usmerite
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, prijave težav in navodila za objavo so na voljo na
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Vodnik za VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — nastavitev, kaj prikazuje izbirnik, nadzorna plošča v zavihku, odpravljanje težav
> Poleg strežnika je OmniRoute **celovito ukaznovrstično nadzorno središče** z **več kot 80 ukazi** in odprtimi protokoli za agente, zato 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 # voden čarovnik za prvi zagon
omniroute doctor # diagnosticiraj ponudnike, vrata in izvorne odvisnosti
```
### 🛰️ Oddaljeni način — CLI izvajajte tukaj, OmniRoute pa na VPS-u
Je OmniRoute na strežniku? Upravljajte ga iz prenosnika z **istim CLI-jem**. Enkrat se prijavite
z dostopnim žetonom 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 list # ← 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 omejene na povratno zanko.
📖 [Oddaljeni način](docs/guides/REMOTE-MODE.md)
### 🤝 Povežite agenta — in ta bo sam upravljal OmniRoute
OmniRoute izpostavite prek **MCP-ja**, **A2A-ja**, **API-ja REST**, **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 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 spretnosti
🌐 API REST
/v1/*
Združljivo 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 dostopnimi žetoni z omejenim obsegom
```bash
# Omogočite Claude Code dostop do celotnega nabora 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 zložena kombinacija izvaja `RTK → Caveman`. Ko oba delujeta na istem koristnem tovoru 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%
```
Bloki kode, URL-ji, JSON in strukturirani podatki so **vedno zaščiteni** z mehanizmom za ohranjanje.
> **Zakaj uporabljati veliko žetonov, ko zadostuje le nekaj?** Vsaka zahteva gre skozi cevovod stiskanja OmniRoute **pregledno** — brez sprememb odjemalca. Zdaj je to **sklad 12 sestavljivih mehanizmov**, ki se izvajajo po vrsti ter jih je mogoče poljubno kombinirati za vsako usmerjevalno kombinacijo — temelji pa na zamislih 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 in 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 označevalniki za pridobivanje, ki se naložijo na zahtevo
3
Lite
Odstranjevanje odvečnih presledkov in krajšanje URL-jev slik (osnovna možnost z nizko zakasnitvijo)
4
RTK
Pametno filtriranje, odstranjevanje podvojitev in krajšanje rezultatov orodij (z upoštevanjem ukazov)
5
Responses Tool Output
Prednostno brezizgubni JSON in omejeno diagnostično stiskanje za izhode lupine/popravkov/iskanja/gradnje (Responses API)
6
Headroom
Brezizgubno tabelarično zgoščevanje polj JSON (~30 %) prek vključene kode kodeka GCF
7
Relevance
Ekstraktivno ocenjevanje povedi glede na zadnjo uporabnikovo poizvedbo
8
Caveman
Stiskanje proze na podlagi pravil (~65–75 % na 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 pri neposredni povezavi z Anthropic; transformatorji GPT 5.6 ostanejo varno onemogočeni do prejema potrdil ponudnika. Štirje profili stiskanja (privzeto agresivni, uravnoteženi, varni za kodiranje, brez obdelave) (najagresivnejše; zahteva izrecni vklop)
Bloki kode, URL-ji in strukturirani podatki se **vedno ohranijo** do bajta natančno. **Prednastavitve z enim klikom** združujejo mehanizme:
Način
Prihranek
Najprimernejše za
🪶 Lite
~15 %
Varna privzeta možnost, ki je vedno vklopljena
🪨 Standardni (Caveman)
~30 %
Vsakodnevno programiranje
⚡ Agresivni
~50 %
Dolge seje z intenzivno uporabo orodij
🔥 Ultra
~75 %
Največji prihranek
🧰 RTK
60–90 %
Izhod lupine/preizkusov/gradnje/git
🔗 Zloženi (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 ustvarjanje nove reference objekta pri vsakem ciklu izrisovanja. Ko kot lastnost podate objekt v vrstici, ga Reactova plitva primerjava vsakič zazna kot drug objekt, kar sproži ponovno izrisovanje. Priporočam uporabo useMemo za pomnjenje objekta."_
>
> **Potem (19 žetonov):** _"Nova referenca objekta pri vsakem izrisu. Objektna lastnost v vrstici = 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 pri vsakem ciklu izrisovanja ustvari nova referenca objekta. Priporočam uporabo useMemo."_
>
> **Potem (12 žetonov):** _"Ponovni izris: nova referenca pri vsakem ciklu (objekt v vrstici je znova ustvarjen). Uporabite `useMemo`."_
>
> **Enak odgovor. ~70 % manj žetonov. Tehnična natančnost ostaja nespremenjena.** ✅
### 🎚️ Onkraj mehanizmov — slogi izhoda, prilagodljivi gumb in nadzor posameznih zahtev
Zgornjih 12 mehanizmov zmanjša količino vsebine, ki gre **noter**. Tri dodatne plasti določajo, **kako**, **kdaj** in kaj pride **ven**:
- **🪄 Slogi izhoda** _(usmerjanje izhodne osi)_ — vstavijo deterministična navodila za oblikovanje odgovorov, varna za predpomnjenje; mogoče jih je kombinirati, vsakega z intenzivnostjo `lite` / `full` / `ultra`. Dodajanje sloga zahteva eno samo vrstico v registru:
- **Jedrnata proza** — odstrani mašila/člene/omejevanje trditev; natančno ohrani tehnično vsebino.
- **Manj kode** — YAGNI »lenega izkušenega razvijalca«: najmanjša delujoča sprememba brez nezahtevane podporne kode.
- **Čop (leni izkušeni razvijalec)** — povzpnite se po lestvici YAGNI, odpravite temeljni vzrok, ustvarite najmanjšo delujočo razliko.
- **Imam ADHD (najprej dejanje)** — začnite z naslednjim dejanjem, oštevilčite korake, navedite en konkreten naslednji korak, brez uvoda.
- **Jedrnati CJK (文言)** — izjemno jedrnat slog klasične kitajščine (omejeno na področno nastavitev `zh`).
- **🎯 Prilagodljivi proračun konteksta** _(gumb)_ — namesto enega praga za vklop/izklop glede na število žetonov stopnjuje najcenejše in najbolj brezizgubne mehanizme samo toliko, kolikor je potrebno, da se vsebina **prilega kontekstnemu oknu modela**. Pravilnik: `reserve-output` (privzeto, upošteva model) · `percentage` · `absolute`. Način: `floor` (zagotovi prileganje) · `replace-autotrigger` (vaša izrecna izbira ima prednost) · `off` (starejši prag).
- **🎛️ Kje se določi stiskanje** _(prednost, visoka → nizka)_ — glava `x-omniroute-compression` posamezne zahteve › preglasitev usmerjevalne kombinacije › aktivni poimenovani profil › prilagodljivi/samodejni sprožilec › privzeta nastavitev nadzorne plošče › izklopljeno. Uporabljeni načrt se vrne v glavi odgovora `X-OmniRoute-Compression: ; source=`.
Uporabite samodejni sprožilec glede na prag žetonov, vklopite prilagodljivi gumb, pripnite poimenovani profil, določite enkratno nastavitev za posamezno zahtevo ali dodelite cevovod posamezni usmerjevalni kombinaciji — kar koli najbolj ustreza delovni obremenitvi. Izbirno lokalno **ogrodje za vrednotenje** (`npm run eval:compression`) na pripetem korpusu oceni zvestobo glede na prihranek, preden uveljavite spremembo.
📖 [`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) 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).
Nadzorna plošča je na `http://localhost:20128` · API je na `http://localhost:20128/v1`.
**2) Povežite BREZPLAČNEGA ponudnika (brez registracije)**
Nadzorna plošča → **Ponudniki** → povežite **Kiro AI** (brezplačni Claude, ~50 dobroimetij/mesec na račun) ali **OpenCode Free** (brez preverjanja pristnosti) → končano.
**3) Usmerite svoje programsko orodje**
```txt
Osnovni URL: http://localhost:20128/v1
Ključ API: [kopirajte iz Nadzorna plošča → Končne točke]
Model: auto (pametno usmerjanje brez nastavljanja — ali kateri koli ponudnik/model)
```
**4) Preverite, ali deluje**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Prikazan bi moral biti seznam povezanih modelov. 🎉 To je vse — začnite programirati, OmniRoute pa bo za vas samodejno usmerjal zahteve in po potrebi preklapljal na nadomestne možnosti.
Če vaš odjemalec ne more pošiljati glav po meri, OmniRoute ponuja tudi tokenizirane združljivostne vzdevke:
```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
Odzivi 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 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 fiksno nastavljeno vrednost **`OMNIROUTE_MEMORY_MB=1024`**. To zadostuje za nadzorno ploščo in lahek klepet. **Agenti za programiranje** (`POST /v1/responses` iz Claude Code, Codex, Grok, …) potrebujejo veliko večji kopičeni pomnilnik V8, sicer se proces zaključi z napako `FATAL ERROR` pri približno 12 GiB ob dveh prekrivajočih se dolgih kontekstih. Velikost vsebnika nastavite nad velikostjo kopice (izvorni medpomnilniki so zunaj V8):
| Delovna obremenitev | Kopica (`-e OMNIROUTE_MEMORY_MB`) | Vsebnik (`--memory`) |
| --------------------------------- | --------------------------------- | -------------------- |
| Nadzorna plošča / lahek 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 Docker za predizdaje:** `diegosouzapw/omniroute:next` in
> `diegosouzapw/omniroute:next-web` sledita trenutni privzeti veji `release/v*`.
> Ti spremenljivi oznaki sta namenjeni samo preizkušanju neobjavljenih popravkov in
> **nista podprti za produkcijsko uporabo**. Glejte
> [Kanali izdaj Docker](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardna namestitev z `bun install` in globalna namestitev (`bun install -g omniroute`) sta podprti prek zaznavanja izvajalnega okolja Bun:
- **Vgrajeni `bun:sqlite`**: OmniRoute med izvajanjem v okolju Bun uporablja Bunov vgrajeni gonilnik `bun:sqlite`, v okolju Node.js pa preklopi na `better-sqlite3` ali `sql.js`.
- **Samodejna izbira povezovalnika Webpack med razvojem**: Razvojno okolje (`bun run dev`) samodejno zazna Bun in onemogoči Turbopack ter namesto njega uporabi Webpack, da prepreči nezdružljivosti izvornih vezav V8. Produkcijske gradnje (`bun run build`) natančno upoštevajo `OMNIROUTE_USE_TURBOPACK`, enako kot v okolju Node: privzeto se uporablja Turbopack, za gradnjo z Webpackom pa nastavite `OMNIROUTE_USE_TURBOPACK=0` (`Dockerfile.bun` to omogoča kot `--build-arg`).
- **Namenski Dockerfile za Bun**: Večstopenjski `Dockerfile.bun` za izvorne produkcijske uvedbe Bun (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Namestitev in zagon z 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 Nix flakes
nix develop
npm run dev
# Ali uporaba devbox
devbox run npm run dev
```
📖 [Vodnik za Docker](docs/guides/DOCKER_GUIDE.md) — Profili Compose, Caddy HTTPS, tuneli Cloudflare.
**🦭 Podman**
```bash
# 1. Pripravite podatkovni imenik, priklopljen z vezavno priklopno točko
mkdir -p data
# 2. Samo za Linux in lokalni brezkoreninski Podman (nikoli za oddaljenega odjemalca 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 sistemu macOS ali Windows Podman uporablja 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 (preskočite izvorno gradnjo)**
Izvorni pogon SQLite (`better-sqlite3`) je **izbirna** odvisnost, zato globalna
namestitev nikoli ne čaka na prevajanje iz izvorne kode: uporabi vnaprej prevedeno binarno datoteko, če je ta na voljo
za vašo platformo/Node, sicer pa neopazno preklopi na pogon 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 (CI, okolja brez grafičnega vmesnika ali počasni računalniki):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Tudi CI=1 ga preskoči
```
Za najhitrejše namestitve izberite **pnpm** (shramba z vsebinskim naslavljanjem + 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). CLI in spletno nadzorno ploščo zagotavlja
isti proces prek enih vrat, zato trenutno ni ločenega paketa samo za CLI.
# 🎬 OmniRoute v akciji
## 📹 Video vodniki
Posnetek nadzorne plošče z dne 2026-08-24 · Neobdelani katalog: YT 809 | TT 137 | IG 124 · Svežina (v dnevih): YT 1 | TT 21 | IG 22
Strategija pokritosti preizkusov za 39.000+ statičnih deklaracij preizkusov v 5.100+ spremljanih preizkusnih datotekah
# ⭐ Najpomembnejši sodelujoči
> OmniRoute oblikuje zavzeta odprtokodna skupnost. Ti posamezniki so izjemno prispevali ter neposredno vplivali na kakovost, stabilnost in doseg projekta. **Hvala.**
### Zunanji sodelujoči po združenih zahtevah za vključitev
Posneto na aktivnem vrhu release/v3.8.50dafb4ae808, z združitvami do 2026-08-24 05:26:03 UTC. Oštevilčeni popis GitHub GraphQL vsebuje 5.911 združenih zahtev PR: 2.707 jih je prispeval lastnik repozitorija, 179 Dependabot in 3.025 zunanjih zahtev PR 535 različnih sodelujočih. »Spremenjene vrstice« so vsota dodatkov in izbrisov v GitHubu ter vključujejo ustvarjene datoteke, datoteke zaklepanja, kataloge, prevode in dokumentacijo; predstavljajo obseg sprememb, ne števila avtorskih vrstic kode. Izenačeni sodelujoči na meji so ohranjeni.
### Potrditve, pripisane uporabnikom GitHuba
Ponovno preverjeno ob 2026-08-24 06:14:31 UTC: potrditve, pripisane uporabnikom GitHuba, kot jih je sporočil API sodelujočih repozitorija za privzeto vejo release/v3.8.50. 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 razvrstitve združenih zahtev PR kot od spodnjega popisa metapodatkov Git za 639 oseb.
> 🙏 Funkcije, popravki napak in izboljšave infrastrukture teh sodelujočih so **temeljni del** tega, zaradi česar je OmniRoute zanesljiv in bogat s funkcijami. Pomembna je vsaka zahteva za vključitev, vsak preizkusni primer in vsaka prevodna datoteka i18n. Odprto kodo gradijo ljudje, kot so oni.
---
## 💖 Sponzorji
Iskrena hvala ljudem, ki OmniRoute financirajo iz lastnega žepa — vsak prispevek pomaga, da projekt ostaja brezplačen, neodvisen in se še naprej razvija.
… in drugi, ki želijo ostati zasebni 💛Javni sponzorji na GitHub Sponsors so bili znova 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 prispevalcev
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Pregledano 2026-08-24 na zamrznjeni osnovi ac02c5b42f in znova preverjeno na trenutnem vrhu dafb4ae808 veje release/v3.8.50: 639 normaliziranih človeških identitet Git — 407 jih je navedenih kot avtorjev commitov (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 mest 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 vrha **aktivne** veje `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 nastavitvijo **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 TypeScriptova predelava projekta **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)**, napisanega v jeziku Go — od tam naprej pa je vsak spodaj navedeni podsistem navdihnil odprtokodni projekt, ki je to storil že prej. Vsak od njih je oblikoval konkreten del sistema OmniRoute. To je naša zahvala vsem. 🙏
> ⭐ število zvezdic je bilo preverjeno prek GitHubovega vmesnika REST API 24. avgusta 2026 — podarite tem projektom zvezdico. Števila so natančen posnetek na navedeni datum in se bodo seveda spreminjala.
### 🧬 Izvor in prehod
Prehod za umetno inteligenco, katerega javni nabor podatkov o cenah napaja našo sinhronizacijo spremljanja stroškov, njegov model normalizacije ponudnikov pa je vplival na naše usmerjanje.
Izvorna koda pod licenco MIT, prilagojena v vključeni most ChatGPT Web → Codex Responses, vključno s prilagojevalniki sej brskalnika, okvirjanja odgovorov, porabe in spletnega iskanja.
Privzete nastavitve preoblikovanja, združljive s Claude Code, in vedenje glav za obračunavanje, posplošeni v konfiguracijsko voden most sistema OmniRoute.
Njegove preslikave modelov Grok, generator Statsig z lažnim TypeError, privzete nastavitve zahtev in naprav ter obdelovalnik odgovorov NDJSON so bili vsebinsko prilagojeni izvajalniku Grok Web sistema OmniRoute.
Glavni posredni vir kode za grok2api-merged; njegove implementacije modelov, glav, koristnih vsebin, sistema Statsig in obdelovalnikov so ohranjene v izvorni liniji Grok Web.
Temeljni vir pod licenco MIT za koristne vsebine Grok in privzete nastavitve naprav, generator Statsig ter obdelovalnik result.response, prenesen prek projektov TQZHR in grok2api-merged.
Posredni vir, ki ga grok2api-merged navaja za svojo plast skupine posredniških strežnikov; OmniRoute ohranja navedbo tega izvora, vendar ne trdi, da je v svoj omejeni izvajalnik Grok Web prenesel skupino posredniških strežnikov.
Njegov posredniški strežnik Grok z overjanjem prek piškotkov in vzorec pretočnega prenosa result.response.token sta vplivala na transport Grok Web sistema OmniRoute.
Izvirna implementacija Grok Web se je zgledovala po njegovi zasnovi nadrejene povezave HTTP/brskalnik; njena neposredna pot HTTP izhaja iz projekta GrokProxy, zato ne trdimo, da gre za neodvisen prenos kode.
Viralni projekt »zakaj uporabljati veliko žetonov, ko malo žetonov zadostuje« — njegova filozofija jamskega govora poganja naš standardni način stiskanja in več kot 30 pravil za odstranjevanje mašil ter zgoščevanje.
Viralna veščina »lenega višjega razvijalca«, ki programira po načelu YAGNI — navdihnila je naš izhodni slog less-code: usmerjanje k najmanjši delujoči spremembi, ki zmanjša količino _ustvarjene_ kode (ustreznik jedrnati prozi projekta Caveman na izhodni osi).
Stiskanje izhoda glede na vsebino in vrsto datoteke z opustitvijo ob napaki — potrdilo je naše razvrščanje po vrstah in preskok ob premajhnem prihranku.
Stolpčni JSON v jeziku Rust, pridobivanje z naslavljanjem po vsebini in odstranjevanje podvojitev med sporočili — potrdili so zasnovo naših pogonov headroom/ccr/session-dedup ter predpomnilniško stabilno invarianto »stisnjena oblika je neodvisna od položaja«.
Zbirka orodij TypeScript Compiler API — navdihnila je naše odstranjevanje komentarjev z razčlenjevalnikom, ki ohranja nize, predloge in literale regularnih izrazov.
Prestrezanje/analiza prometa med pomočnikom za programiranje ↔ LLM z metodo MITM je vplivala na zgodnje zahteve za Traffic Inspector. Štiri predhodno izpeljane module — združevanje SSE, normalizacijo pogovorov, prikrivanje skrivnosti in čiščenje glav — so nadomestile neodvisne implementacije iz čiste sobe, ki temeljijo na javnih standardih protokolov. Površini za neposredno posredovanje gostitelju (passthrough.ts in _internal/bypass.cjs) ostajata interni implementaciji sistema OmniRoute, razvrščeni neodvisno; v okviru te zamenjave nista bili napisani na novo.
Transparentno usmerjanje prek posredniškega strežnika za posamezen proces — navdihnilo je naše varno zaustavljanje MITM ob sesutju, časovne omejitve nedejavnosti vtičnic, pripisovanje procesov prek /proc in zajemanje TPROXY.
### 📚 Podatki o modelih, opazljivost in uporabniški vmesnik
Njegovo preslikavanje modelov glede na račun, preverjanje poti do izvedljivih datotek in vedenje oznak paketov so vplivali na izvajalno okolje Antigravity sistema OmniRoute.
Prepoznal je mesto kvote Grok Build; OmniRoute je nato neodvisno preveril in popravil dejansko obliko prenosa po povezavi.
## 📄 Licenca
Licenca MIT – za podrobnosti glejte [LICENSE](LICENSE).
---
**[⬆ Nazaj na vrh](#-omniroute)** · Ustvarjeno z ❤️ za odprtokodno skupnost umetne inteligence.
OmniRoute v3.8.51 · Node ≥22.22.2 · Licenca MIT · omniroute.online