## 💰 ~1,62 mld tokenit kuus kolmandate osapoolte tasuta tasemetelt
> **Kasutage omaenda teenusepakkujate kontosid.** Tegemist on hinnangulise koondarvuga eraldi abikõlblike kolmandate osapoolte tasuta tasemetete üle, mitte OmniRoute'i tokenitoetusega. Registreeruge, hankige vajaduse korral mandaadid ja ühendage teenusepakkujad, mida saate kasutada; iga teenusepakkuja määrab ise oma limiidid, saadavuse ja tingimused.
>
> Tasuta tasemete käsitsi virnastamine on tüütu — kümneid SDK-sid, kümneid päringusageduse piiranguid ja aimugi, kui palju teil tegelikult kasutada on. OmniRoute katalogiseerib **467 tasuta taseme kirjet 34 korduva pooli võtme ulatuses** ja arvutab tokenite pea-arvu **17 pooli põhjal, millel on avaldatud positiivne kuueelarve, pluss viis mudelipõhist Groq ülempiiri**, kusjuures jagatud poolide duplikaadid on eemaldatud. Kvoodid, mis avanevad alles pärast piirkondlikku isikutuvastust (praegu: ModelScope), kuvatakse eraldi — +~6 mln piirkondliku isikutuvastuse taga — ja neid ei liideta kunagi pea-arvu. Tulemus jääb nähtavale armatuurlaual (`/dashboard/free-tiers`).
> Reaalajas lehe `/dashboard/free-tiers` animeeritud kokkuvõte. Täielik metoodika (poolide deduplikatsioon, krediiditasemed, teenusepakkujate tingimused): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Neid arve auditeeritakse iga kahe nädala tagant uuesti reaalajas kataloogi alusel ja need **liiguvad mõlemas suunas** — teenusepakkuja lõpetab tasuta taseme ja arv langeb; uus lisandub ja see tõuseb. Avaldame selle, mida kataloog tegelikult arvutab, mitte kunagi ülespoole ümardatud parimat varianti.
⭐ Andke repositooriumile tärn, kui OMNIROUTE aitas teil raha kokku hoida ja teie tööd 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 haldurit — saage uued teenusepakkujad, väljaanded ja näpunäited esimese seas:**
[](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, teenusepakkujate näpunäited, teekaart ja tugi → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Lüüs jätkab kasvamist
## 🆓 Paigalda, ühenda teenusepakkuja, seejärel suuna läbi ühe lõpp-punkti
```bash
# Pärast teenusepakkuja ühendamist kopeeri oma OmniRoute'i võti jaotisest Armatuurlaud → Lõpp-punktid:
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 sobivat marsruuti. Värske paigalduse korral ei pruugi olla ühtegi sobivat võtmeta sihtmärki ja võtmeta teenusepakkuja võib kolmanda osapoole kliendid tagasi lükata. Teenusepakkujad, kes on märgitud `tos: avoid`, sealhulgas Kiro, on vaikimisi automaatsest suunamisest välja jäetud; konto ühendamine ei tühistada seda seadet. Enne teenusepakkuja valimist tutvu [tasuta tasemete juhendiga](docs/getting-started/FREE-TIERS-GUIDE.md).📦 Kopeerimisvalmis kiirjuhendi skriptid **Pythoni, Node.js-i, PHP ja cURL-i** jaoks → [`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)
## 🏆 Mis eristab OmniRoute'i teistest
📊 Täielik metoodika & funktsioonipõhised üksikasjad võrreldes 9routeri, OpenRouteri, CLIProxyAPI & 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
> Viimased tähtsad täiendused versioonidest **v3.8.20 → v3.8.53**. Täielik ajalugu failis [`CHANGELOG.md`](CHANGELOG.md).
- **⚖️ `quota-weighted` marsruutimine** — 20. kombostrateegia jätab ammendunud kontod vahele, seejärel valib ülejäänute seast proportsionaalselt järelejäänud kvoodi ÷ käimasoleva koormusega, hoides olemasolevad vestlused kinnitatuna. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🧰 Headless-režiim** — `omniroute serve --headless` (või `OMNIROUTE_HEADLESS=1`) käivitab ainult `/v1/*` puhverserveri mootori, armatuurlaud ja ainult armatuurlauale mõeldud alamsüsteemid on välja lülitatud. → [Headless-režiim](docs/guides/HEADLESS.md)
- **🔎 Mudelite avastamine** — `/v1/models` filtreerib võimekuse, konteksti, liigi ja teksti järgi ning `POST /v1/models/query` tagastab lühikese deterministliku valikunimekirja sama võtmepõhise nähtavusega. → [API viide](docs/reference/API_REFERENCE.md)
- **🔑 Võtmepõhine marsruutimise juhtimine** — kinnita API-võti ühe mudeli või kombo külge parameetriga `forcedModel` ning lisa või eemalda võtme mudeleid ja kombosid aatomselt (`/api/keys/{id}/access`). → [API viide](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml)
- **🛡️ Täpsemad PII-juhtelemendid** — tüübipõhine valik, kuni 20 valideeritud kohandatud maskeerimismustrit ja tüübipõhised tuvastusloendurid; maskeerimine ise jääb valikuliseks. → [Kaitserauded](docs/security/GUARDRAILS.md)
- **🌍 67 keelt** — armatuurlaud, dokumentatsiooni peeglid ja CLI, kusjuures `npm run i18n:add-locale` lisab keele kõikjal üheainsa käsuga. → [i18n juhend](docs/guides/I18N.md)
- **🎛️ OmniConductor** — sissetulev A2A-delegeerimine sinu agentide laevastikku, Conductori oskused agendikaardil ning armatuurlaua paneel Faro push-to-talk häälvestlusega. → [A2A Server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptiivne vastuvõtt ja ülekoormuskaitse** — mahukad vestluspäringud lähevad järjekorda 503-vea asemel, koos aatomsete RPM-i rulluvate liisingutega ühenduse kohta. → [Vastupidavuse juhend](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanooniline `/v1/models` järjestus** — üks katkematu pakkujapõhiselt rühmitatud plokk iga pakkkuja kohta (kombod kinnitatud esimesena), stabiilne kõigi kataloogiallikate vahel. → [API viide](docs/reference/API_REFERENCE.md)
- **🗜️ Tihenduse tugevdamine** — vaikimisi sisse lülitatud paisumiskaitse, Cavemani paketid keeltele DE / FR / JA + hiina keel (wényán), RTK-filtrid Gradle'i ja .NET-i jaoks. → [Tihendus](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Aus fikseeritud hinnaga kulu** — tellimus- / kodeerimisplaani pakkujad kuvatakse kuluanalüütikas väärtusega **$0**; eelarve, kvoot ja marsruutimine jätkavad hindamist. → [API viide](docs/reference/API_REFERENCE.md)
- **⚖️ Kvoodijagamise marsruutimine** — jaga jagatud konto kvoot õiglaselt koondatud võtmete vahel, tööhõive säilib, nii et jõude olevad osad laenatakse välja. → [Vastupidavuse juhend](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 Ühe käsuga CLI/agentide seadistus** — 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+mudeli valija ja kontekstipõhiste lemmikutega. → [CLI integratsioonid](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Kaugrežiim** — juhi kaug-OmniRoute'i piiratud ulatusega tokenitega (`connect` / `contexts` / `tokens`) + `antigravity` OAuth-abiline VPS-i paigalduste jaoks. → [Kaugrežiim](docs/guides/REMOTE-MODE.md)
- **🧭 Nutikam automaatmarsruutimine** — `auto/:` kombod, **Fusion** (mudelipaneel + kohtunik), ülesandeteadlik marsruutimine, päringupõhised mudeli / režiimi / USD-eelarve ülekirjutused. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Ühendatav tihendus** — 12 komponeeritavat mootorit + Compression Studios: LLMLingua-2, kahetasandiline Ultra, omniglyph, sammupõhine täpsusvärav, GCF v3.2, lohistamisega ümberjärjestamise redaktor. → [Tihendus](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Läbipaistev MITM-dekrüptimine (TPROXY)** — püüa kinni CLI-d, mis ignoreerivad puhverserveri keskkonnamuutujaid, SNI-põhise CA ja usaldussalve paigaldajaga. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kulutelemeetria kõikjal** — `X-OmniRoute-*` kulu-/kasutuspäised igal lõpp-punktil, cache-HIT kokkuhoiu päis, võtmepõhised USD-kulukvoodid. → [API viide](docs/reference/API_REFERENCE.md)
- **🧠 Sinu kontrollitav mälu** — vaikimisi välja lülitatud, valikuline int8-vektorkvantiseerimine + tüübitud hääbumine, päringupõhine `x-omniroute-no-memory`. → [Mälu](docs/frameworks/MEMORY.md)
- **🛡️ Turvalisus** — prompt-injektsiooni kaitse igal LLM-marsruudil (red-team testikomplekt), valikuline mandaatide maskeerimise kaitseraud (muudab lekkinud API-võtmed/saladused loetamatuks mõlemas suunas), tasuta DuckDuckGo viimase abinõuna veebiotsing ning valikuline OIDC-sisselogimisvärav armatuurlauale (parooliga sisselogimine jääb alati saadavale). → [Kaitserauded](docs/security/GUARDRAILS.md)
- **🖼️ Uued lõpp-punktid** — `/v1/ocr` (Mistral OCR) ja `/v1/audio/translations` (Whisperi-stiilis) täiendavad meediapinda. → [API viide](docs/reference/API_REFERENCE.md)
- **🎨 Pildi / video / heli genereerimine** — üks API meedia jaoks: xAI Grok Imagine ja Novita AI video, ComfyUI, Magnific, Adobe Firefly, Segmind ning kõnepakkujad nagu ElevenLabs. → [API viide](docs/reference/API_REFERENCE.md)
- **🌍 Kasutuselevõtt ja haldus** — pöördpuhverserveri `basePath`, brauserikeele automaattuvastus, võtmepõhine seadmete jälgimine, root-õigusteta MITM-usaldus, zh-TW lokaliseerimine. → [Keskkond](docs/reference/ENVIRONMENT.md)
- **🤝 Rohkem pakkujaid ja agente** — pilveagendid (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) brauseri + OAuth-sisselogimisega, Ollama esmaklassiline kaart, Claude Opus 5 ja Sonnet 5, Kimi ametlik partnerlus (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… ning värskendatud **375 pakkujaga kataloog**. → [Pakkujad](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Marsruutimise läbipaistvus** — iga vastus kannab `X-OmniRoute-Decision` päist, mis nimetab seda teenindanud strateegia/pakkuja/latentsuse, uus `cache-optimized` kombostrateegia + Auto-Combo `cacheAffinity` tegur suunavad korduvad päringud tagasi vahemälus eesliidet hoidva ühenduse juurde ning kirjutuskaitstud `/v1/auto-combo/{channel}/candidates` lõpp-punkt paljastab `auto/*` kanali reaalajas kandidaatide kogumi. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Kohalik jõudlus ja taristu** — ühe klõpsuga käivitatav kohalik Redis, Cloudflare Workers / Deno Deploy releejuurutajad, Bifrost ja Mux järelevalvatute sisseehitatud teenustena. → [Sisseehitatud teenused](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Samuti komplektis** — pluginaraamistik + turg, Omni/Agent/GitHub oskusteraamistikud, Obsidiani vault-integratsioon (22 MCP tööriista), OpenAI-ühilduvad Batch & Files API-d, semantiline vastuste vahemälu, mängustamine edetabelitega, ACP agentide tuvastus (15 sisseehitatud agenti), ajastatud logide eksport BigQuery'sse, `auto/chaos` paralleelne mitme mudeli fan-out, Telegrami boti sild, rakendusesisene versioonihaldur ja LMArena-ELO tasuta pakkujate edetabelid. → [Dokumendid](docs/README.md)
## 🤖 Ühilduvad CLI-d ja programmeerimisagendid
> Üks konfiguratsioon — `http://localhost:20128/v1` — ja **iga** tehisintellektiga IDE või CLI töötab tasuta ja soodsate mudelitega.
**Käivitage OmniRoute'i kaudu mis tahes toetatud CLI ühe käsuga** — konfiguratsioonifaile ei kirjutata,
autentimisteave lisatakse iga protsessi jaoks eraldi ning 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 valige interaktiivselt teenusepakkuja ja mudel ning kirjutage tööriista enda konfiguratsioon:
omniroute configure codex # samuti: claude opencode qwen aider goose gemini cline continue kilo 5dive
```
Iga käsk arvestab aktiivset kaugkonteksti (`omniroute connect `), `--dry-run`
näitab enne käivitamist täpseid keskkonnamuutujaid ja argumente ning `--api-key-env NAME` hoiab saladused
teie shell'i ajaloost eemal. → [CLI-integratsioonid](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 375 AI-teenusepakkujat — 153 kataloogis tasutaks märgitud
> **375 registreeritud teenusepakkujat** kanoonilistes vestlus-, meedia-, otsingu-, kohalike, pilveagendi- ja süsteemikogudes, sealhulgas **153, millel on kaasas `hasFree: true` avastusmetaandmed**. Vestlusmudelite register hõlmab **239 pakkujat / 3 059 unikaalset pakkuja–mudeli paari / 1 475 algset mudeli ID-d**; eraldi tasuta eelarve kataloogis on **467 mudelipõhist rida**, **34 korduvat pooli** ja **51 korduvat/võtmeta igavesti tasuta pakkujat**. Need on taotluslikult erinevad nimetajad; definitsioonid ja poolide dedupleerimisega arvutused asuvad dokumendis [Teenusepakkujate teatmik](docs/reference/PROVIDER_REFERENCE.md) ja [Tasuta tasemed](docs/reference/FREE_TIERS.md).
### 🏢 Kõik suuremad laborid — läbi ühe lõpp-punkti
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…ja üle 350 teise — iga ikoon lahendatakse reaalajas armatuurlaua teenusepakkujate kataloogist. 📖 [Teenusepakkujate teatmik](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Igavesti tasuta — 0 $, ilma kaardita
OpenCode Zen DeepSeek V4, Nemotron 3 Tõkeni ülempiir puudub
Kilo Code Automaatruuter, Tencent Hy3 Igavesti tasuta
### 🧩 Uus: OmniRoute VS Code'i natiivses Copilot Chatis
> Ei mingit uut külgriba ega uut vestlusliidest — iga OmniRoute'i pakutav mudel kuvatakse otse
> **Copilot Chati mudelivalijas, mida sa juba kasutad**. Alates VS Code 1.122-st töötavad teenusepakkujate mudelid
> ilma GitHubi sisselogimise või Copiloti tellimuseta — agendirežiim, tööriistade kutsumine ja piltnägemine
> tasuta.
Installi laiendus **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, suuna see
oma OmniRoute'i serverile (vaikimisi `localhost:20128`) ja seejärel ava Copilot Chat → mudelivalija
→ **Halda mudeleid…** → **OmniRoute**.
Redaktoris ava vaade **Laiendused**, otsi märksõna **„OmniRoute”** ja klõpsa **Installi**
— see töötab mõlemas poes ühtemoodi. Lähtekood, probleemid ja avaldamise tegevusjuhend asuvad aadressil
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [VS Code Copilot Chati juhend](docs/guides/VSCODE-COPILOT.md) — seadistamine, mida valija näitab, juhtpaneel vahekaardil, tõrkeotsing
### 🎩 Uus: OmniRouteTray — sinu lüüs, mis elab menüüribal
> `omniroute serve` töötab kõige paremini siis, kui see on alati sisse lülitatud. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> muudab selle macOS-i menüüribarakenduseks, mille saad seadistada ja unustada: see käivitab serveri, hoiab seda töös
> ka pärast taaskäivitamist, värskendab seda kohapeal ja teeb sinu reaalajas tokenieelarve kättesaadavaks ühe klõpsuga — **pole vaja
> terminaliakent avatuna hoida ega käsku `npm install -g omniroute` pidevalt valvata.**
See on loodud raamistikuga [Tauri v2](https://v2.tauri.app/) (Rustil põhinev tuum, mille suurus on kaduvväike) ning sisaldab
oma allkirjastatud Node 24 käituskeskkonda ja haldab rakendusele kuuluvat OmniRoute'i installi, mistõttu ei lähe see kunagi vastuollu sinu
globaalse `node`/`bun`-iga. See **kasutab sinu olemasolevat `~/.omniroute/` konfiguratsiooni ja andmebaasi** — seega on tegu
sama OmniRoute'iga, mida sa juba kasutad, ainult et nüüd on sellel müts peas. 🎩
Mida see teeb
Kuidas
🟢 Jälgib serverit
Käivitab käsu omniroute serve ja võtab juba töötava eksemplari üle, selle asemel et seda dubleerida
📊 Reaalajas kasutus ühe pilguga
Teenusepakkujate kvoodiribad, Claude'i seansi- ja nädalapiirangud koos lähtestamiseni jäänud aja loenduritega, 30 päeva kulude jaotus
🔄 Automaatsed kohapealsed värskendused
Etapiviisiline installimine, atomaarne vahetus, tõrke korral tagasipööramine — alati uusim väljalase
🚀 Käivitamine sisselogimisel
Valikuline käivitamine sisselogimisel; ainult süsteemisalves, dokiikooni pole
🩺 Diagnostika ja logid
Ühe klõpsuga diagnostika ja juurdepääs serverilogidele
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Eelistad allalaadimist? Hangi uusim .dmg jaotisest
Väljalasked. Lähtekood, probleemid ja koostamise
dokumentatsioon asuvad aadressil zoispag/omniroute-tray.
💛 Kogukonnaprojekt, mille autor on @zoispag — see ei ole ametlik OmniRoute'i väljalase.
> 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 15–95% tokeneid — automaatselt
### 📖 Kuidas see töötab — pipeline, arhitektuur ja säästuarvutused
Vaikimisi virnastatud kombo käivitab `RTK → Caveman`. Kui mõlemad rakenduvad samale tööriista/konteksti payload'ile, säästud liituvad:
```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äilitusmootori poolt **alati kaitstud**.
> **Miks kasutada palju tokeneid, kui vähestestki piisab?** Iga päring läbib OmniRoute'i pakkimise pipeline'i **läbipaistvalt** — ilma kliendimuudatusteta. Tegu on nüüd **12 komponeeritava mootori virnaga**, mis töötavad järjest ja mida saab marsruutimiskombo kaupa vabalt segada ja sobitada — tuginedes ideedele projektidest [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).
### 🧱 12 mootori virn
Mootorid töötavad pipeline'i järjekorras; igaüht saab iga kombo kohta eraldi sisse/välja lülitada ja seadistada:
#
Mootor
Mida see teeb
1
Session-Dedup
Eemaldab käikude vahel korduva sisu (sisupõhiselt adresseeritud, käikudeülene)
2
CCR
Arhiveerib suured plokid hankemarkerite taha, need tuuakse vajaduse korral tagasi
Katseline konteksti-pildina-kodeerimine mõõdetud Claude Fable 5 jaoks otse Anthropicu liidesel; GPT 5.6 transformer-mudelid püsivad kuni pakkujatõenditeni rikkekinnises (fail-closed) olekus. Neli pakkimisprofiili (aggressive default, balanced, coding-safe, passthrough) (kõige agressiivsem; opt-in)
Koodiplokid, URL-id ja struktureeritud andmed **säilitatakse alati** baiditäpselt. **Ühe klõpsu eelseadistused** ühendavad mootorid:
Režiim
Sääst
Sobib kõige paremini
🪶 Lite
~15%
Alati sees, ohutu vaikevalik
🪨 Standard (Caveman)
~30%
Igapäevane kodeerimine
⚡ Aggressive
~50%
Pikad, tööriistarohked seansid
🔥 Ultra
~75%
Maksimaalne sääst
🧰 RTK
60–90%
Shelli-, testi-, buildi- ja giti-väljund
🔗 Stacked (RTK → Caveman)
78–95%
Segatud promptid + tööriistalogid
**Tegelik näide — režiim Standard:**
> **Enne (69 tokenit):** _"Põhjus, miks su Reacti komponent uuesti renderdab, on tõenäoliselt see, et sa lood igal renderdamistsüklil uue objektiviite. Kui edastad propina reasisese objekti, peab Reacti madal võrdlus seda iga kord teistsuguseks objektiks, mis käivitab uusrenderduse. Soovitaksin objekti memoiseerimiseks kasutada useMemo'd."_
>
> **Pärast (19 tokenit):** _"Uus objektiviide igal renderdusel. Reasisene objekti-prop = uus viide = uusrenderdus. Mähi useMemo'ga."_
>
> **Sama vastus. 72% vähem tokeneid. Null täpsuskadu.** ✅
**PT-BR näide — [Troglodita](https://github.com/leninejunior/troglodita) režiim:**
> **Enne (42 tokenit):** _"Probleem on selles, et komponent renderdub uuesti, kuna igal renderdamistsüklil luuakse objektile uus viide. Soovitaksin kasutada useMemo."_
>
> **Pärast (12 tokenit):** _"Uusrenderdus: uus viide igal tsüklil (inline-objekt taasloodud). Kasutada `useMemo`."_
>
> **Sama vastus. ~70% vähem tokeneid. Tehniline täpsus puutumatu.** ✅
### 🎚️ Enamat kui mootorid — väljundstiilid, adaptiivne regulaator ja päringupõhine juhtimine
Ülaltoodud 12 mootorit kahandavad seda, mis läheb **sisse**. Kolm täiendavat kihti kujundavad, **kuidas**, **millal** ja mis tuleb **välja**:
- **🪄 Väljundstiilid** _(väljundtelje juhtimine)_ — sisestavad deterministlikud, vahemäluohutud vastust kujundavad juhised; kombineeritavad, igaüks intensiivsusega `lite` / `full` / `ultra`. Stiili lisamine on üherealine registrikirje:
- **Lühike proosa** — jätab välja täitesõnad / artiklid / kõhklused; tehniline sisu püsib täpne.
- **Vähem koodi** — "laisa kogenud arendaja" YAGNI: kõige väiksem toimiv muudatus, ilma tellimata lisaraamistikuta.
- **Ponytail (laisk kogenud arendaja)** — roni YAGNI-redelil üles, paranda algpõhjus, kõige väiksem toimiv diff.
- **Mul on ADHD (tegevus eeskohal)** — järgmine tegevus tuleb esimesena, sammud nummerdatud, üks konkreetne järgmine samm, ilma sissejuhatuseta.
- **Lühike CJK (文言)** — klassikalise hiina keele ülilühike stiil (piiratud lokaadile `zh`).
- **🎯 Adaptiivne kontekstieelarve** _(regulaator)_ — ühe sisse/välja tokeniläve asemel eskaleerib odavaimad, kõige kadudeta mootorid ainult nii kaugele, kui on vaja **mudeli kontekstiaknasse äramahutamiseks**. Poliitika: `reserve-output` (vaikimisi, mudeliteadlik) · `percentage` · `absolute`. Režiim: `floor` (garanteerib äramahutamise) · `replace-autotrigger` (teie selgesõnaline valik võidab) · `off` (pärandlävi).
- **🎛️ Kus tihendamine otsustatakse** _(tähtsusjärjestus, kõrgeim → madalaim)_ — päringupõhine `x-omniroute-compression` päis › marsruutimiskombo ülekirjutus › aktiivne nimega profiil › adaptiivne / automaatne käivitus › paneeli vaikesäte › välja lülitatud. Rakendatud plaan kajastub tagasi vastuse päises `X-OmniRoute-Compression: ; source=`.
Käivitage tokeniläve järgi automaatselt, lülitage sisse adaptiivne regulaator, kinnitage nimega profiil, määrake ühekordne seade päringu kohta või omistage torujuhe igale marsruutimiskombole — kumb iganes töökoormusele sobib. Valikuline võrguühenduseta **hindamisraamistik** (`npm run eval:compression`) hindab kinnitatud korpusel truudust võrreldes kokkuhoiuga enne, kui muudatuse kasutusse võtate.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Kiire alustamine
**1) Paigaldamine ja käivitamine**
```bash
npm install -g omniroute
omniroute
```
> 💡 Kas näete hoiatust `npm warn ERESOLVE` või peer-dep hoiatusi? [Need on kahjutud](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
> **Kas kasutate npm 11 või uuemat versiooni?** npm võib blokeerida pakettide elutsükliskripte, kui neid pole lubatud. OmniRoute'i `postinstall` (`node scripts/build/postinstall.mjs`) on vajalik selle natiivsete käitusfailide ettevalmistamiseks. Globaalsel installimisel lubage npm-i hoiatuses nimetatud paketid. OmniRoute 3.8.53 teatatud paketikomplekti jaoks:
>
> ```bash
> npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute
> ```
>
> Selle lubamisloendi taaskasutamiseks tulevastel globaalsetel installimisel seadistage see üks kord, seejärel installige 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 väljalasete vahel muutuda; kui npm teatab teistsugusest loendist, kasutage selle hoiatuse pakettide nimesid. Paketi lubamine võimaldab selle installiskriptidel käivituda.
> **Kas kasutate Gemini Web'i või mõnda muud veebiküpsise-pakkujat?** npm-pakett sisaldab
> Playwright'i, kuid mitte selle Chromiumi binaarfaili. Vaadake
> [Playwright'i Chromiumi seadistamise](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium)
> märkust enne esimese veebipakkuja päringu tegemist.
Juhtpaneel aadressil `http://localhost:20128` · API aadressil `http://localhost:20128/v1`.
**2) Ühendage oma kontoga sobiv pakkuja**
Juhtpaneel → **Pakkujad** → valige pakkuja, kelle praegused tingimused ja kvoot sobivad teie kasutusjuhuga → lisage selle API-võti või lõpetage konto voo läbimine. Tasuta tasemed võivad nõuda registreerimist, kinnitust või makseviisi. Vaadake [tasuta tasemete juhendit](docs/getting-started/FREE-TIERS-GUIDE.md); võtmeta kättesaadavus pole garanteeritud ning pakkujad, kes on märgistatud `tos: avoid`, on vaikimisi `auto`-st välistatud.
**3) Suunake oma kodeerimistööriist**
```txt
Base URL: http://localhost:20128/v1
API Key: [kopeerige juhtpaneelilt → Endpoints]
Model: auto (marsruudib sobivate ühenduste vahel — või valige pakkuja/mudel)
```
**4) Kontrollige, et kõik töötab**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Peaksite nägema oma ühendatud mudelite loendit. 🎉 Nii see ongi — hakake kodeerima ja OmniRoute marsruudib päringud ning lülitab tõrke korral teie eest automaatselt ümber.
Kui teie 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
```
Kasutage neid ainult klientide puhul, kes ei suuda lisada `Authorization: Bearer ...`. Päisepõhine autentimine jääb eelistatuks.
## 📦 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.
Testkatvuse strateegia enam kui 56,000 staatilise testideklaratsiooni jaoks enam kui 7,800 jälgitavas testifailis
# ⭐ Parimad kaastöölised
> OmniRoute'i kujundab kirglik avatud lähtekoodiga kogukond. Need inimesed on teinud erakordse panuse, mis mõjutab otseselt projekti kvaliteeti, stabiilsust ja ulatust. **Suur tänu.**
### Välised kaastöölised liidetud PR-de järgi
Loendus tehti 2026-10-18 15:09:09 UTC ajal, kui aktiivse release/v3.8.52 haru tipp oli 656f01cb43. Leheküljendatud GitHub GraphQL loendus sisaldab 9,191 liidetud PR-i: 3,834 hoidla omanikult, 229 Dependabotilt, 6 muudelt bottidelt/rakendustelt ning 5,122 välist PR-i 835 erinevalt kaastööliselt. „Muudetud ridu" tähendab GitHubi lisatud + kustutatud ridu ning hõlmab genereeritud faile, lukustusfaile, katalooge, tõlkeid ja dokumentatsiooni; see on muudatuste maht (churn), mitte autorite kirjutatud koodiridade arv. 49 PR-i korral on GitHubi erinevus üle 500,000 rea (näiteks #13399, ühe teenusepakkuja lisamine, loetleb 2,347 muudetud faili), mis suurendab mitmeid ülaltoodud kogusummasid. Viigi korral jagatakse sama kohta.
### GitHubi omistatud commitid
Taaskontrollitud 2026-10-18 14:44:45 UTC: hoidla Contributors API poolt vaikeharu release/v3.8.52 kohta teatatud GitHubi omistatud commitid. API tagastas 849 identiteeti (429 kasutajat, 2 boti, 418 anonüümset); see tabel jätab välja haldaja, botid ja anonüümsed identiteedid ning säilitab viigiseisud. See erineb nii ülaltoodud ühendatud PR-ide edetabelist kui ka allpool olevast Giti metaandmete loendusest.
> 🙏 Nende kaastöötajate loodud funktsioonid, veaparandused ja taristutäiustused on **põhiosa** sellest, mis muudab OmniRoute'i usaldusväärseks ja funktsiooniderohkeks. Iga pull request, iga testjuhtum ja iga i18n tõlkefail loeb. Avatud lähtekoodi ehitavad just 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.
## 👥 900+ panustajat
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Auditeeritud 2026-10-18 haru release/v3.8.52 aktiivses tipus ad160ab2d1 (6 826 commit'i): 993 normaliseeritud Gitiga seotud inimidentiteeti — 707 esinevad commit'ide autoritena (sealhulgas hooldaja) ja 286 ainult sõnaselgetes Co-authored-by-järelkirjetes. Loendusel rakendatakse .mailmap-faili, võrreldakse e-posti aadresse tõstutundetult, ühendatakse numbrilised ja tavalised GitHubi noreply-aadressid ainult siis, kui need kodeerivad sama kasutajanime, jäetakse välja 26 roboti-, agendi-, teenuse- või kohatäiteidentiteeti ning tavalisi e-posti aadresse ei ühendata pelgalt seetõttu, et nende kuvatavad nimed ühtivad. 2026-08-24 audit avaldas tulemuseks 639; selle meetodi uuesti rakendamine tolle auditi baasile ac02c5b42f annab tulemuseks 619, seega tuleneb kasv uutest panustajatest, mitte leebemast meetodist.
### Kuidas panustada
1. Forkige repositoorium
2. Looge haru **aktiivse** `release/vX.Y.Z` tipu põhjal (mitte `main`-harust) — vt [Harude ja väljalasete mudel](docs/ops/BRANCHING_MODEL.md)
3. Looge oma funktsionaalsusharu (`git checkout -b feat/amazing-feature`)
4. Commit'ige oma muudatused (`git commit -m 'feat: add amazing feature'`)
5. Lükake muudatused harusse (`git push origin feat/amazing-feature`)
6. Avage Pull Request, mille puhul **base = vastav `release/vX.Y.Z` haru**
Üksikasjalikke juhiseid vaadake failist [CONTRIBUTING.md](CONTRIBUTING.md).
### Uue versiooni väljalaskmine
```bash
# Looge väljalase — npm publish käivitub 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 **[9routeri](https://github.com/decolua/9router)** hargnemisest ja Go projekti **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** TypeScripti pordist — sealt edasi sai iga allolev alamsüsteem inspiratsiooni mõnest avatud lähtekoodiga projektist, mis oli selleni jõudnud varem. Igaüks neist kujundas OmniRoute'i mõnda konkreetset osa. See on meie tänu neile kõigile. 🙏
> ⭐ tärnide arvud on kontrollitud GitHubi REST API kaudu 18. oktoobril 2026 — minge ja andke neile projektidele tärn. Arvud on täpne kuupäevastatud hetkeseis ning muutuvad aja jooksul loomulikult.
### 🧬 Päritolu ja lüüs
Tehisintellektilüüs, mille avalik hinnastikuandmestik varustab meie kulude jälgimise sünkroonimist ning mille teenusepakkujate normaliseerimise mudel aitas kujundada meie marsruutimist.
Peamine grok2api-mergedi aluseks olev transitiivne koodiallikas; selle mudeli-, päise-, lasti-, Statsigi- ja töötlejateostused on Grok Webi päritoluliinis säilitatud.
Grokki lasti ja seadmete vaikesätete, Statsigi generaatori ning TQZHR-i ja grok2api-mergedi kaudu edasi kandunud result.response töötleja aluseks olev MIT-litsentsiga lähtekood.
Transitiivne allikas, millele grok2api-merged viitab oma puhverserverikihi eest; OmniRoute säilitab selle päritoluteate, kuid ei väida, et selle piiritletud Grok Webi täitur sisaldaks puhverserverikihi porti.
Grok Webi algne teostus lähtus selle HTTP-/brauseripõhisest ülesvoolulahendusest; selle otsene HTTP-tee pärineb GrokProxyst, mistõttu ei väideta, et tegemist oleks sõltumatu koodipordiga.
Ülipopulaarne projekt „miks kasutada palju sõnu, kui vähestest piisab“ — selle koopainimese kõne filosoofia on meie standardse tihendusrežiimi ning enam kui 30 täitesõnade eemaldamise ja kokkusurumise reegli alus.
Viibatihenduse uuringud (LLMLingua / LLMLingua-2) — inspireerisid meie asünkroonset, koodi säästvat ja tõrke korral algväljundit tagastavat llmlingua-mootorit.
PT-BR-i sõneüksuste tihendamine — meie pt-BR-i keelepaketi alus: pleonasmide vähendamine ja täitesõnade eemaldamine, mis on kohandatud Brasiilia portugali keele grammatikale.
Ülipopulaarne „laisa vanemarendaja“ YAGNI-kodeerimisoskus — inspireeris meie less-code-väljundistiili: väikseima toimiva muudatuse eelistamine, mis vähendab _genereeritud_ koodi (Cavemani napisõnalise proosa väljunditelje vaste).
Sisutundlik failitüübipõhine väljundi tihendamine koos tõrketeadliku loobumisega — kinnitas meie tüübipõhise suunamise ja minimaalse kasu puudumisel vahelejätmise lahendust.
Rustis loodud veeruline JSON + sisupõhine adresseerimine ja taastamine + sõnumiteülene deduplitseerimine — kinnitas meie headroom/ccr/session-dedup-mootorite ülesehitust ning vahemälustabiilset invarianti „tihendatud kuju ei sõltu asukohast“.
TypeScript Compiler API tööriistakomplekt — inspireeris meie parseripõhist kommentaaride eemaldamist, mis säilitab sõne-, mall- ja regulaaravaldisliteraalid.
Kodeerimisassistendi ↔ LLM-i liikluse MITM-pealtkuulamine/-analüüs aitas kujundada Traffic Inspectori varaseid nõudeid. Neli varem tuletatud moodulit — SSE ühendamine, vestluste normaliseerimine, saladuste maskeerimine ja päiste puhastamine — on asendatud sõltumatute clean-room-teostustega, mis põhinevad avalikel protokollistandarditel. Kaks hostist läbipääsu pinda (passthrough.ts ja _internal/bypass.cjs) on endiselt OmniRoute'i sisemised, sõltumatult klassifitseeritud teostused; neid ei kirjutatud selle asendamise käigus ümber.
Selle kontoteadlik mudelite ümbervastendamine, täitmisfaili tee valideerimine ja paketisiltide käitumine aitasid kujundada OmniRoute'i Antigravity käituskeskkonda.
**[⬆ Tagasi üles](#-omniroute)** · Tehtud ❤️-ga avatud lähtekoodiga AI-kogukonna jaoks.
OmniRoute v3.8.53 · Node ≥22.22.2 · MIT litsents · omniroute.online