# README (Suomi) 🌐 **Languages:** 🇺🇸 [English](../../../README.md) · 🇪🇹 [am](../am/README.md) · 🇸🇦 [ar](../ar/README.md) · 🇦🇿 [az](../az/README.md) · 🇧🇬 [bg](../bg/README.md) · 🇧🇩 [bn](../bn/README.md) · 🇧🇦 [bs](../bs/README.md) · 🇨🇿 [cs](../cs/README.md) · 🇩🇰 [da](../da/README.md) · 🇩🇪 [de](../de/README.md) · 🇬🇷 [el](../el/README.md) · 🇪🇸 [es](../es/README.md) · 🇪🇪 [et](../et/README.md) · 🇮🇷 [fa](../fa/README.md) · 🇫🇷 [fr](../fr/README.md) · 🇮🇪 [ga](../ga/README.md) · 🇮🇳 [gu](../gu/README.md) · 🇳🇬 [ha](../ha/README.md) · 🇮🇱 [he](../he/README.md) · 🇮🇳 [hi](../hi/README.md) · 🇭🇷 [hr](../hr/README.md) · 🇭🇺 [hu](../hu/README.md) · 🇦🇲 [hy](../hy/README.md) · 🇮🇩 [id](../id/README.md) · 🇳🇬 [ig](../ig/README.md) · 🇮🇹 [it](../it/README.md) · 🇯🇵 [ja](../ja/README.md) · 🇬🇪 [ka](../ka/README.md) · 🇰🇭 [km](../km/README.md) · 🇮🇳 [kn](../kn/README.md) · 🇰🇷 [ko](../ko/README.md) · 🇱🇹 [lt](../lt/README.md) · 🇱🇻 [lv](../lv/README.md) · 🇮🇳 [ml](../ml/README.md) · 🇮🇳 [mr](../mr/README.md) · 🇲🇾 [ms](../ms/README.md) · 🇲🇹 [mt](../mt/README.md) · 🇲🇲 [my](../my/README.md) · 🇳🇵 [ne](../ne/README.md) · 🇳🇱 [nl](../nl/README.md) · 🇳🇴 [no](../no/README.md) · 🇮🇳 [or](../or/README.md) · 🇮🇳 [pa](../pa/README.md) · 🇵🇭 [phi](../phi/README.md) · 🇵🇱 [pl](../pl/README.md) · 🇵🇹 [pt](../pt/README.md) · 🇧🇷 [pt-BR](../pt-BR/README.md) · 🇷🇴 [ro](../ro/README.md) · 🇷🇺 [ru](../ru/README.md) · 🇱🇰 [si](../si/README.md) · 🇸🇰 [sk](../sk/README.md) · 🇸🇮 [sl](../sl/README.md) · 🇷🇸 [sr](../sr/README.md) · 🇸🇪 [sv](../sv/README.md) · 🇰🇪 [sw](../sw/README.md) · 🇮🇳 [ta](../ta/README.md) · 🇮🇳 [te](../te/README.md) · 🇹🇭 [th](../th/README.md) · 🇹🇷 [tr](../tr/README.md) · 🇺🇦 [uk-UA](../uk-UA/README.md) · 🇵🇰 [ur](../ur/README.md) · 🇺🇿 [uz](../uz/README.md) · 🇻🇳 [vi](../vi/README.md) · 🇳🇬 [yo](../yo/README.md) · 🇨🇳 [zh-CN](../zh-CN/README.md) · 🇹🇼 [zh-TW](../zh-TW/README.md) ---
OmniRoute-hallintapaneeli

# 🚀 OmniRoute — Ilmainen tekoäly-yhdyskäytävä OmniRoute — Älä koskaan lopeta koodaamista. Jokainen tekoälytyökalu → 372 palveluntarjoajaa — yli 150 ilmaista — yhden päätepisteen kautta. Claude Code, Codex, Cursor, Cline, Copilot ja Antigravity ILMAISEEN Claudeen / GPT:hen / Geminiin automaattisella varajärjestelyllä. RTK:n ja Cavemanin pinottu pakkaus säästää 15–95 % tokeneista (keskimäärin noin 89 %) — rajat eivät koskaan tule vastaan. 372 tekoälypalveluntarjoajaa · yli 150 ilmaistasoa · noin 1,62 mrd. ilmaista tokenia/kk · 19 reititysstrategiaa · aloitus 0 $.
## 💰 ~1,62 mrd. tokenia kuukaudessa kolmansien osapuolten ilmaistasoilta
> **Käytä omia palveluntarjoajatilejäsi.** Tämä on arvioitu kokonaismäärä erikseen saatavilla olevilta kolmansien osapuolten ilmaistasoilta, ei OmniRouten myöntämä token-paketti. Rekisteröidy, hanki tarvittavat tunnukset ja yhdistä palveluntarjoajat, joita voit käyttää. Kukin palveluntarjoaja hallitsee omia rajojaan, saatavuuttaan ja ehtojaan. > > Ilmaistasojen yhdistäminen käsin on työlästä — kymmeniä SDK:ita, kymmeniä nopeusrajoituksia eikä mitään käsitystä siitä, kuinka paljon kapasiteettia sinulla todella on. OmniRoute luetteloi **489 ilmaistason tietuetta 35 toistuvan resurssipooliavaimen alla** ja laskee token-määrän **17 poolista, joilla on julkaistu positiivinen kuukausibudjetti, sekä viidestä mallikohtaisesta Groq-rajasta**, ja poistaa jaettujen poolien kaksoislaskennan. Kiintiöt, jotka avautuvat vasta alueellisen henkilöllisyystarkistuksen jälkeen (tällä hetkellä ModelScope), esitetään erikseen: +~6M alueellisen henkilöllisyyden vahvistamisen takana, eikä niitä koskaan lasketa mukaan pääotsikon lukuun. Tulos pysyy näkyvissä hallintapaneelissa (`/dashboard/free-tiers`). OmniRouten ilmaistasobudjettikortti: tasaisesti ~1,62 mrd. ilmaista tokenia kuukaudessa ja rekisteröitymiskrediittien ansiosta jopa ~2,22 mrd. ensimmäisen kuukauden aikana 35 dokumentoidusta toistuvasta resurssipooliavaimesta, jotka kattavat 489 luetteloitua ilmaistason tietuetta yhden päätepisteen takana. Rehellinen, poolien kaksoislaskennan poistava laskenta — kukin jaettu pooli lasketaan kerran, mukaan lukien 17 toistuvaa poolia, joilla on julkaistu positiivinen kuukausittainen token-budjetti, sekä viisi mallikohtaista Groq-rajaa; käyttöehtoriskien luettelossa 13 palveluntarjoajaa on merkitty vältettäviksi, joten päätös on sinun. Budjettipalkki sisältää Mistral 1B:n, Nara 210M:n, LLM7 150M:n, xKiro 150M:n, Groq 30M:n (viisi mallikohtaista rajaa) ja pienempiä pooleja sekä ensimmäisen kuukauden rekisteröitymiskrediitit. Pysyvästi ilmaiset palveluntarjoajat, joilla ei ole token-rajaa, esitetään erikseen, jotta ne eivät koskaan kasvata pääotsikon lukua. Reaaliaikainen käytetty/jäljellä oleva määrä osoitteessa /dashboard/free-tiers. > Animoitu yhteenveto reaaliaikaisesta `/dashboard/free-tiers`-sivusta. Täydellinen menetelmäkuvaus (poolien kaksoislaskennan poisto, krediittitasot, palveluntarjoajien ehdot): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Nämä luvut tarkastetaan uudelleen kahden viikon välein reaaliaikaista luetteloa vasten, ja ne **muuttuvat molempiin suuntiin** — kun palveluntarjoaja lopettaa ilmaistason, luku pienenee; kun uusi lisätään, se kasvaa. Julkaisemme sen, minkä luettelo todellisuudessa laskee, emmekä koskaan ylöspäin pyöristettyä parasta mahdollista arviota.

⭐ Anna repositoriolle tähti, jos OMNIROUTE auttoi sinua säästämään rahaa ja helpotti työtäsi.

[![Tähdet](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Tähtihistorian sijoitus](https://api.star-history.com/badge?repo=diegosouzapw/OmniRoute&theme=dark)](https://www.star-history.com/diegosouzapw/omniroute) [![olud.ai](https://olud.ai/badge.php?tool=diegosouzapw-omniroute)](https://olud.ai/project/diegosouzapw-omniroute.html) ### 💬 Liity yhteisöön **👋 Seuraa ylläpitäjää — saat tiedon uusista palveluntarjoajista, julkaisuista ja vinkeistä ensimmäisenä:** [![Seuraa Diegoa LinkedInissä](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Seuraa käyttäjää @diegosouzapw GitHubissa](https://img.shields.io/github/followers/diegosouzapw?style=for-the-badge&logo=github&logoColor=white&label=Follow%20on%20GitHub&color=181717)](https://github.com/diegosouzapw) [![Discord](https://img.shields.io/badge/Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white)](https://discord.gg/U47eFqAXCn) [![Telegram](https://img.shields.io/badge/Telegram-26A5E4?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/omnirouteOficial) [![WhatsApp Global](https://img.shields.io/badge/WhatsApp_Global-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) [![WhatsApp Brasil](https://img.shields.io/badge/WhatsApp_Brasil-25D366?style=for-the-badge&logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) [![Verkkosivusto](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) **Kysymykset, palveluntarjoajavinkit, etenemissuunnitelma ja tuki → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Maailmanlaajuinen](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasilia](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portaali](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Yhdyskäytävä jatkaa kasvuaan
| | v3.8.50 | **v3.8.51** | `v3.8.52+` | | ------------------------------------- | :---------------------------: | :---------: | :-------------------: | | 🌐 Palveluntarjoajat | 352 | **358** | 372 | | 🧠 Yksilölliset chat-mallitunnukset | 1320 | **1374** | 1443 | | 🖼️ Modaliteettisilta | 🆕 näkö + ääni + video | ✓ | ✓ | | 📡 Radarin ilmainen luettelo | 🆕 erikseen käyttöön otettava | ✓ | ✓ | | ⚖️ Kiintiöt huomioiva ajoitus | 🆕 Quota-Share | ✓ | ✓ | | 📊 Kiintiötelemetria | 🆕 reaaliaikainen | ✓ | ✓ | | 🧰 Päätön tila | — | — | 🆕 `serve --headless` | | 🛤️ LTS-julkaisulinjan infrastruktuuri | — | — | 🆕 julkaisukanavat | **→ [Etenemissuunnitelma](ROADMAP.md) — julkaisulinjaa pitkin kohti versiota `v3.9.0 LTS`**

## 🧩 Saatavilla [![npm-versio](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) ![NPM kuukausittain](https://img.shields.io/npm/dm/omniroute?label=npm/month&color=cb3837&logo=npm) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![Lisenssi: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](LICENSE) ![Docker-lataukset](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?label=docker%20pulls&logo=docker&color=2496ED) ![Electron-lataukset](https://img.shields.io/github/downloads/diegosouzapw/omniroute/total?style=flat&label=electron%20downloads&logo=electron&color=47848F)
🚀 Aloita 🚀 Pika-aloitus 📦 Asennus 🆓 Ei määrityksiä
💡 Opi 💥 Lupaus 🤔 Miksi OmniRoute 🏆 Mikä erottaa sen muista
⚙️ Ominaisuudet 🎯 Yhdistelmät 🌐 Palveluntarjoajat 🔌 CLI & MCP
🗜️ Pakkaus 🖥️ Missä se toimii 🔒 Yksityinen
👀 Katso 🎬 Toiminnassa ✨ Mitä uutta 🤖 Yhteensopivat CLI:t
💚 Tue 💚 Tue / Lahjoita 💬 Yhteisö 💖 Sponsorit
📦 Projekti 🛠️ Teknologiapino 📖 Dokumentaatio 👥 Osallistujat
🌐 67 kielellä

Englanti (en) Português — Brasil (pt-BR) Português (pt) Español (es) Français (fr) Italiano (it) Deutsch (de) Nederlands (nl) Русский (ru) Українська (uk-UA) Polski (pl) Čeština (cs) Slovenčina (sk) Română (ro) Magyar (hu) Български (bg) Dansk (da) Suomi (fi) Norsk (no) Svenska (sv) 中文 — 简体 (zh-CN) 中文 — 繁體 (zh-TW) 日本語 (ja) 한국어 (ko) ไทย (th) Tiếng Việt (vi) Bahasa Indonesia (id) Bahasa Melayu (ms) Filipino (phi) हिन्दी (hi) ગુજરાતી (gu) मराठी (mr) தமிழ் (ta) తెలుగు (te) বাংলা (bn) اردو (ur) فارسی (fa) العربية (ar) עברית (he) Türkçe (tr) Azərbaycan (az) Kiswahili (sw) Ελληνικά (el) Hrvatski (hr) Српски (sr) Lietuvių (lt) Eesti (et) Latviešu (lv) Slovenščina (sl) Malti (mt) Gaeilge (ga) ಕನ್ನಡ (kn) മലയാളം (ml) ଓଡ଼ିଆ (or) ਪੰਜਾਬੀ (pa) नेपाली (ne) සිංහල (si) မြန်မာ (my) ខ្មែរ (km) Hausa (ha) Yorùbá (yo) Igbo (ig) አማርኛ (am) Oʻzbekcha (uz) ქართული (ka) Հայերեն (hy) Bosanski (bs)


## 🆓 Asenna, yhdistä palveluntarjoaja ja reititä sitten yhden päätepisteen kautta
Kolme vaihetta: asenna ja käynnistä OmniRoute, yhdistä soveltuva palveluntarjoaja omalla tililläsi tai API-avaimellasi ja määritä sitten työkalusi käyttämään osoitetta localhost:20128/v1 OmniRoute-API-avaimella ja mallilla auto. Reititys riippuu käytettävissä olevista soveltuvista yhteyksistä ja palveluntarjoajien rajoituksista. ```bash # Kun olet yhdistänyt palveluntarjoajan, kopioi OmniRoute-avaimesi kohdasta Dashboard → Endpoints: curl http://localhost:20128/v1/chat/completions \ -H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` `auto` tarvitsee soveltuvan reitin. Uudessa asennuksessa ei välttämättä ole yhtään soveltuvaa avaimetonta kohdetta, ja avaimeton palveluntarjoaja saattaa hylätä kolmannen osapuolen asiakasohjelmat. Merkinnällä `tos: avoid` varustetut palveluntarjoajat, mukaan lukien OpenCode Free ja Kiro, jätetään oletusarvoisesti automaattisen reitityksen ulkopuolelle. Tilin yhdistäminen ei ohita tätä asetusta. Tutustu [ilmaistasojen oppaaseen](docs/getting-started/FREE-TIERS-GUIDE.md) ennen palveluntarjoajan valitsemista. 📦 Kopioitavat ja suoraan käytettävät pika-aloitusskriptit **Pythonille, Node.js:lle, PHP:lle ja cURLille** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Lupaus
Lupaus — yksi päätepiste ja 372 palveluntarjoajaa. Automaattinen varareititys jatkaa reititystä niin kauan kuin käytettävissä on toinen toimintakuntoinen kohde. Kuusi pilaria: häiriönkestävä varareititys 372 palveluntarjoajan välillä · jopa 95 %:n säästö tokeneissa soveltuvissa työkuormissa · aloitus 0 dollarilla yli 150 ilmaistason sekä 54 toistuvan tai avaimettoman ikuisesti ilmaisen palveluntarjoajan ansiosta · 36 CLI- ja agentti-integraatiota yhdellä määrityksellä · OpenAI-, Claude-, Gemini- ja Responses API -yhteensopivuus osoitteessa /v1 · tuotantokäytön hallintaominaisuudet, mukaan lukien katkaisijat, TLS-häivytys, MCP:n 110 työkalua, A2A, muisti, suojakaiteet, arvioinnit sekä yli 39 000 staattista testimääritystä yli 5 100 seuratussa testitiedostossa.

# 🤔 Miksi OmniRoute?
Miksi OmniRoute — lopeta tasapainoilu 10 hallintapaneelin, toimimattomien API-avainten ja yllättävien laskujen välillä. Kymmenen päivittäistä ongelmaa ja niiden ratkaisut: käyttämättä vanheneva kiintiö → hyödynnä tilaukset mahdollisimman tehokkaasti; nopeusrajoitukset kesken ohjelmoinnin → 4-tasoinen automaattinen varareititys (tilaus → API → edullinen → ilmainen); tokenien tuhlautuminen työkalujen tulosteisiin → RTK + Caveman-pakkaus (15–95 %); kalliit API:t → kustannusoptimoitu reititys; jokaisella työkalulla oma määrityksensä → yksi päätepiste, yksi hallintapaneeli; tekoäly estetty → 3-tasoinen välityspalvelin + TLS-häivytys; toimimattomat avaimet → 3-kerroksinen häiriönsieto (katkaisijat, avainten jäähdytys, mallien lukitus); tiimi jakaa yhden tilauksen → avainpoolit oikeudenmukaisesti jaetuilla kiintiöillä; kehotteet kulkevat jonkun muun pilven kautta → ensisijaisesti paikallinen, avaimet salattu AES-256-GCM-salauksella; ei näkyvyyttä kuluihin → reaaliaikainen analytiikka (käyttö, kiintiö, säästöt, p95-viive).
OmniRoute-pyynnön kulku: IDE:si tai CLI:si (Claude Code, Cursor, Cline…) kutsuu yhtä paikallista päätepistettä (http://localhost:20128/v1); OmniRoute Smart Router (RTK + Caveman-pakkaus, 19 reititysstrategiaa, katkaisijat, TLS-häivytys, MCP, A2A, suojakaiteet) voi käyttää varareititystä neljän palveluntarjoajatason välillä niin kauan kuin soveltuva toimintakuntoinen kohde on käytettävissä — taso 1: tilaus, taso 2: API-avain, taso 3: edullinen ja taso 4: ilmainen.

## 🤝 Avointen lähdekoodin ystäviemme tukema

Kimi K3 — Open Frontier Intelligence · 2.8T parameters · 1M-token context

> **Haluatko liittyä avoimen lähdekoodin ystäväksi?** Nämä ovat yrityksiä, jotka tukevat avointa lähdekoodia ja auttavat pitämään OmniRouten toiminnassa – ja me kerromme julkisesti, mihin jokainen heidän meille antamansa token menee. Ota yhteyttä: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi (Moonshot AI)
Kimi
Moonshot AI

Perustajajäsen avoimen lähdekoodin ystävä
Kiitos Kimille (Moonshot AI), perustajajäsenellemme avoimen lähdekoodin ystävälle, tämän projektin tukemisesta! Kimi on tekoälylaboratorio avoimen painon K2- ja K3-malliperheiden takana – Kimi K3 tarjoaa 1M-tokenin konteksti-ikkunan, natiivin näön ja huipputason koodauksen murto-osalla suljettujen mallien hinnoista, ja toimii suoraan Claude Coden, Codexistin ja kaikkien OmniRouten tukemien koodaustyökalujen kanssa.

Mitä Kimin tuki mahdollistaa: Kimin API-krediitit mahdollistavat OmniRouten tekoälyllä validoidun julkaisuputken – *Kimi K3:n tehostaman yhdistämisvalidoinnin* vaiheen, joka tarkistaa jokaisen pull-pyynnön ennen sen julkaisua – sekä päivittäisen ominaisuuskehityksen. Ensiluokkainen Kimi-tuki toimitetaan molemmilla tavoilla: suora [Kimi API](https://platform.kimi.ai?track_id=track-8197581fdd7d4139a0f562e4a03c3798&aff=omniroute) (kimi-k3) ja [Kimi Code -koodaussuunnitelma](https://www.kimi.ai/code?aff=omniroute) (OAuth ja API-avain). OmniRoute on myös ensimmäinen brasilialainen avoimen lähdekoodin projekti Kimin tukiohjelmassa. Hanki Kimi API-avain 15 % lisäkrediiteillä →
Cheaper Inference
Cheaper Inference
cheaperinference.com

Avoimen lähdekoodin ystävä
Kiitos Cheaper Inferencelle, OmniRouten avoimen lähdekoodin ystävälle, tämän projektin tukemisesta! Cheaper Inference on kustannusten mukaan järjestetty yhdyskäytävä, joka jälleenmyy 42 huippumallia – Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok ja MiniMax – yhden OpenAI-yhteensopivan päätepisteen takana, reitittäen jokaisen pyynnön edullisimmalle kelvolliselle palveluntarjoajalle veloittamatta koskaan yli mallinvalmistajan listahinnan.

Ensiluokkainen tuki OmniRoutessa: Chat Completions, natiivi /v1/responses-päätepiste, näkö, työkalukutsut ja 3 kuvamallia (grok-imagine, nano-banana-pro, nano-banana-2, saatavilla nimellä cheaperinference/<model>). Hanki API-avain →
Linkit, joissa on tunniste aff=omniroute, ovat kumppanilinkkejä. Ne rahoittavat projektia ilman lisäkustannuksia sinulle.
🎟️ Kumppanitarjoukset — ilmaisia rekisteröitymiskuponkeja palveluntarjoajilta, joita emme sponsoroi (napsauta laajentaaksesi) Tämä osio on tarkoitettu vain viittaus-/kuponkikoodeille. Sponsoroidut kumppanuudet löytyvät yllä olevasta osiosta **🤝 Avointen lähdekoodin ystäviemme tukema**. OmniRoutella ei ole sponsorointia tai kumppanuutta tässä lueteltujen palveluntarjoajien kanssa – nämä ovat julkisia kuponkeja, joita kuka tahansa voi käyttää.
AgentRouter
AgentRouter
agentrouter.org
AgentRouter — kumppanirekisteröityminen · $100 ilmaista krediittiä rekisteröitymisen yhteydessä (ilmainen palvelin, odotettavissa korkeampi viive – paras testaukseen, ei tuotantoon). Ensiluokkainen tuki OmniRoutessa versiosta v3.8.50 alkaen: Chat Completions, Anthropic-yhteensopiva tiedostomuoto ja OpenAI-yhteensopiva polku. Saatavilla olevia malleja ovat muun muassa claude-opus-4-8, claude-opus-5, gpt-5.6-sol. Hanki 100 $ →

⚠️ Kumppanilinkki – OmniRoutella ei ole sponsorointia tai kumppanuutta tämän palveluntarjoajan kanssa.
Tiedätkö toisen palveluntarjoajan, jolla on antelias ilmainen rekisteröitymiskuponki, joka hyödyttää OmniRouten käyttäjiä? Avaa ongelma, niin lisäämme sen tänne.

## 🎯 Kombot — lippulaivaominaisuus
Kaikki 19 komboreititysstrategiaa animoituina — yksi ruutu strategiaa kohden: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Katso yllä olevasta taulukosta, mitä kukin niistä tekee. > **Kombo** on malliketju, jonka välillä OmniRoute reitittää **automaattisesti**. Jos kiintiö loppuu, palveluntarjoaja vikaantuu tai kustannukset nousevat äkillisesti, kombo voi siirtyä seuraavaan kelvolliseen ja toimintakuntoiseen malliin. 🛡️ ### ⚡ Ei määrityksiä — käytä vain `auto` Komboa ei tarvitse luoda. Aseta malliksi `auto` (tai jokin sen muunnelma), niin OmniRoute muodostaa yhdistetyistä palveluntarjoajistasi virtuaalisen kombon, jonka pisteytys päivittyy reaaliajassa:
MallitunnusMitä se optimoi
auto🎯 Tasapainoinen oletus (LKGP — pysyy viimeksi toimineessa palveluntarjoajassa)
auto/coding🧑💻 Laatua painottavat painot koodin generointiin
auto/fast⚡ Pienin viive ensin
auto/cheap💰 Halvin tunnistetta kohden ensin
auto/offline🔋 Eniten vapaata kiintiötä / nopeusrajoituskapasiteettia ensin
auto/smart🔭 Laatu ensin + 10 % kokeilua parempien mallien löytämiseksi
auto/lkgp📌 Pysyy nimenomaisesti viimeksi toimineessa palveluntarjoajassa
auto/chaos🧪 Rinnakkainen hajautus mallipaneelille (yksi palveluntarjoajaa kohden, oletuksena 5), palauttaa yhden vastauksen; yksi ylävirran kutsu paneelin kutakin mallia kohden, ei vikojen injektointia
## ### 🔀 Tai rakenna omasi — 19 reititysstrategiaa Kaikki **19** strategiaa — yhdistele vapaasti kombon eri vaiheissa:
# Strategia Mitä se tekee
1 priority Ensimmäistä kohdetta painottava järjestetty luettelo — käytä kukin loppuun ennen seuraavaa 🥇
2 fill-first Käytä kunkin kohteen kiintiö kokonaan ennen seuraavaan siirtymistä
3 weighted Painotettu satunnaisvalinta kohdekohtaisten painojen perusteella
4 round-robin Kierrä kohteita järjestyksessä
5 p2c Kahden vaihtoehdon satunnaiseen valintaan perustuva kuormantasaus
6 least-used Valitse kohde, jonka nykyinen kuormitus on pienin
7 random Tasajakautunut satunnaisvalinta (kaksoiskappaleet poistetaan)
8 strict-random Satunnaisvalinta poistamatta toistoja 🎲
9 cost-optimized Minimoi pyynnön dollarikustannus reaaliaikaisten luettelohintojen perusteella 💸
10 headroom Valitse kohde, jolla on eniten kiintiötä jäljellä
11 reset-window Suosi kohdetta, jonka kiintiöjakso nollautuu pian
12 reset-aware Järjestä kiintiön nollautumisajan perusteella — lyhyet jaksot ensin 📊
13 context-relay Siirrä konteksti kohteiden välillä pitkissä keskusteluissa 🧠
14 context-optimized Valitse nykyiseen kontekstikokoon parhaiten sopiva kohde
15 cache-optimized Kiinnitä kukin uudelleenkäytettävä kehotteen etuliite samaan tiliin — maksimoi kehotteiden välimuistiosumat 🎯
16 lkgp Viimeksi toimivaksi tunnettu polku — kiinnittää viimeksi onnistuneeseen palveluntarjoajaan ja turvautuu sitten sääntöihin
17 auto 16 tekijän reaaliaikainen pisteytys kaikissa yhteyksissä 🤖
18 fusion Hajauta pyynnöt mallipaneelille + arvioija koostaa yhden vastauksen 🧬
19 pipeline Ketjuta vaiheet — kunkin kohteen tulos syötetään seuraavalle 🔗
Auto-Combo-moottori pisteyttää jokaisen ehdokkaan **16 tekijän** perusteella (toimintakunto, kiintiö, kustannukset, viive, sopivuus tehtävään, laatu, istunnon saatavuus…) — katso [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md). ## ### 🧱 Vikasietoisuus on sisäänrakennettu (3 itsenäistä kerrosta) OmniRoute-resilienssi — 3 itsenäistä itsekorjautuvaa kerrosta, oikea kerros oikealle häiriölle. Kerros 1: palveluntarjoajan katkaisija (koko palveluntarjoaja): laukeaa vain 408-/5xx-virheistä, kynnysarvot OAuth 8× / API-avain 12× / paikallinen 2×, palautuu 60s/30s/15s kuluttua HALF-OPEN-koetilaan, laiska palautuminen; OPEN-tilassa yhdistelmä reitittää pyynnöt seuraavalle palveluntarjoajalle. Kerros 2: yhteyden jäähdytys (yksi avain/tili): perusviive OAuth 5s / API-avain 3s, eksponentiaalinen ×2-taustaviive sekä yhtäaikaisten uudelleenyritysten ryöppyä estävä suojaus, 429 noudattaa Retry-After-arvoa, onnistuminen tyhjentää kaiken virhetilan; jäähdytettävä avain ohitetaan muiden rinnakkaisten avainten jatkaessa pyyntöjen käsittelyä. Kerros 3: mallin lukitus (yksi malli): mallikohtainen 429, paikallinen 404 tai toimintatilojen estot lukitsevat vain kyseisen mallin — eivät koskaan koko yhteyttä. Lopulliset tilat (estetty, vanhentunut, krediitit käytetty loppuun) kuuluvat operaattorin käsiteltäviksi, eivät jäähdytykseen. 📖 [Automaattisen yhdistelmän moottori](docs/routing/AUTO-COMBO.md) · [Resilienssiopas](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Mikä erottaa OmniRouten muista
Mikä erottaa OmniRouten muista — ajankohtaan sidottu ominaisuusvertailu 9routeriin, OpenRouteriin, CLIProxyAPI:in ja LiteLLM:ään 13 ominaisuudessa. OmniRoute: 372 palveluntarjoajaa, yli 150 sisäänrakennettua ilmaistasoa, 19 reititysstrategiaa, 12-moottorinen token-pakkaus, sisäänrakennettu MCP-palvelin 110 työkalulla, A2A-agenttiprotokolla, pysyvä muisti, suojaukset, pilviagentit, TLS-sormenjäljen häivytys, työpöytä/Termux/PWA sekä 42 lokalisoitua käyttöliittymäkieltä. OmniRoute on MIT-lisensoitu ja itse ylläpidettävissä. Kilpailijoiden ominaisuudet ja lukumäärät voivat muuttua; katso linkitetty menetelmäkuvaus. 📊 Täydellinen menetelmäkuvaus & ominaisuuskohtaiset tiedot verrattuna 9routeriin, OpenRouteriin, CLIProxyAPI:in & LiteLLM:ään → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Tue OmniRoutea OmniRoute on MIT-lisensoitu, ja sitä ylläpidetään avoimesti. Jos se säästää aikaasi tai rahaasi, voit auttaa pitämään sen riippumattomana valitsemalla sinulle sopivan tavan. Sponsorointi ei koskaan vaikuta reitityksen prioriteettiin; sillä saa näkyvyyttä, ei parempaa sijoitusta.
⭐ Anna repositoriolle tähtiIlmaista — auttaa aidosti näkyvyydessäAnna OmniRoutelle tähti
🐙 GitHub SponsorsKertaluonteinen tai kuukausittainen · ei alustamaksuagithub.com/sponsors/diegosouzapw
☕ Ko-fiNopea kertalahjoitus, lahjoittajan ei tarvitse rekisteröityäko-fi.com/diegosouzapw
🧋 Buy Me a CoffeePieni, epämuodollinen elebuymeacoffee.com/diegosouzapw
🖐 LiberapayToistuva · voittoa tavoittelematon · avoin lähdekoodiliberapay.com/diegosouzapw
🇧🇷 PIX (Brasilia)Välitön, ei maksujaavain & QR-koodi alla
₿ KryptovaluuttaBTC · ETH · USDT-TRC20 · USDC-Solanaosoitteet alla
**🇧🇷 PIX** — välitön, ei maksuja (Brasilia) OmniRouten PIX-QR-koodi Avain (satunnainen): `5d865059-bc44-483a-962d-43ceb80126eb` Pix copia-e-cola: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Kryptovaluutta — BTC · ETH · USDT-TRC20 · USDC-Solana (laajenna napsauttamalla)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Lähetä kutakin valuuttaa vain sille ilmoitetussa verkossa — väärän verkon käyttäminen voi johtaa varojen menettämiseen.
🐛 Löysitkö virheen tai haluatko antaa palautetta? Avaa [keskustelu](https://github.com/diegosouzapw/OmniRoute/discussions).

Kehittäjän huomautukset: Projekti saattaa kehittäjien käytännön työn helpottamiseksi luoda paikallisen .env-tiedoston npm install/postinstall -vaiheessa. Tämä tiedosto ohitetaan tarkoituksella .gitignore-tiedoston avulla (katso .gitignore), eikä sitä saa koskaan commitoida — jos se commitoidaan vahingossa, vaihda kaikki paljastuneet salaisuudet ja poista tiedosto historiasta. Ohjeita paikallisten ympäristötiedostojen ja salaisuuksien hallintaan on tiedostossa docs/DEVELOPER-ENVIRONMENT.md.

## 📡 OmniRoute Radar Ilmaistason tärkein luku on edelleen **~1,62 mrd. tokenia/kuukausi** yllä kuvatusta resurssivarantojen päällekkäisyydet poistavasta luettelosta. Palveluntarjoajien tilapäiset rekisteröitymishyvitykset voivat erikseen nostaa ensimmäisen kuukauden määrän **~2,22 miljardiin**. Radar on valinnainen, allekirjoitettu luetteloa täydentävä taso käyttäjille, jotka haluavat ajantasaisempaa tietoa ilmaismallien saatavuudesta OmniRoute-julkaisujen välillä; yhteisöluettelo ja kaikki nykyiset ilmaiset ominaisuudet säilyvät maksuttomina. Tukijat voivat saada reaaliaikaisen luettelon ja tietoa palveluntarjoajien lisämahdollisuuksista. Sen erillinen, muuttuva enimmäismäärä on **enintään noin 3 mrd. tokenia/kuukausi** palveluntarjoajien saatavuuden mukaan. Tämä enimmäismäärä ei ole tae: palveluntarjoajat voivat muuttaa kiintiöitä, kelpoisuusehtoja, malleja tai alueita milloin tahansa. Radar on valinnainen ja käyttää vain GET-pyyntöjä. OmniRoute-asiakasohjelma ei lähetä kehotteita, liikennetietoja, palveluntarjoajien määrityksiä, käyttötelemetriaa tai ilmoitusten ohittamista koskevaa paikallista tilaa. Lisätietoja kelpoisuudesta ja nykyisestä luettelosta on osoitteessa **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Mitä uutta
> Viimeisimmät kohokohdat versioväliltä **v3.8.20 → v3.8.50**. Koko historia tiedostossa [`CHANGELOG.md`](CHANGELOG.md). - **🎛️ OmniConductor** — saapuvien A2A-pyyntöjen delegointi agenttijoukollesi, Conductor-taidot Agent Cardissa sekä hallintapaneeli, jossa on Faron push-to-talk-äänikeskustelu. → [A2A-palvelin](docs/frameworks/A2A-SERVER.md) - **🛂 Mukautuva pyyntöjen hyväksyntä ja ylikuormitussuojaus** — raskaat keskustelupyynnöt asetetaan jonoon 503-virheen palauttamisen sijaan, ja yhteyskohtaiset RPM-liukuvat vuokraukset käsitellään atomisesti. → [Vikasietoisuusopas](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Kanoninen `/v1/models`-järjestys** — yksi yhtenäinen palveluntarjoajittain ryhmitelty lohko kutakin palveluntarjoajaa kohden (yhdistelmät kiinnitettyinä alkuun), vakaana kaikissa katalogilähteissä. → [API-viite](docs/reference/API_REFERENCE.md) - **🗜️ Pakkauksen vahvistukset** — oletusarvoisesti käytössä oleva purkukoon rajoitin, Caveman-paketit saksalle, ranskalle, japanille ja kiinalle (wényán) sekä RTK-suodattimet Gradlelle ja .NETille. → [Pakkaus](docs/compression/COMPRESSION_ENGINES.md) - **💸 Rehelliset kiinteähintaiset kustannukset** — tilaus- ja ohjelmointipakettien palveluntarjoajien kustannukseksi merkitään analytiikassa **$0**; budjetin, kiintiön ja reitityksen arviot säilyvät. → [API-viite](docs/reference/API_REFERENCE.md) - **⚖️ Quota-Share-reititys** — jakaa yhteisen tilin kiintiön oikeudenmukaisesti yhdistettyjen avainten kesken ja säilyttää työtehokkuuden lainaamalla käyttämättömät osuudet muille. → [Vikasietoisuusopas](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 CLI:n/agentin käyttöönotto yhdellä komennolla** — 13 rekisteröityä `setup-*`-komentoa; `omniroute run` käynnistää 7 CLI:tä (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` tukee 10 kohdetta, interaktiivista palveluntarjoajan ja mallin valitsinta sekä kontekstikohtaisia suosikkeja. → [CLI-integraatiot](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Etätila** — ohjaa OmniRoute-etäinstanssia rajatuilla tunnuksilla (`connect` / `contexts` / `tokens`) sekä VPS-asennuksille tarkoitetulla `antigravity`-OAuth-apuohjelmalla. → [Etätila](docs/guides/REMOTE-MODE.md) - **🧭 Älykkäämpi automaattinen reititys** — `auto/:`-yhdistelmät, **Fusion** (mallipaneeli + arvioija), tehtävät huomioiva reititys sekä pyyntökohtaiset malli-, tila- ja USD-budjettiohitukset. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Laajennettava pakkaus** — 12 yhdisteltävää moottoria sekä Compression Studios: LLMLingua-2, kaksitasoinen Ultra, omniglyph, vaihekohtainen tarkkuusportti, GCF v3.2 ja vetämällä uudelleenjärjestettävä editori. → [Pakkaus](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Läpinäkyvä MITM-salauksen purku (TPROXY)** — kaappaa välityspalvelimen ympäristömuuttujat ohittavat CLI:t käyttämällä SNI-kohtaista varmentajaa ja luottamussäilön asennusohjelmaa. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Kustannustelemetria kaikkialla** — `X-OmniRoute-*`-kustannus- ja käyttöotsakkeet jokaisessa päätepisteessä, välimuistiosuman säästöt ilmaiseva otsake sekä avainkohtaiset USD-kulutuskiintiöt. → [API-viite](docs/reference/API_REFERENCE.md) - **🧠 Hallitsemasi muisti** — oletusarvoisesti poissa käytöstä, valinnainen int8-vektorikvantisointi ja tyypitetty vanheneminen sekä pyyntökohtainen `x-omniroute-no-memory`. → [Muisti](docs/frameworks/MEMORY.md) - **🛡️ Tietoturva** — kehotesyötteiden manipuloinnin esto kaikilla LLM-reiteillä (red team -testikokonaisuus), valinnainen tunnistetietojen peittävä suojakaide (peittää vuotaneet API-avaimet ja salaisuudet molempiin suuntiin), maksuton DuckDuckGo-verkkohaku viimeisenä keinona sekä valinnainen OIDC-kirjautumisportti hallintapaneelille (salasanakirjautuminen pysyy aina käytettävissä). → [Suojakaiteet](docs/security/GUARDRAILS.md) - **🖼️ Uudet päätepisteet** — `/v1/ocr` (Mistral OCR) ja `/v1/audio/translations` (Whisper-tyylinen) täydentävät mediaominaisuuksia. → [API-viite](docs/reference/API_REFERENCE.md) - **🎨 Kuvien, videoiden ja äänen generointi** — yksi API medialle: xAI Grok Imagine ja Novita AI -video, ComfyUI, Magnific, Adobe Firefly, Segmind sekä puhepalveluntarjoajat, kuten ElevenLabs. → [API-viite](docs/reference/API_REFERENCE.md) - **🌍 Käyttöönotto ja ylläpito** — käänteisen välityspalvelimen `basePath`, selaimen kielen automaattinen tunnistus, avainkohtainen laiteseuranta, pääkäyttäjäoikeuksia tarvitsematon MITM-luottamus ja zh-TW-lokalisointi. → [Ympäristö](docs/reference/ENVIRONMENT.md) - **🤝 Lisää palveluntarjoajia ja agentteja** — pilviagentit (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) selain- ja OAuth-kirjautumisella, Ollaman ensiluokkainen kortti, Claude Opus 5 ja Sonnet 5, virallinen Kimi-kumppanuus (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… sekä päivitetty **352 palveluntarjoajan katalogi**. → [Palveluntarjoajat](docs/reference/PROVIDER_REFERENCE.md) - **📡 Reitityksen läpinäkyvyys** — jokainen vastaus sisältää `X-OmniRoute-Decision`-otsakkeen, joka ilmoittaa pyynnön palvelleen strategian, palveluntarjoajan ja viiveen; uusi `cache-optimized`-yhdistelmästrategia ja Auto-Combon `cacheAffinity`-tekijä reitittävät toistuvat pyynnöt takaisin yhteyteen, jossa välimuistiin tallennettu etuliite sijaitsee; lisäksi vain luku -muotoinen `/v1/auto-combo/{channel}/candidates`-päätepiste näyttää `auto/*`-kanavan reaaliaikaisen ehdokasjoukon. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Paikallinen suorituskyky ja infrastruktuuri** — yhdellä napsautuksella asennettava paikallinen Redis, Cloudflare Workers- ja Deno Deploy -välityspalvelinten käyttöönottotyökalut sekä Bifrost ja Mux valvottuina sulautettuina palveluina. → [Sulautetut palvelut](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Mukana myös** — liitännäiskehys ja markkinapaikka, Omni-, Agent- ja GitHub-taitokehykset, Obsidian-holvi-integraatio (22 MCP-työkalua), OpenAI-yhteensopivat Batch- ja Files-API:t, semanttinen vastausvälimuisti, pelillistäminen tulostauluineen, ACP-agenttien löytäminen (15 sisäänrakennettua agenttia), ajastettu lokien vienti BigQueryyn, rinnakkaisen usean mallin hajautuksen tekevä `auto/chaos`, Telegram-bottisilta, sovelluksen sisäinen versionhallinta sekä LMArena-ELO:n maksuttomien palveluntarjoajien sijoitukset. → [Dokumentaatio](docs/README.md)
## 🤖 Yhteensopivat CLI-työkalut ja koodausagentit > Yksi määritys — `http://localhost:20128/v1` — ja **jokainen** tekoälyä hyödyntävä IDE tai CLI toimii ilmaisilla ja edullisilla malleilla.
Claude Code
Claude Code
                           
Codex CLI
Codex CLI
                           
Cline
Cline
                           
Kilo Code
Kilo Code
Zoo Code
Zoo Code
Continue
Continue
                           
Aider
Aider
                           
ForgeCode
ForgeCode
                           
jcode
jcode
                           
DeepSeek TUI
DeepSeek TUI
                           
CodeWhale
CodeWhale
                           
OpenCode
OpenCode
                           
Factory Droid
Factory Droid
                           
GitHub Copilot CLI
Copilot CLI
                           
Cursor CLI
Cursor CLI
                           
Smelt
Smelt
                           
Pi (pi-coding-agent)
Pi
                           
Grok Build (xAI)
Grok Build
                           
Hermes Agent (Nous Research)
Hermes Agent
                           
OpenClaw
OpenClaw
                           
Goose
Goose
                           
Open Interpreter
Open Interpreter
                           
Warp AI
Warp AI
                           
deyin.ai
deyin.ai
                           
+ toimii myös näiden kanssa · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · mikä tahansa OpenAI-yhteensopiva työkalu
📖 Työkalukohtaiset määritykset kaikille 36 työkalulle (26 CLI-koodityökalua + 10 CLI-agenttia) → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode-laajennus → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Käynnistä mikä tahansa tuettu CLI OmniRouten kautta yhdellä komennolla** — määritystiedostoja ei kirjoiteta, tunnistetiedot syötetään prosessikohtaisesti ja Qwen/Gemini saavat väliaikaisen eristetyn kotihakemiston: ```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" # Tai valitse palveluntarjoaja ja malli vuorovaikutteisesti ja kirjoita työkalun oma määritys: omniroute configure codex # myös: claude opencode qwen aider goose gemini cline continue kilo ``` Jokainen komento noudattaa aktiivista etäkontekstia (`omniroute connect `), `--dry-run` esikatselee tarkat ympäristömuuttujat ja argumentit suorittamatta komentoa, ja `--api-key-env NAME` pitää salaisuudet poissa komentotulkkisi historiasta. → [CLI-integraatiot](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 372 tekoälypalveluntarjoajaa — 154 merkitty luettelossa maksuttomiksi
> **372 rekisteröityä palveluntarjoajaa** kanonisissa keskustelu-, media-, haku-, paikallis-, pilviagentti- ja järjestelmäkokoelmissa, joista **154 sisältää `hasFree: true` -löytämismetatiedon**. Keskustelumallirekisteri kattaa **237 palveluntarjoajaa / 3 009 yksilöllistä palveluntarjoajan ja mallin yhdistelmää / 1 443 käsittelemätöntä mallitunnusta**; erillisessä maksuttomien käyttökiintiöiden luettelossa on **491 mallikohtaista riviä**, **35 uusiutuvaa resurssipoolia** ja **54 uusiutuvan tai avaimettoman, pysyvästi maksuttoman käytön tarjoavaa palveluntarjoajaa**. Näissä käytetään tarkoituksella eri nimittäjiä; määritelmät ja resurssipoolien päällekkäisyydet poistavat laskelmat löytyvät [palveluntarjoajien viitteestä](docs/reference/PROVIDER_REFERENCE.md) ja [maksuttomista käyttökiintiöistä](docs/reference/FREE_TIERS.md).
### 🏢 Kaikki merkittävät laboratoriot — yhden rajapinnan kautta
OpenAI
OpenAI
                           
Anthropic
Anthropic
                           
Gemini
Gemini
                           
xAI Grok
xAI Grok
                           
DeepSeek
DeepSeek
                           
Mistral
Mistral
                           
Qwen
Qwen
                           
Meta Llama
Meta Llama
                           
Groq
Groq
                           
NVIDIA
NVIDIA
                           
MiniMax
MiniMax
                           
Cohere
Cohere
                           
Perplexity
Perplexity
                           
Hugging Face
HuggingFace
                           
Together
Together
                           
Fireworks
Fireworks
                           
Cloudflare
Cloudflare
                           
Baidu
Baidu
                           
…ja yli 330 muuta — jokainen kuvake haetaan reaaliaikaisesti hallintapaneelin palveluntarjoajaluettelosta. 📖 [Palveluntarjoajien viite](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Maksuton pysyvästi — $0, ei maksukorttia
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Ei tokenirajaa
Kilo Code
Kilo Code
Automaattinen reititys, Tencent Hy3
Aina ilmainen
Requesty
Requesty
GPT-OSS 120B, Nemotron
Aina ilmainen
SiliconFlow
SiliconFlow
DeepSeek V3.2 / R1
Ilmainen taso
Z.AI GLM
Z.AI GLM
GLM-4.7 / 4.5-Flash
Aina ilmainen
Baidu ERNIE
Baidu ERNIE
ERNIE 4.0
Aina ilmainen
Qoder AI
Qoder AI
Qwen3-Max, Kimi-K2
Rajattomasti ILMAISEKSI
Pollinations
Pollinations
GPT, Llama, Claude
Avainta ei tarvita
Cloudflare AI
Cloudflare AI
Yli 50 mallia
10 000 neuronia/päivä
NVIDIA NIM
NVIDIA NIM
GLM, MiniMax
~40 RPM ilmaiseksi
Cerebras
Cerebras
GLM 4.7, GPT-OSS
Kertaluonteinen 5 $:n saldo; kortti vaaditaan
OpenRouter
OpenRouter
:free-mallit
+10 $ → suurempi RPM
📖 Kattava koneluettava luettelo → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Missä OmniRoute toimii — kaikkialla
> Sama sovellus, sinun laitteesi, sinun sääntösi. Globaalista npm-asennuksesta aina **puhelimeesi** asti Termuxin kautta.
AlustaAsennusKohokohdat
📦 npm (globaali)npm install -g omnirouteYksi komento, mikä tahansa käyttöjärjestelmä
🐳 Dockerdocker run … diegosouzapw/omnirouteUseita arkkitehtuureja: AMD64 + ARM64
🖥️ Työpöytäsovellus (Electron)npm run electron:buildNatiivi ikkuna + ilmaisinalue — Windows / macOS / Linux
🎩 Valikkorivi (OmniRouteTray)brew install --cask zoispag/tap/omniroute-trayValvoo palvelinta ja päivittää sen automaattisesti — macOS
💪 ARMnatiivi arm64Raspberry Pi, ARM-palvelimet, Apple Silicon
📱 Android (Termux)pkg install nodejs && npx -y omnirouteToimii puhelimessasi ympäri vuorokauden ilman root-oikeuksia
📲 PWA"Lisää aloitusnäyttöön"Koko näytön tila, offline-käyttö, asennettavissa selaimesta
🧩 OpenCode-lisäosa@omniroute/opencode-providerNatiivi OpenCode-integraatio
🤖 VS Code Copilot Chatasenna OmniCopilot-laajennusKaikki OmniRoute-mallit natiivissa Copilot Chatin mallivalitsimessa — vakaa versio ja Insiders
🛠️ Lähdekoodistanpm install && npm run devMuokkaa ja osallistu kehitykseen
📖 [Docker-opas](docs/guides/DOCKER_GUIDE.md) · [Työpöytäsovellus](electron/README.md) · [Valikkorivisovellus](https://github.com/zoispag/omniroute-tray) · [Termux](docs/guides/TERMUX_GUIDE.md) · [PWA](docs/guides/PWA_GUIDE.md) · [OpenCode](docs/frameworks/OPENCODE.md)
### 🧩 Uutta: OmniRoute VS Coden natiivissa Copilot Chatissa
> Ei uutta sivupalkkia eikä uutta keskustelukäyttöliittymää — kaikki OmniRouten tarjoamat mallit näkyvät suoraan > **jo käyttämässäsi Copilot Chatin mallivalitsimessa**. VS Code 1.122:sta alkaen palveluntarjoajien mallit toimivat > ilman GitHub-kirjautumista tai Copilot-tilausta — agenttitila, työkalukutsut ja konenäkö > ilmaiseksi. Asenna **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**-laajennus, määritä se käyttämään OmniRoute-palvelintasi (oletuksena `localhost:20128`) ja avaa sitten Copilot Chat → mallivalitsin → **Hallitse malleja…** → **OmniRoute**.
KauppaLinkkiYhteensopivuus
🧩 VS Code MarketplaceAsenna →VS Code — vakaa versio ja Insiders
🔓 Open VSX RegistryAsenna →Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro…
Editorissa: avaa **Laajennukset**-näkymä, etsi **"OmniRoute"** ja napsauta **Asenna** — toimii samalla tavalla kummassakin kaupassa. Lähdekoodi, ongelmat ja julkaisuohjeet löytyvät osoitteesta [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [VS Code Copilot Chat -opas](docs/guides/VSCODE-COPILOT.md) — käyttöönotto, mitä valitsin näyttää, hallintapaneeli välilehdessä, vianmääritys
### 🎩 Uutta: OmniRouteTray — yhdyskäytäväsi valikkorivillä
> `omniroute serve` toimii parhaiten, kun se on aina käynnissä. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)** > tekee siitä macOS:n huolettoman valikkorivisovelluksen: se käynnistää palvelimen, pitää sen toiminnassa > uudelleenkäynnistysten jälkeen, päivittää sen paikallaan ja tuo reaaliaikaisen tunnusbudjettisi yhden napsautuksen päähän — **ilman > avoimeksi jätettävää pääteikkunaa tai jatkuvasti huollettavaa `npm install -g omniroute` -asennusta.** Se on rakennettu [Tauri v2:lla](https://v2.tauri.app/) (Rust-ydin on pyöristysvirheen kokoinen), ja se sisältää oman allekirjoitetun Node 24 -suoritusympäristönsä sekä hallinnoi sovelluksen omistamaa OmniRoute-asennusta, joten se ei koskaan kilpaile globaalin `node`/`bun`-asennuksesi kanssa. Se **jakaa nykyiset `~/.omniroute/`-määrityksesi ja tietokantasi** — joten kyseessä on sama jo käyttämäsi OmniRoute, nyt vain hattu päässään. 🎩
Mitä se tekeeMiten
🟢 Valvoo palvelintaKäynnistää komennon omniroute serve ja ottaa jo käynnissä olevan instanssin hallintaansa sen monistamisen sijaan
📊 Reaaliaikainen käyttö yhdellä silmäykselläPalveluntarjoajien kiintiöpalkit, Claude-istuntojen ja viikkokohtaisten rajojen nollautumislaskurit sekä 30 päivän kustannuserittely
🔄 Päivittyy automaattisesti paikallaanVaiheistettu asennus, atominen vaihto ja palautus epäonnistumistilanteessa — aina uusin julkaisu käytössä
🚀 Käynnistyy kirjauduttaessaValinnainen käynnistys kirjautumisen yhteydessä; vain valikkorivillä, ei Dock-kuvaketta
🩺 Diagnostiikka ja lokitDiagnostiikka ja pääsy palvelinlokeihin yhdellä napsautuksella
```sh brew install --cask zoispag/tap/omniroute-tray ``` Lataatko mieluummin? Hae uusin .dmg julkaisuista. Lähdekoodi, ongelmat ja koontiohjeet löytyvät osoitteesta zoispag/omniroute-tray.
💛 Yhteisöprojekti, jonka tekijä on @zoispag — ei virallinen OmniRoute-julkaisu.

## 🔒 Yksityinen & paikallisuus edellä
Yksityinen ja paikallisuus edellä — OmniRouten yhdyskäytävä ja hallintataso toimivat omalla koneellasi. Kehotteet lähetetään kullekin pyynnölle valitulle ulkoiselle palveluntarjoajalle; OmniRoute ei lisää väliin omaa isännöityä kehotteiden käsittelyvaihetta, ja telemetria on oletusarvoisesti poistettu käytöstä. Tunnistetiedot salataan levossa AES-256-GCM-salauksella; suojauskeinoihin kuuluvat API-avainten käyttöalueiden rajaus, IP-suodatus, nopeusrajoitukset, kehotesyötteiden manipuloinnin estot, ulkoisten palveluntarjoajien otsakkeiden puhdistus, valinnainen henkilötietojen peittäminen, puhdistetut virheilmoitukset ja paikallinen SQLite-tarkastusloki. OmniRoute käyttää MIT-lisenssiä, ja sitä voi ylläpitää itse. 📖 [Valtuutus](docs/architecture/AUTHZ_GUIDE.md) · [Suojaukset](docs/security/GUARDRAILS.md) · [Vaatimustenmukaisuus](docs/security/COMPLIANCE.md)
## 🔌 Täysi komentorivityökalu + A2A & MCP
> Palvelimen lisäksi OmniRoute on **täysiverinen komentoriviohjaamo**, jossa on **yli 80 komentoa**, sekä avoimet agenttiprotokollat, joiden avulla tekoälyagentti voi käyttää sitä **itsenäisesti**. ### ⌨️ Oikea komentorivityökalu (ei pelkkä `start`) ```bash omniroute # käynnistä yhdyskäytävä + hallintapaneeli (portti 20128) omniroute chat # interaktiivinen TUI-keskusteluasiakas (vinoviivakomennot: /model /combo /skill /memory) omniroute setup # ohjattu ensimmäisen käyttökerran määritys omniroute doctor # diagnosoi palveluntarjoajat, portit ja natiiviriippuvuudet ``` ### 🛰️ Etätila — suorita komentorivityökalu täällä ja OmniRoute VPS-palvelimella Onko OmniRoute palvelimella? Ohjaa sitä kannettavaltasi **samalla komentorivityökalulla**. Kirjaudu kerran rajatulla käyttöoikeustunnuksella, minkä jälkeen jokainen komento kohdistuu etäpalvelimeen. ```bash omniroute connect 192.168.0.15 # salasana → rajattu tunnus, tallennetaan kontekstina omniroute models list # ← suoritetaan ETÄPALVELIMELLA omniroute configure codex # ← valitsee etämallin ja kirjoittaa paikallisen Codex-profiilin omniroute tokens create --name ci --scope read # luo käyttöoikeuksiltaan rajatumpia tunnuksia muille koneille omniroute contexts use default # ← vaihda takaisin paikalliseen palvelimeen ``` Tunnusten käyttöalueet ovat `read` / `write` / `admin`; prosesseja käynnistävät reitit pysyvät vain loopback-rajapinnan käytettävissä. 📖 [Etätila](docs/guides/REMOTE-MODE.md)
Animoitu pääte-esittely OmniRouten komentorivityökalusta — omniroute providers list, omniroute combo list ja omniroute health — käyden läpi 86 komennon päätason valikoimaa: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Yhdistä agentti — ja se ohjaa OmniRoutea itse Avaa OmniRoute käytettäväksi **MCP:n**, **A2A:n**, **REST API:n**, **webhookien** tai **etäkomentorivityökalun** kautta — mikä tahansa kykenevä agentti (tai oma koodisi) saa koko yhdyskäytävän hallintaansa: reitityksen, palveluntarjoajat, yhdistelmät, välimuistin, pakkauksen ja muistin — autonomisesti. Alla olevat HTTP-päätepisteet ovat käytettävissä osoitteessa `http://localhost:20128`.
RajapintaPäätepiste / komentoKäyttötarkoitus
🧰 MCP (stdio)omniroute --mcpLiitä Claude Desktopiin, Cursoriin tai mihin tahansa MCP-asiakasohjelmaan
🌊 MCP (HTTP)/api/mcp/streamMCP-etäkäyttö — 110 työkalua, 33 käyttöaluetta (valinnainen valvonta), täydellinen tarkastusloki
📡 MCP (SSE)/api/mcp/sseSuoratoistava MCP-siirtotapa
🤝 A2A/.well-known/agent.jsonAgentilta agentille, JSON-RPC 2.0 + SSE, 6 taitoa
🌐 REST API/v1/*OpenAI-yhteensopiva — keskustelut, upotukset, kuvat, ääni, OCR
🔔 Webhookit/api/webhooksLähetä pyyntö- ja kiintiötapahtumat Slackiin, Discordiin, Telegramiin tai mihin tahansa URL-osoitteeseen
🛰️ Etäkomentorivityökaluomniroute connect Ohjaa etäinstanssia rajatuilla käyttöoikeustunnuksilla
```bash # Anna Claude Codelle OmniRouten koko työkaluvalikoima MCP:n kautta: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [MCP-palvelin](docs/frameworks/MCP-SERVER.md) · [A2A-palvelin](docs/frameworks/A2A-SERVER.md) · [Agenttiprotokollat](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Säästä 15–95 % tokeneista — automaattisesti
### 📖 Näin se toimii — putki, arkkitehtuuri ja säästölaskelmat OmniRoute-pakkausputki: havainnollinen asiakkaan 10 000 tokenin pyyntö kulkee 12 yhdisteltävän moottorin läpi — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra ja OmniGlyph — ja voi saapua palveluntarjoajalle noin 1 080 tokenina dokumentoidussa pinotussa esimerkissä. Rakenteista sisältöä suojataan säilytyssuojilla ja vaihekohtaisilla vastaavuustarkistuksilla; erikseen käyttöön otetut häviölliset tai kokeelliset tilat voivat muuntaa soveltuvaa sisältöä. Pinottu oletusyhdistelmä suorittaa moottorit järjestyksessä `RTK → Caveman`. Kun molemmat käsittelevät samaa työkalu-/kontekstihyötykuormaa, säästöt kertautuvat: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Koodilohkot, URL-osoitteet, JSON ja rakenteinen data ovat säilytysmoottorin **aina suojaamia**. > **Miksi käyttää monta tokenia, kun vähemmälläkin pärjää?** Jokainen pyyntö kulkee OmniRouten pakkausputken läpi **läpinäkyvästi** — asiakasohjelmaan ei tarvita muutoksia. Se on nyt **12 yhdisteltävän moottorin pino**, joka suoritetaan järjestyksessä ja jonka moottoreita voidaan yhdistellä reititysyhdistelmäkohtaisesti — pohjautuen projekteista [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) saatuihin ideoihin. ### 🧱 12 moottorin pino Moottorit suoritetaan putkijärjestyksessä; jokainen niistä voidaan ottaa erikseen käyttöön tai poistaa käytöstä ja määrittää yhdistelmäkohtaisesti:
#MoottoriMitä se tekee
1Session-DedupPoistaa eri vuorojen välillä toistuvan sisällön (sisältöosoitteinen, vuorojen välinen)
2CCRArkistoi suuret lohkot noutomerkintöjen taakse, joista ne haetaan tarvittaessa
3LiteTyhjätilan ja kuvien URL-osoitteiden karsiminen (kevyt perusratkaisu viiveen kannalta)
4RTKÄlykäs työkalutulosten suodatus, duplikaattien poisto ja katkaisu (komentotietoinen)
5Responses Tool OutputEnsisijaisesti häviötön JSON-pakkaus sekä rajattu diagnostiikkapakkaus komentotulkin, korjaustiedostojen, hakujen ja koontien tulosteille (Responses API)
6HeadroomJSON-taulukoiden häviötön taulukkomuotoinen tiivistäminen (~30 %) sisällytetyn GCF-koodekin avulla
7RelevanceLauseiden poimiva pisteytys viimeisimmän käyttäjäkyselyn perusteella
8CavemanSääntöpohjainen proosan pakkaus (~65–75 % tulosteesta)
9AggressiveYhteenvetojen luonti ja vanhojen vuorojen asteittainen vanhentaminen
10LLMLingua-2Koneoppimiseen perustuva semanttinen karsinta MobileBERT ONNXin avulla — kooditurvallinen ja asynkroninen
11UltraHeuristinen tokenien karsinta valinnaisella pienen mallin (SLM) tasolla
12OmniGlyphKokeellinen kontekstin koodaus kuvaksi mitattua Claude Fable 5 -mallia varten suorassa Anthropic-yhteydessä; GPT 5.6 -muuntimet pysyvät turvallisesti suljettuina, kunnes palveluntarjoajalta saadaan kuittaukset. Neljä pakkausprofiilia (oletuksena aggressiivinen, tasapainoinen, kooditurvallinen ja läpivienti) (aggressiivisin; otettava erikseen käyttöön)
Koodilohkot, URL-osoitteet ja rakenteinen data säilytetään **aina** tavutasolla muuttumattomina. **Yhden napsautuksen esiasetukset** yhdistelevät moottoreita:
TilaSäästöSopii parhaiten
🪶 Lite~15 %Aina käytössä olevaksi turvalliseksi oletukseksi
🪨 Standard (Caveman)~30 %Päivittäiseen ohjelmointiin
⚡ Aggressive~50 %Pitkiin, runsaasti työkaluja käyttäviin istuntoihin
🔥 Ultra~75 %Suurimpiin mahdollisiin säästöihin
🧰 RTK60–90 %Komentotulkin, testien, koontien ja gitin tulosteisiin
🔗 Pinottu (RTK → Caveman)78–95 %Sekoitettuihin kehotteisiin ja työkalulokeihin
**Todellinen esimerkki — Standard-tila:** > **Ennen (69 tokenia):** _"React-komponenttisi hahmontuu uudelleen todennäköisesti siksi, että luot uuden objektiviittauksen jokaisella hahmonnuskerralla. Kun välität sisäkkäisen objektin prop-arvona, Reactin pinnallinen vertailu näkee sen joka kerta eri objektina, mikä käynnistää uudelleenhahmonnuksen. Suosittelen muistamaan objektin useMemo-toiminnolla."_ > > **Jälkeen (19 tokenia):** _"Uusi objektiviittaus jokaisella hahmonnuksella. Sisäkkäinen objekti prop-arvona = uusi viittaus = uudelleenhahmonnus. Kääri useMemo-toimintoon."_ > > **Sama vastaus. 72 % vähemmän tokeneita. Ei lainkaan tarkkuuden heikkenemistä.** ✅ **PT-BR-esimerkki — [Troglodita](https://github.com/leninejunior/troglodita)-tila:** > **Ennen (42 tokenia):** _"Ongelma on, että komponentti renderöidään uudelleen, koska jokaisella renderöintikierroksella luodaan uusi objektiviittaus. Suosittelen käyttämään useMemoa."_ > > **Jälkeen (12 tokenia):** _"Uudelleenrenderöinti: uusi viittaus joka kierroksella (inline-objekti luodaan uudelleen). Käytä `useMemo`."_ > > **Sama vastaus. ~70 % vähemmän tokeneita. Tekninen tarkkuus ennallaan.** ✅
### 🎚️ Moottoreiden lisäksi — tulostyylit, mukautuva säädin ja pyyntökohtainen hallinta Yllä olevat 12 moottoria pienentävät sitä, mitä menee **sisään**. Kolme lisätasoa määrittävät, **miten**, **milloin** ja mitä tulee **ulos**: - **🪄 Tulostyylit** _(tulostusakselin ohjaus)_ — lisää deterministisiä ja välimuistiturvallisia ohjeita vastausten muotoiluun; tyylejä voi yhdistellä, ja jokaisella on voimakkuus `lite` / `full` / `ultra`. Tyylin lisääminen vaatii vain yhden rivin rekisterimerkinnän: - **Tiivis proosa** — poista täytesanat / artikkelit / varaukset; säilytä tekninen sisältö täsmällisenä. - **Vähemmän koodia** — "laiskan seniorikehittäjän" YAGNI: pienin toimiva muutos, ei pyytämättömiä tukirakenteita. - **Ponytail (laiska seniorikehittäjä)** — etene YAGNI-portaita, korjaa juurisyy, tee pienin toimiva muutos. - **Minulla on ADHD (toiminta ensin)** — aloita seuraavasta toimesta, numeroi vaiheet, anna yksi konkreettinen seuraava askel, ei johdantoa. - **Tiivis CJK (文言)** — klassisen kiinan äärimmäisen tiivis tyyli (käytettävissä vain `zh`-kielialueella). - **🎯 Mukautuva kontekstibudjetti** _(säädin)_ — yhden käytössä/pois käytöstä -tokenrajan sijaan edetään halvimmissa ja vähiten tietoa hukkaavissa moottoreissa vain niin pitkälle kuin tarvitaan, jotta sisältö **mahtuu mallin konteksti-ikkunaan**. Käytäntö: `reserve-output` (oletus, mallitietoinen) · `percentage` · `absolute`. Tila: `floor` (takaa mahtumisen) · `replace-autotrigger` (oma nimenomainen valintasi ohittaa automaattisen laukaisun) · `off` (vanha kynnysarvo). - **🎛️ Missä pakkauksesta päätetään** _(etusijajärjestys, korkea → matala)_ — pyyntökohtainen `x-omniroute-compression`-otsake › reititysyhdistelmän ohitus › aktiivinen nimetty profiili › mukautuva / automaattinen laukaisu › paneelin oletus › pois käytöstä. Käytetty suunnitelma palautetaan `X-OmniRoute-Compression: ; source=`-vastausotsakkeessa. Käytä tokenrajaan perustuvaa automaattista laukaisua, ota mukautuva säädin käyttöön, kiinnitä nimetty profiili, määritä kertaluonteinen asetus pyyntökohtaisesti tai määritä putki reititysyhdistelmälle — valitse työkuormaan sopiva tapa. Valinnainen offline-tilassa toimiva **arviointikehys** (`npm run eval:compression`) pisteyttää sisällön vastaavuuden suhteessa säästöihin kiinnitetyllä aineistolla ennen muutoksen käyttöönottoa. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Pika-aloitus
**1) Asenna ja käynnistä** ```bash npm install -g omniroute omniroute ``` > 💡 Näetkö `npm warn ERESOLVE`-varoituksen tai vertaisriippuvuusvaroituksia? [Ne ovat harmittomia](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Käytätkö npm 11:tä tai uudempaa?** npm saattaa estää pakettien elinkaarikomentosarjat, ellei niitä ole sallittu. OmniRouten `postinstall` (`node scripts/build/postinstall.mjs`) tarvitaan sen natiivien ajonaikaisten tiedostojen valmistelemiseen. Salli npm:n varoituksessa nimetyt paketit, kun asennat globaalisti. OmniRoute 3.8.51:n ilmoittamalle pakettijoukolle: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Voit käyttää tätä sallittujen pakettien luetteloa uudelleen tulevissa globaaleissa asennuksissa määrittämällä sen kerran ja asentamalla sen jälkeen tavalliseen tapaan: > > ```bash > npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user > npm install -g omniroute > ``` > > Riippuvuusluettelo voi muuttua julkaisujen välillä. Jos npm ilmoittaa eri luettelon, käytä kyseisessä varoituksessa mainittuja pakettien nimiä. Paketin salliminen antaa luvan suorittaa sen asennuskomentosarjat. > **Käytätkö Gemini Webiä tai muuta verkkovästeisiin perustuvaa palveluntarjoajaa?** npm-paketti sisältää > Playwrightin mutta ei sen Chromium-binääriä. Lue > [Playwright Chromiumin määrityksiä](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > koskeva huomautus ennen ensimmäisen pyynnön lähettämistä verkkopalveluntarjoajalle. Hallintapaneeli osoitteessa `http://localhost:20128` · API osoitteessa `http://localhost:20128/v1`. **2) Yhdistä vaatimukset täyttävä palveluntarjoaja omalla tililläsi** Hallintapaneeli → **Palveluntarjoajat** → valitse palveluntarjoaja, jonka nykyiset ehdot ja kiintiö sopivat käyttötarkoitukseesi → lisää sen API-avain tai suorita sen tiliprosessi loppuun. Ilmaiset käyttöluokat voivat edellyttää rekisteröitymistä, hyväksyntää tai maksutapaa. Tutustu [ilmaisten käyttöluokkien oppaaseen](docs/getting-started/FREE-TIERS-GUIDE.md); avaimetonta saatavuutta ei taata, ja palveluntarjoajat, joiden merkintä on `tos: avoid`, jätetään oletusarvoisesti pois `auto`-reitityksestä. **3) Määritä koodaustyökalusi** ```txt Perus-URL: http://localhost:20128/v1 API-avain: [kopioi kohdasta Hallintapaneeli → Päätepisteet] Malli: auto (reitittää vaatimukset täyttävien yhteyksien välillä — tai valitse palveluntarjoaja/malli) ``` **4) Varmista toiminta** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Yhdistettyjen malliesi pitäisi näkyä luettelossa. 🎉 Siinä kaikki — aloita koodaaminen, niin OmniRoute reitittää pyynnöt automaattisesti ja vaihtaa tarvittaessa varavaihtoehtoon. Jos asiakasohjelmasi ei voi lähettää mukautettuja otsakkeita, OmniRoute tarjoaa myös tokenisoidut yhteensopivuusaliakset: ```txt OpenAI-luettelo: http://localhost:20128/vscode/YOUR_KEY/ OpenAI-mallit: http://localhost:20128/vscode/YOUR_KEY/models OpenAI-keskustelu: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI-vastaukset: http://localhost:20128/vscode/YOUR_KEY/responses Ollama-keskustelu: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama-tunnisteet: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Käytä näitä vain asiakasohjelmissa, jotka eivät voi liittää `Authorization: Bearer ...`-otsaketta. Otsakkeeseen perustuva todennus on edelleen suositeltava tapa.
## 📦 Lisää asennustapoja — Docker, lähdekoodi, 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` seuraa korkeinta **julkaistua** vakaata SemVer-versiota. Se ei seuraa git-haaraa `main`. Kiinnitä GitOps-käyttöä varten versioon `:X.Y.Z`. Katso [Docker-julkaisukanavat](docs/guides/DOCKER_GUIDE.md#release-channels). Levykuva määrittää arvoksi **`OMNIROUTE_MEMORY_MB=1024`**. Se riittää hallintapaneelille ja kevyeen keskusteluun. **Koodausagentit** (Claude Coden, Codexin, Grokin jne. tekemät `POST /v1/responses` -pyynnöt) tarvitsevat huomattavasti suuremman V8-keon, tai prosessi päätyy `FATAL ERROR` -virheeseen noin 12 GiB:n kohdalla kahden päällekkäisen pitkän kontekstin aikana. Mitoita säilö kekoa suuremmaksi (natiivipuskurit sijaitsevat V8:n ulkopuolella): | Kuormitus | Keko (`-e OMNIROUTE_MEMORY_MB`) | Säilö (`--memory`) | | -------------------------------------------------- | ------------------------------- | ------------------ | | Hallintapaneeli / kevyt keskustelu | `1024` (levykuvan oletusarvo) | ≥2 g | | Yksi koodausagentti | `8192` | ≥10 g | | Kaksi samanaikaista pitkää `/v1/responses`-pyyntöä | `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 ``` Koko taulukko: [Docker-opas — käytönaikainen RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Dockerin esijulkaisukanava:** `diegosouzapw/omniroute:next` ja > `diegosouzapw/omniroute:next-web` seuraavat nykyistä oletusarvoista `release/v*`- > haaraa. Nämä muuttuvat tunnisteet on tarkoitettu vain julkaisemattomien korjausten testaamiseen, > eikä niitä **tueta tuotantokäytössä**. Katso > [Docker-julkaisukanavat](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** Tavallista `bun install` -asennusta ja yleistä asennusta (`bun install -g omniroute`) tuetaan Bun-ympäristön automaattisen tunnistuksen avulla: - **Sisäänrakennettu `bun:sqlite`**: OmniRoute käyttää Bunin sisäänrakennettua `bun:sqlite`-ajuria Bun-ympäristössä ja käyttää varajärjestelmänä `better-sqlite3`:a Node.js-ympäristössä tai `sql.js`:ää. - **Webpack-paketoijan automaattinen valinta kehityksessä**: Kehitysympäristö (`bun run dev`) tunnistaa Bunin automaattisesti ja poistaa Turbopackin käytöstä Webpackin hyväksi natiivien V8-sidosten yhteensopimattomuuksien estämiseksi. Tuotantokoontiversiot (`bun run build`) noudattavat muuttujaa `OMNIROUTE_USE_TURBOPACK` täsmälleen samoin kuin Nodessa: oletuksena käytetään Turbopackia ja arvolla `OMNIROUTE_USE_TURBOPACK=0` koonti tehdään Webpackilla (`Dockerfile.bun` tuo sen saataville `--build-arg`-argumenttina). - **Erillinen Bun-Dockerfile**: Monivaiheinen `Dockerfile.bun` natiiveihin Bun-tuotantokäyttöönottoihin (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Asenna ja suorita Bunilla bun install bun run dev ``` **🛠️ Lähdekoodista** ```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-flakejen käyttö nix develop npm run dev # Tai devboxin käyttö devbox run npm run dev ``` 📖 [Docker-opas](docs/guides/DOCKER_GUIDE.md) — Compose-profiilit, Caddy HTTPS ja Cloudflare-tunnelit. **🦭 Podman** ```bash # 1. Valmistele liitoskohtaan sidottava datahakemisto mkdir -p data # 2. Vain Linux ja paikallinen pääkäyttäjätön Podman (ei koskaan Podman Machine -etäasiakas): podman unshare chown 1000:1000 ./data # 3. Aseta ajoympäristövihje, koosta paikallinen Compose-levykuva ja käynnistä echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` macOS- tai Windows-järjestelmässä Podman käyttää Podman Machine -etäympäristöä: ohita `podman unshare` ja noudata [topologiakohtaisia datahakemiston ohjeita](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Podman-opas](contrib/podman/README.md) — Compose-koonnit, Podman Machine ja Linux/systemd Quadlet -määritys. **⚡ Nopeampi / kevyempi asennus (ohita natiivikoonti)** Natiivi SQLite-moottori (`better-sqlite3`) on **valinnainen** riippuvuus, joten yleinen asennus ei koskaan pysähdy odottamaan lähdekoodista kääntämistä: se käyttää esikäännettyä binääritiedostoa, kun sellainen vastaa alustaasi ja Node-versiotasi, ja muussa tapauksessa siirtyy läpinäkyvästi puhdasta JavaScriptiä käyttävään moottoriin (`node:sqlite` Node 22+:ssa, muussa tapauksessa pakettiin sisältyvä `sql.js` WASM) — koontityökaluja ei tarvita. Voit ohittaa asennuksen jälkeisen natiivin esilämmityksen kokonaan (CI-ympäristöt, käyttöliittymättömät ympäristöt tai hitaat laitteet): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Myös CI=1 ohittaa sen ``` Nopeimpiin asennuksiin kannattaa käyttää **pnpm**:ää (sisältöosoitteinen varasto + kovat linkit — katso edellä). Käytä ilman hallintapaneelia toimivaan käyttöliittymättömään ajoympäristöön Dockerin `base`-profiilia (edellä) tai [Termux-opasta](docs/guides/TERMUX_GUIDE.md). CLI ja verkkohallintapaneeli tarjotaan saman prosessin kautta yhdessä portissa, joten erillistä vain CLI:n sisältävää pakettia ei tällä hetkellä ole.
# 🎬 OmniRoute toiminnassa
## 📹 Video-oppaat
Tilannekuva hallintapaneelista 2026-08-24 · Raakaluettelo: YT 809 | TT 137 | IG 124 · Tuoreus (päivää): YT 1 | TT 21 | IG 22
Instagram Reel
🎬 #1 — Instagram
nick_saraev — 3,042,474 katselukertaa
Instagram Reel — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 katselukertaa
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 katselukertaa
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 katselukertaa
Instagram Reel — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 katselukertaa
**Täydellinen sijoituslista (duplikaatit poistettu kanonisten URL-osoitteiden perusteella, `v > 0`, suurin tavoittavuus):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Kanoniset mittarit 2026-08-24: **1.029 yksilöllistä videota** · **11.132.922 tunnettua katselukertaa** (`v > 0`) · **639 kanavaa/profiilia verkoittain**. Raakahallintapaneeli sisältää 1.070 riviä; Instagramin 41 kaksoiskappaletta normalisoitiin kanonisen URL-osoitteen perusteella säilyttäen kunkin videon suurin katselukertamäärä. > 🎬 **Teitkö videon OmniRoutesta?** Avaa [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) tai [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) ja lisää linkki — nostamme sen esille täällä.
# 📧 Yhteisö ja tuki > Kaikki yhdessä paikassa — seuraa ylläpitäjää, keskustele yhteisön kanssa tai avaa ongelmaraportti. | Kanava | Missä / miten | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — seuraa ylläpitäjää | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — seuraa julkaisuja ja vinkkejä | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 maailmanlaajuinen** | [liity ryhmään](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brasilia** | [liity ryhmään](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Verkkosivusto** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍StHub OmniRoute -yhteisö (maksuton)** | [StHub-portaali](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Lähdekoodi** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Ilmoita virheestä** | [avaa ongelmaraportti](https://github.com/diegosouzapw/OmniRoute/issues) — liitä mukaan `npm run system-info` -komennon tuloste | | 🤝 **Osallistu kehitykseen** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Haarautumis- ja julkaisumalli](docs/ops/BRANCHING_MODEL.md) · valitse `good first issue` | | 💚 **Tue projektia** | [Tukitavat ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Teknologiapino
KerrosTeknologia
SuoritusympäristöNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
KieliTypeScript 6.0 — 100 % TypeScriptiä hakemistoissa src/ ja open-sse/ (ytimessä ei yhtään any-tyyppiä versiosta v2.0 lähtien)
SovelluskehysNext.js 16 + React 19 + Tailwind CSS 4
Tietokantabetter-sqlite3 (SQLite, WAL-kirjaus) + LowDB (vanha JSON-toteutus) — 137 toimialamoduulia, 202 migraatiota
MuistiSQLite FTS5 -kokotekstihaku + int8-kvantisoidut vektoriupotukset, tyypitetty vaimeneminen
SkeematZod 4 — MCP-työkalujen syötteiden ja tulosteiden validointi + API-sopimukset
ProtokollatMCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE)
SuoratoistoServer-Sent Events (SSE) + WebSocket-silta (/v1/ws)
Pakkaus12 moottorin käsittelyputki — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Todennus & tietoturvaOAuth 2.0 (PKCE) + JWT + API-avaimet + käyttöalueisiin rajattu MCP-todennus · AES-256-GCM levossa oleville tiedoille · DOMPurify
Naamiointiwreq-js — JA3- / JA4 TLS -sormenjälkien jäljittely, kolmitasoinen välityspalvelin
VikasietoisuusKatkaisumekanismi, eksponentiaalinen viive, kuormituspiikkien esto, automaattiyhdistelmien itsekorjaus
Lokituspino — rakenteiset JSON-lokit pyyntökontekstilla
TestausNode.js-testiajo-ohjelma + Vitest — yli 39 000 staattista testi-ilmoitusta yli 5 100 seuratussa testitiedostossa (yksikkö-, integraatio-, E2E-, tietoturva- ja ekosysteemitestit)
AlustatTyöpöytä (Electron) · Android (Termux) · PWA (mikä tahansa selain)
CI/CDGitHub Actions — automaattinen julkaisu npm:ään ja Docker Hubiin version julkaisun yhteydessä
LinkitVerkkosivusto · npm · Docker Hub

## 📖 Dokumentaatio
### 📘 Aloittaminen
DokumenttiKuvaus
KäyttöopasPalveluntarjoajat, yhdistelmät, CLI-integraatio, käyttöönotto
AsennusopasKaikki asennustavat, CLI-työkalujen määritykset, protokollien käyttöönotto, aikakatkaisujen hienosäätö
CLI-työkalujen opasTyökalukohtaiset määritykset: Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo ja Copilot
EtätilaOhjaa etäpalvelimella (VPS) toimivaa OmniRoutea kannettavan tietokoneesi CLI:stä rajattujen käyttöoikeustunnusten avulla
Claude Code -määritysYhdistä Claude Code OmniRouteen (paikallinen/etäpalvelin) käyttämällä launch-toimintoa ja mallikohtaisia profiileja
Pika-aloitusKolme vaihetta: asenna → yhdistä → määritä
### 🔧 Käyttö ja käyttöönotto
DokumenttiKuvaus
Docker-opasDocker run, Compose-profiilit, Caddy HTTPS, tunnelit, levykuvatunnisteet
Podman-opasQuadlet systemd -integraatio, podman-compose, SELinux
VirtuaalikonekäyttöönottoKattava opas: virtuaalikoneen, nginxin ja Cloudflaren määritys
Fly.io-käyttöönottoOta sovellus käyttöön Fly.io:ssa pysyvällä tallennustilalla
Termux-opasSuorita OmniRoute Androidissa Termuxin avulla
PWA-opasProgressiivisen verkkosovelluksen asennus, välimuisti ja arkkitehtuuri
Poisto-opasSiisti poistaminen kaikilla asennustavoilla
YmpäristömäärityksetKaikki .env-muuttujat ja viitetiedot
### 🧠 Ominaisuudet ja arkkitehtuuri
DokumenttiKuvaus
ArkkitehtuuriJärjestelmäarkkitehtuuri, tietovirta ja sisäinen toiminta
PakkausopasSeitsemän vaihtoehdon käsittelyketju: pois käytöstä / kevyt / vakio / aggressiivinen / ultra / RTK / pinottu
RTK-pakkausKomentotulosteiden pakkaus, suodattimet, luottamus, varmennus ja raakamuotoisen tulosteen palautus
PakkausmoottoritCaveman, RTK, pinotut käsittelyketjut sekä hallintapaneeli-, API- ja MCP-rajapinnat
Pakkaussääntöjen muotoJSON-sääntöpakettien skeemat Caveman- ja RTK-suodattimille
Pakkauksen kielipaketitKielen tunnistus ja Caveman-sääntöpakettien luominen
VikasietoisuusopasKatkaisijat, jäähdytysajat, jono, samanaikaisten pyyntöryöppyjen esto ja TLS-väärentäminen
Automaattinen yhdistelmämoottori16 tekijän pisteytys, tilapaketit ja itsekorjaus
VälityspalvelinopasKolmitasoinen välityspalvelinjärjestelmä, 1proxy-markkinapaikka ja rekisterin CRUD-toiminnot
IlmaistasotKoottu hakemisto: 35 dokumentoitua toistuvaa resurssivarantoa / 489 luetteloitua ilmaistason kohdetta
OminaisuusgalleriaVisuaalinen hallintapaneelikierros kuvakaappauksineen
Koodikannan dokumentaatioAloittelijaystävällinen koodikannan esittely
### 🤖 Protokollat ja API:t
DokumenttiKuvaus
API-viiteKaikki päätepisteet esimerkkeineen
OpenAPI-määritysOpenAPI 3.0 -spesifikaatio
MCP-palvelin110 MCP-työkalua, IDE-määritykset sekä Python-, TS- ja Go-asiakkaat
MCP-palvelinopasMCP:n asennus, siirtotavat ja työkaluviite
A2A-palvelinJSON-RPC 2.0 -protokolla, taidot, suoratoisto ja tehtävien hallinta
A2A-palvelinopasA2A-agenttikortti, tehtävät, taidot ja suoratoisto
### 📋 Projekti ja laatu
AsiakirjaKuvaus
OsallistuminenKehitysympäristön määritys ja ohjeet
Haarautumis- ja julkaisumalliMihin PR:t kohdistetaan (release/*) sekä mitä main ja tunnisteet tarkoittavat
MuutoslokiTäydellinen versiokohtainen julkaisuhistoria
TietoturvakäytäntöHaavoittuvuuksien ilmoittaminen ja tietoturvakäytännöt
i18n-opas42 kielen tuki, käännöstyönkulku ja RTL
Julkaisun tarkistuslistaJulkaisua edeltävät validointivaiheet
KattavuussuunnitelmaTestikattavuusstrategia yli 39 000 staattiselle testimääritykselle yli 5 100 seuratussa testitiedostossa

# ⭐ Parhaat osallistujat > Intohimoinen avoimen lähdekoodin yhteisö muovaa OmniRoutea. Nämä henkilöt ovat antaneet poikkeuksellisen panoksen, joka vaikuttaa suoraan projektin laatuun, vakauteen ja tavoittavuuteen. **Kiitos.** ### Ulkopuoliset osallistujat yhdistettyjen vetopyyntöjen mukaan
SijaOsallistujaYhdistetyt PR:t~Muutetut rivit
1backryun190227,977
2oyi77180407,678
3rdself14580,663
4JxnLexn128387,049
5KooshaPari101125,747
6herjarsa88230,872
7RaviTharuma7955,106
8maxmad64bis69394,715
9artickc5933,260
10HouMinXi5147,334
10chirag127515,153
12xz-dev50245,976
13hartmark4752,185
14rqzbeh39143,181
15dhaern3419,559
16Dingding-leo331,986
17NomenAK3213,854
18MumuTW3016,953
19benzntech2911,641
20pacocartones249,331
20Prudhvivuda246,312
Tilanne jäädytetty aktiivisen release/v3.8.50-haaran kärkeen dafb4ae808, ja mukana ovat yhdistämiset ajankohtaan 2026-08-24 05:26:03 UTC asti. Sivutettu GitHub GraphQL -kartoitus sisältää 5 911 yhdistettyä PR:ää: 2 707 arkiston omistajalta, 179 Dependabotilta ja 3 025 ulkopuolista PR:ää 535 eri osallistujalta. ”Muutetut rivit” tarkoittaa GitHubin lisäysten ja poistojen summaa ja sisältää generoidut tiedostot, lukitustiedostot, luettelot, käännökset ja dokumentaation; se kuvaa muutosten määrää, ei kirjoitettujen lähdekoodirivien määrää. Tasasijat rajalla säilytetään. ### GitHubin tekijöihin liittämät commitit
backryun
backryun

🥇 220 GitHubiin liitettyä committia
Paijo
Paijo

🥈 219 GitHubiin liitettyä committia
Randi
Randi

🥉 108 GitHubiin liitettyä committia
Ravi Tharuma
Ravi Tharuma

🏅 81 GitHubiin liitettyä committia
Chris
Chris

🏅 70 GitHubiin liitettyä committia
Markus Hartung
Markus Hartung

🏅 69 GitHubiin liitettyä committia · jaettu 6. sija
Dizzle
Dizzle

🏅 69 GitHubiin liitettyä committia · jaettu 6. sija
Jan Leon
Jan Leon

🏅 64 GitHubiin liitettyä committia
zenobit
zenobit

🏅 62 GitHubiin liitettyä committia
Bob.Hou
Bob.Hou

🏅 51 GitHubiin liitettyä committia · jaettu 10. sija
Xiangzhe
Xiangzhe

🏅 51 GitHubiin liitettyä committia · jaettu 10. sija
Tarkistettu uudelleen 2026-08-24 06:14:31 UTC: GitHubiin liitetyt commitit, jotka repositorion Contributors API ilmoitti oletushaaralle release/v3.8.50. API palautti 525 identiteettiä (415 käyttäjää, 2 bottia, 108 anonyymiä); tästä taulukosta on jätetty pois ylläpitäjä, botit ja anonyymit identiteetit, ja tasatilanteet on säilytetty. Se eroaa sekä yllä olevasta yhdistettyjen PR:ien sijoituksesta että alla olevasta 639 henkilön Git-metatietolaskennasta. > 🙏 Näiden osallistujien ominaisuudet, virheenkorjaukset ja infrastruktuuriparannukset ovat **keskeinen osa** sitä, mikä tekee OmniRoutesta luotettavan ja monipuolisen. Jokaisella pull requestilla, testitapauksella ja i18n-käännöstiedostolla on merkitystä. Avoimen lähdekoodin rakentavat heidän kaltaisensa ihmiset.
---
## 💖 Sponsorit
Sydämellinen kiitos ihmisille, jotka rahoittavat OmniRoutea omasta pussistaan — jokainen lahjoitus auttaa pitämään projektin maksuttomana, riippumattomana ja jatkuvasti kehittyvänä.
Andrew
Andrew

💛 Aktiivinen kuukausisponsori
Vlad I
Vlad I

💛 Aktiivinen kuukausisponsori
Paco Cartones
Paco Cartones

💛 Aktiivinen kertaluonteinen sponsori
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Aiempi kertaluonteinen tukija
longtao
longtao

💛 Aiempi kertaluonteinen tukija
… ja muut, jotka haluavat pysyä yksityisinä 💛 Julkiset GitHub-sponsorit vahvistettu uudelleen 2026-08-24. GitHubin activeOnly-tila määrittää yllä olevat aktiivisuusmerkinnät; aiemmin julkistetut kertaluonteiset tukijat saavat edelleen kiitoksemme, ja yksityiset sponsorit pysyvät nimettöminä. 💖 Ryhdy sponsoriksi → — jokainen dollari auttaa pitämään OmniRouten maksuttomana ja riippumattomana.

## 👥 Yli 600 osallistujaa
[![Osallistujat](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=639&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Auditoitu 2026-08-24 jäädytetyssä kantaversiossa ac02c5b42f ja tarkistettu uudelleen aktiivisen release/v3.8.50-haaran viimeisimmässä commitissa dafb4ae808: 639 normalisoitua ihmisen Git-identiteettiä — 407 esiintyy committien tekijöinä (ylläpitäjä mukaan lukien) ja 232 ainoastaan erillisissä Co-authored-by-trailereissa. Laskennassa normalisoidaan GitHubin noreply-tunnukset, suljetaan pois 26 botti-, agentti-, palvelu- tai paikkamerkki-identiteettiä eikä yhdistetä tavallisia sähköpostiosoitteita pelkästään siksi, että niiden näyttönimet täsmäävät. ### Osallistumisohjeet 1. Forkkaa repositorio 2. Luo haara **aktiivisen** `release/vX.Y.Z`-haaran viimeisimmästä commitista (ei `main`-haarasta) — katso [Haarautumis- ja julkaisumalli](docs/ops/BRANCHING_MODEL.md) 3. Luo ominaisuushaarasi (`git checkout -b feat/amazing-feature`) 4. Commitoi muutoksesi (`git commit -m 'feat: add amazing feature'`) 5. Pushaa haaraan (`git push origin feat/amazing-feature`) 6. Avaa Pull Request, jonka **base = kyseinen `release/vX.Y.Z`-haara** Katso yksityiskohtaiset ohjeet tiedostosta [CONTRIBUTING.md](CONTRIBUTING.md). ### Uuden version julkaiseminen ```bash # Luo julkaisu — npm publish suoritetaan automaattisesti VERSION=x.y.z gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes ```
## 📊 Tähdet Tähtihistorian kaavio
## 🌍 StarMapper StarMapper

## 🙏 Kiitokset
OmniRoute seisoo jättiläisten harteilla. Se sai alkunsa **[9router](https://github.com/decolua/9router)**-projektin haarana ja Go-projektin **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** TypeScript-porttauksena — ja siitä eteenpäin jokainen alla mainittu alijärjestelmä sai inspiraationsa avoimen lähdekoodin projektista, joka ehti toteuttaa vastaavan ensin. Jokainen niistä muovasi jotakin konkreettista osaa OmniRoutesta. Tämä on kiitoksemme niille kaikille. 🙏 > ⭐ tähtimäärät on tarkistettu GitHubin REST API -rajapinnasta 24. elokuuta 2026 — käy antamassa näille projekteille tähti. Määrät ovat täsmällinen, tiettynä päivänä otettu tilannekuva ja muuttuvat luonnollisesti ajan myötä. ### 🧬 Kehityslinja ja yhdyskäytävä
Projekti⭐Miten se inspiroi OmniRoutea
9router26,161Alkuperäinen projekti, johon tämä fork perustuu — sitä on laajennettu tässä multimodaalisilla API-rajapinnoilla ja täydellisellä TypeScript-uudelleenkirjoituksella.
CLIProxyAPI48,497Go-toteutus, joka inspiroi tätä JavaScript- ja TypeScript-porttausta.
LiteLLM57,100Tekoäly-yhdyskäytävä, jonka julkinen hinnoitteluaineisto syöttää kustannusseurannan synkronointiamme ja jonka palveluntarjoajien normalisointimalli vaikutti reititykseemme.
codex-chatgpt-web1,410MIT-lisensoitu lähdekoodi, joka mukautettiin mukana toimitettavaan ChatGPT Web → Codex Responses -siltaan, mukaan lukien selainistunto-, vastauskehystys-, käyttö- ja verkkohakusovittimet.
free-claude-code48,112Malleja, jotka portattiin suoratoiston palautukseen, ajatteluttomiin aliaksiin, varaverkkohakuun, liukuvan ikkunan rajoihin, lokien peittämiseen ja vahvistettuihin käynnistysprosesseihin.
composer-api322Cursor Composerin työkalun valinta-, tulosrajoite- ja työkalun vahvistusmallit, jotka mukautettiin natiiviin Cursor-suorittimeen.
codex-multi-auth457Uuden kirjautumisen ja päivitystunnusten kierrätyksen mallit, jotka portattiin Codex OAuth -uudelleentodennukseen.
opencode-anthropic-auth510Claude Code -yhteensopivan muunnoksen oletusarvot ja laskutusotsakkeiden toiminta yleistettiin OmniRouten konfiguraatio-ohjattuun siltaan.
grok2api-merged2Sen Grok-mallikartoitukset, vale-TypeError Statsig -generaattori, pyyntöjen ja laitteiden oletusarvot sekä NDJSON-vastausprosessori mukautettiin olennaisin osin OmniRouten Grok Web -suorittimeen.
TQZHR/grok2api705grok2api-mergedin tärkein transitiivinen koodilähde; sen malli-, otsake-, hyötykuorma-, Statsig- ja prosessoritoteutukset on säilytetty Grok Webin kehityslinjassa.
chenyme/grok2api7,520Taustalla oleva MIT-lisensoitu lähdekoodi Grokin hyötykuorman ja laitteen oletusarvoille, Statsig-generaattorille sekä result.response-prosessorille, jotka välittyivät TQZHR:n ja grok2api-mergedin kautta.
grok2api-pro27Transitiivinen lähde, jonka grok2api-merged mainitsee proxy-pool-kerroksensa yhteydessä; OmniRoute säilyttää tämän alkuperämaininnan, mutta ei väitä portanneensa proxy-poolia rajattuun Grok Web -suorittimeensa.
GrokProxy50Sen evästetodennettu Grok-välityspalvelin ja result.response.token-suoratoistomalli vaikuttivat OmniRouten Grok Web -siirtokerrokseen.
GrokBridge5Alkuperäinen Grok Web -toteutus hyödynsi sen HTTP-/selainpohjaista ylävirran suunnittelua; sen suora HTTP-polku pohjautuu GrokProxyyn, joten itsenäistä koodiporttausta ei väitetä tehdyn.
grok-web-api14Sen Rust-kieliset ChatOptions- ja vastauskuoriskeemat vaikuttivat OmniRouten TypeScript-pohjaisiin Grok-pyyntö- ja suoratoistovastaustyyppeihin.
### 🗜️ Kontekstin ja tunnisteiden pakkaus — moottorit
Projekti⭐Miten se inspiroi OmniRoutea
Caveman100,538Viraaliksi noussut ”miksi käyttää monta tokenia, kun muutama token hoitaa homman” -projekti — sen luolamiespuhefilosofia toimii vakiopakkaustilamme sekä yli 30 täytesanojen poisto- ja tiivistyssäännön perustana.
RTK – Rust Token Killer77,185Tehokas komentotulosteiden pakkaus — inspiroi RTK-moottoriamme, JSON-suodattimien DSL:ää, raakamuotoisen tulosteen palautusta sekä pinottua RTK → Caveman -käsittelyketjua.
headroom67,310Palautettava kontekstin pakkaus (SmartCrusher) — inspiroi headroom-moottoriamme ja ccr-hakumerkintämallia.
LLMLingua6,598Kehotteiden pakkaustutkimus (LLMLingua / LLMLingua-2) — inspiroi asynkronista, kooditurvallista ja virhetilanteissa alkuperäisen sisällön säilyttävää llmlingua-moottoriamme.
llmlingua-2-js31JS/ONNX-porttaus (MobileBERT / XLM-RoBERTa), jota käytetään LLMLingua-moottorimme työsäietaustajärjestelmänä.
Troglodita40Brasilianportugalin token-pakkaus — toimii pt-BR-kielipakettimme perustana: pleonasmien vähentäminen ja täytesanojen poisto on mukautettu brasilianportugalin kielioppiin.
ponytail108,957Viraaliksi noussut ”laiskan seniorikehittäjän” YAGNI-koodaustaito — inspiroi less-code-tulostustyyliämme: ohjausta kohti pienintä toimivaa muutosta, joka vähentää _generoidun_ koodin määrää (Cavemanin ytimekkään proosan tulostepuolen sisarominaisuus).
i-have-adhd23,526Sen toimintaan keskittyvä, ADHD-ystävällinen vastaustyyli mukautettiin OmniRouten ytimekkääksi tulostustyyliksi viidellä kielellä.
### 🧩 Kompaktit muodot, token-tutkimus ja kooditietoiset työkalut
Projekti⭐Miten se inspiroi OmniRoutea
TOON25,233Token-keskeinen objektinotaatio — sen sarakkeisiin sekä otsikko ja rivit -malliin perustuva rakenne muovasi taulukkomuotoista tiivistysvaihettamme.
GCF – Graph Compact Format41Sen kompakti graafimuoto ja yleisprofiilin rakenne vaikuttivat OmniRouten taulukkomuotoiseen tiivistykseen ja Headroom-koodekkimuotoon.
gcf-typescript4MIT-lisensoitu TypeScript-toteutus, joka sisällytettiin suoraan lähdekoodiin ja jota laajennettiin Headroomin yleisprofiilikoodekiksi.
token-optimizer-mcp494Brotli/SQLite-välimuisti ja istuntokohtainen kontekstiero — inspiroi session-dedup-moottoriamme.
token-savior1,122Bash-tulosteen tiivistys ja MCP-profiilit — inspiroivat pakkaamisen keskeyttämisperiaatettamme ja MCP-työkaluluetteloiden supistamista.
token-saver138Sisältötietoinen, tiedostotyyppikohtainen tulosteen pakkaus, joka osaa keskeyttää käsittelyn virhetilanteissa — vahvisti tiedostotyyppikohtaisen käsittelymme ja vähimmäishyödyn alittuessa tehtävän ohituksen toimivuuden.
token-optimizer1,951”Etsi haamutokenit” — sen ulkoistus- ja palautettavan tunnisteen malli vaikutti CCR-ulkoistuksen suunnitteluumme.
TokenMizer28Istuntograafiin ja vuorojen väliseen rivien kaksoiskappaleiden poistoon perustuva suunnitelma, joka vaikutti session-dedup-ratkaisuumme.
OmniCompress3Rust-pohjainen sarakkeinen JSON, sisältöosoitteinen haku ja viestien välinen kaksoiskappaleiden poisto — vahvistivat headroom-, ccr- ja session-dedup-moottoriemme suunnittelun sekä välimuistin vakautta koskevan invariantin ”pakattu muoto ei riipu sijainnista”.
mcp-compressor113MCP-työkaluskeemojen ja -kuvausten pakkaus — vaikutti MCP-työkaluluetteloidemme kardinaliteetin vähentämiseen.
RepoMapper197Aider-tyylinen repositoriokartan järjestäminen — vaikutti repositoriokarttojen ja hakutulosten järjestämisen tutkimukseemme.
quiet-shell-mcp4Deklaratiivinen komentotulosteen supistaminen MCP:n kautta — vahvisti deklaratiivisen Bash-tulosteiden tiivistyksemme toimivuuden.
ts-morph6,162TypeScript Compiler API -työkalupakki — inspiroi jäsenninpohjaista kommenttien poistoamme, joka säilyttää merkkijono-, mallipohja- ja säännöllisten lausekkeiden literaalit.
### 🧠 Muisti ja RAG
Projekti⭐Miten se inspiroi OmniRoutea
Mem063,902Yleiskäyttöinen muistikerros — sen malli, jossa välityspalvelin toimii kirjoitus- ja lukurajana, muovasi muistiarkkitehtuuriamme.
Letta (MemGPT)24,382Tilalliset agentit ja kerrostettu muisti — innoittivat kerrostettua Context Control & Recovery (CCR) -malliamme.
WFGY1,781ProblemMap-luokittelu 16 toistuvasta RAG-/LLM-virhetilanteesta — vianmääritysoppaamme yhteinen sanasto.
### 🛰️ Liikenteen tarkastus, MITM ja läpinäkyvä välityspalvelin
Projekti⭐Miten se inspiroi OmniRoutea
llm-interceptor66Koodausavustajan ↔ LLM:n välisen liikenteen MITM-kaappaus ja -analyysi vaikuttivat Traffic Inspectorin alkuperäisiin vaatimuksiin. Neljä aiemmin johdettua moduulia — SSE-yhdistäminen, keskustelujen normalisointi, salaisuuksien peittäminen ja otsakkeiden puhdistaminen — on korvattu riippumattomilla puhtaalta pöydältä toteutetuilla ratkaisuilla, jotka perustuvat julkisiin protokollastandardeihin. Kaksi isäntäkoneen liikenteen läpipäästävää rajapintaa (passthrough.ts ja _internal/bypass.cjs) ovat edelleen itsenäisesti luokiteltuja OmniRouten sisäisiä toteutuksia; niitä ei kirjoitettu uudelleen osana tätä korvaamista.
ProxyBridge5,995Läpinäkyvä prosessikohtainen välityspalvelinreititys — inspiroi vikasietoista MITM-purkuamme, vastakkeiden joutokäynnin aikakatkaisuja, /proc-prosessikohdistusta ja TPROXY-kaappausta.
### 📚 Mallitiedot, havainnoitavuus ja käyttöliittymä
Projekti⭐Miten se inspiroi OmniRoutea
models.dev6,555Avoin tietokanta tekoälymallien teknisistä tiedoista, hinnoittelusta ja ominaisuuksista — synkronoidaan natiivisti malliluetteloomme.
React Flow / xyflow38,108Solmupohjainen graafikirjasto, joka toimii reaaliaikaisten Compression Studion ja Combo/Routing Studion perustana.
LangGraph40,314LangGraph Studion reaaliaikainen työnkulkukaavion visualisointi inspiroi Studioidemme reaaliaikaista kaskadinäkymää.
Langfuse33,592Sen jäljitys → osuus → generointi -havainnoitavuusmalli muovasi Compression Studiomme vesiputousnäkymää.
Kiali3,631Istio-palveluverkon havainnoitavuus — inspiroi Routing/Combo Studion katkaisijamerkkejä ja virhereunojen visualisointeja.
lobe-icons2,428Tekoäly-/LLM-brändien logot, joilla palveluntarjoajien kuvakkeet esitetään hallintapaneelissamme.
flag-icons12,354Tarjoaa README-tiedoston kielivalitsimessa käytettävät MIT-lisensoidut SVG-liput.
### 🛡️ Tietoturva
Projekti⭐Miten se inspiroi OmniRoutea
awesome-secure-defaults721Kuratoitu luettelo oletusarvoisesti turvallisista kirjastoista, joka ohjaa tietoturvavalintojamme (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
### 🧭 Täydentävät työkalut
Projekti⭐Miten se inspiroi OmniRoutea
ClawRouter6,564Inspiroi pyyntöjen duplikaattien poistamista, maksutonta hätävaravaihtoehtoa, liitännäisiä Auto-Combo-strategioita ja monikielistä aikomusten luokittelua.
Antigravity-Manager30,652Sen tilit huomioiva mallien uudelleenkartoitus, suoritettavien tiedostojen polkujen validointi ja tilaustunnisteiden toiminta vaikuttivat OmniRouten Antigravity-ajoaikaympäristöön.
vscode-antigravity-cockpit4,817Sen kompakti kiintiön nollautumisen lähtölaskentamuoto inspiroi vastaavaa palveluntarjoajan rajoituksen näyttöä OmniRoutessa.
AionUi32,230Sen ACP-integraatiot inspiroivat OmniRouten asentamien CLI-agenttien automaattista tunnistusta.
CodexBar20,507Tunnisti Grok Build -kiintiörajapinnan; OmniRoute vahvisti ja korjasi sen jälkeen käytössä olevan siirtomuodon itsenäisesti.
## 📄 Lisenssi MIT-lisenssi – lisätietoja on tiedostossa [LICENSE](LICENSE). ---
**[⬆ Takaisin alkuun](#-omniroute)** · Rakennettu ❤️:llä avoimen lähdekoodin tekoäly-yhteisölle. OmniRoute v3.8.52 · Node ≥22.22.2 · MIT-lisenssi · omniroute.online