# 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-koontinäyttö

# 🚀 OmniRoute — Ilmainen tekoälyyhdyskäytävä **Tekijä: [Diego Souza](https://github.com/diegosouzapw)** OmniRoute — Älä lopeta koodaamista. Jokainen tekoälytyökalu → 388 palveluntarjoajaa — yli 150 ilmaista — yhden päätepisteen kautta. Claude Code, Codex, Cursor, Cline, Copilot ja Antigravity → ILMAINEN Claude / GPT / Gemini automaattisella varajärjestelmällä. RTK + Caveman -pinottu pakkaus säästää 15–95 % tokeneista (keskimäärin noin 89 %) — rajat eivät tule koskaan vastaan. 388 tekoälypalveluntarjoajaa · yli 150 ilmaista tasoa · noin 1,62 miljardia ilmaista tokenia kuukaudessa · 20 reititysstrategiaa · aloitus 0 dollarilla.
## 💰 ~1,62 mrd. tokenia / kuukausi kolmansien osapuolten maksuttomilla tasoilla
> **Käytä omia palveluntarjoajatilejäsi.** Tämä on erikseen kelvollisten kolmansien osapuolten maksuttomien tasojen yhteenlaskettu arvio, ei OmniRouten myöntämä tokenimäärä. Rekisteröidy, hanki tunnistetiedot tarvittaessa ja yhdistä käyttämäsi palveluntarjoajat; kukin palveluntarjoaja hallitsee omia rajojaan, saatavuuttaan ja ehtojaan. > > Maksuttomien tasojen yhdistäminen käsin on työlästä — kymmeniä SDK:ita, kymmeniä nopeusrajoituksia eikä mitään käsitystä siitä, kuinka paljon sinulla todellisuudessa on käytettävissä. OmniRoute luetteloi **465 maksuttoman tason merkintää 34 toistuvan pooliavaimen kautta** ja laskee tokenien kokonaismäärän **17 poolista, joilla on julkaistu positiivinen kuukausibudjetti, sekä viidestä mallikohtaisesta Groq-rajoituksesta**, ja poistaa yhteisten poolien päällekkäisyydet. Kiintiöt, jotka avautuvat vasta alueellisen henkilöllisyyden tarkistuksen jälkeen (tällä hetkellä: ModelScope), näytetään erikseen: alueellisen henkilöllisyyden varmennuksen takana on lisäksi noin 6 miljoonaa tokenia, eikä niitä koskaan lasketa otsikon kokonaismäärään. Tulos pysyy näkyvissä hallintapaneelissa (`/dashboard/free-tiers`). OmniRouten maksuttoman tason budjettikortti: noin 1,62 miljardia maksutonta tokenia kuukaudessa vakaasti, enintään noin 2,22 miljardia ensimmäisen kuukauden aikana rekisteröitymishyvitysten ansiosta, 34 dokumentoidusta toistuvasta pooliavaimesta, jotka kattavat 465 luetteloitua maksuttoman tason merkintää yhden päätepisteen takana. Rehellinen pooleihin perustuva päällekkäisyyksien poisto — jokainen yhteinen pooli lasketaan kerran, mukaan lukien 17 toistuvaa poolia, joilla on julkaistu positiivinen kuukausittainen tokenibudjetti, sekä viisi mallikohtaista Groq-rajoitusta; ehtoriskiluettelossa 12 palveluntarjoajaa on merkitty vältettäviksi, joten päätös on sinun. Budjettipalkki sisältää Mistral 1 mrd., Nara 210 milj., LLM7 150 milj., xKiro 150 milj., Groq 30 milj. (viisi mallikohtaista rajoitusta) ja pienempiä pooleja sekä ensimmäisen kuukauden rekisteröitymishyvitykset ja pysyvästi maksuttomat palveluntarjoajat, joilla ei ole tokenirajoitusta; ne näytetään erikseen, jotta ne eivät koskaan kasvata otsikon kokonaismäärää. Reaaliaikainen käytetty/jäljellä oleva määrä osoitteessa /dashboard/free-tiers. > Reaaliaikainen `/dashboard/free-tiers`-sivu animoituna yhteenvetona. Täydellinen menetelmä (poolien päällekkäisyyksien poisto, hyvitystasot, 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** — palveluntarjoajan maksuton taso päättyy ja luku pienenee; uusi palveluntarjoaja lisätään ja luku kasvaa. Julkaisemme sen, minkä luettelo todellisuudessa laskee, emme ylöspäin pyöristettyä parasta mahdollista arviota.

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

[![Stars](https://img.shields.io/github/stars/diegosouzapw/OmniRoute?style=social)](https://github.com/diegosouzapw/OmniRoute) diegosouzapw%2FOmniRoute | Trendshift [![Star History Rank](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 uudet palveluntarjoajat, julkaisut ja vinkit ensimmäisenä:** [![Follow Diego on LinkedIn](https://img.shields.io/badge/Follow_Diego_on-LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/diegosouzapw/) [![Follow @diegosouzapw on GitHub](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) [![Website](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 [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasil](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)**
## 📈 Gateway kasvaa jatkuvasti
| | v3.8.50 | **v3.8.51** | `v3.8.54+` | | ------------------------------------------- | :--------------------: | :---------: | :-------------------: | | 🌐 Palveluntarjoajat | 352 | **358** | 388 | | 🧠 Yksilölliset keskustelumallien tunnukset | 1320 | **1374** | 1491 | | 🖼️ Modaliteettisilta | 🆕 näkö + ääni + video | ✓ | ✓ | | 📡 Radarin maksuton luettelo | 🆕 opt-in | ✓ | ✓ | | ⚖️ Kiintiöt huomioiva ajoitus | 🆕 Quota-Share | ✓ | ✓ | | 📊 Kiintiötelemetria | 🆕 reaaliaikainen | ✓ | ✓ | | 🧰 Headless-tila | — | — | 🆕 `serve --headless` | | 🛤️ LTS-julkaisuinfrastruktuuri | — | — | 🆕 julkaisukanavat | | 🔎 Mallien etsintä-API | — | — | 🆕 `/v1/models/query` | **→ [Etenemissuunnitelma](ROADMAP.md) — kohti `v3.9.0 LTS` -julkaisua**

## 🧩 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 📦 Asenna 🆓 Yhdistä palveluntarjoaja
💡 Opi 💥 Lupaus 🤔 Miksi OmniRoute 🏆 Mikä erottaa sen muista
⚙️ Ominaisuudet 🎯 Yhdistelmät 🌐 Palveluntarjoajat 🔌 CLI & MCP
🗜️ Pakkaus 🖥️ Missä se toimii 🔒 Yksityinen
👀 Katso 🎬 Käytännössä ✨ Uutta 🤖 Yhteensopivat CLI:t
💚 Tue 💚 Tue / lahjoita 💬 Yhteisö 💖 Tukijat
📦 Projekti 🛠️ Teknologiapino 📖 Dokumentaatio 👥 Osallistujat
🌐 67 kielellä

English (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ä yhden päätepisteen kautta
Kolme vaihetta: asenna ja käynnistä OmniRoute, yhdistä kelvollinen palveluntarjoaja omalla tililläsi tai API-avaimellasi ja osoita työkalusi osoitteeseen localhost:20128/v1 käyttämällä OmniRoute API-avainta ja mallia auto. Reititys riippuu käytettävissä olevista kelvollisista 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 kelvollisen reitin. Uudessa asennuksessa ei välttämättä ole yhtään kelvollista avaimetonta kohdetta, ja avaimeton palveluntarjoaja voi hylätä kolmannen osapuolen asiakkaat. Palveluntarjoajat, joiden merkintä on `tos: avoid`, mukaan lukien Kiro, jätetään oletusarvoisesti automaattisen reitityksen ulkopuolelle; tilin yhdistäminen ei ohita tätä asetusta. Tutustu [Free Tiers Guide](docs/getting-started/FREE-TIERS-GUIDE.md) -oppaaseen ennen palveluntarjoajan valitsemista. 📦 Kopioi ja suorita pika-aloituskomentosarjat kielille **Python, Node.js, PHP ja cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Lupaus
Lupaus — yksi päätepiste ja 388 palveluntarjoajaa. Automaattinen varareititys pitää reitityksen toiminnassa, kun toinen terve kohde on käytettävissä. Kuusi pilaria: vikasietoinen varareititys 388 palveluntarjoajan välillä · jopa 95 %:n token-säästöt soveltuvissa työkuormissa · 0 $:sta alkaen, yli 150 ilmaistasoa ja 52 toistuvaa tai avaimetonta ikuisesti ilmaista palveluntarjoajaa · 39 CLI-/agentti-integraatiota yhden määrityksen kautta · OpenAI-, Claude-, Gemini- ja Responses API -yhteensopivuus osoitteessa /v1 · tuotantotason hallintaominaisuudet, kuten virtakatkaisimet, TLS-häivytys, MCP:n 110 työkalua, A2A, muisti, suojakaiteet, evaluoinnit sekä yli 56 000 staattista testimääritystä yli 7 800 seurattavassa testitiedostossa.

# 🤔 Miksi OmniRoute?
Miksi OmniRoute — lopeta 10 hallintapaneelin, vanhentuneiden API-avainten ja yllättävien laskujen kanssa kamppailu. Kymmenen päivittäistä ongelmaa ja niiden ratkaisut: käyttämättä vanheneva kiintiö → hyödynnä tilaukset parhaalla mahdollisella tavalla; nopeusrajoitukset kesken koodauksen → automaattinen varareititys neljän tason kautta (tilaus → API → edullinen → ilmainen); työkaluviestien kuluttamat tokenit → RTK + Caveman -pakkaus (15–95 %); kalliit API:t → kustannusoptimoitu reititys; jokaiselle työkalulle oma määritys → yksi päätepiste, yksi hallintapaneeli; estetty tekoäly → kolmitasoinen välityspalvelin + TLS-häivytys; toimimattomat avaimet → kolmitasoinen vikasietoisuus (virtakatkaisimet, avainten jäähdytys, mallien sulkeminen); yksi tilaus koko tiimin käytössä → avainpoolit oikeudenmukaisilla kiintiöillä; kehotteet jonkun muun pilvipalvelun kautta → paikallisuus etusijalla, AES-256-GCM-salatut avaimet; näkyvyys kulutukseen puuttuu → reaaliaikainen analytiikka (käyttö, kiintiö, säästöt, p95-viive).
OmniRoute-pyyntövirta: IDE:si tai CLI:si (Claude Code, Cursor, Cline…) kutsuu yhtä paikallista päätepistettä (http://localhost:20128/v1); OmniRouten älykäs reititin (RTK + Caveman -pakkaus, 20 reititysstrategiaa, virtakatkaisimet, TLS-häivytys, MCP, A2A, suojakaiteet) voi varareitittää neljän palveluntarjoajatason kautta niin kauan kuin kelvollinen ja terve 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.

## 🎯 Yhdistelmät — lippulaivaominaisuus
Animoidut esimerkit 18:sta kaikkiaan 20 yhdistelmän reititysstrategiasta — 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, lkgp, auto, fusion, pipeline. Strategioita cache-optimized ja quota-weighted ei ole animoitu; alla oleva taulukko kuvaa kaikki 20. > **Yhdistelmä** on malliketju, jonka kautta OmniRoute reitittää **automaattisesti**. Jos kiintiö loppuu, palveluntarjoaja vikaantuu tai kustannukset nousevat äkillisesti, yhdistelmä voi siirtyä seuraavaan soveltuvaan ja toimintakuntoiseen malliin. 🛡️ ### ⚡ Ei määrityksiä — käytä vain mallia `auto` Yhdistelmää ei tarvitse luoda. Aseta malliksi `auto` (tai jokin sen muunnelma), niin OmniRoute rakentaa yhdistetyistä palveluntarjoajistasi virtuaalisen yhdistelmän, joka pisteytetään reaaliaikaisesti:
MallitunnusMitä se optimoi
auto🎯 Tasapainoinen oletus (LKGP — pysyy viimeksi toimineessa palveluntarjoajassa)
auto/coding🧑💻 Laatua ensisijaisesti painottava koodin generointi
auto/fast⚡ Pienin viive ensin
auto/cheap💰 Halvin tokenikohtainen hinta ensin
auto/subscription🎟️ Vain jo maksamasi tilauksen kiintiö — sulkeutuu virhetilanteessa eikä koskaan siirry laskutettavaan varavaihtoehtoon (opas)
auto/thrifty🪜 Ensin tilauspaketin kiintiö, sitten askel kerrallaan halvimpiin maksullisiin vaihtoehtoihin — takaisin tilauspakettiin sen nollauduttua (opas)
auto/offline🔋 Eniten kiintiö- tai nopeusrajoitusvaraa ensin
auto/smart🔭 Laatu ensin + 10 % kokeilua parempien mallien löytämiseksi
auto/lkgp📌 Eksplisiittinen pysyvyys viimeksi toimivaksi tiedetyssä palveluntarjoajassa
auto/chaos🧪 Rinnakkainen hajautus mallipaneelille (yksi palveluntarjoajaa kohden, oletuksena 5) palauttaa yhden vastauksen; yksi kutsu ylävirtaan paneelin kutakin mallia kohden, ei vikojen injektointia
## ### 🔀 Tai rakenna omasi — 20 reititysstrategiaa Kaikki **20** strategiaa — yhdistele vapaasti yhdistelmän jokaisessa vaiheessa:
# Strategia Mitä se tekee
1 priority Ensisijaiseen kohteeseen perustuva järjestetty luettelo — käytä kukin loppuun ennen seuraavaa 🥇
2 fill-first Käytä kunkin kohteen kiintiö kokonaan ennen siirtymistä seuraavaan
3 weighted Painotettu satunnaisvalinta kohdekohtaisten painojen perusteella
4 round-robin Kierrä kohteita järjestyksessä
5 p2c Satunnainen kuormantasaus kahden vaihtoehdon menetelmällä
6 least-used Valitse kohde, jolla on pienin nykyinen kuormitus
7 random Tasajakaumaan perustuva satunnaisvalinta (ilman kaksoiskappaleita)
8 strict-random Satunnaisvalinta poistamatta toistoja 🎲
9 cost-optimized Minimoi pyyntökohtainen hinta reaaliaikaisten luettelohintojen perusteella 💸
10 headroom Valitse kohde, jolla on eniten kiintiötä jäljellä
11 quota-weighted Ohita loppuun käytetyt tilit ja valitse sitten suhteessa jäljellä olevaan kiintiöön ÷ käsiteltävänä olevaan kuormaan — nykyiset keskustelut pysyvät kiinnitettyinä ⚖️
12 reset-window Suosi kohdetta, jonka kiintiöjakso nollautuu pian
13 reset-aware Järjestä kiintiön nollautumisajan mukaan — lyhyet jaksot ensin 📊
14 context-relay Siirrä konteksti kohteiden välillä pitkissä keskusteluissa 🧠
15 context-optimized Valitse nykyiseen kontekstikokoon parhaiten sopiva kohde
16 cache-optimized Kiinnitä jokainen uudelleenkäytettävä kehotteen etuliite samaan tiliin — maksimoi kehotteiden välimuistiosumat 🎯
17 lkgp Viimeksi toimivaksi tiedetty polku — kiinnittää viimeksi onnistuneeseen palveluntarjoajaan ja turvautuu sitten sääntöihin
18 auto 16 tekijän reaaliaikainen pisteytys kaikille yhteyksille 🤖
19 fusion Hajauttaa pyynnön mallipaneelille, minkä jälkeen arvioija koostaa yhden vastauksen 🧬
20 pipeline Ketjuta vaiheet — kunkin kohteen tuloste syötetään seuraavalle 🔗
Auto-Combo-moottori pisteyttää jokaisen ehdokkaan **16 tekijän** perusteella (toimintakunto, kiintiö, kustannukset, viive, soveltuvuus 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) OmniRouten vikasietoisuus — 3 itsenäistä, itsekorjautuvaa kerrosta, oikea kerros oikealle vialle. Kerros 1: palveluntarjoajan katkaisija (koko palveluntarjoaja): laukeaa vain 408/5xx-virheistä, raja-arvot OAuth 8× / API-avain 12× / paikallinen 2×, palautuu 60s/30s/15s kuluttua HALF-OPEN-koetilaan, laiska palautuminen; OPEN-tilassa yhdistelmä reitittää liikenteen seuraavalle palveluntarjoajalle. Kerros 2: yhteyden jäähdytys (yksi avain/tili): perusaika 5s OAuth / 3s API-avain, eksponentiaalinen ×2-viive ukkoslaumalta suojaavalla mekanismilla, 429 noudattaa Retry-After-arvoa, onnistuminen tyhjentää koko virhetilan; yksi jäähdytettävä avain ohitetaan muiden avainten jatkaessa palvelua. Kerros 3: mallin lukitus (yksi malli): mallikohtainen 429, paikallinen 404 tai tilan estot lukitsevat vain kyseisen mallin — eivät koskaan koko yhteyttä. Lopulliset tilat (estetty, vanhentunut, krediitit loppuneet) vaativat ylläpitäjän toimia, eivät jäähdytystä. 📖 [Auto-Combo-moottori](docs/routing/AUTO-COMBO.md) · [Vikasietoisuusopas](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Mikä erottaa OmniRouten muista
Mikä erottaa OmniRouten muista — päivätty ominaisuusvertailu 9routeriin, OpenRouteriin, CLIProxyAPI:in ja LiteLLM:ään nähden 13 ominaisuudessa. OmniRoute: 388 palveluntarjoajaa, yli 150 ilmaista käyttöoikeustasoa sisäänrakennettuna, 20 reititysstrategiaa, tunnusten pakkaus 12 moottorilla, sisäänrakennettu MCP-palvelin, jossa on 110 työkalua, A2A-agenttiprotokolla, pysyvä muisti, suojaukset, pilviagentit, TLS-sormenjäljen häivytys, Desktop/Termux/PWA ja 67 käyttöliittymän i18n-kielialuetta. OmniRoute on MIT-lisensoitu ja itse isännöitävissä. Kilpailijoiden ominaisuudet ja määrät voivat muuttua; katso linkitetty menetelmäkuvaus. 📊 Täydellinen menetelmäkuvaus ja ominaisuuskohtaiset tiedot verrattuna 9routeriin, OpenRouteriin, CLIProxyAPI:in ja 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
> Viimeaikaiset kohokohdat versiosta **v3.8.20 → v3.8.54**. Täydellinen historia tiedostossa [`CHANGELOG.md`](CHANGELOG.md). - **⚖️ `quota-weighted` -reititys** — 20. yhdistelmästrategia ohittaa loppuun käytetyt tilit ja arpoo jäljelle jääneiden joukosta suhteessa jäljellä olevaan kiintiöön ÷ käynnissä olevaan kuormaan, pitäen olemassa olevat keskustelut kiinnitettyinä. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🧰 Pääteetön tila** — `omniroute serve --headless` (tai `OMNIROUTE_HEADLESS=1`) suorittaa vain `/v1/*`-välityspalvelinkoneiston ja poistaa käytöstä hallintapaneelin sekä vain hallintapaneelissa käytettävät alijärjestelmät. → [Pääteetön tila](docs/guides/HEADLESS.md) - **🔎 Mallien etsintä** — `/v1/models` suodattaa ominaisuuden, kontekstin, tyypin ja tekstin perusteella, ja `POST /v1/models/query` palauttaa lyhyen deterministisen ehdokaslistan samalla avainkohtaisella näkyvyydellä. → [API-viite](docs/reference/API_REFERENCE.md) - **🔑 Avainkohtainen reitityksen hallinta** — kiinnitä API-avain yhteen malliin tai yhdistelmään `forcedModel`-määrityksellä ja lisää tai poista avaimen malleja ja yhdistelmiä atomisesti (`/api/keys/{id}/access`). → [API-viite](docs/reference/API_REFERENCE.md) · [OpenAPI](docs/openapi.yaml) - **🛡️ Tarkemmat henkilötietojen hallintatoiminnot** — tyyppikohtainen valinta, enintään 20 validoitua mukautettua peittokuviota ja tyyppikohtaiset tunnistuslaskurit; peittäminen on edelleen valinnaista. → [Suojakaiteet](docs/security/GUARDRAILS.md) - **🌍 67 kieltä** — hallintapaneeli, dokumentaation peilit ja CLI, ja `npm run i18n:add-locale` lisää kielen kaikkialle yhdellä komennolla. → [i18n-opas](docs/guides/I18N.md) - **🎛️ OmniConductor** — saapuva A2A-delegointi agenttijoukkoosi, Conductor-taidot Agent Cardissa ja hallintapaneelin osio, jossa on Faro push-to-talk -äänikeskustelu. → [A2A-palvelin](docs/frameworks/A2A-SERVER.md) - **🛂 Mukautuva pääsynhallinta ja ylikuormitussuojaus** — raskaat keskustelupyynnöt jonoutuvat 503-virheen sijaan, ja yhteyskohtaiset atomiset RPM-liukuvaraukset ovat käytössä. → [Vikasietoisuusopas](docs/architecture/RESILIENCE_GUIDE.md) - **🗂️ Kanoninen `/v1/models`-järjestys** — yksi yhtenäinen palveluntarjoajaryhmitelty lohko palveluntarjoajaa kohden (yhdistelmät ensin), vakaana jokaisessa luettelolähteessä. → [API-viite](docs/reference/API_REFERENCE.md) - **🗜️ Pakkauksen vahvistaminen** — oletusarvoisesti käytössä oleva paisumissuoja, Caveman-paketit DE / FR / JA + kiinalaiselle (wényán), RTK-suodattimet Gradlelle ja .NET:lle. → [Pakkaus](docs/compression/COMPRESSION_ENGINES.md) - **💸 Rehelliset kiinteähintaiset kustannukset** — tilaus- ja koodisuunnitelmapalveluntarjoajien kustannusanalytiikan arvo on **$0**; budjetti, kiintiö ja reititys jatkavat arvioiden tekemistä. → [API-viite](docs/reference/API_REFERENCE.md) - **⚖️ Quota-Share-reititys** — jakaa jaetun tilin kiintiön oikeudenmukaisesti koottujen avainten kesken ja lainaa käyttämättömät osuudet aktiivisille käyttäjille. → [Vikasietoisuusopas](docs/architecture/RESILIENCE_GUIDE.md) - **🤖 CLI:n ja agentin määritys yhdellä komennolla** — 15 rekisteröityä `setup-*`-komentoa; `omniroute run` käynnistää 7 CLI:tä (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` tukee 11 kohdetta interaktiivisella palveluntarjoaja- ja mallivalitsimella sekä kontekstikohtaisilla suosikeilla. → [CLI-integraatiot](docs/guides/CLI-INTEGRATIONS.md) - **🛰️ Etätila** — hallitse etäkäytössä olevaa OmniRoutea rajatuilla tunnuksilla (`connect` / `contexts` / `tokens`) sekä `antigravity` OAuth-aputoiminnolla VPS-asennuksia varten. → [Etätila](docs/guides/REMOTE-MODE.md) - **🧭 Älykkäämpi automaattinen reititys** — `auto/:`-yhdistelmät, **Fusion** (mallipaneeli + arvioija), tehtävätietoinen reititys sekä pyyntökohtaiset mallin, tilan ja USD-budjetin ohitukset. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **🗜️ Liitettävä pakkaus** — 12 yhdisteltävää konetta + Compression Studios: LLMLingua-2, kaksitasoinen Ultra, omniglyph, vaihekohtainen tarkkuusportti, GCF v3.2 ja vetämällä järjestettävä muokkain. → [Pakkaus](docs/compression/COMPRESSION_ENGINES.md) - **🕵️ Läpinäkyvä MITM-purku (TPROXY)** — välityspalvelimen ympäristömuuttujat ohittavien CLI:iden kaappaus sekä SNI-kohtainen CA- ja luottamusvaraston asennusohjelma. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md) - **💸 Kustannusten telemetria kaikkialla** — `X-OmniRoute-*`-kustannus- ja käyttöotsakkeet jokaisessa päätepisteessä, välimuistiosuman säästöotsake ja avainkohtaiset USD-kulutuskiintiöt. → [API-viite](docs/reference/API_REFERENCE.md) - **🧠 Hallitsemasi muisti** — oletusarvoisesti pois käytöstä, valinnaisesti käyttöön otettava int8-vektorikvantisointi + tyypitetty vaimeneminen, pyyntökohtainen `x-omniroute-no-memory`. → [Muisti](docs/frameworks/MEMORY.md) - **🛡️ Tietoturva** — prompt-injektiosuoja jokaisella LLM-reitillä (red team -testikokoelma), valinnainen tunnistetietojen peittämissuojakaide (poistaa vuotaneet API-avaimet ja salaisuudet molempiin suuntiin), maksuton DuckDuckGo-verkkohaun viimeinen varavaihtoehto sekä valinnainen OIDC-kirjautumisportti hallintapaneeliin (salasanakirjautuminen on 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 median käsittelyn rajapintaa. → [API-viite](docs/reference/API_REFERENCE.md) - **🎨 Kuvien, videoiden ja äänen luonti** — yksi media-API: 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 operointi** — käänteisen välityspalvelimen `basePath`, selaimen kielen automaattinen tunnistus, avainkohtainen laitteiden seuranta, pääkäyttäjättömän 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, Kimin virallinen kumppanuus (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… sekä uudistettu **388 palveluntarjoajan luettelo**. → [Palveluntarjoajat](docs/reference/PROVIDER_REFERENCE.md) - **📡 Reitityksen läpinäkyvyys** — jokainen vastaus sisältää `X-OmniRoute-Decision`-otsakkeen, joka ilmoittaa sitä palvelleen strategian, palveluntarjoajan ja viiveen; uusi `cache-optimized`-yhdistelmästrategia sekä Auto-Combossa oleva `cacheAffinity`-tekijän reitti toistuvat pyynnöt takaisin välimuistissa olevaa etuliitettä hallussaan pitävään yhteyteen, ja vain lukuun tarkoitettu `/v1/auto-combo/{channel}/candidates`-päätepiste paljastaa `auto/*`-kanavan reaaliaikaisen ehdokasjoukon. → [Auto-Combo](docs/routing/AUTO-COMBO.md) - **⚡ Paikallinen suorituskyky ja infrastruktuuri** — paikallinen Redis yhdellä napsautuksella, Cloudflare Workers- / Deno Deploy -välityspalvelinten käyttöönottajat, Bifrost ja Mux valvottuina upotettuina palveluina. → [Upotetut palvelut](docs/frameworks/EMBEDDED-SERVICES.md) - **🧩 Myös mukana** — lisäosakehys ja markkinapaikka, Omni/Agent/GitHub-taitokehykset, Obsidian-holvi-integraatio (22 MCP-työkalua), OpenAI-yhteensopivat Batch- ja Files-rajapinnat, semanttinen vastausvälimuisti, pelillistäminen tulostaulukoilla, ACP-agenttien haku (15 sisäänrakennettua agenttia), ajoitettu lokien vienti BigQueryyn, `auto/chaos`-rinnakkainen usean mallin fan-out, Telegram-bottisilta, sovelluksen sisäinen versionhallinta ja LMArena-ELO:n ilmaisten palveluntarjoajien sijoitukset. → [Dokumentaatio](docs/README.md)
## 🤖 Yhteensopivat CLI:t & Koodausagentit > Yksi konfiguraatio — `http://localhost:20128/v1` — ja **jokainen** AI-IDE tai CLI toimii ilmaisilla & 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 seuraavien kanssa · Agent Deck · Kiro · Command Code · Antigravity · Windsurf · AMP · minkä tahansa OpenAI-yhteensopivan työkalun kanssa
📖 Jokaisen 39 työkalun (28 CLI Code's + 11 CLI Agents) työkalukohtaiset asennusohjeet → [`docs/reference/CLI-TOOLS.md`](docs/reference/CLI-TOOLS.md) · 🧩 OpenCode-liitännäinen → [`@omniroute/opencode-provider`](https://www.npmjs.com/package/@omniroute/opencode-provider)

**Käynnistä mikä tahansa tuettu CLI OmniRouten kautta yhdellä komennolla** — ei konfiguraatiotiedostoja, tunnistetiedot injektoidaan prosessikohtaisesti, Qwen/Gemini saa kertakäyttöisen 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 tarjoaja+malli interaktiivisesti ja kirjoita työkalun oma konfiguraatio: omniroute configure codex # myös: claude opencode qwen aider goose gemini cline continue kilo 5dive ``` Jokainen komento huomioi aktiivisen etäyhteyden (`omniroute connect `), `--dry-run` esikatselee tarkan ympäristön/parametrit ilman suorittamista, ja `--api-key-env NAME` pitää salaisuudet poissa komentorivihistoriastasi. → [CLI-integraatiot](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 388 tekoälypalveluntarjoajaa — 153 katalogiin merkittyä maksutonta
> **388 rekisteröityä palveluntarjoajaa** kanonisissa chat-, media-, haku-, paikallis-, pilviagentti- ja järjestelmäkokoelmissa, joista **153:lla on `hasFree: true` -hakumetatiedot**. Chat-mallirekisteri kattaa **239 palveluntarjoajaa / 3 059 erillistä palveluntarjoaja–malli-paria / 1 475 raakaa mallitunnistetta**; erillisessä ilmaisen budjetin luettelossa on **471 mallikohtaista riviä**, **34 toistuvaa allasta** ja **52 toistuvasti tai ilman avainta maksutta käytettävää palveluntarjoajaa**. Nämä ovat tarkoituksella eri nimittäjiä; määritelmät ja allasduplikaatit poistavat laskelmat ovat saatavilla [palveluntarjoajien viiteoppaassa](docs/reference/PROVIDER_REFERENCE.md) ja [ilmaisissa käyttöoikeustasoissa](docs/reference/FREE_TIERS.md).
### 🏢 Kaikki merkittävät laboratoriot — yhden päätepisteen 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 350 muuta — jokainen kuvake haetaan reaaliajassa hallintapaneelin palveluntarjoajaluettelosta. 📖 [Palveluntarjoajien viiteopas](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Maksutta ikuisesti — 0 $, ei korttia tarvitse antaa
OpenCode Zen
OpenCode Zen
DeepSeek V4, Nemotron 3
Ei tokenirajoitusta
Kilo Code
Kilo Code
Automaattinen reititin, 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
RAJOITTAMATON ILMAINEN
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 hyvitys; kortti vaaditaan
OpenRouter
OpenRouter
:free-mallit
+10 $ → suurempi RPM
📖 Täydellinen koneellisesti luettava luettelo → [`docs/reference/PROVIDER_REFERENCE.md`](docs/reference/PROVIDER_REFERENCE.md)
## 🖥️ Missä OmniRoute juoksee – missä tahansa
> Sama sovellus, koneesi, sinun säännöt. Globaalista npm-asennuksesta** puhelimesi** Termuxin kautta. Windows / macOS / LinuxOmniRouteTray)
Kohokohdat
📦 npm (maailmanlaajuinen) npm asenna -g omniroute Yksi komento, mikä tahansa OS
⚡ Bun (maailmanlaajuinen) bun add -g omniroute Sama rekisteritarball, nopeammat asennukset
🐳 Docker docker run … diegosouzapw/omniroute Monikaari AMD64 + ARM64
🖥️ Työpöytä (Electron npm suorita elektroni:build Natiiviikkuna + ilmaisinalue
🎩 Valikkopalkki
brew install --cask zoispag/tap/omniroute-tray& palvelimen automaattisia päivityksiä — macOS
💪 ARM alkuperäinen arm64 Raspberry Pi, ARM palvelimet, Apple Silicon
📱 Android (Termux) pkg install nodejs && npx -y omniroute Suorittaa puhelimellasi , 24/7, ei
📲 PWA"Lisää aloitusnäyttöön" Koko näyttö, offline, asennettavissa selaimesta
🧩 OpenCode plugin @omniroute/opencode-provider Natiivi OpenCode integrointi
🤖 VS Koodi Copilot Chat asenna OmniCopilot -laajennus Jokainen OmniRoute -malli alkuperäisessä Copilot -keskusteluvalitsimessa — vakaa & Sisäpiiriläiset
🛠️ Lähteestä npm asenna && npm suorita dev Hakkeroi se, lisää
📖 [Docker opas](docs/guides/DOCKER_GUIDE.md) · [Työpöytä](electron/README.md) · [Valikkopalkin tarjotin](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 alkuperäisessä Copilot chatissa
> Ei uutta sivupalkkia, ei uutta chat- UI – jokainen OmniRoute malli, jota palvelee, näkyy suoraan**Copilot Chat-mallinvalitsin, jota käytät jo** . VS Code 1.122:sta lähtien palveluntarjoajan mallit toimivat ilman GitHub -kirjautumista tai Copilot tilausta – agenttitila, työkalukutsut ja visio ilmaiseksi. Asenna** [OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)** laajennus, osoita se OmniRoute -palvelimellesi (oletus on `localhost:20128`) ja avaa sitten Copilot Chat → mallivalitsin →** Hallinnoi malleja…** →**OmniRoute** . kanssa < td kohdista ="vasemmalle">VS Code — vakaa & Sisäpiiriläiset < td kohdista ="vasemmalle">Cursor, Windsurf, VSCodium, Theia, AntigravityKiro server ...
Store Linkki Toimii
🧩 VS Code Marketplace Asenna →
🔓 VSX rekisteri Asenna →
Editorin sisältä: avaa** Laajennukset** katsoa, etsiä** "OmniRoute"** , napsauta** Asentaa** - toimii samalla tavalla molemmissa myymälöissä. Lähde, numerot ja julkaisuohjekirja livenä osoitteessa [diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot). 📖 [VS Code Copilot Chat-opas](docs/guides/VSCODE-COPILOT.md) — asetukset, mitä valitsin näyttää, kojelauta välilehdellä, vianmääritys
### 🎩 Uutta: OmniRouteTray – yhdyskäytäväsi, joka on valikkopalkissa
> `omniroute serve` on onnellisin, kun se on aina päällä.** [OmniRouteTray](https://github.com/zoispag/omniroute-tray)** muuttaa sen macOS määritä ja unohda -valikkopalkkisovellukseksi: se käynnistää palvelimen, pitää sen hengissä uudelleenkäynnistyksen jälkeen, päivittää sen ja asettaa live-tunnusbudjettisi yhden napsautuksen päähän –** ei pääteikkunaa jätetty auki, ei `npm install -g omniroute` lapsenvahtiin.** Rakennettu [Tauri v2:](https://v2.tauri.app/) lla (pyöristysvirheen kokoinen Rust-ydin), se lähettää oman allekirjoitetun Node 24 -ajonaikaisena ja hallitsee sovelluksen omistamaa OmniRoute -asennusta, joten se ei koskaan taistele globaalia `node`/`bun` tä vastaan. Se** jakaa olemassa olevan `~/.omniroute/` -kokoonpanosi ja tietokantasi** - joten se on sama OmniRoute, jota jo juoksit, vain hattu päässä. 🎩
Mitä se tekee Miten
🟢 Valvoo palvelinta Muodostaa omniroute service , ottaa käyttöön jo käynnissä olevan ilmentymän kopioimisen sijaan
📊 Live-käyttö yhdellä silmäyksellä Palveluntarjoajan kiintiöpalkit, Claude session/weekly rajat nollatuilla lähtölaskeilla, 30 päivän kustannuserittely
🔄 Automaattiset päivitykset paikallaan Vaiheittainen asennus, atomin vaihto, palautus epäonnistuessa – aina uusimmassa versiossa
🚀 Aloita sisäänkirjautumisen yhteydessä Valinnainen käynnistys kirjautumisen yhteydessä; vain lokero, ei telakointikuvaketta
🩺 Doctor & lokit Yhden napsautuksen diagnostiikka ja palvelinlokin käyttö
```sh brew install --cask zoispag/tap/omniroute-tray ``` Haluatko ladata mieluummin? Lataa uusin .dmg osoitteesta Julkaisee . Lähde, ongelmat ja rakenne docs livenä osoitteessa 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 CLI + A2A ja MCP
> Palvelimen lisäksi OmniRoute on **täydellinen komentoriviohjaamo**, jossa on **yli 80 komentoa** sekä avoimet agenttiprotokollat, joiden avulla tekoälyagentti voi hallita sitä **itsenäisesti**. ### ⌨️ Todellinen CLI (ei pelkkä `start`) ```bash omniroute # käynnistä yhdyskäytävä ja hallintapaneeli (portti 20128) omniroute chat # interaktiivinen TUI-keskusteluasiakas (vinoviivakomennot: /model /combo /skill /memory) omniroute setup # ohjattu ensikäynnistyksen määritys omniroute doctor # diagnosoi palveluntarjoajat, portit ja natiiviriippuvuudet ``` ### 🛰️ Etätila — suorita CLI täällä ja OmniRoute VPS-palvelimella Onko OmniRoute palvelimella? Hallitse sitä kannettavaltasi **samalla CLI:llä**. Kirjaudu kerran käyttöoikeuksiltaan rajatulla tunnuksella, minkä jälkeen jokainen komento kohdistuu etäpalvelimeen. ```bash omniroute connect 192.168.0.15 # salasana → rajattu tunnus, tallennetaan kontekstina omniroute models # ← suoritetaan ETÄPALVELIMELLA omniroute configure codex # ← valitsee etämallin ja kirjoittaa paikallisen Codex-profiilin omniroute tokens create --name ci --scope read # luo suppeampia tunnuksia muille koneille omniroute contexts use default # ← vaihda takaisin paikalliseen palvelimeen ``` Tunnusten käyttöoikeustasot ovat `read` / `write` / `admin`; prosesseja käynnistävät reitit ovat käytettävissä vain loopback-osoitteesta. 📖 [Etätila](docs/guides/REMOTE-MODE.md)
Animoitu pääte-esittely OmniRoute CLI:stä — omniroute providers list, omniroute combo list ja omniroute health — kiertäen ylimmän tason 89 komennon 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 hallitsee OmniRoutea itse Aseta OmniRoute käytettäväksi **MCP:n**, **A2A:n**, **REST API:n**, **webhookien** tai **etä-CLI:n** kautta — mikä tahansa kykenevä agentti (tai oma koodisi) saa koko yhdyskäytävän hallintaansa: reitityksen, palveluntarjoajat, yhdistelmät, välimuistin, pakkauksen ja muistin — itsenäisesti. 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äyhteys — 110 työkalua, 33 käyttöoikeusaluetta (valinnainen valvonta), täydellinen kirjausketju
📡 MCP (SSE)/api/mcp/sseSuoratoistava MCP-siirtotapa
🤝 A2A/.well-known/agent.jsonAgenttien välinen viestintä, JSON-RPC 2.0 + SSE, 6 taitoa
🌐 REST API/v1/*OpenAI-yhteensopiva — keskustelut, upotukset, kuvat, ääni ja OCR
🔔 Webhookit/api/webhooksLähetä pyyntö- ja kiintiötapahtumat Slackiin, Discordiin, Telegramiin tai mihin tahansa URL-osoitteeseen
🛰️ Etä-CLIomniroute connect Hallitse etäinstanssia käyttöoikeuksiltaan rajatuilla tunnuksilla
```bash # Anna Claude Codelle kaikki OmniRoute-työkalut 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 % tokeneita — automaattisesti
### 📖 Näin se toimii — putki, arkkitehtuuri ja säästölaskelmat OmniRoute-pakkausputki: havainnollistava 10 000 tokenin asiakaspyyntö kulkee 12 yhdisteltävän moottorin — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra ja OmniGlyph — läpi, ja voi saavuttaa palveluntarjoajan noin 1 080 tokenilla dokumentoidussa pinotussa esimerkissä. Rakenteinen sisältö suojataan säilytyssuojilla ja vaihekohtaisilla tarkkuusporteilla; eksplisiittiset häviölliset tai kokeelliset tilat voivat muuntaa soveltuvaa sisältöä. Oletusarvoinen pinottu yhdistelmä suorittaa `RTK → Caveman`. Kun molemmat toimivat samaan työkalu-/kontekstihyötykuormaan, säästöt kumuloituvat: ```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 rakenteiset tiedot ovat **aina suojattuja** säilytysmoottorilla. > **Miksi käyttää paljon tokeneita, kun vähemmälläkin pärjää?** Jokainen pyyntö kulkee OmniRouten pakkausputken läpi **läpinäkyvästi** — asiakasmuutoksia ei tarvita. Se on nyt **12 yhdisteltävän moottorin pino**, jotka suoritetaan järjestyksessä ja joita voidaan yhdistellä reititysyhdistelmän mukaan — pohjautuen [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)-projekteissa (PT-BR) esitettyihin ideoihin. ### 🧱 12 moottorin pino Moottorit suoritetaan putken järjestyksessä; jokainen voidaan ottaa käyttöön tai poistaa käytöstä itsenäisesti ja määrittää yhdistelmäkohtaisesti:
#MoottoriToiminto
1Session-DedupPoistaa vuorojen välillä toistetun sisällön (sisältöosoitteinen, vuorojen välinen)
2CCRArkistoi suuret lohkot noutomerkkien taakse ja hakee ne tarvittaessa
3LiteVälilyöntien ja kuvan URL-osoitteiden karsiminen (kevyt viiveen suhteen)
4RTKÄlykäs työkalutulosten suodatus, duplikointi ja lyhentäminen (komennot huomioiva)
5Responses Tool OutputHäviötön ensisijainen JSON + rajattu diagnostiikan pakkaus komentotulosteille, korjaustiedostoille, hauille ja koontitulosteille (Responses API)
6HeadroomJSON-taulukoiden häviötön tiivistys (~30 %) toimittajan mukana toimitetun GCF-koodekin avulla
7RelevanceLauseiden ekstraktiivinen pisteytys viimeisimmän käyttäjäkyselyn perusteella
8CavemanSääntöpohjainen proosan pakkaus (~65–75 % tulosteesta)
9AggressiveYhteenveto + vanhojen vuorojen asteittainen vanhentaminen
10LLMLingua-2ML-pohjainen semanttinen karsinta MobileBERT ONNX:n avulla — kooditurvallinen, asynkroninen
11UltraHeuristinen tokenien karsinta valinnaisella pienen mallin (SLM) tasolla
12OmniGlyphKokeellinen kontekstin kuvaksi koodaaminen mitattua Claude Fable 5:tä varten suorassa Anthropic-yhteydessä; GPT 5.6 -muuntajat pysyvät vikasuljettuina palveluntarjoajan kuittauksia odotettaessa. Neljä pakkausprofiilia (aggressiivinen oletus, tasapainotettu, kooditurvallinen, läpivienti) (aggressiivisin; erikseen käyttöön otettava)
Koodilohkot, URL-osoitteet ja rakenteiset tiedot säilytetään **aina** tavu tavalta täydellisinä. **Yhden napsautuksen esiasetukset** yhdistävät moottorit:
TilaSäästötSopii parhaiten
🪶 Lite~15 %Aina käytössä oleva turvallinen oletus
🪨 Standard (Caveman)~30 %Päivittäinen koodaus
⚡ Aggressive~50 %Pitkät, työkaluvaltaiset istunnot
🔥 Ultra~75 %Maksimaaliset säästöt
🧰 RTK60–90 %Shell-/testi-/koonti-/git-tulosteet
🔗 Stacked (RTK → Caveman)78–95 %Sekalaiset kehotteet + työkalulokit
**Todellinen esimerkki — Standard-tila:** > **Ennen (69 tokenia):** _"Syy siihen, että React-komponenttisi renderöityy uudelleen, on todennäköisesti se, että luot uuden objekti\-viitteen jokaisella renderöintikierroksella. Kun välität inline-objektin propina, Reactin pinnallinen vertailu näkee sen joka kerta eri objektina, mikä käynnistää uudelleenrenderöinnin. Suosittelen käyttämään useMemoa objektin memoisoimiseen."_ > > **Jälkeen (19 tokenia):** _"Uusi objektiviite jokaisella renderöinnillä. Inline-objektiproppi = uusi viite = uudelleenrenderöinti. Käär i useMemo-funktioon."_ > > **Sama vastaus. 72 % vähemmän tokeneita. Ei tarkkuuden menetystä.** ✅ **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 objekti­viittaus. Suosittelisin käyttämään useMemoa."_ > > **Jälkeen (12 tokenia):** _"Uudelleenrenderöinti: uusi viittaus joka kierroksella (sisäkkäinen objekti luodaan uudelleen). Käytä `useMemo`."_ > > **Sama vastaus. ~70 % vähemmän tokeneita. Tekninen tarkkuus säilyy 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äkerrosta muotoilee **miten**, **milloin** ja mitä tulee **ulos**: - **🪄 Tulostyylit** _(tulosteen ohjaus)_ — lisäävät deterministisiä ja välimuistiturvallisia vastausten muotoiluohjeita; tyylejä voi yhdistellä, ja jokaisella on voimakkuustasot `lite` / `full` / `ultra`. Tyylin lisääminen vaatii yhden rivin rekisterimerkinnän: - **Tiivis proosa** — poista täytesanat / artikkelit / epäröinti; säilytä tekninen sisältö täsmällisenä. - **Vähemmän koodia** — ”laiska seniorikehittäjä” YAGNI: pienin toimiva muutos, ei pyytämätöntä rakennustyötä. - **Poninhäntä (laiska seniorikehittäjä)** — kiipeä YAGNI-tikkaita, korjaa perimmäinen syy, tee pienin toimiva diff. - **Minulla on ADHD (toiminta ensin)** — seuraava toimenpide ensin, vaiheet numeroituina, yksi konkreettinen seuraava askel, ei alustusta. - **Tiivis CJK (文言)** — erittäin tiivis klassisen kiinan tyyli (rajoitettu localeen `zh`). - **🎯 Mukautuva kontekstibudjetti** _(säädin)_ — yhden käytössä/pois käytöstä -tokenikynnyksen sijaan käytetään halvimpia ja vähiten tietoa hukkaavia moottoreita vain niin pitkälle kuin tarvitaan, jotta sisältö **mahtuu mallin konteksti-ikkunaan**. Käytäntö: `reserve-output` (oletus, mallikohtainen) · `percentage` · `absolute`. Tila: `floor` (takaa mahtumisen) · `replace-autotrigger` (oma nimenomainen valintasi voittaa) · `off` (vanha kynnys). - **🎛️ Missä pakkaamisesta päätetään** _(ensisijaisuus, korkea → matala)_ — pyyntökohtainen `x-omniroute-compression`-otsake › reititysyhdistelmän ohitus › aktiivinen nimetty profiili › mukautuva / automaattinen käynnistin › paneelin oletus › pois käytöstä. Käytetty suunnitelma palautetaan `X-OmniRoute-Compression: ; source=`-vastausotsakkeessa. Käynnistä automaattisesti tokenikynnyksen perusteella, ota mukautuva säädin käyttöön, kiinnitä nimetty profiili, määritä kertaluonteinen pyyntökohtainen asetus tai määritä putki kullekin reititysyhdistelmälle — valitse työkuormaan sopivin vaihtoehto. Valinnainen offline-**arviointikehys** (`npm run eval:compression`) pisteyttää uskollisuuden suhteessa säästöihin kiinteällä aineistolla ennen muutoksen julkaisemista. 📖 [`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 suorita** ```bash npm install -g omniroute omniroute ``` > 💡 Näetkö `npm warn ERESOLVE`- tai peer-riippuvuuksien varoituksia? [Ne ovat harmittomia](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). > **Käytätkö versiota npm 11 tai uudempaa?** npm saattaa estää pakettien elinkaarikomentosarjat, ellei niitä sallita. OmniRouten `postinstall` (`node scripts/build/postinstall.mjs`) tarvitaan sen natiivien runtime-tiedostojen valmistelemiseen. Salli npm:n varoituksessa nimetyt paketit asentaessasi paketteja globaalisti. OmniRoute 3.8.54:n ilmoittamalle pakettijoukolle: > > ```bash > npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroute > ``` > > Jos haluat käyttää tätä sallittujen pakettien luetteloa tulevissa globaaleissa asennuksissa, määritä se kerran ja asenna sen jälkeen normaalisti: > > ```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 sen asennuskomentosarjoille luvan suorittaa. > **Käytätkö Gemini Webiä tai muuta verkkoselainevästeitä käyttävää palveluntarjoajaa?** npm-paketti sisältää > Playwrightin, mutta ei sen Chromium-binaaria. Tutustu > [Playwright Chromiumin asennusohjeeseen](docs/guides/TROUBLESHOOTING.md#gemini-web-and-playwright-chromium) > ennen ensimmäistä verkkopalveluntarjoajan pyyntöä. Kojelauta osoitteessa `http://localhost:20128` · API osoitteessa `http://localhost:20128/v1`. **2) Yhdistä soveltuva palveluntarjoaja omalla tililläsi** Kojelauta → **Palveluntarjoajat** → valitse käyttötarkoitukseesi sopiva palveluntarjoaja, jonka nykyiset ehdot ja kiintiö vastaavat tarpeitasi → lisää sen API-avain tai suorita sen tilin käyttöönottovaiheet. Ilmaiset käyttöoikeustasot saattavat edellyttää rekisteröitymistä, hyväksyntää tai maksutapaa. Tutustu [Ilmaisten käyttöoikeustasojen oppaaseen](docs/getting-started/FREE-TIERS-GUIDE.md); avaimeton saatavuus ei ole taattua, ja palveluntarjoajat, joiden merkintä on `tos: avoid`, jätetään oletusarvoisesti `auto`-valinnan ulkopuolelle. **3) Osoita koodityökalusi palveluun** ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Dashboard → Endpoints] Model: auto (routes among eligible connections — or choose provider/model) ``` **4) Varmista toiminta** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Näet yhdistettyjen malliesi luettelon. 🎉 Siinä kaikki — aloita koodaaminen, niin OmniRoute huolehtii automaattisesta reitityksestä ja varayhteyksistä. Jos asiakkaasi ei voi lähettää mukautettuja otsakkeita, OmniRoute tarjoaa myös tokenisoidut yhteensopivuusaliakset: ```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 ``` Käytä näitä vain asiakkailla, jotka eivät voi liittää `Authorization: Bearer ...` -otsaketta. Otsaketodennus on edelleen suositeltu 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-10-18 · Raakaluettelo: YT 1.352 | TT 334 | IG 290 · Ajantasaisuus (päivää): YT 5 | TT 48 | IG 49
Instagram Reel — nick_saraev
🎬 #1 — Instagram
nick_saraev — 3,042,474 katselukertaa
Instagram Reel — nnapier7
🎬 #2 — Instagram
nnapier7 — 1,454,535 katselukertaa
YouTube — Amidia AI & Tech
🎬 #3 — YouTube
Amidia AI & Tech — 794,974 katselukertaa
Instagram Reel — theopenstack
🎬 #4 — Instagram
theopenstack — 692,419 katselukertaa
TikTok — migue.baena
🎬 #5 — TikTok
migue.baena — 685,788 katselukertaa
**Täydellinen sijoituslista (deduplikoidut kanoniset URL-osoitteet, `v > 0`, suurin tavoittavuus):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [nnapier7 — Instagram](https://www.instagram.com/reel/Dbp7wv_CIO0/) — **1,454,535** | [Amidia AI & Tech — YouTube](https://www.youtube.com/watch?v=NJ0TQ-pyMDY) — **794,974** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [migue.baena — TikTok](https://www.tiktok.com/@migue.baena/video/7670919268216622358) — **685,788** | | #6 | #7 | #8 | #9 | #10 | | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [nikothetech — TikTok](https://www.tiktok.com/@nikothetech/video/7671890769665477918) — **610,803** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **509,281** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | Kanoniset mittarit 2026-10-18: **1.976 yksilöllistä videota** · **20.220.289 tunnettua katselukertaa** (`v > 0`) · **1.210 kanavaa/profiilia verkostoittain**. Raakahallintapaneelissa on 1.976 riviä (YouTube 1.352 = 740 pitkää videota + 612 Shorts-videota · TikTok 334 · Instagram 290); kanonisen URL-osoitteen perusteella tehdyn normalisoinnin jälkeen yhtään kaksoiskappaletta ei jäänyt, ja kustakin videosta säilytetään suurin katselumäärä. YouTube-tietojen keruu on jäädytetty päivämäärään 2026-10-13 (API-kiintiö loppui ajanjaksolla 14.–18.10.) ja TikTok-/Instagram-tietojen keruu päivämäärään 2026-09-02 (keräyssaldoa ei ole); 76 videolta puuttuu edelleen katselumäärä. > 🎬 **Teitkö videon OmniRoutesta?** Avaa [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) tai [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) ja lisää siihen linkki — nostamme videon esiin täällä.
# 📧 Yhteisö ja ohjeet > Kaikki yhdessä paikassa — seuraa ylläpitäjää, keskustele yhteisön kanssa tai avaa issue. | 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 ongelmailmoitus](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
KerroTeknologia
Ajoympä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 alkaen)
KehysNext.js 16 + React 19 + Tailwind CSS 4
Tietokantabetter-sqlite3 (SQLite, WAL-kirjaus) + LowDB (JSON-legacy) — 147 toimialamoduulia, 233 migraatiota
MuistiSQLite FTS5 -kokotekstihaku + int8-kvantisointia käyttävät vektoriupotukset, tyypitetty vanheneminen
SkeematZod 4 — MCP-työkalujen I/O-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 putki — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Todennus ja tietoturvaOAuth 2.0 (PKCE) + JWT + API-avaimet + MCP:n rajattu todennus · AES-256-GCM levossa oleville tiedoille · DOMPurify
Häivewreq-js — JA3 / JA4 TLS-sormenjäljen jäljittely, 3-tasoinen välityspalvelin
VikasietoisuusKatkaisija, eksponentiaalinen perääntyminen, thundering herd -ilmiön esto, automaattinen yhdistelmäkohtainen itsekorjaus
Lokituspino — rakenteiset JSON-lokit pyyntökontekstilla
TestausNode.js-testiajo + Vitest — yli 60 000 staattista testimäärittelyä yli 8 400 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 + Docker Hubiin julkaisun yhteydessä
LinkitVerkkosivusto · npm · Docker Hub

## 📖 Dokumentaatio
### 📘 Aloittaminen
AsiakirjaKuvaus
KäyttöopasPalveluntarjoajat, yhdistelmät, CLI-integraatio, käyttöönotto
AsennusopasTäydelliset asennusmenetelmät, CLI-työkalujen määritykset, protokollan määritys, aikakatkaisujen hienosäätö
CLI-työkalujen opasTyökalukohtaiset määritykset Claude Codelle, Codexille, Cursorille, Clinelle, OpenClaw'lle, Kilolle ja Copilotille
EtätilaEtäkäytössä olevan OmniRouten (VPS) hallinta kannettavan tietokoneen CLI:stä rajattujen käyttöoikeustunnusten avulla
Claude Coden määritysClaude Coden yhdistäminen OmniRouteen (paikallinen/etä) launch-komennolla ja mallikohtaisilla profiileilla
Pika-aloitus3 vaihetta: asenna → yhdistä → määritä
### 🔧 Käyttö ja käyttöönotto
AsiakirjaKuvaus
Docker-opasDockerin suoritus, Compose-profiilit, Caddy HTTPS, tunnelit, image-tunnisteet
Podman-opasQuadlet systemd -integraatio, podman-compose, SELinux
Virtuaalikoneen käyttöönottoTäydellinen opas: virtuaalikoneen, nginxin ja Cloudflaren määritys
Fly.io-käyttöönottoKäyttöönotto Fly.io:ssa pysyvän tallennustilan kanssa
Termux-opasOmniRouten suorittaminen Androidissa Termuxin kautta
PWA-opasProgressiivisen web-sovelluksen asennus, välimuisti ja arkkitehtuuri
Poisto-opasPuhdas poisto kaikilla asennusmenetelmillä
YmpäristömäärityksetTäydelliset .env-muuttujat ja viittaukset
### 🧠 Ominaisuudet ja arkkitehtuuri
AsiakirjaKuvaus
ArkkitehtuuriJärjestelmäarkkitehtuuri, tietovirta ja sisäiset toteutukset
Pakkausopas7 vaihtoehdon käsittelyputki: off / lite / standard / aggressive / ultra / RTK / stacked
RTK-pakkausKomennon tulosteen pakkaus, suodattimet, luottamus, vahvistus ja raakatulosteen palautus
PakkausmoottoritCaveman-, RTK- ja pinotut käsittelyputket sekä dashboard-, API- ja MCP-rajapinnat
Pakkaussääntöjen muotoJSON-sääntöpakettien skeemat Caveman- ja RTK-suodattimille
Pakkauksen kielipaketitKielen tunnistus ja Caveman-sääntöpakettien laatiminen
VikasietoisuusopasSuojakatkaisimet, jäähdytysajat, jono, ruuhkapiikkien torjunta ja TLS-huijaus
Automaattinen yhdistelymoottori16 tekijän pisteytys, tilapaketit ja itsestään korjautuminen
Välityspalvelinopas3-tasoinen välityspalvelinjärjestelmä, 1proxy-markkinapaikka ja rekisterin CRUD-toiminnot
Ilmaiset tasotKoottu hakemisto: 34 dokumentoitua toistuvaa poolia / 465 luetteloitua ilmaistason merkintää
OminaisuusgalleriaVisuaalinen dashboard-esittely kuvakaappauksineen
Koodikannan dokumentaatioHelposti lähestyttävä koodikannan esittely
### 🤖 Protokollat ja API:t
AsiakirjaKuvaus
API-viiteKaikki päätepisteet esimerkkeineen
OpenAPI-määritysOpenAPI 3.0 -määritys
MCP-palvelin110 MCP-työkalua, IDE-määritykset sekä Python/TS/Go-asiakasohjelmat
MCP-palvelimen opasMCP:n asennus, siirtomenetelmät ja työkalujen viite
A2A-palvelinJSON-RPC 2.0 -protokolla, taidot, suoratoisto ja tehtävien hallinta
A2A-palvelimen opasA2A-agenttikortti, tehtävät, taidot ja suoratoisto
### 📋 Projekti ja laatu
AsiakirjaKuvaus
OsallistuminenKehitysympäristön määritys ja ohjeet
Haarautumis- ja julkaisutapaMihin PR:t kohdistetaan (release/*), mitä main ja tunnisteet tarkoittavat
MuutoslokiTäydellinen julkaisuhistoria versioittain
TietoturvakäytäntöHaavoittuvuuksista ilmoittaminen ja tietoturvakäytännöt
i18n-opasTuki 67 kielelle, käännösten työnkulku, RTL
Julkaisun tarkistuslistaJulkaisua edeltävät tarkistusvaiheet
KattavuussuunnitelmaTestikattavuusstrategia yli 60 000 staattiselle testimäärittelylle yli 8 400 seurattavassa testitiedostossa

# ⭐ Tärkeimmät osallistujat > OmniRoutea rakentaa innostunut avoimen lähdekoodin yhteisö. Nämä henkilöt ovat tehneet poikkeuksellisen merkittävää työtä, joka vaikuttaa suoraan projektin laatuun, vakauteen ja tavoittavuuteen. **Kiitos.** ### Ulkopuoliset osallistujat yhdistettyjen pull requestien perusteella
SijaOsallistujaYhdistetyt PR:t~Muutetut rivit
1maxmad64bis41825,367,739
2HouMinXi29513,557,796
3pacocartones22281,551
4backryun210270,562
5JxnLexn1983,570,623
6oyi77190411,243
7KooshaPari1515,972,314
8rdself14580,663
9RaviTharuma123500,065
10herjarsa88230,872
11hartmark852,849,623
12jonlwheat2-gif6869,097
13artickc6243,502
14xiaoyaner020159126,220
15chirag127526,661
16xz-dev50245,976
17woodsonl48811,771
18rqzbeh46151,229
19MumuTW4328,166
19QuangBlue4313,112
Tilanne tarkistettu 2026-11-03 03:01:19 UTC, käytössä olevan release/v3.8.53-haaran kärjessä 05bc048d6c. Sivutettu GitHub GraphQL -laskenta sisältää 9 947 yhdistettyä PR:ää: tietovaraston omistajan tekemiä 4 130, Dependabotin tekemiä 240, muiden bottien/sovellusten tekemiä 6 ja 5 571 ulkopuolista PR:ää 883 eri osallistujalta. ”Muutetut rivit” tarkoittaa GitHubin lisäysten ja poistojen summaa, ja sisältää luodut tiedostot, lukitustiedostot, luettelot, käännökset ja dokumentaation; se kuvaa muutosten määrää, ei kirjoittajan LOC-määrää. 53 PR:ää ilmoittaa GitHubin diffien kooksi yli 500 000 riviä (esimerkiksi #13399, jossa lisättiin yksi palveluntarjoaja, sisältää 2 347 muutettua tiedostoa), mikä kasvattaa useita edellä esitettyjä kokonaismääriä. Tasasijat on merkitty samalla sijalla. ### GitHubin kohdistamat commitit
Dizzle
Dizzle

🥇 418 GitHubin määrittämää toimitusta
Bob.Hou
Bob.Hou

🥈 294 GitHubin määrittämää toimitusta
Paijo
Paijo

🥉 229 GitHubin määrittämää toimitusta
Paco Cartones
Paco Cartones

🏅 222 GitHubin määrittämää toimitusta
backryun
backryun

🏅 202 GitHubin määrittämää toimitusta
Jan Leon
Jan Leon

🏅 134 GitHubin määrittämää toimitusta
Ravi Tharuma
Ravi Tharuma

🏅 126 GitHubin määrittämää toimitusta
Markus Hartung
Markus Hartung

🏅 115 GitHubin määrittämää toimitusta
Randi
Randi

🏅 108 GitHubin määrittämää toimitusta
Chris
Chris

🏅 70 GitHubin määrittämää toimitusta
WebPerson
WebPerson

🏅 68 GitHubin määrittämää toimitusta
Koosha Paridehpour
Koosha Paridehpour

🏅 68 GitHubin määrittämää toimitusta
Tarkistettu uudelleen 2026-11-03 02:09:16 UTC: GitHubin määrittämät toimitukset, jotka repositorion Contributors API ilmoitti oletushaaralle release/v3.8.53. API palautti 903 identiteettiä (429 käyttäjää, 2 bottia, 472 anonyymiä); tästä taulukosta on jätetty pois ylläpitäjä, botit ja anonyymit identiteetit, ja tasatilanteet on säilytetty. Tämä eroaa sekä yllä olevasta yhdistettyjen PR:ien rankingista että alla olevasta Git-metatietojen laskennasta. > 🙏 Näiden osallistujien ominaisuudet, virheenkorjaukset ja infrastruktuurin parannukset ovat **olennainen osa** sitä, mikä tekee OmniRoutesta luotettavan ja monipuolisen. Jokainen pull request, jokainen testitapaus ja jokainen i18n-käännöstiedosto on tärkeä. Avoimen lähdekoodin ohjelmistot syntyvät heidän kaltaistensa ihmisten työn tuloksena.
---
## 💖 Sponsorit
Sydämellinen kiitos kaikille, jotka rahoittavat OmniRoutea omasta pussistaan — jokainen lahjoitus auttaa pitämään projektin ilmaisena, riippumattomana ja kehityksessä.
Andrew
Andrew

💛 Aktiivinen kuukausisponsori
Vlad I
Vlad I

💛 Aktiivinen kuukausisponsori
小妍儿
小妍儿

💛 Aktiivinen kuukausisponsori
Guilherme Costa
Guilherme Costa

💛 Aktiivinen kertaluonteinen sponsori
Henrique Triches Iurkiv
Henrique Iurkiv

💛 Aktiivinen kertaluonteinen sponsori
Somesh Ghaturle
Somesh Ghaturle

💛 Aktiivinen kertaluonteinen sponsori
Kolonie AI
Kolonie AI

💛 Aiempi kertaluonteinen tukija
Professor Igor Morais Vasconcelos
Prof. Igor Morais

💛 Aiempi kertaluonteinen tukija
Pixma
Pixma

💛 Aiempi kertaluonteinen tukija
Paco Cartones
Paco Cartones

💛 Aiempi kertaluonteinen tukija
longtao
longtao

💛 Aiempi kertaluonteinen tukija
… sekä muut, jotka haluavat pysyä yksityisinä 💛 Julkiset GitHub Sponsors -sponsoroinnit tarkistettiin uudelleen 2026-10-18 GitHub Sponsors GraphQL API:n kautta: yhteensä 14 sponsoroinnista 11 on julkisia (6 aktiivista ja 5 aiempaa). GitHubin isActive-tila määrittää yllä olevat aktiivisuusmerkinnät; aiempia julkisia kertaluonteisia tukijoita kiitetään edelleen, ja yksityiset sponsorit pysyvät nimettöminä. Ko-fi-, Buy Me a Coffee-, Liberapay-, PIX- ja kryptolahjoituksia ei ole lueteltu, koska niistä ei ole julkista sponsoritietuetta. 💖 Ryhdy sponsoriksi → — jokainen dollari auttaa pitämään OmniRouten ilmaisena ja riippumattomana.

## 👥 Yli 1 000 osallistujaa
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=1074&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) Tarkastettu 2026-11-02 aktiivisen release/v3.8.53-haaran kärjessä 1c7135e0fb (7 972 committia): 1 074 normalisoitua ihmisen Git-identiteettiä — 759 esiintyy commit-tekijöinä (ylläpitäjä mukaan lukien) ja 315 ainoastaan eksplisiittisissä Co-authored-by-jälkiliitteissä. Laskennassa käytetään tiedostoa .mailmap, sähköpostiosoitteita verrataan kirjainkoosta riippumatta, numeeriset ja tavalliset GitHubin noreply-osoitteet yhdistetään vain, kun ne koodaavat saman käyttäjänimen, ja 29 botti-, agentti-, palvelu- tai paikkamerkki-identiteettiä jätetään pois. Tavallisia sähköpostiosoitteita ei yhdistetä vain siksi, että niiden näyttönimet täsmäävät. 2026-08-24 tehdyssä tarkastuksessa julkaistiin luku 639; kun tämä menetelmä suoritetaan uudelleen kyseisen tarkastuksen perustalle ac02c5b42f, tulokseksi saadaan 619, joten kasvu johtuu uusista osallistujista eikä väljemmästä menetelmästä. ### Osallistuminen 1. Tee repositoriosta fork 2. Luo haara aktiivisen `release/vX.Y.Z`-haaran kärjestä (ei `main`-haarasta) — katso [Haarautumis- ja julkaisumalli](docs/ops/BRANCHING_MODEL.md) 3. Luo ominaisuushaarasi (`git checkout -b feat/amazing-feature`) 4. Tee muutoksesi sisältävä commit (`git commit -m 'feat: add amazing feature'`) 5. Vie muutokset 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 alkoi projektin **[9router](https://github.com/decolua/9router)** forkina ja Go-projektin **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** TypeScript-siirtona — ja siitä eteenpäin jokainen alla oleva alijärjestelmä sai vaikutteita avoimen lähdekoodin projektista, joka ehti ensin. Jokainen niistä muovasi konkreettista osaa OmniRoutesta. Tämä on kiitoksemme niille kaikille. 🙏 > ⭐ tähtimäärät on vahvistettu GitHubin REST API:sta 3. marraskuuta 2026 — käy antamassa näille projekteille tähti. Määrät ovat tarkka päivätty tilannekuva ja muuttuvat luonnollisesti. ### 🧬 Perimä ja yhdyskäytävä
Projekti⭐Miten se vaikutti OmniRouteen
9router31,861Alkuperäinen projekti, jonka päälle tämä fork on rakennettu — sitä on täällä laajennettu monimuotoisilla API-rajapinnoilla ja kokonaan uudelleenkirjoitettu TypeScriptillä.
CLIProxyAPI57,329Go-toteutus, joka toimi tämän JavaScript / TypeScript -siirron innoittajana.
LiteLLM62,580AI-yhdyskäytävä, jonka julkinen hinnoitteluaineisto syöttää kustannusseurannan synkronointiamme ja jonka palveluntarjoajien normalisointimalli vaikutti reititykseemme.
codex-chatgpt-web15,435MIT-lähde, jota muokattiin vendoroituun ChatGPT Web → Codex Responses -siltaan, mukaan lukien selainistunto-, vastauskehystys-, käyttö- ja verkkohakuadapterit.
free-claude-code65,966Siirrettyjä malleja hyödynnetään streamien palautuksessa, no-thinking-aliaksissa, varalla toimivassa verkkohakussa, liukuikkunarajoissa, lokien tietojen peittämisessä ja vahvistetuissa käynnistinkuluissa.
composer-api347Cursor Composerin työkalun valinnan, tulosrajoitteiden ja työkalun vahvistamisen mallit sovitettiin natiiviin Cursor-suorittimeen.
codex-multi-auth561Tuoreen kirjautumisen ja virkistystunnuksen kierron mallit siirrettiin Codex OAuth -uudelleentodennukseen.
opencode-anthropic-auth562Claude Code -yhteensopivat muunnosten oletusarvot ja laskutusotsakkeen toiminta yleistettiin OmniRouten asetuspohjaiseen siltaan.
grok2api-merged2Sen Grok-mallimääritykset, väärennettyä TypeErroria tuottava Statsig-generaattori, pyyntö- ja laiteoletusarvot sekä NDJSON-vastauksenkäsittelijä sovitettiin olennaisin osin OmniRouten Grok Web -suorittimeen.
TQZHR/grok2api707grok2api-mergedin tärkein transitiviinen koodilähde; sen malli-, otsake-, hyötykuorma-, Statsig- ja käsittelijätoteutukset säilyvät Grok Web -perimässä.
chenyme/grok2api7,874Taustalla oleva MIT-lähde Grok-hyötykuormille ja laiteoletusarvoille, Statsig-generaattorille sekä result.response-käsittelijälle, jotka kulkeutuivat TQZHR:n ja grok2api-mergedin kautta.
grok2api-pro27grok2api-mergedin mainitsema transitiivinen lähde sen välityspoolikerrokselle; OmniRoute säilyttää tämän perimämaininnan, mutta ei väitä siirtäneensä välityspoolia rajattuun Grok Web -suorittimeensa.
GrokProxy52Sen evästeillä todennettu Grok-välityspalvelin ja result.response.token-suoratoistomalli vaikuttivat OmniRouten Grok Web -siirtokerrokseen.
GrokBridge5Sen alkuperäiseen Grok Web -toteutukseen tutustuttiin HTTP-/selainpohjaisen upstream-suunnittelun osalta; sen suora HTTP-polku perustuu GrokProxyyn, joten erillistä koodin siirtoa ei väitetä.
### 🗜️ Konteksti- ja token-pakkaus — moottorit
Projekti⭐Miten se inspiroi OmniRoutea
Caveman116,957Viraali "why use many token when few token do trick" -projekti – sen luolamieskielinen filosofia ohjaa vakiomuotoista pakkaustilaamme ja yli 30 täytesana- ja tiivistyssääntöä.
RTK – Rust Token Killer85,350Suorituskykyinen komentotulosteen pakkaus – inspiroi RTK-moottoriamme, JSON-suodattimen DSL:ää, raakatuotoksen palautusta ja pinottua RTK → Caveman -putkea.
headroom78,672Palautettava kontekstin pakkaus (SmartCrusher) – inspiroi headroom-moottoriamme ja ccr-palautusmerkkikuviota.
LLMLingua6,797Promptien pakkausta koskeva tutkimus (LLMLingua / LLMLingua-2) – inspiroi asynkronista, kooditurvallista ja vikasietoista llmlingua-moottoriamme.
llmlingua-2-js33JS/ONNX-porttaus (MobileBERT / XLM-RoBERTa), jota käytetään LLMLingua-moottorimme työntekijäsäie-taustajärjestelmänä.
Troglodita50PT-BR-tokenien pakkaus – antaa voiman pt-BR-kielipaketillemme: pleonasmin vähentäminen ja täytesanojen poistaminen brasilianportugalin kielioppiin sovitettuna.
ponytail182,929Viraali "laiska seniorikehittäjä" -YAGNI-koodaustaito – inspiroi less-code-tulostustyyliämme: pienimmän toimivan muutoksen ohjaus, joka vähentää _generoitua_ koodia (Cavemanin ytimekkään proosan tulostusakselin vastinpari).
i-have-adhd59,838Sen toimintaan keskittyvä, ADHD-ystävällinen vastaustyyli sovitettiin OmniRouten tiiviiksi tulostustyyliksi viidellä kielellä.
### 🧩 Tiiviit muodot, token-tutkimus ja kooditietoiset työkalut
Projekti⭐Miten se inspiroi OmniRoutea
TOON25,602Token-Oriented Object Notation – sen sarakepohjainen, otsakeen ja rivien muodostama malli muokkasi taulukkomuotoisen tiivistysvaiheemme.
GCF – Graph Compact Format61Sen tiivis graafimuoto ja yleisprofiilin suunnittelu vaikuttivat OmniRouten taulukkomuotoiseen tiivistykseen ja Headroom-koodekkimuotoon.
gcf-typescript4MIT-lisensoitu TypeScript-toteutus, joka vendoroitiin suoraan ja jota laajennettiin Headroomin yleisprofiilikoodekiksi.
token-optimizer-mcp566Brotli/SQLite-välimuisti + istuntokohtainen kontekstimuutos – inspiroi session-dedup-moottoriamme.
token-savior1,203Bash-tulosteen tiivistys + MCP-profiilit – inspiroivat pakkausta koskevaa keskeytyskäytäntöämme ja MCP-työkaluluettelon pienentämistä.
token-saver162Sisältötietoinen, tiedostotyypeittäin tehtävä tulosteen pakkaus ja virhetietoinen keskeytys – vahvistivat tyyppikohtaisen ohjauksemme ja vähimmäishyödyn ohituksen.
token-optimizer2,853"Etsi haamutokenit" – sen siirto- ja palautettavan kahvan kuvio vaikutti CCR-siirtoajatteluumme.
TokenMizer34Istuntograafiin ja vuorojen väliseen rivien deduplikointiin perustuva suunnitelma, joka vaikutti session-dedup-suunnitteluamme.
OmniCompress3Rust-pohjainen sarake-JSON + sisällön osoittava haku + viestien välinen deduplikointi – vahvistivat headroom/ccr/session-dedup-moottorien suunnittelumme ja välimuistivakaan invarianssin "pakattu muoto on sijainnista riippumaton".
mcp-compressor140MCP-työkalukaavion ja kuvausten pakkaus – vaikutti MCP-työkaluluettelon kardinaliteetin pienentämiseen.
RepoMapper218Aider-tyylinen repositoriokartan järjestys – vaikutti repositoriokartta- ja hakujärjestyksen tutkimukseemme.
quiet-shell-mcp4Deklaratiivinen komentotulosteen vähentäminen MCP:n kautta – vahvisti deklaratiivisen Bash-tulosteen tiivistyksemme.
ts-morph6,222TypeScript Compiler API -työkalupakki – inspiroi jäsenninpohjaista kommenttien poistamista, joka säilyttää merkkijono-, malline- ja säännöllisen lausekkeen literaalit.
### 🧠 Muisti ja RAG
Projekti⭐Miten se inspiroi OmniRoutea
Mem068,294Universaali muistikerros — sen välityspalvelimeen perustuva kirjoitus-/lukurajamalli muovasi muistiarvkkitehtuuriamme.
Letta (MemGPT)25,321Tilalliset agentit porrastetulla muistilla — inspiroi Context Control & Recovery (CCR) -porrastettua malliamme.
WFGY1,80416 toistuvan RAG/LLM-vikatilan ProblemMap-taksonomia — vianmääritysoppaamme yhteinen sanasto.
### 🛰️ Liikenteen tarkastus, MITM ja läpinäkyvä välityspalvelin
Projekti⭐Miten se inspiroi OmniRoutea
llm-interceptor81Koodausavustajan ja LLM:n välisen liikenteen MITM-kaappaus/analysointi vaikutti Traffic Inspectorin varhaisiin vaatimuksiin. Neljä aiemmin johdettua moduulia — SSE-yhdistäminen, keskustelujen normalisointi, salaisuuksien peittäminen ja otsakkeiden puhdistus — on korvattu itsenäisillä, puhtaan huoneen toteutuksilla, jotka perustuvat julkisiin protokollastandardeihin. Kaksi isäntäkoneen välityksen ohituspintaa (passthrough.ts ja _internal/bypass.cjs) ovat edelleen OmniRouten sisäisiä toteutuksia, jotka on luokiteltu itsenäisesti; niitä ei kirjoitettu uudelleen osana tätä korvaamista.
ProxyBridge6,978Läpinäkyvä prosessikohtainen välityspalvelinreititys — inspiroi kaatumisturvallista MITM:n alasajoa, socket-yhteyksien joutoaikakatkaisuja, /proc-prosessien määritystä ja TPROXY-kaappausta.
### 📚 Mallidata, observability ja käyttöliittymä
Projekti⭐Miten se inspiroi OmniRoutea
models.dev7,486Avoin tietokanta tekoälymallien teknisistä tiedoista, hinnoittelusta ja ominaisuuksista — synkronoidaan natiivisti malliluetteloomme.
React Flow / xyflow38,874Solmupohjainen graafikirjasto, joka käyttää reaaliaikaista Compression Studioa ja Combo/Routing Studioa.
LangGraph44,349LangGraph Studion reaaliaikainen työnkulkukaavion visualisointi inspiroi studioidemme reaaliaikaista kaskadinäkymää.
Langfuse36,907Sen trace → span → generation -observability-malli muovasi Compression Studion vesiputousnäkymää.
Kiali3,647Istio-palveluverkon observability — inspiroi Routing/Combo Studion sulakekatkaisijan merkkejä ja virhereunojen visualisointeja.
lobe-icons2,666Tekoäly-/LLM-brändilogot, jotka näyttävät palveluntarjoajien kuvakkeet hallintapaneelissamme.
flag-icons12,499Tarjoaa README-kielivalitsimen käyttämät MIT-lisensoidut SVG-liput.
### 🛡️ Tietoturva
Projekti⭐Miten se inspiroi OmniRoutea
awesome-secure-defaults723Kuratoitu 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,649Inspiroi pyyntöjen duplikaattien poistamista, hätätilanteiden nollakustannuksista vararatkaisua, liitettäviä Auto-Combo-strategioita ja monikielistä intentioluokittelua.
Antigravity-Manager32,785Sen tilikohtainen mallien uudelleenmääritys, suoritettavien tiedostopolkujen validointi ja tilausmerkintöjen toiminta vaikuttivat OmniRouten Antigravity-ajonaikaiseen ympäristöön.
vscode-antigravity-cockpit4,852Sen tiivis kiintiön nollautumisen lähtölaskentamuoto inspiroi vastaavaa palveluntarjoajarajoitusten näyttöä OmniRoutessa.
AionUi33,996Sen ACP-integraatiot inspiroivat OmniRouten asennettujen CLI-agenttien automaattista tunnistusta.
CodexBar22,955Tunnisti Grok Build -kiintiöpinnan; OmniRoute varmisti ja korjasi sitten aktiivisen wire-muodon itsenäisesti.
## 📄 Lisenssi MIT-lisenssi – katso lisätietoja tiedostosta [LICENSE](LICENSE). ---
**[⬆ Takaisin alkuun](#-omniroute)** · Rakennettu ❤️:lla avoimen lähdekoodin tekoäly-yhteisöä varten. Tekijä: Diego Souza · OmniRoute v3.8.54 · Node ≥22.22.2 · MIT-lisenssi · omniroute.online