# 🚀 OmniRoute — Tasuta AI-lüüs
**Loonud [Diego Souza](https://github.com/diegosouzapw)**
## 💰 ~1,62 miljardit tokenit kuus kolmandate osapoolte tasuta pakettide kaudu
> **Kasutage oma teenusepakkujate kontosid.** See on eraldi sobilike kolmandate osapoolte tasuta pakettide hinnanguline kogusumma, mitte OmniRoute’i antud tokenitoetus. Registreeruge, hankige vajaduse korral mandaadid ja ühendage kasutatavad teenusepakkujad; iga teenusepakkuja määrab ise oma limiidid, kättesaadavuse ja tingimused.
>
> Tasuta pakettide käsitsi kombineerimine on tüütu — kümneid SDK-sid, kümneid päringupiiranguid ja puudub ülevaade sellest, kui palju teil tegelikult kasutada on. OmniRoute kataloogib **465 tasuta paketi kirjet 34 korduva kogumi võtme alusel** ning arvutab tokenite koondnäidu **17 avaldatud positiivse kuueelarvega kogumi ja viie mudelipõhise Groq’i limiidi põhjal**, kõrvaldades ühise kogumi kordused. Kvoodid, mis avanevad alles pärast piirkondliku identiteedikontrolli läbimist (praegu: ModelScope), kuvatakse eraldi — piirkondliku identiteedi kinnitamise järel lisandub ligikaudu 6 miljonit tokenit — ning neid ei liideta koondnäiduga. Tulemus on jätkuvalt nähtav töölaual (`/dashboard/free-tiers`).
> Reaalajas lehe `/dashboard/free-tiers` animeeritud kokkuvõte. Täielik metoodika (kogumite korduvuste kõrvaldamine, krediiditasemed, teenusepakkujate tingimused): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Neid näitajaid auditeeritakse iga kahe nädala järel reaalajas kataloogi alusel ning need **muutuvad mõlemas suunas** — kui teenusepakkuja lõpetab tasuta paketi, number väheneb; kui lisandub uus, suureneb. Avaldame selle, mida kataloog tegelikult arvutab, mitte kunagi üles ümardatud parimat võimalikku tulemust.
⭐ Märkige repositoorium tärniga, kui OMNIROUTE aitas teil raha säästa ja töö lihtsamaks muuta.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Liituge kogukonnaga
**👋 Jälgige hooldajat — saage uutest teenusepakkujatest, väljalasetest ja nõuannetest esimesena teada:**
[](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)
**Küsimused, nõuanded teenusepakkujate kohta, tegevuskava ja tugi → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Globaalne](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasiilia](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portaal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Gateway kasvab pidevalt
## 🆓 Paigalda, ühenda teenusepakkuja ja suuna liiklus ühe lõpp-punkti kaudu
```bash
# Pärast teenusepakkuja ühendamist kopeeri oma OmniRoute'i võti juhtpaneelilt → 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` vajab sobilikku marsruuti. Värskel paigaldusel ei pruugi olla ühtegi sobilikku võtmeta sihtmärki ning võtmeta teenusepakkuja võib kolmandate osapoolte kliendid tagasi lükata. Vaikimisi jäetakse automaatsest marsruutimisest välja teenusepakkujad, mille märge on `tos: avoid`, sealhulgas Kiro; konto ühendamine seda seadistust ei tühista. Enne teenusepakkuja valimist tutvu juhendiga [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Kopeeri ja käivita kiirkäivitusskriptid **Pythonile, Node.js-ile, PHP-le ja cURL-ile** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Lubadus
# 🤔 Miks OmniRoute?
## 🤝 Meie avatud lähtekoodiga sõprade toetusel
> **Kas soovite liituda avatud lähtekoodiga sõbrana?** Need on ettevõtted, kes toetavad avatud lähtekoodi ja aitavad OmniRoute'i arengut jätkata — ning me avalikustame, milleks iga nende antud token kulub. Võtke ühendust: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Täname Kimit (Moonshot AI), meie asutajast avatud lähtekoodiga sõpra, selle projekti toetamise eest! Kimi on avatud kaaludega K2 ja K3 mudeliperekondade taga olev tehisintellektilabor — Kimi K3 pakub 1M-tokeni kontekstiakent, loomulikku pilditöötlust ja tipptasemel programmeerimisvõimekust murdosa eest suletud mudelite hinnast ning töötab kohe Claude Code'i, Codexi ja kõigi OmniRoute'i toetatavate programmeerimistööriistadega.
Mida Kimi toetus võimaldab: Kimi API-krediidid käitavad OmniRoute'i tehisintellektiga valideeritud väljalaskekonveierit — etappi ühendamise valideerimine Kimi K3 abil, mis kontrollib iga tõmbetaotlust enne selle avaldamist — ning toetavad igapäevast funktsioonide arendust. Kimi esmaklassiline tugi on saadaval mõlema kanali kaudu: otse Kimi API (kimi-k3) ja Kimi Code'i programmeerimispaketi kaudu (OAuth ja API-võti). OmniRoute on ka esimene Brasiilia avatud lähtekoodiga projekt Kimi toetusprogrammis. Hankige Kimi API-võti koos 15% lisakrediidiga →
Cheaper Inference cheaperinference.com
Täname Cheaper Inference'it, OmniRoute'i avatud lähtekoodiga sõpra, selle projekti toetamise eest! Cheaper Inference on hinna järgi optimeeritud lüüs, mis pakub ühe OpenAI-ga ühilduva lõpp-punkti kaudu edasi 42 tipptasemel mudelit — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok ja MiniMax — suunates iga päringu odavaima sobiva teenusepakkuja juurde, küsimata kunagi mudeli looja hinnakirjahinnast rohkem.
Esmaklassiline tugi OmniRoute'is: vestluse lõpuleviimised, loomulik /v1/responses lõpp-punkt, pilditöötlus, tööriistakutsed ja 3 pildimudelit (grok-imagine, nano-banana-pro, nano-banana-2, millele pääseb juurde kujul cheaperinference/<model>). Hankige API-võti →
Märgisega aff=omniroute lingid on partnerlingid. Need rahastavad projekti ilma teile lisakulusid tekitamata. 🎟️ Partnerite kampaania — tasuta registreerumiskupongid teenusepakkujatelt, keda me ei sponsoreeri (laiendamiseks klõpsake)See jaotis on mõeldud ainult soovitus- ja kupongikoodidele. Sponsitud partnerlused asuvad ülal jaotises 🤝 Meie avatud lähtekoodiga sõprade toetusel. OmniRoute'il ei ole siin loetletud teenusepakkujatega sponsorlus- ega partnerlussuhet — need on avalikud kupongid, mida igaüks saab kasutada.
AgentRouter agentrouter.org
AgentRouter — partneri kaudu registreerumine · registreerumisel $100 tasuta krediiti (tasuta server, arvestage suurema latentsusega — sobib kõige paremini testimiseks, mitte tootmiskeskkonda). Esmaklassiline tugi OmniRoute'is alates versioonist v3.8.50: vestluse lõpuleviimised, Anthropicuga ühilduv andmevahetusvorming ja OpenAI-ga ühilduv tee. Saadaolevate mudelite hulka kuuluvad claude-opus-4-8, claude-opus-5, gpt-5.6-sol ja teised. Võtke oma $100 →
⚠️ Partnerlink — OmniRoute'il ei ole selle teenusepakkujaga sponsorlus- ega partnerlussuhet.
Kas teate mõnda teist teenusepakkujat, kellel on helde tasuta registreerumiskupong, millest OmniRoute'i kasutajad kasu saaksid? Avage probleem ja me lisame selle siia.
## 🎯 Kombod — lipulaev
> **Kombo** on mudelite ahel, mille vahel OmniRoute marsruudib **automaatselt**. Kui kvoot saab otsa, teenusepakkujal tekib tõrge või kulud kasvavad järsult, saab kombo liikuda järgmise sobiva ja töökorras mudeli juurde. 🛡️
### ⚡ Nullkonfiguratsioon — kasuta lihtsalt mudelit `auto`
Kombot pole vaja luua. Määra mudeliks `auto` (või mõni selle variant) ning OmniRoute koostab ühendatud teenusepakkujatest virtuaalse kombo, mida hinnatakse reaalajas:
Mudeli ID
Mille jaoks see optimeerib
auto
🎯 Tasakaalustatud vaikevalik (LKGP — jääb viimati hästi toiminud teenusepakkuja juurde)
auto/coding
🧑💻 Koodi genereerimisel kvaliteeti eelistavad kaalud
auto/fast
⚡ Esmalt väikseim latentsus
auto/cheap
💰 Esmalt odavaim hind tõmmiku kohta
auto/subscription
🎟️ Ainult tellimuse kvoot, mille eest juba maksad — tõrke korral suletakse, tasulisele varuvariandile ei minda kunagi (juhend)
auto/thrifty
🪜 Esmalt paketi kvoot, seejärel astehaaval odavaimate tasuliste valikute juurde — pärast kvoodi lähtestamist tagasi paketile (juhend)
📌 Selgesõnaline viimati hästi toiminud teenusepakkuja juurde jäämine
auto/chaos
🧪 Paralleelne hargnemine mudelipaneelile (üks mudel teenusepakkuja kohta, vaikimisi 5), tagastab ühe vastuse; üks ülesvoolupäring paneeli iga mudeli kohta, mitte tõrgete tekitamine
##
### 🔀 Või loo oma — 20 marsruutimisstrateegiat
Kõik **20** strateegiat — kombineeri neid kombo igas etapis:
#
Strateegia
Mida see teeb
1
priority
Esimest sihtmärki eelistav järjestatud loend — ammenda igaüks enne järgmise juurde liikumist 🥇
2
fill-first
Kasuta iga sihtmärgi kvoot täielikult ära enne järgmise juurde liikumist
3
weighted
Kaalutud juhuvalik sihtmärgi kaalu järgi
4
round-robin
Kasuta sihtmärke järjekorras kordamööda
5
p2c
Kahe juhuvaliku vahel valiv koormuse tasakaalustamine
6
least-used
Vali väikseima praeguse koormusega sihtmärk
7
random
Ühtlane juhuvalik (duplikaadid eemaldatakse)
8
strict-random
Juhuvalik kordusi eemaldamata 🎲
9
cost-optimized
Minimeeri reaalajas kataloogihindade põhjal päringu maksumust dollarites 💸
10
headroom
Vali suurima järelejäänud kvoodiga sihtmärk
11
quota-weighted
Jäta ammendatud kontod vahele, seejärel vali proportsionaalselt järelejäänud kvoodi ja käimasoleva koormuse jagatisega — olemasolevad vestlused jäävad seotuks ⚖️
12
reset-window
Eelista sihtmärki, mille kvoodiperiood lähtestub kõige varem
13
reset-aware
Järjesta kvoodi lähtestamisaja järgi — esmalt lühikesed perioodid 📊
14
context-relay
Anna pikkades vestlustes kontekst sihtmärkide vahel üle 🧠
15
context-optimized
Vali praeguse konteksti suurusega kõige paremini sobiv sihtmärk
16
cache-optimized
Seo iga korduskasutatav viiba prefiks sama kontoga — maksimeeri viibavahemälu tabamusi 🎯
17
lkgp
Viimati hästi toiminud tee — seob viimati edukalt kasutatud teenusepakkujaga, seejärel kasutab varuvariandina reegleid
18
auto
16 teguril põhinev reaalajas hindamine kõigi ühenduste lõikes 🤖
19
fusion
Hargneb mudelipaneelile + hindaja sünteesib ühe vastuse 🧬
20
pipeline
Ahelda etapid — iga sihtmärgi väljund edastatakse järgmisele 🔗
Auto-Combo mootor hindab iga kandidaati **16 teguri** alusel (seisund, kvoot, maksumus, latentsus, sobivus ülesandega, kvaliteet, seansi saadavus…) — vt [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Tõrkekindlus on sisse ehitatud (3 sõltumatut kihti)
📖 [Auto-Combo mootor](docs/routing/AUTO-COMBO.md) · [Tõrkekindluse juhend](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Mille poolest OmniRoute silma paistab
📊 Täielik metoodika ja funktsioonide üksikasjad võrreldes 9routeri, OpenRouteri, CLIProxyAPI ja LiteLLM-iga → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Toetage OmniRoute'i
OmniRoute'il on MIT-litsents ja seda hooldatakse avalikult. Kui see säästab teie aega või raha, saate selle sõltumatuna hoidmiseks valida endale sobiva viisi. Sponsorlus ei mõjuta kunagi marsruutimise prioriteeti; see annab nähtavust, mitte paremat järjestust.
⚠️ Saatke iga krüptovaluuta ainult näidatud võrgu kaudu — valesse võrku saatmisel võivad vahendid kaotsi minna.
🐛 Leidsite vea või soovite tagasisidet anda? Avage [arutelu](https://github.com/diegosouzapw/OmniRoute/discussions).
Arendaja märkused: Projekt võib npm-i installimise/järelinstallimise ajal arendaja mugavuse huvides genereerida kohaliku .env-faili. Seda faili eiratakse teadlikult .gitignore-faili kaudu (vt .gitignore) ja seda ei tohi kunagi hoidlasse sisse kanda — kui see kogemata sisse kantakse, muutke kõiki avalikuks saanud saladusi ja eemaldage fail ajaloost. Kohalike keskkonnafailide ja saladuste haldamise juhiseid vaadake failist docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Peamine tasuta taseme näitaja on endiselt **~1.62B tokenit kuus**, tuginedes eespool dokumenteeritud ja
kogumite lõikes duplikaatidest puhastatud kataloogile. Teenusepakkujate ajutised registreerumiskrediidid võivad esimesel
kuul seda eraldi suurendada **~2.22B** tokenini. Radar on valikuline allkirjastatud kataloogikiht neile, kes soovivad
OmniRoute'i väljalasete vahel ajakohasemat tasuta mudelite saadavuse teavet; kogukonna kataloog ja kõik olemasolevad tasuta
funktsioonid jäävad tasuta kättesaadavaks.
Toetajad võivad saada reaalajas kataloogi ja täiendavaid teenusepakkujate võimalusi. Selle eraldiseisev,
muutuv ülempiir on olenevalt teenusepakkujate saadavusest **maksimaalselt ligikaudu 3B tokenit kuus**.
See ülempiir ei ole garantii: teenusepakkujad võivad igal ajal muuta kvoote, sobivusnõudeid, mudeleid või
piirkondi.
Radar on vabatahtlik ja kasutab ainult GET-päringuid. OmniRoute'i klient ei laadi üles viipasid, liiklust, teenusepakkuja
konfiguratsiooni, kasutustelemeetriat ega teadete eiramise kohalikku olekut. Sobivusnõuete ja
praeguse kataloogi kohta leiate teavet aadressilt **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Mis on uut
> Hiljutised tähtsündmused vahemikus **v3.8.20 → v3.8.54**. Täielik ajalugu failis [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` marsruutimine** — 20. kombineeritud strateegia jätab ammendunud kontod vahele ja valib ülejäänute seast proportsionaalselt järelejäänud kvoodi ÷ aktiivsete päringute koormuse järgi, hoides olemasolevad vestlused samale kontole suunatuna. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Peata režiim** — `omniroute serve --headless` (või `OMNIROUTE_HEADLESS=1`) käivitab ainult `/v1/*` puhverserveri mootori ning lülitab juhtpaneeli ja ainult juhtpaneeliga seotud alamsüsteemid välja. → [Peata režiim](docs/guides/HEADLESS.md)
- **🔎 Mudelite tuvastamine** — `/v1/models` filtreerib võimekuse, konteksti, tüübi ja teksti järgi ning `POST /v1/models/query` tagastab sama võtme-põhise nähtavusega lühikese deterministliku valiku. → [API viide](docs/reference/API_REFERENCE.md)
- **🔑 Võtmepõhine marsruutimise juhtimine** — seo API-võti `forcedModel` abil ühe mudeli või komboga ning lisa või eemalda võtme mudeleid ja kombosid atomaarselt (`/api/keys/{id}/access`). → [API viide](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Täpsemad isikuandmete kontrollid** — tüübi-põhine valik, kuni 20 valideeritud kohandatud maskeerimismustrit ja tüübi-põhised tuvastusloendurid; maskeerimine ise jääb valikuliseks. → [Kaitsemeetmed](docs/security/GUARDRAILS.md)
- **🌍 67 keelt** — juhtpaneel, dokumentatsiooni peeglid ja CLI, kus `npm run i18n:add-locale` lisab keele kõikjale ühe käsuga. → [i18n-i juhend](docs/guides/I18N.md)
- **🎛️ OmniConductor** — sissetulev A2A-delegeerimine sinu agentide parvele, Conductori oskused Agent Cardil ning juhtpaneeli paneel Faro push-to-talk-häälvestlusega. → [A2A-server](docs/frameworks/A2A-SERVER.md)
- **🛂 Kohanduv vastuvõtt ja ülekoormuse kaitse** — mahukad vestluspäringud pannakse järjekorda, mitte ei tagastata veaga 503, ning iga ühenduse kohta kasutatakse atomaarseid RPM-i libisevaid lubasid. → [Vastupidavuse juhend](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanooniline `/v1/models` järjestus** — iga pakkuja kohta üks külgnev pakkujarühmitatud plokk (kombod eespool), mis on stabiilne kõigis kataloogiallikates. → [API viide](docs/reference/API_REFERENCE.md)
- **🗜️ Tihendamise tugevdamine** — vaikimisi lubatud paisumise kaitse, Cavemani paketid DE / FR / JA + hiina keele (wényán) jaoks, RTK-filtrid Gradle'i ja .NET-i jaoks. → [Tihendamine](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Aus kindlasummaline maksumus** — tellimuse- ja kodeerimisplaanide pakkujate kuluanalüütikas kuvatakse **$0**; eelarve, kvoot ja marsruutimine jätkavad hinnangu andmist. → [API viide](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share'i marsruutimine** — jagatud konto kvoot jaotatakse kogutud võtmete vahel õiglaselt ning töövõime säilib, sest jõudeolevaid osasid laenatakse välja. → [Vastupidavuse juhend](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 CLI/agentide seadistamine ühe käsuga** — 15 registreeritud `setup-*` käsku; `omniroute run` käivitab 7 CLI-d (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` toetab 11 sihtmärki interaktiivse pakkuja- ja mudelivalija ning konteksti-põhiste lemmikutega. → [CLI-integratsioonid](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Kaug režiim** — juhi kaugasuvat OmniRoute'i piiratud ulatusega tunnustega (`connect` / `contexts` / `tokens`) ning kasuta VPS-i paigaldusteks `antigravity` OAuthi abivahendit. → [Kaug režiim](docs/guides/REMOTE-MODE.md)
- **🧭 Nutikam automaatne marsruutimine** — `auto/:` kombod, **Fusion** (mudelipaneel + hindaja), ülesandeteadlik marsruutimine ning päringupõhised mudeli-, režiimi- ja USD-eelarve ülekirjutused. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Laiendatav tihendamine** — 12 kombineeritavat mootorit + Compression Studios: LLMLingua-2, kahetasemeline Ultra, omniglyph, sammupõhine täpsuse värav, GCF v3.2 ja lohistamisega ümberjärjestatav redaktor. → [Tihendamine](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Läbipaistev MITM-i dekrüpteerimine (TPROXY)** — hõive-CLI-d, mis eiravad puhverserveri keskkonnamuutujaid, ning SNI-põhine CA + usalduspoe paigaldaja. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kulutalitlus kõikjal** — `X-OmniRoute-*` kulu- ja kasutuspäised igal lõpp-punktil, vahemälu-HIT-i säästupäis ning võtme-põhised USD-kulukvoodid. → [API viide](docs/reference/API_REFERENCE.md)
- **🧠 Sinu kontrolli all olev mälu** — vaikimisi välja lülitatud, valikuline int8-vektorkvantimine + tüübitud aegumine ning päringupõhine `x-omniroute-no-memory`. → [Mälu](docs/frameworks/MEMORY.md)
- **🛡️ Turvalisus** — viipasüstikaitse igal LLM-marsruudil (punase meeskonna testikomplekt), valikuline mandaatide maskeerimise kaitse (eemaldab lekkinud API-võtmed ja saladused mõlemas suunas), tasuta DuckDuckGo veebiootsing viimase abinõuna ning valikuline OIDC-i sisselogimisvärav juhtpaneelile (parooliga sisselogimine jääb alati kättesaadavaks). → [Kaitsemeetmed](docs/security/GUARDRAILS.md)
- **🖼️ Uued lõpp-punktid** — `/v1/ocr` (Mistral OCR) ja `/v1/audio/translations` (Whisperi-laadne) täiendavad meedialiidest. → [API viide](docs/reference/API_REFERENCE.md)
- **🎨 Piltide / video / heli genereerimine** — üks meediateenuste API: xAI Grok Imagine ja Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind ning kõnepakkujad nagu ElevenLabs. → [API viide](docs/reference/API_REFERENCE.md)
- **🌍 Juurutamine ja käitamine** — pöördpuhverserveri `basePath`, brauseri keele automaattuvastus, võtme-põhine seadmete jälgimine, juurkasutajata MITM-i usaldus ja zh-TW lokaliseerimine. → [Keskkond](docs/reference/ENVIRONMENT.md)
- **🤝 Rohkem pakkujaid ja agente** — pilveagendid (Codex Cloud, Cursor, Devin, Jules), brauseri ja OAuthi sisselogimisega Grok Build (xAI), esmaklassiline Ollama kaart, Claude Opus 5 ja Sonnet 5, Kimi ametlik partnerlus (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… ning värskendatud **388 pakkuja kataloog**. → [Pakkujad](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Marsruutimise läbipaistvus** — iga vastus sisaldab `X-OmniRoute-Decision` päist, mis nimetab seda teenindanud strateegia/pakkuja/latentsuse; uus `cache-optimized` kombineeritud strateegia ja Auto-Combo `cacheAffinity` tegur suunavad korduspäringud tagasi ühendusele, millel on vahemällu salvestatud prefiks; kirjutuskaitstud `/v1/auto-combo/{channel}/candidates` lõpp-punkt avaldab `auto/*` kanali aktiivse kandidaatide kogumi. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Kohalik jõudlus ja taristu** — ühe klõpsuga kohalik Redis, Cloudflare Workersi / Deno Deployi relee juurutajad, Bifrost ja Mux järelevalve all töötavate manustatud teenustena. → [Manustatud teenused](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Samuti sisaldub komplektis** — pluginate raamistik ja turg, Omni/Agenti/GitHubi oskuste raamistikud, Obsidiani varamu integratsioon (22 MCP-tööriista), OpenAI-ga ühilduvad Batchi ja Filesi API-d, semantiline vastuste vahemälu, edetabelitega mängustamine, ACP-agentide tuvastus (15 sisseehitatud agenti), ajastatud logide eksport BigQuerysse, `auto/chaos` paralleelne mitme mudeli fänn-out, Telegrami roboti sild, rakendusesisene versioonihaldur ja LMArena-ELO tasuta pakkujate edetabelid. → [Dokumentatsioon](docs/README.md)
## 🤖 Ühilduvad CLI-d ja kodeerimisagendid
> Üks seadistus — `http://localhost:20128/v1` — ja **iga** AI IDE või CLI töötab tasuta ja madala hinnaga mudelitega.
+ töötab ka koos · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · iga OpenAI-ga ühilduva tööriistaga
📖 Iga tööriista seadistamine eraldi kõigi 39 tööriista jaoks (28 CLI Code'i + 11 CLI Agent'i) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode plugin → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)
**Käivita ükskõik milline toetatud CLI läbi OmniRoute ühe käsuga** — konfiguratsioonifaile ei kirjutata,
tunnused süstitakse igasse protsessi eraldi, Qwen/Gemini saavad ajutise isoleeritud kodukataloogi:
```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"
# Või vali pakkuja+mudel interaktiivselt ja kirjuta tööriista enda konfiguratsioon:
omniroute configure codex # samuti: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Iga käsk järgib aktiivset kaugkonteksti (`omniroute connect `), `--dry-run`
näitab täpset keskkonda/argumente ilma käivitamata ning `--api-key-env NAME` hoiab saladused
eemal sinu shelli ajaloost. → [CLI integratsioonid](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 tehisintellekti pakkujat — 153 kataloogis märgitud tasuta
> **388 registreeritud pakkujat** kanoonilistes vestluse, meedia, otsingu, kohalikes, pilveagentide ja süsteemikogudes, sealhulgas **153 pakkujat, mille avastamise metaandmed sisaldavad `hasFree: true`**. Vestlusmudelite register hõlmab **239 pakkujat / 3 059 erinevat pakkuja-mudeli paari / 1 475 algset mudeli ID-d**; eraldi tasuta eelarve kataloogis on **471 mudelipõhist rida**, **34 korduvat kogumit** ja **52 korduvat või võtmeta igavesti tasuta pakkujat**. Need ongi kavandatult erinevad nimetajad; määratlused ja kogumite duplikaatide eemaldamisega arvutused on toodud [pakkujate teatmikus](docs/reference/PROVIDER_REFERENCE.md) ja [tasuta pakettide](docs/reference/FREE_TIERS.md) ülevaates.
### 🏢 Kõik suuremad laborid — ühe lõpp-punkti kaudu
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…ja veel üle 350 — iga ikoon laaditakse otse juhtpaneeli pakkujate kataloogist. 📖 [Pakkujate teatmik](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Igavesti tasuta — 0 dollarit, kaarti pole vaja
OpenCode Zen DeepSeek V4, Nemotron 3 Tokenipiirang puudub
Kilo Code Automaatne ruuter, Tencent Hy3 Tasutа igavesti
### 🧩 Uus: OmniRoute VS Code loomulikus Copilot vestluses
> Pole uut külgriba ega uut vestlust UI – iga mudel, mida OmniRoute teenindab, kuvatakse otse**Copilot Chati mudelivalija, mida juba kasutate** . Alates VS koodist 1.122 töötavad pakkuja mudelid ilma GitHub sisselogimise või Copilot tellimuseta – agendirežiim, tööriistade kutsumine ja nägemine tasuta.
Installige** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** laiendus, suunake see oma OmniRoute serverile (vaikimisi `localhost:20128`), seejärel avage Copilot Chat → mudelivalija →** Halda mudeleid…** →**OmniRoute** .
Redaktori seest: avage** Laiendused** vaadata, otsida** "OmniRoute"** , klõpsake** Installige** — töötab mõlemas poes ühtemoodi. Allikas, numbrid ja avaldamise käsiraamat on reaalajas aadressil [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Kood Copilot Vestluse juhend](docs/guides/VSCODE-COPILOT.md) – seadistamine, valija kuvamine, armatuurlaud vahekaardil, tõrkeotsing
### 🎩 Uus: OmniRouteTray – teie värav, mis asub menüüribal
> `omniroute serve` on kõige õnnelikum, kui see on alati sisse lülitatud.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** muudab selle macOS menüüriba määramise ja unustamise rakenduseks: see käivitab serveri, hoiab seda elus kogu taaskäivitamise ajal, värskendab seda ja asetab teie reaalajas märgi eelarve ühe kliki kaugusele –** ühtegi terminali akent ei jäetud lahti ega `npm install -g omniroute` lapsehoidmiseks.**
[Tauri v2-](https://v2.tauri.app/) ga (ümardusvea suurune Rust-tuum) ehitatud see tarnib oma allkirjastatud Node 24 käitusaja ja haldab rakendusele kuuluvat OmniRoute installi, nii et see ei võitle kunagi teie globaalse `node`/`bun`. See** jagab teie olemasolevat `~/.omniroute/` konfiguratsiooni ja andmebaasi** — nii et see on sama OmniRoute, mida sa juba jooksed, ainult mütsiga. 🎩
Mida see teeb
Kuidas
🟢 Jälgib serverit
Loob omniroute service , võtab selle dubleerimise asemel kasutusele juba töötava eksemplari
📊 Reaalajas kasutus lühiülevaade
Pakkuja kvoodiribad, Claude session/weekly limiidid lähtestamise loenduritega, 30-päevane kulude jaotus
🔄 Automaatsed värskendused paigas
Järkjärguline installimine, aatomivahetus, tõrke korral tagasipööramine – alati uusimal versioonil
🚀 Käivitage sisselogimisel
Valikuline käivitamine sisselogimisel; ainult salve, dokiikooni pole
🩺 Doctor & logid
Ühe klõpsuga diagnostika ja serveri logi juurdepääs
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Eelistad allalaadimist? Hankige uusim .dmg saidilt
Annab välja . Allikas, probleemid ja ehitus
docs reaalajas aadressil zoispag/omniroute-tray.
💛 Kogukonna projekt, mille autor on @zoispag – mitte ametlik OmniRoute väljaanne.
> Lisaks serverile on OmniRoute **täielik käsurea juhtimiskeskus**, millel on **üle 80 käsu**, ning avatud agendiprotokollid, et tehisintellekti agent saaks seda **iseseisvalt** juhtida.
### ⌨️ Tõeline CLI (mitte ainult `start`)
```bash
omniroute # käivita lüüs + juhtpaneel (port 20128)
omniroute chat # interaktiivne TUI-vestlusklient (kaldkriipsukäsud: /model /combo /skill /memory)
omniroute setup # juhendatud esmase käivituse viisard
omniroute doctor # diagnoosi teenusepakkujaid, porte ja süsteemseid sõltuvusi
```
### 🛰️ Kaugrežiim — käivita CLI siin, OmniRoute VPS-is
Kas OmniRoute töötab serveris? Juhi seda oma sülearvutist **sama CLI-ga**. Logi üks kord sisse
piiratud ulatusega juurdepääsutõendiga; seejärel suunatakse iga käsk kaugserverisse.
```bash
omniroute connect 192.168.0.15 # parool → piiratud ulatusega tõend, salvestatakse kontekstina
omniroute models # ← käivitatakse KAUGSERVERIS
omniroute configure codex # ← valib kaugmudeli, kirjutab kohaliku Codexi profiili
omniroute tokens create --name ci --scope read # loo teiste masinate jaoks kitsama ulatusega tõendeid
omniroute contexts use default # ← lülitu tagasi kohalikule serverile
```
Tõendite ulatused on `read` / `write` / `admin`; protsesse käivitavad marsruudid jäävad ainult tagasisideaadressile.
📖 [Kaugrežiim](docs/guides/REMOTE-MODE.md)
### 🤝 Ühenda agent — ja see juhib OmniRoute'i ennast
Tee OmniRoute kättesaadavaks **MCP**, **A2A**, **REST API**, **veebihaakide** või **kaug-CLI** kaudu — iga võimekas agent (või sinu enda kood) saab võtmed kogu lüüsi juhtimiseks: marsruutimine, teenusepakkujad, kombinatsioonid, vahemälu, tihendamine ja mälu — autonoomselt. Allolevaid HTTP-lõpp-punkte teenindatakse aadressil `http://localhost:20128`.
Liides
Lõpp-punkt / käsk
Kasutusotstarve
🧰 MCP (stdio)
omniroute --mcp
Ühenda Claude Desktopi, Cursori või mis tahes MCP-kliendiga
Saada päringu- ja kvoodisündmused Slacki, Discordi, Telegrami või mis tahes URL-ile
🛰️ Kaug-CLI
omniroute connect
Juhi kauginstantsi piiratud ulatusega juurdepääsutõenditega
```bash
# Anna Claude Code'ile MCP kaudu täielik OmniRoute'i tööriistakomplekt:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP-server](docs/frameworks/MCP-SERVER.md) · [A2A-server](docs/frameworks/A2A-SERVER.md) · [Agendiprotokollid](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Säästa automaatselt 15–95% tokeneid
### 📖 Kuidas see töötab — konveier, arhitektuur ja säästuarvutus
Vaikimisi kihiline kombinatsioon käivitab `RTK → Caveman`. Kui mõlemad töötlevad sama tööriista-/kontekstiandmekogumit, liituvad säästud:
```txt
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
```
Koodiplokid, URL-id, JSON ja struktureeritud andmed on säilitamismootori poolt **alati kaitstud**.
> **Miks kasutada paljusid tokeneid, kui vähestest piisab?** Iga päring läbib OmniRoute'i tihenduskonveieri **läbipaistvalt** — kliendis pole muudatusi vaja. Nüüd koosneb see **12 kombineeritava mootori kihist**, mis töötavad järjekorras ning mida saab iga marsruutimiskombinatsiooni puhul omavahel valida ja kombineerida — tuginedes [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) ja [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR) ideedele.
### 🧱 12 mootori kiht
Mootorid töötavad konveieri järjekorras; igaüht saab iga kombinatsiooni puhul eraldi sisse või välja lülitada ja seadistada:
#
Mootor
Mida see teeb
1
Session-Dedup
Eemaldab pöörete vahel korduva sisu (sisuaadressipõhine, pööreteülene)
2
CCR
Arhiveerib suured plokid hankimismarkerite taha ja hangib need vajaduse korral
3
Lite
Tühimärkide ja pildi-URL-ide kärpimine (väikese latentsusega baas)
4
RTK
Tööriistatulemuste nutikas filtreerimine, duplikaatide eemaldamine ja kärpimine (käskudest teadlik)
5
Responses Tool Output
Kadudeta esmajärjekorras JSON ja piiratud diagnostiline tihendus shelli-/paigaotsingu-/otsingu-/ehitusväljunditele (Responses API)
6
Headroom
JSON-massiivide kadudeta tabelipõhine tihendamine (~30%), kasutades kaasatud GCF-koodekit
7
Relevance
Lausete ekstraktiivne hindamine viimase kasutajapäringu põhjal
Vanaemuste kokkuvõtete loomine ja järkjärguline vananemine
10
LLMLingua-2
ML-põhine semantiline kärpimine MobileBERT ONNX-i kaudu — kooditurvaline, asünkroonne
11
Ultra
Heuristiline tokenite kärpimine valikulise väikese mudeli (SLM) tasemega
12
OmniGlyph
Eksperimentaalne konteksti pildina kodeerimine mõõdetud Claude Fable 5 jaoks otse Anthropic'u ühendusel; GPT 5.6 transformerid jäävad teenusepakkuja kviitungeid oodates tõrkekindlalt suletuks. Neli tihendusprofiili (vaikimisi agressiivne, tasakaalustatud, kodeerimiskindel, läbipääs) (kõige agressiivsem; lubamine on vajalik)
Koodiplokid, URL-id ja struktureeritud andmed säilitatakse **alati** baiditäpselt. **Ühe klõpsuga eelseaded** kombineerivad mootoreid:
Režiim
Sääst
Sobib kõige paremini
🪶 Lite
~15%
Alati sisse lülitatud turvaline vaikevalik
🪨 Standard (Caveman)
~30%
Igapäevane kodeerimine
⚡ Aggressive
~50%
Pikad tööriistamahukad sessioonid
🔥 Ultra
~75%
Maksimaalne sääst
🧰 RTK
60–90%
Shelli-/testi-/ehitus-/git-väljund
🔗 Stacked (RTK → Caveman)
78–95%
Segatud viibad ja tööriistalogid
**Tõeline näide — Standard-režiim:**
> **Enne (69 tokenit):** _"Põhjus, miks sinu Reacti komponent uuesti renderdatakse, on tõenäoliselt see, et lood igal renderdustsüklil uue objektiviite. Kui edastad inline-objekti propina, näeb Reacti pinnapealne võrdlus seda iga kord erineva objektina, mis käivitab uue renderduse. Soovitan objekti mällu salvestamiseks kasutada useMemot."_
>
> **Pärast (19 tokenit):** _"Uus objektiviide iga renderduse ajal. Inline-objekti prop = uus viide = uus renderdus. Ümbritse useMemoga."_
>
> **Sama vastus. 72% vähem tokeneid. Täpsus ei langenud üldse.** ✅
**PT-BR näide — [Troglodita](https://github.com/leninejunior/troglodita) režiim:**
> **Enne (42 tokenit):** _"Probleem seisneb selles, et komponent renderdatakse uuesti, kuna igas renderdustsüklis luuakse uus objektiviide. Soovitaksin kasutada useMemo."_
>
> **Pärast (12 tokenit):** _"Uuesti renderdamine: igas tsüklis uus viide (inline-objekt luuakse uuesti). Kasuta `useMemo`."_
>
> **Sama vastus. ~70% vähem tokeneid. Tehniline täpsus säilib.** ✅
### 🎚️ Mootoritest kaugemale — väljundistiilid, adaptiivne ketas ja päringupõhine juhtimine
Ülaltoodud 12 mootorit lühendavad seda, mis läheb **sisse**. Veel kolm kihti kujundavad **kuidas**, **millal** ja mis tuleb **välja**:
- **🪄 Väljundistiilid** _(väljunditelje suunamine)_ — lisavad deterministlikud, vahemäluturvalised vastuse kujundamise juhised; neid saab kombineerida ning igaühel on intensiivsuse tasemed `lite` / `full` / `ultra`. Stiili lisamiseks piisab ühest registrikirjest:
- **Napikas proosa** — eemalda täitematerjal / artiklid / ebakindlust väljendavad sõnad; säilita tehniline sisu täpsena.
- **Vähem koodi** — "laisk vanemarendaja" YAGNI: väikseim toimiv muudatus, ilma soovimatu taristuta.
- **Pats (laisk vanemarendaja)** — liigu YAGNI-redelil üles, lahenda juurpõhjus, tee väikseim toimiv diff.
- **Mul on ADHD (tegevus esikohal)** — järgmine tegevus on eesotsas, sammud nummerdatud, üks konkreetne järgmine samm, sissejuhatuseta.
- **Napikas CJK (文言)** — klassikalise hiina keele ülinapikas stiil (lokaat piirab selle `zh`-ga).
- **🎯 Adaptiivne konteksti-eelarve** _(ketas)_ — ühe sisse-/väljalülitatava tokeniläve asemel suurendatakse kõige odavamaid ja vähima infokaoga mootoreid ainult nii palju, kui on vaja, et **mahtuda mudeli kontekstiaknasse**. Reegel: `reserve-output` (vaikimisi, mudeliteadlik) · `percentage` · `absolute`. Režiim: `floor` (tagab mahtumise) · `replace-autotrigger` (sinu otsene valik on ülimuslik) · `off` (pärandlävi).
- **🎛️ Kus tihendamine otsustatakse** _(ülimuslikkus, kõrgem → madalam)_ — päringupõhine `x-omniroute-compression` päis › marsruutimiskombinatsiooni ülekirjutus › aktiivne nimega profiil › adaptiivne / automaatne käivitamine › paneeli vaikeväärtus › väljas. Rakendatud plaan kajastub vastuse päises `X-OmniRoute-Compression: ; source=`.
Automaatne käivitamine tokeniläve alusel, adaptiivse ketta sisselülitamine, nimega profiili kinnitamine, ühekordne päringupõhine seadistus või konveieri määramine iga marsruutimiskombinatsiooni jaoks — vali see, mis töökoormusega sobib. Lubatav võrguühenduseta **hindamisraamistik** (`npm run eval:compression`) hindab enne muudatuse avaldamist kinnitatud korpuse põhjal truudust ja säästu.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Kiirstart
**1) Paigalda ja käivita**
```bash
npm install -g omniroute
omniroute
```
> 💡 Näed `npm warn ERESOLVE`-i või sõltuvuste vastastikuse ühilduvuse hoiatusi? [Need on ohutud](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Kasutad npm-i versiooni 11 või uuemat?** npm võib paketi elutsükli skriptid blokeerida, kui neid pole lubatud. OmniRoute'i `postinstall` (`node scripts/build/postinstall.mjs`) on vajalik natiivse käitusaegse taristu ettevalmistamiseks. Luba globaalsel paigaldamisel npm-i hoiatuses nimetatud paketid. OmniRoute 3.8.54 teatatud paketiloendi korral:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Selle lubatud pakettide loendi taaskasutamiseks tulevastel globaalsetel paigaldamistel seadista see üks kord ja paigalda seejärel tavapäraselt:
>
> ```bash
> npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user
> npm install -g omniroute
> ```
>
> Sõltuvuste loend võib versioonide vahel muutuda; kui npm teatab teisest loendist, kasuta selles hoiatuses toodud pakettide nimesid. Paketi lubamine lubab selle paigaldusskriptidel käivituda.
> **Kasutad Gemini Webi või mõnda muud veebiküpsistel põhinevat pakkujat?** npm-pakett sisaldab
> Playwrighti, kuid mitte selle Chromiumi binaarfaili. Enne esimest veebipakkuja päringut vaata
> [Playwright Chromiumi seadistuse](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> märkust.
Töölaud asub aadressil `http://localhost:20128` · API aadressil `http://localhost:20128/v1`.
**2) Ühenda sobilik pakkuja oma kontoga**
Töölaud → **Pakkujad** → vali pakkuja, kelle kehtivad tingimused ja kvoot sobivad sinu kasutusjuhuga → lisa selle API-võti või lõpeta konto seadistusvoog. Tasuta paketid võivad nõuda registreerumist, heakskiitu või makseviisi. Tutvu [tasuta pakettide juhendiga](docs/getting-started/FREE-TIERS-GUIDE.md); võtmeta kättesaadavus ei ole garanteeritud ning pakkujad, mille märge on `tos: avoid`, jäetakse vaikimisi `auto`-ist välja.
**3) Suuna oma kodeerimistööriist**
```txt
Base URL: http://localhost:20128/v1
API Key: [copy from Dashboard → Endpoints]
Model: auto (routes among eligible connections — or choose provider/model)
```
**4) Kontrolli, et kõik töötab**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Peaksid nägema oma ühendatud mudeleid. 🎉 Kõik — alusta kodeerimist ning OmniRoute valib sinu eest automaatselt marsruudi ja varuühenduse.
Kui sinu klient ei saa kohandatud päiseid saata, pakub OmniRoute ka tokeniseeritud ühilduvusaliasi:
```txt
OpenAI catalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI models: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI responses: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Kasuta neid ainult klientidega, mis ei saa lisada `Authorization: Bearer ...`. Päise kaudu autentimine jääb eelistatud režiimiks.
## 📦 Rohkem paigaldusviise — Docker, lähtekood, 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` järgib kõrgeimat **avaldatud** stabiilset SemVer-versiooni. See ei järgi git-i haru `main`. GitOpsi jaoks kasuta fikseeritud silti `:X.Y.Z`. Vaata jaotist [Dockeri väljalaskekanalid](docs/guides/DOCKER_GUIDE.md#release-channels). Tõmmispildis on **`OMNIROUTE_MEMORY_MB=1024`** fikseeritud. Sellest piisab juhtpaneeli ja kerge vestluse jaoks. **Programmeerimisagendid** (Claude Code'i, Codexi, Groki jne päringud `POST /v1/responses`) vajavad palju suuremat V8 kuhja, vastasel juhul annab protsess kahe kattuva pika konteksti korral ligikaudu 12 GiB juures vea `FATAL ERROR`. Määra konteineri maht kuhjast suuremaks (natiivsed puhvrid asuvad väljaspool V8-t):
| Töökoormus | Kuhi (`-e OMNIROUTE_MEMORY_MB`) | Konteiner (`--memory`) |
| ---------------------------------------------- | --------------------------------- | ---------------------- |
| Juhtpaneel / kerge vestlus | `1024` (tõmmispildi vaikeväärtus) | ≥2 g |
| Üks programmeerimisagent | `8192` | ≥10 g |
| Kaks samaaegset pikka `/v1/responses` päringut | `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
```
Täielik tabel: [Dockeri juhend — käitusaegne RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Dockeri eelväljalaskekanal:** `diegosouzapw/omniroute:next` ja
> `diegosouzapw/omniroute:next-web` järgivad praegust vaikeharu `release/v*`.
> Need muudetavad sildid on mõeldud ainult avaldamata paranduste testimiseks ja
> neid **ei toetata tootmiskeskkonnas**. Vaata jaotist
> [Dockeri väljalaskekanalid](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Standardset käsku `bun install` ja globaalset paigaldust (`bun install -g omniroute`) toetatakse Bun-i käituskeskkonna tuvastamise kaudu:
- **Sisseehitatud `bun:sqlite`**: Bun-i all töötades kasutab OmniRoute Bun-i sisseehitatud `bun:sqlite` draiverit ning Node.js-i korral `better-sqlite3` või `sql.js` varuvarianti.
- **Webpacki komplektija automaatne valimine arenduses**: arenduskeskkond (`bun run dev`) tuvastab Bun-i automaatselt ja keelab Turbopacki Webpacki kasuks, et vältida natiivsete V8 siduste ühildamatust. Tootmisjärgud (`bun run build`) järgivad muutujat `OMNIROUTE_USE_TURBOPACK` täpselt samamoodi nagu Node'is: vaikimisi Turbopack, Webpackiga koostamiseks `OMNIROUTE_USE_TURBOPACK=0` (`Dockerfile.bun` pakub seda argumendina `--build-arg`).
- **Eraldi Bun-i Dockerfile**: mitmeetapiline `Dockerfile.bun` natiivsete Bun-i tootmisjuurutuste jaoks (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Paigalda ja käivita Bun-iga
bun install
bun run dev
```
**🛠️ Lähtekoodist**
```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
# Nix flakesi kasutamine
nix develop
npm run dev
# Või devboxi kasutamine
devbox run npm run dev
```
📖 [Dockeri juhend](docs/guides/DOCKER_GUIDE.md) — Compose'i profiilid, Caddy HTTPS, Cloudflare'i tunnelid.
**🦭 Podman**
```bash
# 1. Valmista ette sidushaagitud andmekataloog
mkdir -p data
# 2. Ainult Linux + kohalik juurõigusteta Podman (mitte kunagi Podman Machine'i kaugklient):
podman unshare chown 1000:1000 ./data
# 3. Määra käituskeskkonna vihje, koosta kohalik Compose'i tõmmispilt ja käivita
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
macOS-is või Windowsis kasutab Podman Podman Machine'i kaugmasinat: jäta `podman unshare` vahele ja
järgi [topoloogiapõhiseid andmekataloogi juhiseid](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podmani juhend](contrib/podman/README.md) — Compose'i järgud, Podman Machine ja
Linuxi/systemd Quadleti seadistus.
**⚡ Kiirem / kergem paigaldus (jäta natiivne järk vahele)**
Natiivne SQLite'i mootor (`better-sqlite3`) on **valikuline** sõltuvus, mistõttu globaalne
paigaldus ei takerdu kunagi lähtekoodist kompileerimise taha: sobivuse korral kasutatakse
sinu platvormi/Node'i jaoks eelkompileeritud binaarfaili, vastasel juhul minnakse läbipaistvalt
üle puhtalt JS-il põhinevale mootorile (`node:sqlite` Node 22+ korral, muidu komplekti kuuluvale
`sql.js` WASM-ile) — koostamistööriistu pole vaja.
Paigaldusjärgse **natiivse eelsoojenduse** täielikuks vahelejätmiseks (CI, kasutajaliideseta või aeglastel masinatel).
Märkus: see jätab vahele ainult natiivse SQLite'i eelsoojenduse etapi (`scripts/postinstall.mjs`);
binaarfaili kopeerimise/parandamise haak (`scripts/build/postinstall.mjs`) töötab endiselt tavapäraselt:
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Ka CI=1 jätab selle vahele
```
Kiireimaks paigalduseks eelista **pnpm-i** (sisupõhine hoidla + püsilingid — vaata eespool).
Ilma juhtpaneelita ja kasutajaliideseta käituskeskkonna jaoks kasuta Dockeri profiili `base` (eespool) või
[Termuxi juhendit](docs/guides/TERMUX_GUIDE.md). CLI-d ja veebipõhist juhtpaneeli teenindab
sama protsess ühe pordi kaudu, seega eraldi ainult CLI jaoks mõeldud paketti praegu pole.
Testikatvuse strateegia enam kui 60 000 staatilise testideklaratsiooni jaoks enam kui 8 400 jälgitavas testifailis
# ⭐ Tipptasemel kaastöölised
> OmniRoute'i kujundab pühendunud avatud lähtekoodiga kogukond. Need inimesed on andnud erakordse panuse, mis mõjutab otseselt projekti kvaliteeti, stabiilsust ja ulatust. **Aitäh.**
### Välised kaastöölised ühendatud pull-päringute alusel
Loendus tehti 2026-11-03 03:01:19 UTC, aktiivse release/v3.8.53 tipuga 05bc048d6c. Lehekülgede kaupa laaditud GitHub GraphQL-i loendus sisaldab 9,947 ühendatud PR-i: 4,130 hoidla omaniku, 240 Dependaboti, 6 teiste robotite/rakenduste ja 5,571 välise PR-i 883 erinevalt kaastööliselt. „Muudetud read” tähendab GitHubi lisamisi + kustutamisi ning hõlmab genereeritud faile, lukufaile, katalooge, tõlkeid ja dokumentatsiooni; see on muudatuste hulk, mitte autori kirjutatud LOC. 53 PR-i puhul on GitHubi diff üle 500,000 rea (näiteks #13399, ühe pakkuja lisamine, loetleb 2,347 muudetud faili), mis suurendab mitut ülaltoodud kogusummat. Võrdsed tulemused on järjestatud koos.
### GitHubi omistatud commit'id
Üle kontrollitud 2026-11-03 02:09:16 UTC: GitHubi omistatud sissekanded, millest teatas hoidla Contributors API haru release/v3.8.53 vaikimisi haru kohta. API tagastas 903 identiteeti (429 kasutajat, 2 robotit, 472 anonüümset); see tabel ei hõlma hooldajat, roboteid ega anonüümseid identiteete ning säilitab võrdsete tulemustega kohad. See erineb nii ülaltoodud ühendatud PR-ide edetabelist kui ka allpool olevast Giti metaandmete loendusest.
> 🙏 Nende kaasautorite funktsioonid, veaparandused ja taristu täiustused on **oluline osa** sellest, mis muudab OmniRoute’i töökindlaks ja funktsiooniderohkeks. Iga tõmbetaotlus, iga testjuhtum ja iga i18n-i tõlkefail on oluline. Avatud lähtekoodi loovad sellised inimesed nagu nemad.
---
## 💖 Sponsorid
Südamlik tänu inimestele, kes rahastavad OmniRoute'i oma taskust — iga panus aitab projektil püsida tasuta, sõltumatu ja arenevana.
… ja teised, kes eelistavad jääda anonüümseks 💛Avalikud GitHub Sponsorsi andmed kontrolliti uuesti 2026-10-18 GitHub Sponsors GraphQL API kaudu: kokku 14 sponsorlusest 11 on avalikud (6 aktiivset, 5 varasemat). Ülaltoodud aktiivsuse sildid määrab GitHubi isActive olek; varasemaid avalikke ühekordseid toetajaid tänatakse jätkuvalt ning privaatsed sponsorid jäävad anonüümseks. Ko-fi, Buy Me a Coffee, Liberapay, PIX-i ja krüptoraha annetusi pole loetletud, sest nende kohta puudub avalik sponsorikirje.💖 Hakka sponsoriks → — iga dollar aitab OmniRoute'il püsida tasuta ja sõltumatuna.
## 👥 1,000+ kaastöölist
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditeeritud 2026-11-02 aktiivse release/v3.8.53 tipu 1c7135e0fb juures (7 972 commit'i): 1 074 normaliseeritud inimeste Git-identiteeti — 759 esinevad commit'ide autoritena (sealhulgas hooldaja) ja 315 ainult selgesõnalistes Co-authored-by jalustes. Loend rakendab faili .mailmap, võrdleb e-posti aadresse tõstutundlikkuseta, ühendab numbrilised ja tavalised GitHubi noreply-aadressid ainult juhul, kui need kodeerivad sama kasutajanime, välistab 29 roboti/agendi/teenusekohatäite identiteeti ega ühenda tavalisi e-posti aadresse pelgalt seetõttu, et nende kuvatavad nimed ühtivad. 2026-08-24 audit avaldas tulemuse 639; sama meetodi uuesti rakendamine selle auditi baasile ac02c5b42f annab tulemuseks 619, seega tuleneb kasv uutest kaastöölistest, mitte leebemast meetodist.
### Kuidas kaasa aidata
1. Tee repositooriumist fork
2. Loo haru aktiivse `release/vX.Y.Z` tipu alusel (mitte `main`-i alusel) — vt [Harude ja väljalasete mudel](docs/ops/BRANCHING_MODEL.md)
3. Loo oma funktsiooniharu (`git checkout -b feat/amazing-feature`)
4. Commit'i oma muudatused (`git commit -m 'feat: add amazing feature'`)
5. Lükka muudatused harusse (`git push origin feat/amazing-feature`)
6. Ava pull request, mille **base = see `release/vX.Y.Z` haru**
Üksikasjalikud juhised leiad failist [CONTRIBUTING.md](CONTRIBUTING.md).
### Uue versiooni väljalaskmine
```bash
# Loo väljalase — npm publish toimub automaatselt
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Tähed
## 🌍 StarMapper
## 🙏 Tänuavaldused
OmniRoute seisab hiiglaste õlgadel. See sai alguse projekti **[9router](https://github.com/decolua/9router)** haruna ja Go projekti **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** TypeScripti pordina — ning sealt edasi sai iga allpool nimetatud alamsüsteem inspiratsiooni mõnelt avatud lähtekoodiga projektilt, mis jõudis selleni esimesena. Igaüks neist kujundas OmniRoute'i konkreetset osa. See on meie tänuavaldus neile kõigile. 🙏
> ⭐ tärnide arvud on kontrollitud GitHubi REST API kaudu 3. novembril 2026 — minge andke neile projektidele tärn. Arvud on täpsed selle kuupäeva seisuga ja muutuvad loomulikult.
### 🧬 Põlvnemine ja lüüs
Tehisintellekti lüüs, mille avalik hinnastamisandmestik toidab meie kulude jälgimise sünkroonimist ja mille pakkujate normaliseerimise mudel suunas meie marsruutimist.
MIT-i lähtekood, mida kohandati müügilolevasse ChatGPT Web → Codex Responsesi sillasse, sealhulgas brauseriseansi, vastuse raamistamise, kasutuse ja veebiotsingu adapterid.
Peamine transitiivne koodiallikas projekti grok2api-merged taga; selle mudeli-, päise-, kasuliku koormuse, Statsigi ja töötleja teostused on Grok Webi põlvnemises säilitatud.
Aluseks olev MIT-i lähtekood Groki kasuliku koormuse ja seadme vaikeväärtustele, Statsigi generaatorile ning result.response töötlejale, mida kandsid edasi TQZHR ja grok2api-merged.
Transitiivne allikas, millele grok2api-merged omistab oma puhverserverite kogumi kihi; OmniRoute säilitab selle põlvnemismärkuse, kuid ei väida, et selle piiratud Grok Webi täiturisse oleks porditud puhverserverite kogum.
Algse Grok Webi teostuse HTTP-/brauseripoolset ülesvoolu kujundust uuriti; selle otsene HTTP-tee pärineb GrokProxyst, seega eraldi koodipordi ei väideta.
### 🗜️ Konteksti ja märkide tihendamine — mootorid
Viraalne projekt „miks kasutada palju tokeneid, kui vähesed tokenid teevad töö ära” — selle koopainimese kõne filosoofia on meie standardse tihendusrežiimi ja enam kui 30 täitesõnade/kondenseerimise reegli aluseks.
Käsu väljundi suure jõudlusega tihendus — inspireeris meie RTK-mootorit, JSON-filtri DSL-i, töötlemata väljundi taastamist ja virnastatud RTK → Caveman konveierit.
PT-BR-i tokenite tihendus — on meie pt-BR-i keelepaketi alus: Brasiilia portugali grammatikale kohandatud pleonasmide vähendamine ja täitesõnade eemaldamine.
Sisutundlik ja failitüübipõhine väljundi tihendus koos tõrketundliku loobumisega — kinnitas meie tüübi põhjal toimuvat suunamist ja minimaalse võidu korral vahelejätmist.
Rustipõhine veeruline JSON + sisuadresseeritav taastamine + sõnumiteülene deduplikatsioon — kinnitas meie headroom/ccr/session-dedup-mootori kujundust ja vahemälustabiilset invarianti „tihendatud vorm ei sõltu asukohast”.
TypeScripti kompilaatori API tööriistakomplekt — inspireeris meie parseripõhist kommentaaride eemaldamist, mis säilitab stringi-, malli- ja regulaaravaldise literaalid.
Koodiabistaja ja LLM-i vahelise liikluse MITM-pealtkuulamine ja -analüüs andsid sisendi Traffic Inspectori varajastele nõuetele. Neli varem tuletatud moodulit — SSE ühendamine, vestluste normaliseerimine, saladuste maskeerimine ja päiste puhastamine — on asendatud sõltumatute puhtalt ruumilise rakendustega, mis põhinevad avalikel protokollistandarditel. Kaks hosti läbipääsu pinda (passthrough.ts ja _internal/bypass.cjs) jäävad OmniRoute'i sisemisteks, eraldi klassifitseeritud rakendusteks; neid ei kirjutatud selle asendamise käigus ümber.
Läbipaistev protsessipõhine puhverserveri marsruutimine — see inspireeris meie krahhikindlat MITM-i sulgemist, sokli jõudeaja aegumisi, /proc-i protsesside omistamist ja TPROXY-püüdmist.
Hoolikalt koostatud turvaliste vaikeseadetega teekide loend, mis suunab meie turbevalikuid (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
See inspireeris päringute duplikaatide eemaldamist, hädaolukorra tasuta varuvarianti, ühendatavaid Auto-Combo strateegiaid ja mitmekeelset kavatsuste klassifitseerimist.
Selle kontoteadlik mudelite ümbervastendamine, täidetavate failide tee valideerimine ja plaanisiltide käitumine andsid sisendi OmniRoute'i Antigravity käituskeskkonnale.
**[⬆ Tagasi üles](#-omniroute)** · Loodud ❤️ abil avatud lähtekoodiga tehisintellekti kogukonna jaoks.
Loonud Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · MIT-litsents · omniroute.online