# Conflicts: # README.md # config/quality/file-size-baseline.json # docs/diagrams/comparison-table.svg # docs/diagrams/free-tier-budget.svg # docs/diagrams/readme-hero.svg # docs/i18n/am/llm.txt # docs/i18n/ar/llm.txt # docs/i18n/az/llm.txt # docs/i18n/bg/llm.txt # docs/i18n/bn/llm.txt # docs/i18n/cs/llm.txt # docs/i18n/da/llm.txt # docs/i18n/de/llm.txt # docs/i18n/el/llm.txt # docs/i18n/es/llm.txt # docs/i18n/et/llm.txt # docs/i18n/fa/llm.txt # docs/i18n/fi/llm.txt # docs/i18n/fr/llm.txt # docs/i18n/ga/llm.txt # docs/i18n/gu/llm.txt # docs/i18n/ha/llm.txt # docs/i18n/he/llm.txt # docs/i18n/hi/llm.txt # docs/i18n/hr/llm.txt # docs/i18n/hu/llm.txt # docs/i18n/hy/llm.txt # docs/i18n/id/llm.txt # docs/i18n/ig/llm.txt # docs/i18n/it/llm.txt # docs/i18n/ja/llm.txt # docs/i18n/ka/llm.txt # docs/i18n/km/llm.txt # docs/i18n/kn/llm.txt # docs/i18n/ko/llm.txt # docs/i18n/lt/llm.txt # docs/i18n/lv/llm.txt # docs/i18n/ml/llm.txt # docs/i18n/mr/llm.txt # docs/i18n/ms/llm.txt # docs/i18n/mt/llm.txt # docs/i18n/my/llm.txt # docs/i18n/ne/llm.txt # docs/i18n/nl/llm.txt # docs/i18n/no/llm.txt # docs/i18n/or/llm.txt # docs/i18n/pa/llm.txt # docs/i18n/phi/llm.txt # docs/i18n/pl/llm.txt # docs/i18n/pt-BR/llm.txt # docs/i18n/pt/llm.txt # docs/i18n/ro/llm.txt # docs/i18n/ru/llm.txt # docs/i18n/si/llm.txt # docs/i18n/sk/llm.txt # docs/i18n/sl/llm.txt # docs/i18n/sr/llm.txt # docs/i18n/sv/llm.txt # docs/i18n/sw/llm.txt # docs/i18n/ta/llm.txt # docs/i18n/te/llm.txt # docs/i18n/th/llm.txt # docs/i18n/tr/llm.txt # docs/i18n/uk-UA/llm.txt # docs/i18n/ur/llm.txt # docs/i18n/uz/llm.txt # docs/i18n/vi/llm.txt # docs/i18n/yo/llm.txt # docs/i18n/zh-CN/llm.txt # docs/i18n/zh-TW/llm.txt # docs/reference/PROVIDER_REFERENCE.md # docs/screenshots/free-tier-budget-card.svg
README (Suomi)
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇵🇹 pt · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
💰 ~1,47 mrd ilmaista tokenia / kuukausi
Ilmaistasojen kokoaminen 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 452 ilmaistason merkintää 34 toistuvan resurssipoolin avaimessa ja laskee tokenien otsikkoluvun 16 poolista, joille on julkaistu positiivinen kuukausibudjetti, sekä viidestä mallikohtaisesta Groq-rajasta, poistaen jaettujen poolien kaksoislaskennan. Kiintiöt, jotka avautuvat vasta alueellisen henkilöllisyyden tarkistuksen jälkeen (tällä hetkellä ModelScope), näytetään erikseen: +~6 milj. alueellisen henkilöllisyyden vahvistamisen takana, eikä niitä koskaan lasketa mukaan otsikkolukuun. Tulos pysyy näkyvissä hallintapaneelissa (
/dashboard/free-tiers).
Animoitu yhteenveto reaaliaikaisesta
/dashboard/free-tiers-sivusta. Täydellinen menetelmäkuvaus (poolien kaksoislaskennan poisto, krediittitasot, palveluntarjoajien ehdot): docs/reference/FREE_TIERS.md.Nämä luvut tarkastetaan uudelleen kahden viikon välein reaaliaikaista luetteloa vasten, ja ne voivat muuttua kumpaankin suuntaan — jos palveluntarjoaja lopettaa ilmaistason, luku pienenee; uuden ilmaistason myötä se kasvaa. Julkaisemme aina sen, mitä luettelo todellisuudessa laskee, emmekä koskaan ylöspäin pyöristettyä parasta mahdollista arviota.
⭐ Anna repolle tähti, jos OMNIROUTE auttoi sinua säästämään rahaa ja helpotti työskentelyäsi.
💬 Liity yhteisöön
👋 Seuraa ylläpitäjää — saat ensimmäisenä tiedon uusista palveluntarjoajista, julkaisuista ja vinkeistä:
Kysymykset, palveluntarjoajavinkit, etenemissuunnitelma ja tuki → Discord · Telegram · WhatsApp 🌍 Kansainvälinen / 🇧🇷 Brasilia / Portaali
📈 Yhdyskäytävä kasvaa jatkuvasti
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 Palveluntarjoajat | 290 | 352 | lisää tulossa |
| 🧠 Yksilölliset chat-mallitunnukset | 1185 | 1312 | — |
| 🖼️ Modaliteettisilta | — | 🆕 kuva + ääni + video | — |
| 📡 Radarin maksuton luettelo | — | 🆕 valinnainen | — |
| ⚖️ Kiintiöt huomioiva ajoitus | — | 🆕 Quota-Share | — |
| 📊 Kiintiötelemetria | — | 🆕 reaaliaikainen | — |
→ Kehityssuunnitelma — raiteilla kohti versiota v3.9.0 LTS
🧩 Saatavilla
🆓 Toimii heti asennuksen jälkeen — ei avaimia, ei määrityksiä
# Tuore asennus, ei tunnistetietoja — `auto` toimii jo:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
Haluatko käyttää tiettyä ilmaista taustapalvelua? Kutsu suoraan oc/… (OpenCode Free). Siirry sitten käyttämään auto-mallia ja anna OmniRouten valita.
📦 Kopioitavat ja liitettävät pika-aloitusskriptit Pythonille, Node.js:lle, PHP:lle ja cURLille → examples/quickstart/
💥 Lupaus
🤔 Miksi OmniRoute?
🤝 Avoimen lähdekoodin ystäviemme tukema
Haluatko liittyä avoimen lähdekoodin ystäväksi? Nämä yritykset tukevat avointa lähdekoodia ja auttavat pitämään OmniRouten liikkeessä — ja kerromme julkisesti, mihin jokainen niiden meille antama token käytetään. Ota yhteyttä: diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
Kiitos Kimi (Moonshot AI):lle, avoimen lähdekoodin perustajaystävällemme, tämän projektin tukemisesta! Kimi on avoimilla painoilla julkaistujen K2- ja K3-malliperheiden taustalla toimiva tekoälylaboratorio — Kimi K3 tarjoaa miljoonan tokenin konteksti-ikkunan, natiivin konenäön ja kärkitason ohjelmointiominaisuudet murto-osalla suljettujen mallien hinnoista sekä toimii heti Claude Coden, Codexin ja kaikkien OmniRouten palvelemien ohjelmointityökalujen kanssa.
Mitä Kimin tuki mahdollistaa: Kimin API-krediitit pyörittävät OmniRouten tekoälyllä validoitua julkaisuprosessia — Kimi K3:n suorittamaa yhdistämisen validointivaihetta, joka tarkistaa jokaisen vetopyynnön ennen julkaisua — sekä päivittäistä ominaisuuskehitystä. Ensiluokkainen Kimi-tuki toimitetaan molempien kanavien kautta: suoran Kimi API:n ( kimi-k3) ja Kimi Code -ohjelmointipaketin (OAuth ja API-avain). OmniRoute on myös ensimmäinen brasilialainen avoimen lähdekoodin projekti Kimin tukiohjelmassa. Hanki Kimi API -avain ja 15 % lisäkrediittejä →
|
|
Cheaper Inference cheaperinference.com |
Kiitos Cheaper Inferencelle, OmniRouten avoimen lähdekoodin ystävälle, tämän projektin tukemisesta! Cheaper Inference on kustannusten mukaan reitittävä yhdyskäytävä, joka jälleenmyy 42 kärkitason mallia — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok ja MiniMax — yhden OpenAI-yhteensopivan päätepisteen kautta. Se reitittää jokaisen pyynnön halvimmalle soveltuvalle palveluntarjoajalle veloittamatta koskaan mallin valmistajan listahintaa enempää.
Ensiluokkainen tuki OmniRoutessa: Chat Completions, natiivi /v1/responses-päätepiste, konenäkö, työkalukutsut ja 3 kuvamallia (grok-imagine, nano-banana-pro, nano-banana-2, käytettävissä muodossa cheaperinference/<model>). Hanki API-avain →
|
Tunnisteen aff=omniroute sisältävät linkit ovat kumppanilinkkejä. Ne rahoittavat projektia aiheuttamatta sinulle lisäkustannuksia.
🎟️ Kumppanuuskampanjat — ilmaisia rekisteröitymiskuponkeja palveluntarjoajilta, joita emme sponsoroi (laajenna napsauttamalla)
Tämä osio on tarkoitettu vain suosittelu- ja kuponkikoodeille. Sponsoroidut kumppanuudet ovat yllä olevassa 🤝 Avoimen lähdekoodin ystäviemme tukema -osiossa. OmniRoutella ei ole sponsorointi- tai kumppanuussuhdetta tässä lueteltuihin palveluntarjoajiin — nämä ovat julkisia kuponkeja, joita kuka tahansa voi käyttää.
|
AgentRouter agentrouter.org |
AgentRouter — kumppanuusrekisteröityminen · 100 $ ilmaista krediittiä rekisteröitymisen yhteydessä (ilmainen palvelin, joten varaudu suurempaan viiveeseen — sopii parhaiten testaukseen, ei tuotantoon). Ensiluokkainen tuki OmniRoutessa versiosta v3.8.50 alkaen: Chat Completions, Anthropic-yhteensopiva siirtomuoto ja OpenAI-yhteensopiva polku. Saatavilla oleviin malleihin kuuluvat claude-opus-4-8, claude-opus-5, gpt-5.6-sol ja muita. Lunasta 100 $ →
⚠️ Kumppanilinkki — OmniRoutella ei ole sponsorointi- tai kumppanuussuhdetta tähän palveluntarjoajaan. |
Tiedätkö toisen palveluntarjoajan, jolla on avokätinen ilmainen rekisteröitymiskuponki, joka hyödyttää OmniRouten käyttäjiä? Avaa issue, niin lisäämme sen tänne.
🎯 Yhdistelmät — lippulaivaominaisuus
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:
| Mallitunnus | Mitä 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.
🧱 Vikasietoisuus on sisäänrakennettu (3 itsenäistä kerrosta)
📖 Automaattisen yhdistelmän moottori · Resilienssiopas
🏆 Mikä erottaa OmniRouten muista
📊 Täydellinen menetelmäkuvaus ja ominaisuuskohtaiset tiedot verrattuna 9routeriin, OpenRouteriin, CLIProxyAPIin ja LiteLLM:ään → 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ähti | Ilmaista — auttaa aidosti näkyvyydessä | Anna OmniRoutelle tähti |
| 🐙 GitHub Sponsors | Kertaluonteinen tai kuukausittainen · ei alustamaksua | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | Nopea kertalahjoitus, lahjoittajan ei tarvitse rekisteröityä | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | Pieni, epämuodollinen ele | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | Toistuva · voittoa tavoittelematon · avoin lähdekoodi | liberapay.com/diegosouzapw |
| 🇧🇷 PIX (Brasilia) | Välitön, ei maksuja | avain & QR-koodi alla |
| ₿ Kryptovaluutta | BTC · ETH · USDT-TRC20 · USDC-Solana | osoitteet alla |
🇧🇷 PIX — välitön, ei maksuja (Brasilia)
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)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
⚠️ 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.
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
Maksuttoman tason tärkein arvio on edelleen ~1.47B tokenia/kuukausi yllä dokumentoidusta, resurssipoolien osalta deduplikoidusta luettelosta. Palveluntarjoajien väliaikaiset rekisteröitymishyvitykset voivat lisäksi nostaa ensimmäisen kuukauden määrän tasolle ~2.07B. Radar on valinnainen, allekirjoitettu luettelokerros käyttäjille, jotka haluavat ajantasaisempia tietoja maksuttomien mallien saatavuudesta OmniRoute-julkaisujen välillä. Yhteisöluettelo ja kaikki nykyiset maksuttomat ominaisuudet säilyvät maksuttomina.
Tukijat voivat saada reaaliaikaisen luettelon ja pääsyn palveluntarjoajien lisämahdollisuuksiin. Sen erillinen, muuttuva enimmäismäärä on enintään noin 3B tokenia/kuukausi palveluntarjoajien saatavuuden mukaan. Tämä enimmäismäärä ei ole takuu: 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, liikennettä, palveluntarjoajien määrityksiä, käyttötelemetriaa eikä paikallista ilmoitusten ohitustilaa. Lisätietoja kelpoisuudesta ja nykyisestä luettelosta on osoitteessa radar.omniroute.online/planos.
✨ Mitä uutta
Viimeisimmät kohokohdat versioista v3.8.20 → v3.8.50. Täydellinen muutoshistoria on tiedostossa
CHANGELOG.md.
- 🎛️ OmniConductor — saapuvien A2A-pyyntöjen delegointi agenttijoukollesi, Conductor-taidot Agent Cardissa sekä hallintapaneeli, jossa on Faron paina-ja-puhu-äänikeskustelu. → A2A-palvelin
- 🛂 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
- 🗂️ Kanoninen
/v1/models-järjestys — yksi yhtenäinen palveluntarjoajittain ryhmitelty lohko kullekin palveluntarjoajalle (yhdistelmät ensin), joka pysyy vakaana kaikissa katalogilähteissä. → API-viite - 🗜️ 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
- 💸 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
- ⚖️ 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
- 🤖 CLI:n/agentin määritys yhdellä komennolla — 13 rekisteröityä
setup-*-komentoa;omniroute runkäynnistää 7 CLI:tä (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configuretukee 10 kohdetta sekä vuorovaikutteista palveluntarjoajan ja mallin valitsinta ja kontekstikohtaisia suosikkeja. → CLI-integraatiot - 🛰️ Etätila — ohjaa OmniRoute-etäinstanssia rajatuilla tunnuksilla (
connect/contexts/tokens) sekä VPS-asennuksiin tarkoitetullaantigravity-OAuth-apuohjelmalla. → Etätila - 🧭 Älykkäämpi automaattinen reititys —
auto/<category>:<tier>-yhdistelmät, Fusion (mallipaneeli + arvioija), tehtävätietoinen reititys sekä pyyntökohtaiset mallin, tilan ja USD-budjetin ohitukset. → Auto-Combo - 🗜️ 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
- 🕵️ 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
- 💸 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 - 🧠 Hallinnassasi oleva muisti — oletusarvoisesti poissa käytöstä, valinnainen int8-vektorikvantisointi ja tyypitetty vanheneminen sekä pyyntökohtainen
x-omniroute-no-memory. → Muisti - 🛡️ 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
- 🖼️ Uudet päätepisteet —
/v1/ocr(Mistral OCR) ja/v1/audio/translations(Whisper-tyylinen) täydentävät mediatoiminnot. → API-viite - 🎨 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
- 🌍 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ö - 🤝 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
- 📡 Reitityksen läpinäkyvyys — jokaisessa vastauksessa on
X-OmniRoute-Decision-otsake, joka nimeää käytetyn strategian, palveluntarjoajan ja viiveen; uusicache-optimized-yhdistelmästrategia ja Auto-ComboncacheAffinity-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 - ⚡ 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
- 🧩 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
🤖 Yhteensopivat CLI-työkalut ja koodausagentit
Yksi määritys —
http://localhost:20128/v1— ja jokainen AI-IDE tai CLI toimii ilmaisilla ja edullisilla malleilla.
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 Työkalukohtaiset määritykset kaikille 36 työkalulle (26 CLI Code -työkalua + 10 CLI Agent -työkalua) → docs/reference/CLI-TOOLS.md · 🧩 OpenCode-lisäosa → @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 tilapäisen eristetyn kotihakemiston:
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 <host>), --dry-run
esikatselee tarkat ympäristömuuttujat ja argumentit suorittamatta komentoa, ja --api-key-env NAME pitää salaisuudet poissa
komentotulkkisi historiasta. → CLI-integraatiot
🌐 352 tekoälypalveluntarjoajaa — 152 merkitty luettelossa maksuttomiksi
352 rekisteröityä palveluntarjoajaa kanonisissa keskustelu-, media-, haku-, paikallis-, pilviagentti- ja järjestelmäkokoelmissa, joista 152 sisältää
hasFree: true-hakumetatiedon. Keskustelumallien rekisteri kattaa 229 palveluntarjoajaa / 2 554 yksilöllistä palveluntarjoaja–malli-paria / 1 283 raakaa mallitunnusta; erillisessä maksuttomien käyttökiintiöiden luettelossa on 443 mallikohtaista riviä, 34 uusiutuvaa resurssipoolia ja 53 uusiutuvan tai ilman avainta käytettävän, pysyvästi maksuttoman käytön tarjoavaa palveluntarjoajaa. Nimittäjät ovat tarkoituksella erilaisia; määritelmät ja resurssipoolien päällekkäisyydet poistavat laskelmat löytyvät palveluntarjoajien viiteoppaasta ja maksuttomien käyttöluokkien dokumentaatiosta.
🏢 Kaikki merkittävät laboratoriot — yhden päätepisteen kautta
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…ja yli 330 muuta — jokainen kuvake haetaan reaaliaikaisesti hallintapaneelin palveluntarjoajaluettelosta. 📖 Palveluntarjoajien viiteopas
🆓 Maksuton pysyvästi — $0, ei maksukorttia
📖 Täydellinen koneluettava luettelo → 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.
| Alusta | Asennus | Kohokohdat |
|---|---|---|
| 📦 npm (globaali) | npm install -g omniroute | Yksi komento, mikä tahansa käyttöjärjestelmä |
| 🐳 Docker | docker run … diegosouzapw/omniroute | Useita arkkitehtuureja: AMD64 + ARM64 |
| 🖥️ Työpöytäsovellus (Electron) | npm run electron:build | Natiivi ikkuna + ilmaisinalue — Windows / macOS / Linux |
| 🎩 Valikkorivi (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | Valvoo palvelinta ja päivittää sen automaattisesti — macOS |
| 💪 ARM | natiivi arm64 | Raspberry Pi, ARM-palvelimet, Apple Silicon |
| 📱 Android (Termux) | pkg install nodejs && npx -y omniroute | Toimii 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-provider | Natiivi OpenCode-integraatio |
| 🤖 VS Code Copilot Chat | asenna OmniCopilot-laajennus | Kaikki OmniRoute-mallit natiivissa Copilot Chatin mallivalitsimessa — vakaa versio ja Insiders |
| 🛠️ Lähdekoodista | npm install && npm run dev | Muokkaa ja osallistu kehitykseen |
📖 Docker-opas · Työpöytäsovellus · Valikkorivisovellus · Termux · PWA · OpenCode
🧩 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-laajennus, määritä se käyttämään
OmniRoute-palvelintasi (oletuksena localhost:20128) ja avaa sitten Copilot Chat → mallivalitsin
→ Hallitse malleja… → OmniRoute.
| Kauppa | Linkki | Yhteensopivuus |
|---|---|---|
| 🧩 VS Code Marketplace | Asenna → | VS Code — vakaa versio ja Insiders |
| 🔓 Open VSX Registry | Asenna → | 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.
📖 VS Code Copilot Chat -opas — käyttöönotto, mitä valitsin näyttää, hallintapaneeli välilehdessä, vianmääritys
🎩 Uutta: OmniRouteTray — yhdyskäytäväsi valikkorivillä
omniroute servetoimii parhaiten, kun se on aina käynnissä. OmniRouteTray 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 huollettavaanpm install -g omniroute-asennusta.
Se on rakennettu Tauri v2:lla (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 tekee | Miten |
|---|---|
| 🟢 Valvoo palvelinta | Kä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 paikallaan | Vaiheistettu asennus, atominen vaihto ja palautus epäonnistumistilanteessa — aina uusin julkaisu käytössä |
| 🚀 Käynnistyy kirjauduttaessa | Valinnainen käynnistys kirjautumisen yhteydessä; vain valikkorivillä, ei Dock-kuvaketta |
| 🩺 Diagnostiikka ja lokit | Diagnostiikka ja pääsy palvelinlokeihin yhdellä napsautuksella |
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ä
📖 Valtuutus · Suojaukset · Vaatimustenmukaisuus
🔌 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)
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.
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
🤝 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.
| Rajapinta | Päätepiste / komento | Käyttötarkoitus |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | Liitä Claude Desktopiin, Cursoriin tai mihin tahansa MCP-asiakasohjelmaan |
| 🌊 MCP (HTTP) | /api/mcp/stream | MCP-etäkäyttö — 110 työkalua, 33 käyttöaluetta (valinnainen valvonta), täydellinen tarkastusloki |
| 📡 MCP (SSE) | /api/mcp/sse | Suoratoistava MCP-siirtotapa |
| 🤝 A2A | /.well-known/agent.json | Agentilta agentille, JSON-RPC 2.0 + SSE, 6 taitoa |
| 🌐 REST API | /v1/* | OpenAI-yhteensopiva — keskustelut, upotukset, kuvat, ääni, OCR |
| 🔔 Webhookit | /api/webhooks | Lähetä pyyntö- ja kiintiötapahtumat Slackiin, Discordiin, Telegramiin tai mihin tahansa URL-osoitteeseen |
| 🛰️ Etäkomentorivityökalu | omniroute connect | Ohjaa etäinstanssia rajatuilla käyttöoikeustunnuksilla |
# 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 · A2A-palvelin · Agenttiprotokollat
🗜️ Säästä 15–95 % tokeneista — automaattisesti
📖 Näin se toimii — putki, arkkitehtuuri ja säästöjen laskenta
Pinottu oletusyhdistelmä suorittaa vaiheet RTK → Caveman. Kun molemmat käsittelevät samaa työkalu-/kontekstihyötykuormaa, säästöt kertautuvat:
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, Caveman (⭐ 90K+), LLMLingua-2 ja 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:
| # | Moottori | Mitä se tekee |
|---|---|---|
| 1 | Session-Dedup | Poistaa eri vuorojen välillä toistuvan sisällön (sisältöosoitteinen, vuorojen välinen) |
| 2 | CCR | Arkistoi suuret lohkot noutomerkintöjen taakse, joista ne haetaan tarvittaessa |
| 3 | Lite | Tyhjätilan ja kuvien URL-osoitteiden karsiminen (kevyt perusratkaisu viiveen kannalta) |
| 4 | RTK | Älykäs työkalutulosten suodatus, kaksoiskappaleiden poisto ja katkaisu (komentotietoinen) |
| 5 | Responses Tool Output | Ensisijaisesti häviötön JSON-pakkaus sekä rajattu diagnostiikan pakkaus shell-/patch-/haku-/koontituloksille (Responses API) |
| 6 | Headroom | JSON-taulukoiden häviötön taulukkomuotoinen tiivistäminen (~30 %) mukana toimitetulla GCF-koodekilla |
| 7 | Relevance | Poimiva lauseiden pisteytys viimeisimmän käyttäjäkyselyn perusteella |
| 8 | Caveman | Sääntöpohjainen proosan pakkaus (~65–75 % tulosteesta) |
| 9 | Aggressive | Vanhojen vuorojen tiivistäminen ja asteittainen vanhentaminen |
| 10 | LLMLingua-2 | Koneoppimiseen perustuva semanttinen karsinta MobileBERT ONNX:n avulla — kooditurvallinen, asynkroninen |
| 11 | Ultra | Heuristinen tokenien karsinta valinnaisella pienen mallin (SLM) tasolla |
| 12 | OmniGlyph | Kokeellinen 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:
| Tila | Sää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 |
| 🧰 RTK | 60–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-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 palautetaanX-OmniRoute-Compression: <mode>; source=<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 · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
⚡ Pika-aloitus
1) Asenna ja suorita
npm install -g omniroute
omniroute
💡 Näetkö
npm warn ERESOLVE-ilmoituksen tai vertaisriippuvuusvaroituksia? Ne ovat harmittomia.
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
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
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:
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
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. 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 |
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.
Dockerin esijulkaisukanava:
diegosouzapw/omniroute:nextjadiegosouzapw/omniroute:next-webseuraavat nykyistä oletusarvoistarelease/v*- haaraa. Nämä muuttuvat tunnisteet on tarkoitettu vain julkaisemattomien korjausten testaamiseen, eikä niitä tueta tuotantokäytössä. Katso Docker-julkaisukanavat.
🥟 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äänrakennettuabun:sqlite-ajuria Bun-ympäristössä ja käyttää varajärjestelmänäbetter-sqlite3:a Node.js-ympäristössä taisql.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 muuttujaaOMNIROUTE_USE_TURBOPACKtäsmälleen samoin kuin Nodessa: oletuksena käytetään Turbopackia ja arvollaOMNIROUTE_USE_TURBOPACK=0koonti tehdään Webpackilla (Dockerfile.buntuo sen saataville--build-arg-argumenttina). - Erillinen Bun-Dockerfile: Monivaiheinen
Dockerfile.bunnatiiveihin Bun-tuotantokäyttöönottoihin (docker build -f Dockerfile.bun -t omniroute:bun .).
# Asenna ja suorita Bunilla
bun install
bun run dev
🛠️ Lähdekoodista
cp .env.example .env && npm install
PORT=20128 npm run dev
📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
🐧 Arch Linux (AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
🔧 Nix (Flake)
# Nix-flakejen käyttö
nix develop
npm run dev
# Tai devboxin käyttö
devbox run npm run dev
📖 Docker-opas — Compose-profiilit, Caddy HTTPS ja Cloudflare-tunnelit.
🦭 Podman
# 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.
📖 Podman-opas — 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):
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. 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
Täydellinen sijoituslista (duplikaatit poistettu kanonisten URL-osoitteiden perusteella, v > 0, suurin tavoittavuus):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | theopenstack — Instagram — 692,419 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 391,109 | buildwithai.club — Instagram — 347,652 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| nivedan.ai — Instagram — 331,973 | vaibhavsisinty — Instagram — 263,744 | Nick Automates — YouTube Shorts — 218,174 | theroshankrishna — Instagram — 186,786 | midudev — TikTok — 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 tai discussion 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 |
| 🐙 GitHub — seuraa julkaisuja ja vinkkejä | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | t.me/omnirouteOficial |
| 🟢 WhatsApp — 🌍 maailmanlaajuinen | liity ryhmään |
| 🟢 WhatsApp — 🇧🇷 Brasilia | liity ryhmään |
| 🌍 Verkkosivusto | omniroute.online |
| 🌍 🌍StHub OmniRoute -yhteisö (maksuton) | StHub-portaali |
| 📦 Lähdekoodi | github.com/diegosouzapw/OmniRoute |
| 🐛 Ilmoita virheestä | avaa ongelmaraportti — liitä mukaan npm run system-info -komennon tuloste |
| 🤝 Osallistu kehitykseen | CONTRIBUTING.md · Haarautumis- ja julkaisumalli · valitse good first issue |
| 💚 Tue projektia | Tukitavat ↑ · GitHub Sponsors |
🛠️ Teknologiapino
| Kerros | Teknologia |
|---|---|
| Suoritusympäristö | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| Kieli | TypeScript 6.0 — 100 % TypeScriptiä hakemistoissa src/ ja open-sse/ (ei yhtään any-tyyppiä ytimessä versiosta v2.0 lähtien) |
| Sovelluskehys | Next.js 16 + React 19 + Tailwind CSS 4 |
| Tietokanta | better-sqlite3 (SQLite, WAL-kirjaus) + LowDB (vanha JSON-toteutus) — 122 toimialamoduulia, 176 migraatiota |
| Muisti | SQLite FTS5 -kokotekstihaku + int8-kvantisoidut vektoriupotukset, tyypitetty vaimeneminen |
| Skeemat | Zod 4 — MCP-työkalujen syötteiden ja tulosteiden validointi + API-sopimukset |
| Protokollat | MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE) |
| Suoratoisto | Server-Sent Events (SSE) + WebSocket-silta (/v1/ws) |
| Pakkaus | 12 moottorin käsittelyputki — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph |
| Todennus ja tietoturva | OAuth 2.0 (PKCE) + JWT + API-avaimet + käyttöalueisiin rajattu MCP-todennus · AES-256-GCM levossa oleville tiedoille · DOMPurify |
| Häivetila | wreq-js — JA3-/JA4-TLS-sormenjälkien jäljittely, 3-tasoinen välityspalvelin |
| Vikasietoisuus | Katkaisija, eksponentiaalinen viive, kuormituspiikkien esto, automaattisesti itsekorjautuvat yhdistelmät |
| Lokitus | pino — jäsennellyt JSON-lokit pyyntökontekstilla |
| Testaus | Node.js-testiajoympäristö + Vitest — yli 39 000 staattista testimääritystä yli 5 100 seuratussa testitiedostossa (yksikkö-, integraatio-, E2E-, tietoturva- ja ekosysteemitestit) |
| Alustat | Työpöytä (Electron) · Android (Termux) · PWA (mikä tahansa selain) |
| CI/CD | GitHub Actions — automaattinen julkaisu npm:ään ja Docker Hubiin julkaisun yhteydessä |
| Linkit | Verkkosivusto · npm · Docker Hub |
📖 Dokumentaatio
📘 Aloittaminen
| Dokumentti | Kuvaus |
|---|---|
| Käyttöopas | Palveluntarjoajat, yhdistelmät, CLI-integraatio ja käyttöönotto |
| Asennusopas | Kaikki asennustavat, CLI-työkalujen määritykset, protokollien käyttöönotto ja aikakatkaisujen hienosäätö |
| CLI-työkalujen opas | Työkalukohtaiset määritykset: Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo ja Copilot |
| Etätila | Ohjaa etäpalvelimella (VPS) toimivaa OmniRoutea kannettavan tietokoneesi CLI:stä rajattujen käyttöoikeustunnusten avulla |
| Claude Code -määritykset | Yhdistä Claude Code OmniRouteen (paikallinen/etäyhteys) käyttämällä launch-komentoa ja mallikohtaisia profiileja |
| Pika-aloitus | Kolme vaihetta: asenna → yhdistä → määritä |
🔧 Operointi ja käyttöönotto
| Dokumentti | Kuvaus |
|---|---|
| Docker-opas | Docker run, Compose-profiilit, Caddy HTTPS, tunnelit ja näköistiedostotunnisteet |
| Podman-opas | Quadlet systemd -integraatio, podman-compose ja SELinux |
| Virtuaalikonekäyttöönotto | Kattava opas: virtuaalikoneen, nginxin ja Cloudflaren määritys |
| Fly.io-käyttöönotto | Käyttöönotto Fly.io:ssa pysyvän tallennustilan kanssa |
| Termux-opas | Suorita OmniRoute Androidissa Termuxin kautta |
| PWA-opas | Progressiivisen verkkosovelluksen asennus, välimuisti ja arkkitehtuuri |
| Poisto-opas | Siisti poistaminen kaikilla asennustavoilla |
| Ympäristömääritykset | Kaikki .env-muuttujat ja viitetiedot |
🧠 Ominaisuudet ja arkkitehtuuri
| Dokumentti | Kuvaus |
|---|---|
| Arkkitehtuuri | Järjestelmäarkkitehtuuri, tietovirta ja sisäinen toiminta |
| Pakkausopas | Seitsemän vaihtoehdon käsittelyketju: pois käytöstä / kevyt / vakio / aggressiivinen / erittäin tehokas / RTK / pinottu |
| RTK-pakkaus | Komentotulosteiden pakkaus, suodattimet, luottamus, varmennus ja raakamuotoisen tulosteen palautus |
| Pakkausmoottorit | Caveman, RTK, pinotut käsittelyketjut sekä koontinäyttö-, API- ja MCP-rajapinnat |
| Pakkaussääntöjen muoto | Caveman- ja RTK-suodattimien JSON-sääntöpakettien skeemat |
| Pakkauksen kielipaketit | Kielen tunnistus ja Caveman-sääntöpakettien laatiminen |
| Vikasietoisuusopas | Katkaisijat, jäähdytysajat, jono, samanaikaisten pyyntöryöppyjen esto ja TLS-väärentäminen |
| Auto-Combo-moottori | 16 tekijän pisteytys, tilapaketit ja itsekorjautuvuus |
| Välityspalvelinopas | Kolmitasoinen välityspalvelinjärjestelmä, 1proxy-markkinapaikka ja rekisterin CRUD-toiminnot |
| Ilmaistasot | Koottu hakemisto: 34 dokumentoitua toistuvaa resurssivarantoa / 452 luetteloitua ilmaistason kohdetta |
| Ominaisuusgalleria | Visuaalinen koontinäyttökierros kuvakaappauksineen |
| Koodikannan dokumentaatio | Aloittelijaystävällinen koodikannan esittely |
🤖 Protokollat ja API-rajapinnat
| Dokumentti | Kuvaus |
|---|---|
| API-viite | Kaikki päätepisteet esimerkkeineen |
| OpenAPI-määritys | OpenAPI 3.0 -määritys |
| MCP-palvelin | 110 MCP-työkalua, IDE-määritykset sekä Python-, TS- ja Go-asiakasohjelmat |
| MCP-palvelinopas | MCP:n asennus, siirtotavat ja työkaluviite |
| A2A-palvelin | JSON-RPC 2.0 -protokolla, taidot, suoratoisto ja tehtävien hallinta |
| A2A-palvelinopas | A2A-agenttikortti, tehtävät, taidot ja suoratoisto |
📋 Projekti ja laatu
| Asiakirja | Kuvaus |
|---|---|
| Osallistuminen | Kehitysympäristön määritys ja ohjeet |
| Haarautumis- ja julkaisumalli | Mihin PR:t kohdistetaan (release/*) sekä mitä main ja tunnisteet tarkoittavat |
| Muutosloki | Täydellinen versiokohtainen julkaisuhistoria |
| Tietoturvakäytäntö | Haavoittuvuuksien ilmoittaminen ja tietoturvakäytännöt |
| i18n-opas | 42 kielen tuki, käännöstyönkulku ja RTL |
| Julkaisun tarkistuslista | Julkaisua edeltävät validointivaiheet |
| Kattavuussuunnitelma | Testikattavuusstrategia yli 39 000 staattiselle testi-ilmoitukselle 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.
Ulkoiset osallistujat yhdistettyjen pull requestien määrän mukaan
| Sija | Osallistuja | Yhdistetyt PR:t | ~Muuttuneet rivit |
|---|---|---|---|
| 1 | backryun | 190 | 227,977 |
| 2 | oyi77 | 180 | 407,678 |
| 3 | rdself | 145 | 80,663 |
| 4 | JxnLexn | 128 | 387,049 |
| 5 | KooshaPari | 101 | 125,747 |
| 6 | herjarsa | 88 | 230,872 |
| 7 | RaviTharuma | 79 | 55,106 |
| 8 | maxmad64bis | 69 | 394,715 |
| 9 | artickc | 59 | 33,260 |
| 10 | HouMinXi | 51 | 47,334 |
| 10 | chirag127 | 51 | 5,153 |
| 12 | xz-dev | 50 | 245,976 |
| 13 | hartmark | 47 | 52,185 |
| 14 | rqzbeh | 39 | 143,181 |
| 15 | dhaern | 34 | 19,559 |
| 16 | Dingding-leo | 33 | 1,986 |
| 17 | NomenAK | 32 | 13,854 |
| 18 | MumuTW | 30 | 16,953 |
| 19 | benzntech | 29 | 11,641 |
| 20 | pacocartones | 24 | 9,331 |
| 20 | Prudhvivuda | 24 | 6,312 |
Jäädytetty aktiivisen release/v3.8.50-haaran kärkeen dafb4ae808, sisältäen yhdistämiset ajankohtaan 2026-08-24 05:26:03 UTC asti. Sivutettu GitHub GraphQL -kartoitus sisältää 5 911 yhdistettyä PR:ää: 2 707 tietovaraston omistajalta, 179 Dependabotilta ja 3 025 ulkoista PR:ää 535 eri osallistujalta. ”Muuttuneet 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 itse kirjoitettujen koodirivien määrää. Katkaisukohdan tasatulokset on säilytetty.
GitHubin tekijöille kohdistamat commitit
|
backryun 🥇 220 GitHubiin liitettyä committia |
Paijo 🥈 219 GitHubiin liitettyä committia |
Randi 🥉 108 GitHubiin liitettyä committia |
Ravi Tharuma 🏅 81 GitHubiin liitettyä committia |
Chris 🏅 70 GitHubiin liitettyä committia |
Markus Hartung 🏅 69 GitHubiin liitettyä committia · jaettu 6. sija |
|
Dizzle 🏅 69 GitHubiin liitettyä committia · jaettu 6. sija |
Jan Leon 🏅 64 GitHubiin liitettyä committia |
zenobit 🏅 62 GitHubiin liitettyä committia |
Bob.Hou 🏅 51 GitHubiin liitettyä committia · jaettu 10. sija |
Xiangzhe 🏅 51 GitHubiin liitettyä committia · jaettu 10. sija |
Tarkistettu uudelleen 2026-08-24 06:14:31 UTC: repositorion Contributors API:n ilmoittamat GitHubiin liitetyt commitit 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. Tämä 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ä. Avoin lähdekoodi rakentuu heidän kaltaistensa ihmisten työn varaan.
💖 Sponsorit
Sydämellinen kiitos ihmisille, jotka rahoittavat OmniRoutea omasta pussistaan — jokainen lahjoitus auttaa pitämään projektin maksuttomana, riippumattomana ja jatkuvasti kehittyvänä.
![]() Andrew 💛 Aktiivinen kuukausisponsori |
![]() Vlad I 💛 Aktiivinen kuukausisponsori |
![]() Paco Cartones 💛 Aktiivinen kertaluonteinen sponsori |
![]() Prof. Igor Morais 💛 Aiempi kertaluonteinen tukija |
![]() 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
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
- Forkkaa repositorio
- Luo haara aktiivisen
release/vX.Y.Z-haaran viimeisimmästä commitista (eimain-haarasta) — katso Haarautumis- ja julkaisumalli - Luo ominaisuushaarasi (
git checkout -b feat/amazing-feature) - Commitoi muutoksesi (
git commit -m 'feat: add amazing feature') - Pushaa haaraan (
git push origin feat/amazing-feature) - Avaa Pull Request, jonka base = kyseinen
release/vX.Y.Z-haara
Katso yksityiskohtaiset ohjeet tiedostosta CONTRIBUTING.md.
Uuden version julkaiseminen
# Luo julkaisu — npm publish suoritetaan automaattisesti
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
📊 Tähdet
🙏 Kiitokset
OmniRoute seisoo jättiläisten harteilla. Se sai alkunsa 9router-projektin haarana ja Go-projektin 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 |
|---|---|---|
| 9router | 26,161 | Alkuperäinen projekti, johon tämä fork perustuu — sitä on laajennettu tässä multimodaalisilla API-rajapinnoilla ja täydellisellä TypeScript-uudelleenkirjoituksella. |
| CLIProxyAPI | 48,497 | Go-toteutus, joka inspiroi tätä JavaScript- ja TypeScript-porttausta. |
| LiteLLM | 57,100 | Tekoäly-yhdyskäytävä, jonka julkinen hinnoitteluaineisto syöttää kustannusseurannan synkronointiamme ja jonka palveluntarjoajien normalisointimalli vaikutti reititykseemme. |
| codex-chatgpt-web | 1,410 | MIT-lisensoitu lähdekoodi, joka mukautettiin mukana toimitettavaan ChatGPT Web → Codex Responses -siltaan, mukaan lukien selainistunto-, vastauskehystys-, käyttö- ja verkkohakusovittimet. |
| free-claude-code | 48,112 | Malleja, jotka portattiin suoratoiston palautukseen, ajatteluttomiin aliaksiin, varaverkkohakuun, liukuvan ikkunan rajoihin, lokien peittämiseen ja vahvistettuihin käynnistysprosesseihin. |
| composer-api | 322 | Cursor Composerin työkalun valinta-, tulosrajoite- ja työkalun vahvistusmallit, jotka mukautettiin natiiviin Cursor-suorittimeen. |
| codex-multi-auth | 457 | Uuden kirjautumisen ja päivitystunnusten kierrätyksen mallit, jotka portattiin Codex OAuth -uudelleentodennukseen. |
| opencode-anthropic-auth | 510 | Claude Code -yhteensopivan muunnoksen oletusarvot ja laskutusotsakkeiden toiminta yleistettiin OmniRouten konfiguraatio-ohjattuun siltaan. |
| grok2api-merged | 2 | Sen Grok-mallikartoitukset, vale-TypeError Statsig -generaattori, pyyntöjen ja laitteiden oletusarvot sekä NDJSON-vastausprosessori mukautettiin olennaisin osin OmniRouten Grok Web -suorittimeen. |
| TQZHR/grok2api | 705 | grok2api-mergedin tärkein transitiivinen koodilähde; sen malli-, otsake-, hyötykuorma-, Statsig- ja prosessoritoteutukset on säilytetty Grok Webin kehityslinjassa. |
| chenyme/grok2api | 7,520 | Taustalla 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-pro | 27 | Transitiivinen 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. |
| GrokProxy | 50 | Sen evästetodennettu Grok-välityspalvelin ja result.response.token-suoratoistomalli vaikuttivat OmniRouten Grok Web -siirtokerrokseen. |
| GrokBridge | 5 | Alkuperä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-api | 14 | Sen Rust-kieliset ChatOptions- ja vastauskuoriskeemat vaikuttivat OmniRouten TypeScript-pohjaisiin Grok-pyyntö- ja suoratoistovastaustyyppeihin. |
🗜️ Kontekstin ja tunnisteiden pakkaus — moottorit
| Projekti | ⭐ | Miten se inspiroi OmniRoutea |
|---|---|---|
| Caveman | 100,538 | Viraaliksi 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 Killer | 77,185 | Tehokas komentotulosteiden pakkaus — inspiroi RTK-moottoriamme, JSON-suodattimien DSL:ää, raakamuotoisen tulosteen palautusta sekä pinottua RTK → Caveman -käsittelyketjua. |
| headroom | 67,310 | Palautettava kontekstin pakkaus (SmartCrusher) — inspiroi headroom-moottoriamme ja ccr-hakumerkintämallia. |
| LLMLingua | 6,598 | Kehotteiden pakkaustutkimus (LLMLingua / LLMLingua-2) — inspiroi asynkronista, kooditurvallista ja virhetilanteissa alkuperäisen sisällön säilyttävää llmlingua-moottoriamme. |
| llmlingua-2-js | 31 | JS/ONNX-porttaus (MobileBERT / XLM-RoBERTa), jota käytetään LLMLingua-moottorimme työsäietaustajärjestelmänä. |
| Troglodita | 40 | Brasilianportugalin token-pakkaus — toimii pt-BR-kielipakettimme perustana: pleonasmien vähentäminen ja täytesanojen poisto on mukautettu brasilianportugalin kielioppiin. |
| ponytail | 108,957 | Viraaliksi 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-adhd | 23,526 | Sen 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 |
|---|---|---|
| TOON | 25,233 | Token-keskeinen objektinotaatio — sen sarakkeisiin sekä otsikko ja rivit -malliin perustuva rakenne muovasi taulukkomuotoista tiivistysvaihettamme. |
| GCF – Graph Compact Format | 41 | Sen kompakti graafimuoto ja yleisprofiilin rakenne vaikuttivat OmniRouten taulukkomuotoiseen tiivistykseen ja Headroom-koodekkimuotoon. |
| gcf-typescript | 4 | MIT-lisensoitu TypeScript-toteutus, joka sisällytettiin suoraan lähdekoodiin ja jota laajennettiin Headroomin yleisprofiilikoodekiksi. |
| token-optimizer-mcp | 494 | Brotli/SQLite-välimuisti ja istuntokohtainen kontekstiero — inspiroi session-dedup-moottoriamme. |
| token-savior | 1,122 | Bash-tulosteen tiivistys ja MCP-profiilit — inspiroivat pakkaamisen keskeyttämisperiaatettamme ja MCP-työkaluluetteloiden supistamista. |
| token-saver | 138 | Sisä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-optimizer | 1,951 | ”Etsi haamutokenit” — sen ulkoistus- ja palautettavan tunnisteen malli vaikutti CCR-ulkoistuksen suunnitteluumme. |
| TokenMizer | 28 | Istuntograafiin ja vuorojen väliseen rivien kaksoiskappaleiden poistoon perustuva suunnitelma, joka vaikutti session-dedup-ratkaisuumme. |
| OmniCompress | 3 | Rust-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-compressor | 113 | MCP-työkaluskeemojen ja -kuvausten pakkaus — vaikutti MCP-työkaluluetteloidemme kardinaliteetin vähentämiseen. |
| RepoMapper | 197 | Aider-tyylinen repositoriokartan järjestäminen — vaikutti repositoriokarttojen ja hakutulosten järjestämisen tutkimukseemme. |
| quiet-shell-mcp | 4 | Deklaratiivinen komentotulosteen supistaminen MCP:n kautta — vahvisti deklaratiivisen Bash-tulosteiden tiivistyksemme toimivuuden. |
| ts-morph | 6,162 | TypeScript 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 |
|---|---|---|
| Mem0 | 63,902 | Yleiskäyttöinen muistikerros — sen malli, jossa välityspalvelin toimii kirjoitus- ja lukurajana, muovasi muistiarkkitehtuuriamme. |
| Letta (MemGPT) | 24,382 | Tilalliset agentit ja kerrostettu muisti — innoittivat kerrostettua Context Control & Recovery (CCR) -malliamme. |
| WFGY | 1,781 | ProblemMap-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-interceptor | 66 | Koodausavustajan ↔ 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. |
| ProxyBridge | 5,995 | Lä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.dev | 6,555 | Avoin tietokanta tekoälymallien teknisistä tiedoista, hinnoittelusta ja ominaisuuksista — synkronoidaan natiivisti malliluetteloomme. |
| React Flow / xyflow | 38,108 | Solmupohjainen graafikirjasto, joka toimii reaaliaikaisten Compression Studion ja Combo/Routing Studion perustana. |
| LangGraph | 40,314 | LangGraph Studion reaaliaikainen työnkulkukaavion visualisointi inspiroi Studioidemme reaaliaikaista kaskadinäkymää. |
| Langfuse | 33,592 | Sen jäljitys → osuus → generointi -havainnoitavuusmalli muovasi Compression Studiomme vesiputousnäkymää. |
| Kiali | 3,631 | Istio-palveluverkon havainnoitavuus — inspiroi Routing/Combo Studion katkaisijamerkkejä ja virhereunojen visualisointeja. |
| lobe-icons | 2,428 | Tekoäly-/LLM-brändien logot, joilla palveluntarjoajien kuvakkeet esitetään hallintapaneelissamme. |
| flag-icons | 12,354 | Tarjoaa README-tiedoston kielivalitsimessa käytettävät MIT-lisensoidut SVG-liput. |
🛡️ Tietoturva
| Projekti | ⭐ | Miten se inspiroi OmniRoutea |
|---|---|---|
| awesome-secure-defaults | 721 | Kuratoitu 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 |
|---|---|---|
| ClawRouter | 6,564 | Inspiroi pyyntöjen duplikaattien poistamista, maksutonta hätävaravaihtoehtoa, liitännäisiä Auto-Combo-strategioita ja monikielistä aikomusten luokittelua. |
| Antigravity-Manager | 30,652 | Sen tilit huomioiva mallien uudelleenkartoitus, suoritettavien tiedostojen polkujen validointi ja tilaustunnisteiden toiminta vaikuttivat OmniRouten Antigravity-ajoaikaympäristöön. |
| vscode-antigravity-cockpit | 4,817 | Sen kompakti kiintiön nollautumisen lähtölaskentamuoto inspiroi vastaavaa palveluntarjoajan rajoituksen näyttöä OmniRoutessa. |
| AionUi | 32,230 | Sen ACP-integraatiot inspiroivat OmniRouten asentamien CLI-agenttien automaattista tunnistusta. |
| CodexBar | 20,507 | Tunnisti 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.
⬆ Takaisin alkuun · Rakennettu ❤️:llä avoimen lähdekoodin tekoäly-yhteisölle.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT-lisenssi · omniroute.online





