# 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) ---
OmniRouten hallintapaneeli

# 🚀 OmniRoute — Ilmainen tekoälyportti OmniRoute — Älä koskaan lopeta koodaamista. Jokainen tekoälytyökalu → 358 palveluntarjoajaa — yli 150 ilmaista — yhden päätepisteen kautta. Claude Code, Codex, Cursor, Cline, Copilot & Antigravity ILMAISEKSI Claude / GPT / Gemini -palveluihin automaattisella varajärjestelmällä. RTK + Caveman pinottu pakkaus säästää 15–95 % tokeneista (~89 % keskimäärin) — ei koskaan rajoituksia. 358 tekoälypalveluntarjoajaa · yli 150 ilmaista tasoa · ~1,62 miljardia ilmaista tokenia/kk · 19 reititysstrategiaa · 0 $ aloittamiseen.
## 💰 ~1,62 mrd. ilmaista tokenia / kuukausi
> Ilmaistasojen pinoaminen käsin on työlästä — kymmeniä SDK:ita, kymmeniä nopeusrajoituksia eikä mitään käsitystä siitä, kuinka paljon kapasiteettia sinulla todellisuudessa on. OmniRoute luetteloi **489 ilmaistason merkintää 35 toistuvan pooliavaimen alla** ja laskee tokenien kokonaismäärän **17 poolista, joille on julkaistu positiivinen kuukausibudjetti, sekä viidestä mallikohtaisesta Groq-rajasta**, ja poistaa jaettujen poolien päällekkäisyydet. Kiintiöt, jotka avautuvat vasta alueellisen henkilöllisyyden tarkistuksen jälkeen (tällä hetkellä ModelScope), näytetään erikseen: +~6M alueellisen henkilöllisyyden vahvistamisen takana, eikä niitä koskaan lasketa mukaan kokonaismäärään. Tulos pysyy näkyvissä hallintapaneelissa (`/dashboard/free-tiers`). OmniRouten ilmaistasobudjettikortti: jatkuvasti ~1,62 mrd. ilmaista tokenia kuukaudessa ja rekisteröitymiskrediittien ansiosta jopa ~2,22 mrd. ensimmäisen kuukauden aikana, 35 dokumentoidusta toistuvasta pooliavaimesta, jotka kattavat 489 luetteloitua ilmaistason merkintää yhden päätepisteen takana. Rehellinen, poolien päällekkäisyydet poistava laskenta — jokainen jaettu pooli lasketaan vain kerran, mukaan lukien 17 toistuvaa poolia, joille on julkaistu positiivinen kuukausittainen tokenbudjetti, sekä viisi mallikohtaista Groq-rajaa; 13 palveluntarjoajaa on merkitty avoid-merkinnällä käyttöehtoriskien luettelossa, jotta voit päättää itse. Budjettipalkki sisältää Mistral 1B:n, Nara 210M:n, LLM7 150M:n, xKiro 150M:n, Groq 30M:n (viisi mallikohtaista rajaa) ja pienemmät poolit. Lisäksi ensimmäisen kuukauden rekisteröitymiskrediitit ja pysyvästi ilmaiset palveluntarjoajat, joilla ei ole tokenrajaa, esitetään erikseen, jotta ne eivät koskaan kasvata kokonaismäärää keinotekoisesti. Reaaliaikainen käytetty/jäljellä oleva määrä sivulla /dashboard/free-tiers. > Animoitu yhteenveto reaaliaikaisesta `/dashboard/free-tiers`-sivusta. Täydellinen menetelmäkuvaus (poolien päällekkäisyyksien poisto, krediittitasot, palveluntarjoajien ehdot): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**. > > Nämä luvut tarkastetaan uudelleen kahden viikon välein reaaliaikaista luetteloa vasten, ja ne **muuttuvat molempiin suuntiin** — kun palveluntarjoaja lopettaa ilmaistason, luku pienenee; kun uusi tulee saataville, luku kasvaa. Julkaisemme sen, mitä luettelo todella laskee, emmekä koskaan ylöspäin pyöristettyä parasta mahdollista arviota.

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

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

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

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


## 🆓 Toimii heti asennuksen jälkeen – ei avaimia, ei asetuksia
Toimii heti asennuksen jälkeen – ei asetuksia. Kolme vaihetta: 1. Asenna – npm i -g omniroute, palvelin käynnistyy osoitteessa localhost:20128. 2. Osoita työkalusi osoitteeseen http://localhost:20128/v1 – mikä tahansa OpenAI-yhteensopiva työkalu (Claude Code, Cursor, Cline). 3. Se vastaa – kutsu mallia auto saadaksesi välittömän vastauksen, ilman API-avainta, rekisteröitymistä tai asetuksia. Avaimeton palveluntarjoaja OpenCode Free on valmiiksi kytketty auto-yhdistelmään, joten tuore asennus vastaa heti käyttövalmiina. ```bash # Tuore asennus, ei tunnuksia – `auto` toimii jo: curl http://localhost:20128/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}' ``` Haluatko mieluummin tietyn ilmaisen taustaohjelman? Kutsu `oc/…` (OpenCode Free) suoraan. Siirry sitten `auto`-tilaan ja anna OmniRouten valita. 📦 Kopioi ja liitä pika-aloitusskriptit **Pythonille, Node.js:lle, PHP:lle ja cURLille** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Lupaus
Lupaus – Yksi päätepiste ja 358 palveluntarjoajaa. Automaattinen varajärjestelmä pitää reitityksen käynnissä, kun toinen toimiva kohde on saatavilla. Kuusi pilaria: joustava varajärjestelmä 358 palveluntarjoajan yli · jopa 95 % tokenisäästöt kelvollisissa työkuormissa · 0 $ aloittaa yli 150 ilmaisella tasolla ja 54 toistuvalla/avaimettomalla ikuisesti ilmaisella palveluntarjoajalla · 36 CLI/agentti-integraatiota yhden konfiguraation kautta · OpenAI, Claude, Gemini ja Responses API -yhteensopivuus osoitteessa /v1 · tuotannon hallintalaitteet, mukaan lukien katkaisijat, TLS-varkain, MCP 110 -työkalut, A2A, muisti, suojakaiteet, arvioinnit ja yli 39 000 staattista testilausumaa yli 5 100 seurattavassa testitiedostossa.

# 🤔 Miksi OmniRoute?
Miksi OmniRoute – lopeta 10 hallintapaneelin, kuolleiden API-avaimien ja yllätyslaskujen jongleeraus. Kymmenen päivittäistä ongelmaa vs. ratkaisut: kiintiö vanhenee käyttämättömänä → maksimoi tilaukset; nopeusrajoitukset koodauksen aikana → 4-tasoinen automaattinen varajärjestelmä (Tilaus → API → Halpa → Ilmainen); työkalujen tulosteet kuluttavat tokeneita → RTK + Caveman-pakkaus (15–95 %); kalliit API:t → kustannusoptimoitu reititys; jokaisella työkalulla oma asennus → yksi päätepiste, yksi hallintapaneeli; tekoäly estetty → 3-tason välityspalvelin + TLS-varkain; kuolleet avaimet → 3-kerroksinen joustavuus (katkaisijat, avaimen jäähtyminen, mallin lukitus); tiimi jakaa yhden tilauksen → avainpoolit oikeudenmukaisilla kiintiöillä; kehotteet jonkun pilven kautta → paikallinen ensin AES-256-GCM-salatuilla avaimilla; ei kulutusnäkyvyyttä → reaaliaikainen analytiikka (käyttö, kiintiö, säästöt, p95-viive).
OmniRouten pyyntövirta: IDE tai CLI (Claude Code, Cursor, Cline…) kutsuu yhtä paikallista päätepistettä (http://localhost:20128/v1); OmniRouten älykäs reititin (RTK + Caveman-pakkaus, 19 reititysstrategiaa, katkaisijat, TLS-varkain, MCP, A2A, suojakaiteet) voi palata 4 palveluntarjoajatason yli, kun kelvollinen toimiva kohde on jäljellä – Taso 1 Tilaus, Taso 2 API-avain, Taso 3 Halpa 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
Kaikki 19 yhdistelmien reititysstrategiaa animoituina — yksi ruutu strategiaa kohden: priority, fill-first, weighted, round-robin, p2c, least-used, random, strict-random, cost-optimized, headroom, reset-window, reset-aware, context-relay, context-optimized, cache-optimized, lkgp, auto, fusion, pipeline. Yllä olevassa taulukossa kerrotaan, mitä kukin niistä tekee. > **Yhdistelmä** on malliketju, jonka välillä OmniRoute reitittää **automaattisesti**. Jos kiintiö loppuu, palveluntarjoaja vikaantuu tai kustannukset nousevat äkillisesti, yhdistelmä voi siirtyä seuraavaan kelvolliseen ja toimintakuntoiseen malliin. 🛡️ ### ⚡ Ei määrityksiä — käytä vain `auto` Yhdistelmää ei tarvitse luoda. Aseta malliksi `auto` (tai jokin sen muunnelma), niin OmniRoute muodostaa yhdistetyistä palveluntarjoajistasi virtuaalisen yhdistelmän, joka pisteytetään reaaliaikaisesti:
MallitunnusMitä se optimoi
auto🎯 Tasapainoinen oletus (LKGP — pysyy viimeksi toimineessa palveluntarjoajassa)
auto/coding🧑💻 Laatua painottavat painotukset koodin generointiin
auto/fast⚡ Pienin viive ensin
auto/cheap💰 Halvin tunnistetta kohden ensin
auto/offline🔋 Eniten vapaata kiintiötä / kutsurajoitusvaraa ensin
auto/smart🔭 Laatu ensin + 10 %:n kokeilu parempien mallien löytämiseksi
auto/lkgp📌 Pysyy nimenomaisesti viimeksi toimineessa palveluntarjoajassa
auto/chaos🧪 Vikojen injektointiin tarkoitetut painotukset vikasietoisuuden testaamiseen (kaaosmallinnus)
## ### 🔀 Tai rakenna omasi — 19 reititysstrategiaa Kaikki **19** strategiaa — yhdistele vapaasti yhdistelmän eri vaiheissa:
# Strategia Mitä se tekee
1 priority Ensimmäistä kohdetta suosiva järjestetty luettelo — käytä kukin loppuun ennen seuraavaa 🥇
2 fill-first Käytä kunkin kohteen kiintiö kokonaan ennen seuraavaan siirtymistä
3 weighted Painotettu satunnaisvalinta kohdekohtaisten painojen perusteella
4 round-robin Kierrä kohteita järjestyksessä
5 p2c Kahden vaihtoehdon satunnainen kuormantasaus
6 least-used Valitse kohde, jonka nykyinen kuormitus on pienin
7 random Tasajakautunut satunnaisvalinta (kaksoiskappaleet poistetaan)
8 strict-random Satunnaisvalinta poistamatta toistoja 🎲
9 cost-optimized Minimoi pyynnön dollarikustannus reaaliaikaisten luettelohintojen perusteella 💸
10 headroom Valitse kohde, jolla on eniten kiintiötä jäljellä
11 reset-window Suosi kohdetta, jonka kiintiöjakso nollautuu ensimmäisenä
12 reset-aware Järjestä kiintiön nollautumisajan mukaan — lyhyet jaksot ensin 📊
13 context-relay Siirrä konteksti kohteiden välillä pitkiä keskusteluja varten 🧠
14 context-optimized Valitse nykyiseen kontekstikokoon parhaiten sopiva kohde
15 cache-optimized Kiinnitä kukin uudelleenkäytettävä kehote-etuliite samaan tiliin — maksimoi kehotteiden välimuistiosumat 🎯
16 lkgp Viimeksi toimivaksi tunnettu polku — pysyy viimeksi onnistuneessa palveluntarjoajassa ja turvautuu sitten sääntöihin
17 auto 16 tekijän reaaliaikainen pisteytys kaikissa yhteyksissä 🤖
18 fusion Lähetä pyyntö rinnakkain mallipaneelille, minkä jälkeen arvioijamalli koostaa yhden vastauksen 🧬
19 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) OmniRoute-resilienssi — 3 itsenäistä, itsekorjautuvaa kerrosta, oikea kerros oikealle vikatilanteelle. Kerros 1: palveluntarjoajan circuit breaker (koko palveluntarjoaja): laukeaa vain 408/5xx-virheistä, raja-arvot OAuth 8× / API-avain 12× / paikallinen 2×, palautuu 60 s:n / 30 s:n / 15 s:n kuluttua HALF-OPEN-koetilaan, laiska palautuminen; OPEN-tilassa yhdistelmä reitittää pyynnöt seuraavalle palveluntarjoajalle. Kerros 2: yhteyden jäähdytysaika (yksi avain/tili): perusaika 5 s OAuthille / 3 s API-avaimelle, eksponentiaalinen ×2-viive samanaikaisten uudelleenyritysten ruuhkaa estävällä suojauksella, 429 noudattaa Retry-After-arvoa, onnistuminen tyhjentää koko virhetilan; jäähdytyksessä oleva avain ohitetaan, kun taas rinnakkaiset avaimet jatkavat palvelemista. 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) kuuluvat ylläpitäjän käsiteltäviksi, eivät jäähdytysajoiksi. 📖 [Automaattisen yhdistelmän moottori](docs/routing/AUTO-COMBO.md) · [Resilienssiopas](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Mikä erottaa OmniRouten muista
Mikä erottaa OmniRouten muista – päivitetty ominaisuuskuvaus verrattuna 9routeriin, OpenRouteriin, CLIProxyAPI:iin ja LiteLLM:ään 13 ominaisuuden osalta. OmniRoute: 358 palveluntarjoajaa, yli 150 sisäänrakennettua ilmaista tasoa, 19 reititysstrategiaa, 12-moottorinen token-pakkaus, sisäänrakennettu MCP-palvelin 110 työkalulla, A2A-agenttiprotokolla, pysyvä muisti, suojakaiteet, pilviagentit, TLS-sormenjälkien piilotus, työpöytä/Termux/PWA ja 42 i18n-käyttöliittymäkieltä. OmniRoute on MIT-lisensoitu ja itsehostattavissa. Kilpailijoiden ominaisuudet ja määrät voivat muuttua; katso linkitetty metodologia. 📊 Täydellinen metodologia & ominaisuuskohtaiset yksityiskohdat verrattuna 9routeriin, OpenRouteriin, CLIProxyAPI:iin & LiteLLM:ään → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 Tue OmniRoutea OmniRoute on MIT-lisensoitu, ja sitä ylläpidetään avoimesti. Jos se säästää aikaasi tai rahaasi, voit auttaa pitämään sen riippumattomana valitsemalla sinulle sopivan tavan. Sponsorointi ei koskaan vaikuta reitityksen prioriteettiin; sillä saa näkyvyyttä, ei parempaa sijoitusta.
⭐ Anna repositoriolle tähtiIlmaista — auttaa aidosti näkyvyydessäAnna OmniRoutelle tähti
🐙 GitHub SponsorsKertaluonteinen tai kuukausittainen · ei alustamaksuagithub.com/sponsors/diegosouzapw
☕ Ko-fiNopea kertalahjoitus, lahjoittajan ei tarvitse rekisteröityäko-fi.com/diegosouzapw
🧋 Buy Me a CoffeePieni, epämuodollinen elebuymeacoffee.com/diegosouzapw
🖐 LiberapayToistuva · voittoa tavoittelematon · avoin lähdekoodiliberapay.com/diegosouzapw
🇧🇷 PIX (Brasilia)Välitön, ei maksujaavain & QR-koodi alla
₿ KryptovaluuttaBTC · ETH · USDT-TRC20 · USDC-Solanaosoitteet alla
**🇧🇷 PIX** — välitön, ei maksuja (Brasilia) OmniRouten PIX-QR-koodi Avain (satunnainen): `5d865059-bc44-483a-962d-43ceb80126eb` Pix copia-e-cola: ``` 00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD ```
₿ Kryptovaluutta — BTC · ETH · USDT-TRC20 · USDC-Solana (laajenna napsauttamalla)
₿ BTCBitcoin (SegWit)bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd
Ξ ETHEthereum (ERC20)0x64Cf6B68A6Ff34288e89172950a2d00102337a84
₮ USDTTron (TRC20)TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2
$ USDCSolana2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu
⚠️ Lähetä kutakin valuuttaa vain sille ilmoitetussa verkossa — väärän verkon käyttäminen voi johtaa varojen menettämiseen.
🐛 Löysitkö virheen tai haluatko antaa palautetta? Avaa [keskustelu](https://github.com/diegosouzapw/OmniRoute/discussions).

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

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

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

## 🔒 Yksityinen & paikallisuus edellä
Yksityinen ja paikallisuus edellä — OmniRouten yhdyskäytävä ja hallintataso toimivat omalla koneellasi. Kehotteet lähetetään kullekin pyynnölle valitulle ulkoiselle palveluntarjoajalle; OmniRoute ei lisää väliin omaa isännöityä kehotteiden käsittelyvaihetta, ja telemetria on oletusarvoisesti poistettu käytöstä. Tunnistetiedot salataan levossa AES-256-GCM-salauksella; suojauskeinoihin kuuluvat API-avainten käyttöalueiden rajaus, IP-suodatus, nopeusrajoitukset, kehotesyötteiden manipuloinnin estot, ulkoisten palveluntarjoajien otsakkeiden puhdistus, valinnainen henkilötietojen peittäminen, puhdistetut virheilmoitukset ja paikallinen SQLite-tarkastusloki. OmniRoute käyttää MIT-lisenssiä, ja sitä voi ylläpitää itse. 📖 [Valtuutus](docs/architecture/AUTHZ_GUIDE.md) · [Suojaukset](docs/security/GUARDRAILS.md) · [Vaatimustenmukaisuus](docs/security/COMPLIANCE.md)
## 🔌 Täysi komentorivityökalu + A2A & MCP
> Palvelimen lisäksi OmniRoute on **täysiverinen komentoriviohjaamo**, jossa on **yli 80 komentoa**, sekä avoimet agenttiprotokollat, joiden avulla tekoälyagentti voi käyttää sitä **itsenäisesti**. ### ⌨️ Oikea komentorivityökalu (ei pelkkä `start`) ```bash omniroute # käynnistä yhdyskäytävä + hallintapaneeli (portti 20128) omniroute chat # interaktiivinen TUI-keskusteluasiakas (vinoviivakomennot: /model /combo /skill /memory) omniroute setup # ohjattu ensimmäisen käyttökerran määritys omniroute doctor # diagnosoi palveluntarjoajat, portit ja natiiviriippuvuudet ``` ### 🛰️ Etätila — suorita komentorivityökalu täällä ja OmniRoute VPS-palvelimella Onko OmniRoute palvelimella? Ohjaa sitä kannettavaltasi **samalla komentorivityökalulla**. Kirjaudu kerran rajatulla käyttöoikeustunnuksella, minkä jälkeen jokainen komento kohdistuu etäpalvelimeen. ```bash omniroute connect 192.168.0.15 # salasana → rajattu tunnus, tallennetaan kontekstina omniroute models list # ← suoritetaan ETÄPALVELIMELLA omniroute configure codex # ← valitsee etämallin ja kirjoittaa paikallisen Codex-profiilin omniroute tokens create --name ci --scope read # luo käyttöoikeuksiltaan rajatumpia tunnuksia muille koneille omniroute contexts use default # ← vaihda takaisin paikalliseen palvelimeen ``` Tunnusten käyttöalueet ovat `read` / `write` / `admin`; prosesseja käynnistävät reitit pysyvät vain loopback-rajapinnan käytettävissä. 📖 [Etätila](docs/guides/REMOTE-MODE.md)
Animoitu pääte-esittely OmniRouten komentorivityökalusta — omniroute providers list, omniroute combo list ja omniroute health — käyden läpi 86 komennon päätason valikoimaa: providers · oauth · keys · combo · nodes · models · cache · compression · cost · usage · quota · health · resilience · telemetry · logs · audit · mcp · a2a · cloud · memory · skills · eval · tunnel · backup · sync · webhooks · policy · pricing · translator · simulate …
### 🤝 Yhdistä agentti — ja se ohjaa OmniRoutea itse Avaa OmniRoute käytettäväksi **MCP:n**, **A2A:n**, **REST API:n**, **webhookien** tai **etäkomentorivityökalun** kautta — mikä tahansa kykenevä agentti (tai oma koodisi) saa koko yhdyskäytävän hallintaansa: reitityksen, palveluntarjoajat, yhdistelmät, välimuistin, pakkauksen ja muistin — autonomisesti. Alla olevat HTTP-päätepisteet ovat käytettävissä osoitteessa `http://localhost:20128`.
RajapintaPäätepiste / komentoKäyttötarkoitus
🧰 MCP (stdio)omniroute --mcpLiitä Claude Desktopiin, Cursoriin tai mihin tahansa MCP-asiakasohjelmaan
🌊 MCP (HTTP)/api/mcp/streamMCP-etäkäyttö — 110 työkalua, 33 käyttöaluetta (valinnainen valvonta), täydellinen tarkastusloki
📡 MCP (SSE)/api/mcp/sseSuoratoistava MCP-siirtotapa
🤝 A2A/.well-known/agent.jsonAgentilta agentille, JSON-RPC 2.0 + SSE, 6 taitoa
🌐 REST API/v1/*OpenAI-yhteensopiva — keskustelut, upotukset, kuvat, ääni, OCR
🔔 Webhookit/api/webhooksLähetä pyyntö- ja kiintiötapahtumat Slackiin, Discordiin, Telegramiin tai mihin tahansa URL-osoitteeseen
🛰️ Etäkomentorivityökaluomniroute connect Ohjaa etäinstanssia rajatuilla käyttöoikeustunnuksilla
```bash # Anna Claude Codelle OmniRouten koko työkaluvalikoima MCP:n kautta: claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream ``` 📖 [MCP-palvelin](docs/frameworks/MCP-SERVER.md) · [A2A-palvelin](docs/frameworks/A2A-SERVER.md) · [Agenttiprotokollat](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Säästä 15–95 % tokeneista — automaattisesti
### 📖 Näin se toimii — putki, arkkitehtuuri ja säästöjen laskenta OmniRoute-pakkausputki: havainnollinen 10 000 tokenin asiakaspyyntö kulkee 12 yhdisteltävän moottorin läpi — Session-Dedup, CCR, Lite, RTK, Responses Tool Output, Headroom, Relevance, Caveman, Aggressive, LLMLingua-2, Ultra ja OmniGlyph — ja voi dokumentoidussa pinotussa esimerkissä saavuttaa palveluntarjoajan noin 1 080 tokenin kokoisena. Rakenteinen sisältö suojataan säilytyssuojauksilla ja vaihekohtaisilla eheysporteilla; erikseen käyttöön otetut häviölliset tai kokeelliset tilat voivat muuntaa soveltuvaa sisältöä. Pinottu oletusyhdistelmä suorittaa vaiheet `RTK → Caveman`. Kun molemmat käsittelevät samaa työkalu-/kontekstihyötykuormaa, säästöt kertautuvat: ```txt combined = 1 − (1 − RTK) × (1 − Caveman_input) average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2% range = 78.4 – 94.6% ``` Koodilohkot, URL-osoitteet, JSON ja rakenteinen data ovat säilytysmoottorin **aina suojaamia**. > **Miksi käyttää paljon tokeneita, kun vähemmätkin riittävät?** Jokainen pyyntö kulkee OmniRouten pakkausputken läpi **läpinäkyvästi** — asiakasohjelmaan ei tarvita muutoksia. Se on nyt **12 yhdisteltävän moottorin pino**, joka suoritetaan järjestyksessä ja jota voidaan yhdistellä reititysyhdistelmäkohtaisesti — pohjautuen projekteista [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) ja [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR) saatuihin ideoihin. ### 🧱 12 moottorin pino Moottorit suoritetaan putken mukaisessa järjestyksessä; jokainen voidaan ottaa itsenäisesti käyttöön tai pois käytöstä sekä määrittää yhdistelmäkohtaisesti:
#MoottoriMitä se tekee
1Session-DedupPoistaa eri vuorojen välillä toistuvan sisällön (sisältöosoitteinen, vuorojen välinen)
2CCRArkistoi suuret lohkot noutomerkintöjen taakse, joista ne haetaan tarvittaessa
3LiteTyhjätilan ja kuvien URL-osoitteiden karsiminen (kevyt perusratkaisu viiveen kannalta)
4RTKÄlykäs työkalutulosten suodatus, kaksoiskappaleiden poisto ja katkaisu (komentotietoinen)
5Responses Tool OutputEnsisijaisesti häviötön JSON-pakkaus sekä rajattu diagnostiikan pakkaus shell-/patch-/haku-/koontituloksille (Responses API)
6HeadroomJSON-taulukoiden häviötön taulukkomuotoinen tiivistäminen (~30 %) mukana toimitetulla GCF-koodekilla
7RelevancePoimiva lauseiden pisteytys viimeisimmän käyttäjäkyselyn perusteella
8CavemanSääntöpohjainen proosan pakkaus (~65–75 % tulosteesta)
9AggressiveVanhojen vuorojen tiivistäminen ja asteittainen vanhentaminen
10LLMLingua-2Koneoppimiseen perustuva semanttinen karsinta MobileBERT ONNX:n avulla — kooditurvallinen, asynkroninen
11UltraHeuristinen tokenien karsinta valinnaisella pienen mallin (SLM) tasolla
12OmniGlyphKokeellinen kontekstin kuvaksi koodaaminen mitatulle Claude Fable 5:lle suorassa Anthropic-yhteydessä; GPT 5.6 -muuntajat pysyvät turvallisesti pois käytöstä, kunnes palveluntarjoajalta saadaan vahvistukset. Neljä pakkausprofiilia (oletuksena aggressiivinen, tasapainotettu, kooditurvallinen, läpivienti) (aggressiivisin; otettava erikseen käyttöön)
Koodilohkot, URL-osoitteet ja rakenteinen data säilytetään **aina** tavuntarkasti. **Yhden napsautuksen esiasetukset** yhdistävät moottorit:
TilaSäästöSoveltuu parhaiten
🪶 Lite~15%Aina käytössä oleva turvallinen oletus
🪨 Standard (Caveman)~30%Päivittäinen ohjelmointi
⚡ Aggressive~50%Pitkät ja työkalupainotteiset istunnot
🔥 Ultra~75%Suurimmat säästöt
🧰 RTK60–90%Shell-/testi-/koonti-/git-tulosteet
🔗 Stacked (RTK → Caveman)78–95%Yhdistetyt kehotteet ja työkalulokit
**Todellinen esimerkki — Standard-tila:** > **Ennen (69 tokenia):** _"React-komponenttisi renderöidään uudelleen todennäköisesti siksi, että luot uuden objektiviittauksen jokaisella renderöintikierroksella. Kun välität suoraan määritellyn objektin prop-arvona, Reactin pinnallinen vertailu tulkitsee sen joka kerta eri objektiksi, mikä käynnistää uudelleenrenderöinnin. Suosittelen käyttämään useMemoa objektin memoisoimiseen."_ > > **Jälkeen (19 tokenia):** _"Uusi objektiviittaus jokaisella renderöinnillä. Suoraan määritelty objekti prop-arvona = uusi viittaus = uudelleenrenderöinti. Kääri useMemoon."_ > > **Sama vastaus. 72 % vähemmän tokeneita. Ei lainkaan tarkkuuden menetystä.** ✅ **PT-BR-esimerkki — [Troglodita](https://github.com/leninejunior/troglodita)-tila:** > **Ennen (42 tokenia):** _"Ongelmana on, että komponentti renderöidään uudelleen, koska jokaisella renderöintikierroksella luodaan uusi objektiviite. Suosittelen käyttämään useMemoa."_ > > **Jälkeen (12 tokenia):** _"Uudelleenrenderöinti: uusi viite joka kierroksella (inline-objekti luodaan uudelleen). Käytä `useMemo`."_ > > **Sama vastaus. ~70 % vähemmän tokeneita. Tekninen tarkkuus ennallaan.** ✅
### 🎚️ Moottoreita pidemmälle — tulostyylit, mukautuva säädin ja pyyntökohtainen hallinta Yllä olevat 12 moottoria pienentävät **syötettä**. Kolme muuta kerrosta määrittävät, **miten**, **milloin** ja mitä tulee **ulos**: - **🪄 Tulostyylit** _(tulostusakselin ohjaus)_ — lisää deterministisiä, välimuistiturvallisia ohjeita vastauksen muotoiluun; tyylejä voi yhdistellä, ja jokaisella on `lite`- / `full`- / `ultra`-intensiteetti. Tyylin lisääminen vaatii vain yhden rivin rekisterimerkinnän: - **Tiivis teksti** — poista täytesanat / artikkelit / varaukset; säilytä tekninen sisältö täsmällisenä. - **Vähemmän koodia** — ”laiska seniorikehittäjä” -YAGNI: pienin toimiva muutos, ei pyytämättömiä runkorakenteita. - **Ponytail (laiska seniorikehittäjä)** — etene YAGNI-portaita, korjaa juurisyy, tee pienin toimiva diffi. - **Minulla on ADHD (toiminta ensin)** — seuraava toimenpide ensin, numeroidut vaiheet, yksi konkreettinen seuraava askel, ei johdantoa. - **Tiivis CJK (文言)** — klassisen kiinan äärimmäisen tiivis tyyli (käytössä vain `zh`-alueasetuksella). - **🎯 Mukautuva kontekstibudjetti** _(säädin)_ — yhden päälle/pois-tokenrajan sijaan halvimpia ja vähiten tietoa hukkaavia moottoreita otetaan käyttöön vain niin pitkälle kuin on tarpeen, jotta sisältö **mahtuu mallin konteksti-ikkunaan**. Käytäntö: `reserve-output` (oletus, mallitietoinen) · `percentage` · `absolute`. Tila: `floor` (takaa mahtumisen) · `replace-autotrigger` (nimenomainen valintasi on etusijalla) · `off` (vanha raja-arvo). - **🎛️ Missä pakkauksesta päätetään** _(etusijajärjestys, korkea → matala)_ — pyyntökohtainen `x-omniroute-compression`-otsake › reititysyhdistelmän ohitus › aktiivinen nimetty profiili › mukautuva / automaattinen laukaisu › paneelin oletus › pois käytöstä. Käytetty suunnitelma palautetaan `X-OmniRoute-Compression: ; source=`-vastausotsakkeessa. Käytä automaattista laukaisua tokenrajan perusteella, ota mukautuva säädin käyttöön, kiinnitä nimetty profiili, määritä kertaluonteinen pyyntökohtainen asetus tai liitä käsittelyputki reititysyhdistelmään — valitse työkuormaan sopivin vaihtoehto. Valinnainen offline-**arviointikehys** (`npm run eval:compression`) pisteyttää tarkkuuden suhteessa säästöihin kiinnitetyllä aineistolla ennen muutoksen käyttöönottoa. 📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Pika-aloitus
**1) Asenna ja suorita** ```bash npm install -g omniroute omniroute ``` > 💡 Näetkö `npm warn ERESOLVE`-ilmoituksen tai vertaisriippuvuusvaroituksia? [Ne ovat harmittomia](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated). Hallintapaneeli osoitteessa `http://localhost:20128` · API osoitteessa `http://localhost:20128/v1`. **2) Yhdistä ILMAINEN palveluntarjoaja (ei rekisteröitymistä)** Hallintapaneeli → **Palveluntarjoajat** → yhdistä **Kiro AI** (ilmainen Claude, ~50 krediittiä kuukaudessa tiliä kohden) tai **OpenCode Free** (ei todennusta) → valmis. **3) Määritä koodaustyökalusi** ```txt Perus-URL: http://localhost:20128/v1 API-avain: [kopioi kohdasta Hallintapaneeli → Päätepisteet] Malli: auto (älykäs reititys ilman määrityksiä — tai mikä tahansa palveluntarjoaja/malli) ``` **4) Varmista toiminta** ```bash curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY" ``` Yhdistettyjen malliesi pitäisi näkyä luettelossa. 🎉 Siinä kaikki — aloita koodaaminen, niin OmniRoute reitittää pyynnöt automaattisesti ja vaihtaa tarvittaessa varavaihtoehtoon. Jos asiakasohjelmasi ei voi lähettää mukautettuja otsakkeita, OmniRoute tarjoaa myös tokenisoituja yhteensopivuusaliaksia: ```txt OpenAI-luettelo: http://localhost:20128/vscode/YOUR_KEY/ OpenAI-mallit: http://localhost:20128/vscode/YOUR_KEY/models OpenAI-keskustelu: http://localhost:20128/vscode/YOUR_KEY/chat/completions OpenAI-vastaukset: http://localhost:20128/vscode/YOUR_KEY/responses Ollama-keskustelu: http://localhost:20128/vscode/YOUR_KEY/api/chat Ollama-tunnisteet: http://localhost:20128/vscode/YOUR_KEY/api/tags ``` Käytä näitä vain asiakasohjelmissa, jotka eivät voi lisätä `Authorization: Bearer ...`-otsaketta. Otsaketodennus on edelleen suositeltava tapa.
## 📦 Lisää asennustapoja — Docker, lähdekoodi, pnpm, Arch **🐳 Docker** ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` `:latest` seuraa korkeinta **julkaistua** vakaata SemVer-versiota. Se ei seuraa git-haaraa `main`. Kiinnitä GitOps-käyttöä varten versioon `:X.Y.Z`. Katso [Docker-julkaisukanavat](docs/guides/DOCKER_GUIDE.md#release-channels). Levykuva määrittää arvoksi **`OMNIROUTE_MEMORY_MB=1024`**. Se riittää hallintapaneelille ja kevyeen keskusteluun. **Koodausagentit** (Claude Coden, Codexin, Grokin jne. tekemät `POST /v1/responses` -pyynnöt) tarvitsevat huomattavasti suuremman V8-keon, tai prosessi päätyy `FATAL ERROR` -virheeseen noin 12 GiB:n kohdalla kahden päällekkäisen pitkän kontekstin aikana. Mitoita säilö kekoa suuremmaksi (natiivipuskurit sijaitsevat V8:n ulkopuolella): | Kuormitus | Keko (`-e OMNIROUTE_MEMORY_MB`) | Säilö (`--memory`) | | -------------------------------------------------- | ------------------------------- | ------------------ | | Hallintapaneeli / kevyt keskustelu | `1024` (levykuvan oletusarvo) | ≥2 g | | Yksi koodausagentti | `8192` | ≥10 g | | Kaksi samanaikaista pitkää `/v1/responses`-pyyntöä | `10240`–`12288` | ≥12–16 g | ```bash docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \ -e OMNIROUTE_MEMORY_MB=8192 --memory=10g \ -p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest ``` Koko taulukko: [Docker-opas — käytönaikainen RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents). > **Dockerin esijulkaisukanava:** `diegosouzapw/omniroute:next` ja > `diegosouzapw/omniroute:next-web` seuraavat nykyistä oletusarvoista `release/v*`- > haaraa. Nämä muuttuvat tunnisteet on tarkoitettu vain julkaisemattomien korjausten testaamiseen, > eikä niitä **tueta tuotantokäytössä**. Katso > [Docker-julkaisukanavat](docs/guides/DOCKER_GUIDE.md#release-channels). **🥟 Bun** Tavallista `bun install` -asennusta ja yleistä asennusta (`bun install -g omniroute`) tuetaan Bun-ympäristön automaattisen tunnistuksen avulla: - **Sisäänrakennettu `bun:sqlite`**: OmniRoute käyttää Bunin sisäänrakennettua `bun:sqlite`-ajuria Bun-ympäristössä ja käyttää varajärjestelmänä `better-sqlite3`:a Node.js-ympäristössä tai `sql.js`:ää. - **Webpack-paketoijan automaattinen valinta kehityksessä**: Kehitysympäristö (`bun run dev`) tunnistaa Bunin automaattisesti ja poistaa Turbopackin käytöstä Webpackin hyväksi natiivien V8-sidosten yhteensopimattomuuksien estämiseksi. Tuotantokoontiversiot (`bun run build`) noudattavat muuttujaa `OMNIROUTE_USE_TURBOPACK` täsmälleen samoin kuin Nodessa: oletuksena käytetään Turbopackia ja arvolla `OMNIROUTE_USE_TURBOPACK=0` koonti tehdään Webpackilla (`Dockerfile.bun` tuo sen saataville `--build-arg`-argumenttina). - **Erillinen Bun-Dockerfile**: Monivaiheinen `Dockerfile.bun` natiiveihin Bun-tuotantokäyttöönottoihin (`docker build -f Dockerfile.bun -t omniroute:bun .`). ```bash # Asenna ja suorita Bunilla bun install bun run dev ``` **🛠️ Lähdekoodista** ```bash cp .env.example .env && npm install PORT=20128 npm run dev ``` **📦 pnpm** ```bash pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute ``` **🐧 Arch Linux (AUR)** ```bash yay -S omniroute-bin && systemctl --user enable --now omniroute.service ``` **🔧 Nix (Flake)** ```bash # Nix-flakejen käyttö nix develop npm run dev # Tai devboxin käyttö devbox run npm run dev ``` 📖 [Docker-opas](docs/guides/DOCKER_GUIDE.md) — Compose-profiilit, Caddy HTTPS ja Cloudflare-tunnelit. **🦭 Podman** ```bash # 1. Valmistele liitoskohtaan sidottava datahakemisto mkdir -p data # 2. Vain Linux ja paikallinen pääkäyttäjätön Podman (ei koskaan Podman Machine -etäasiakas): podman unshare chown 1000:1000 ./data # 3. Aseta ajoympäristövihje, koosta paikallinen Compose-levykuva ja käynnistä echo "CONTAINER_HOST=podman" >> .env podman compose --profile base up -d --build ``` macOS- tai Windows-järjestelmässä Podman käyttää Podman Machine -etäympäristöä: ohita `podman unshare` ja noudata [topologiakohtaisia datahakemiston ohjeita](contrib/podman/README.md#data-directory-permissions-by-topology). 📖 [Podman-opas](contrib/podman/README.md) — Compose-koonnit, Podman Machine ja Linux/systemd Quadlet -määritys. **⚡ Nopeampi / kevyempi asennus (ohita natiivikoonti)** Natiivi SQLite-moottori (`better-sqlite3`) on **valinnainen** riippuvuus, joten yleinen asennus ei koskaan pysähdy odottamaan lähdekoodista kääntämistä: se käyttää esikäännettyä binääritiedostoa, kun sellainen vastaa alustaasi ja Node-versiotasi, ja muussa tapauksessa siirtyy läpinäkyvästi puhdasta JavaScriptiä käyttävään moottoriin (`node:sqlite` Node 22+:ssa, muussa tapauksessa pakettiin sisältyvä `sql.js` WASM) — koontityökaluja ei tarvita. Voit ohittaa asennuksen jälkeisen natiivin esilämmityksen kokonaan (CI-ympäristöt, käyttöliittymättömät ympäristöt tai hitaat laitteet): ```bash OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # Myös CI=1 ohittaa sen ``` Nopeimpiin asennuksiin kannattaa käyttää **pnpm**:ää (sisältöosoitteinen varasto + kovat linkit — katso edellä). Käytä ilman hallintapaneelia toimivaan käyttöliittymättömään ajoympäristöön Dockerin `base`-profiilia (edellä) tai [Termux-opasta](docs/guides/TERMUX_GUIDE.md). CLI ja verkkohallintapaneeli tarjotaan saman prosessin kautta yhdessä portissa, joten erillistä vain CLI:n sisältävää pakettia ei tällä hetkellä ole.
# 🎬 OmniRoute toiminnassa
## 📹 Video-oppaat
Tilannekuva hallintapaneelista 2026-08-24 · Raakaluettelo: YT 809 | TT 137 | IG 124 · Tuoreus (päivää): YT 1 | TT 21 | IG 22
Instagram Reel
🎬 #1 — Instagram
nick_saraev — 3,042,474 katselukertaa
Instagram Reel — theopenstack
🎬 #2 — Instagram
theopenstack — 692,419 katselukertaa
TikTok — milesreevesai
🎬 #3 — TikTok
milesreevesai — 620,400 katselukertaa
YouTube — Vaibhav Sisinty
🎬 #4 — YouTube
Vaibhav Sisinty — 391,109 katselukertaa
Instagram Reel — buildwithai.club
🎬 #5 — Instagram
buildwithai.club — 347,652 katselukertaa
**Täydellinen sijoituslista (duplikaatit poistettu kanonisten URL-osoitteiden perusteella, `v > 0`, suurin tavoittavuus):** | #1 | #2 | #3 | #4 | #5 | | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | | [nick_saraev — Instagram](https://www.instagram.com/reel/Da8ZthUPK98/) — **3,042,474** | [theopenstack — Instagram](https://www.instagram.com/reel/DaSs65mMrHk/) — **692,419** | [milesreevesai — TikTok](https://www.tiktok.com/@milesreevesai/video/7667980059189366019) — **620,400** | [Vaibhav Sisinty — YouTube](https://www.youtube.com/watch?v=QucgvbO5gsM) — **391,109** | [buildwithai.club — Instagram](https://www.instagram.com/reel/DbIt9AjK7-U/) — **347,652** | | #6 | #7 | #8 | #9 | #10 | | ----------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | | [nivedan.ai — Instagram](https://www.instagram.com/reel/DbIrCksJiqq/) — **331,973** | [vaibhavsisinty — Instagram](https://www.instagram.com/reel/Dae05TSAK1l/) — **263,744** | [Nick Automates — YouTube Shorts](https://www.youtube.com/shorts/fZIBK_4fKq8) — **218,174** | [theroshankrishna — Instagram](https://www.instagram.com/reel/Dapjs58z0P0/) — **186,786** | [midudev — TikTok](https://www.tiktok.com/@midudev/video/7664636453544152342) — **177,800** | Kanoniset mittarit 2026-08-24: **1.029 yksilöllistä videota** · **11.132.922 tunnettua katselukertaa** (`v > 0`) · **639 kanavaa/profiilia verkoittain**. Raakahallintapaneeli sisältää 1.070 riviä; Instagramin 41 kaksoiskappaletta normalisoitiin kanonisen URL-osoitteen perusteella säilyttäen kunkin videon suurin katselukertamäärä. > 🎬 **Teitkö videon OmniRoutesta?** Avaa [issue](https://github.com/diegosouzapw/OmniRoute/issues/new) tai [discussion](https://github.com/diegosouzapw/OmniRoute/discussions) ja lisää linkki — nostamme sen esille täällä.
# 📧 Yhteisö ja tuki > Kaikki yhdessä paikassa — seuraa ylläpitäjää, keskustele yhteisön kanssa tai avaa ongelmaraportti. | Kanava | Missä / miten | | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | | 💼 **LinkedIn** — seuraa ylläpitäjää | [linkedin.com/in/diegosouzapw](https://www.linkedin.com/in/diegosouzapw/) | | 🐙 **GitHub** — seuraa julkaisuja ja vinkkejä | [@diegosouzapw](https://github.com/diegosouzapw) | | 💬 **Discord** | [discord.gg/U47eFqAXCn](https://discord.gg/U47eFqAXCn) | | ✈️ **Telegram** | [t.me/omnirouteOficial](https://t.me/omnirouteOficial) | | 🟢 **WhatsApp — 🌍 maailmanlaajuinen** | [liity ryhmään](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) | | 🟢 **WhatsApp — 🇧🇷 Brasilia** | [liity ryhmään](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) | | 🌍 **Verkkosivusto** | [omniroute.online](https://omniroute.online) | | 🌍 **🌍StHub OmniRoute -yhteisö (maksuton)** | [StHub-portaali](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK) | | 📦 **Lähdekoodi** | [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) | | 🐛 **Ilmoita virheestä** | [avaa ongelmaraportti](https://github.com/diegosouzapw/OmniRoute/issues) — liitä mukaan `npm run system-info` -komennon tuloste | | 🤝 **Osallistu kehitykseen** | [CONTRIBUTING.md](CONTRIBUTING.md) · [Haarautumis- ja julkaisumalli](docs/ops/BRANCHING_MODEL.md) · valitse `good first issue` | | 💚 **Tue projektia** | [Tukitavat ↑](#-support-omniroute) · [GitHub Sponsors](https://github.com/sponsors/diegosouzapw) |
---
## 🛠️ Teknologiapino
KerrosTeknologia
SuoritusympäristöNode.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27
KieliTypeScript 6.0 — 100 % TypeScript kautta src/ ja open-sse/ (nolla any ytimessä versiosta v2.0 lähtien)
ViitekehysNext.js 16 + React 19 + Tailwind CSS 4
Tietokantabetter-sqlite3 (SQLite, WAL-kirjaus) + LowDB (JSON-perintö) — 122 verkkotunnusmoduulia, 183 migraatiota
MuistiSQLite FTS5 täysteksti + int8-kvantisoidut vektorisijoitukset, tyypitetty hajoaminen
SkeematZod 4 — MCP-työkalun 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-moottorinen putki — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph
Todennus & turvallisuusOAuth 2.0 (PKCE) + JWT + API-avaimet + MCP-alueellinen todennus · AES-256-GCM levossa · DOMPurify
Salakäyttöwreq-js — JA3 / JA4 TLS-sormenjäljen jäljittely, 3-tason välityspalvelin
ResilienssiKatkaisija, eksponentiaalinen viive, anti-thundering-herd, automaattinen yhdistelmä-itsekorjaus
Lokituspino — strukturoidut JSON-lokit pyyntökontekstilla
TestausNode.js test runner + Vitest — yli 39 000 staattista testideklaraatiota yli 5 100 seurattavassa testitiedostossa (yksikkö-, integraatio-, E2E-, tietoturva-, ekosysteemitesterit)
AlustatTyöpöytä (Electron) · Android (Termux) · PWA (mikä tahansa selain)
CI/CDGitHub Actions — automaattinen npm-julkaisu + Docker Hub julkaisun yhteydessä
LinkitVerkkosivusto · npm · Docker Hub

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

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

🥇 220 GitHubiin liitettyä committia
Paijo
Paijo

🥈 219 GitHubiin liitettyä committia
Randi
Randi

🥉 108 GitHubiin liitettyä committia
Ravi Tharuma
Ravi Tharuma

🏅 81 GitHubiin liitettyä committia
Chris
Chris

🏅 70 GitHubiin liitettyä committia
Markus Hartung
Markus Hartung

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

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

🏅 64 GitHubiin liitettyä committia
zenobit
zenobit

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

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

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

💛 Aktiivinen kuukausisponsori
Vlad I
Vlad I

💛 Aktiivinen kuukausisponsori
Paco Cartones
Paco Cartones

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

💛 Aiempi kertaluonteinen tukija
longtao
longtao

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

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

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