OmniRoute Dashboard # 🚀 OmniRoute — ilmainen tekoĂ€lyyhdyskĂ€ytĂ€vĂ€ ### ÄlĂ€ koskaan lopeta koodaamista. ÄlykĂ€s reititys **ILMAisiin ja edullisiin tekoĂ€lymalleihin** automaattisella varalla. _Universaali API-vĂ€lityspalvelin – yksi pÀÀtepiste, yli 36 palveluntarjoajaa, nolla seisokkia._ **Pikaviestien loppuun saattaminen ‱ upotukset ‱ kuvien luominen ‱ ÀÀni ‱ uudelleensijoitus ‱ 100 % TypeScript** --- ### đŸ€– Ilmainen AI Provider suosikkikoodaajillesi _YhdistĂ€ mikĂ€ tahansa tekoĂ€lyllĂ€ toimiva IDE- tai CLI-työkalu OmniRouten kautta – ilmainen API-yhdyskĂ€ytĂ€vĂ€ rajoittamattomaan koodaukseen._
OpenClaw
OpenClaw

⭐ 205K
NanoBot
NanoBot

⭐ 20.9K
PicoClaw
PicoClaw

⭐ 14.6K
ZeroClaw
ZeroClaw

⭐ 9.9K
IronClaw
IronClaw

⭐ 2.1K
OpenCode
OpenCode

⭐ 106K
Codex CLI
Codex CLI

⭐ 60.8K
Claude Code
Claude Code

⭐ 67.3K
Gemini CLI
Gemini CLI

⭐ 94.7K
Kilo Code
Kilo Code

⭐ 15.5K
📡 Kaikki agentit muodostavat yhteyden kautta http://localhost:20128/v1 tai http://cloud.omniroute_EN_2NI4/v_1_TO_OM. konfiguraatio, rajattomat mallit ja kiintiö --- [![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) [![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute) [![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE) [![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online) [![WhatsApp](https://img.shields.io/badge/WhatsApp-Community-25D366?logo=whatsapp&logoColor=white)](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) [🌐 Website](https://omniroute.online) ‱ [🚀 Quick Start](#-quick-start) ‱ [💡 Features](#-key-features) ‱ [📖 Docs](#-documentation) ‱ [💰 Pricing](#-pricing-at-a-glance) ‱ [💬 WhatsApp](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) 🌐 **Available in:** đŸ‡ș🇾 [English](README.md) | đŸ‡§đŸ‡· [PortuguĂȘs (Brasil)](README.pt-BR.md) | đŸ‡Ș🇾 [Español](README.es.md) | đŸ‡«đŸ‡· [Français](README.fr.md) | 🇼đŸ‡č [Italiano](README.it.md) | đŸ‡·đŸ‡ș [РуссĐșĐžĐč](README.ru.md) | 🇹🇳 [äž­æ–‡ (çź€äœ“)](README.zh-CN.md) | đŸ‡©đŸ‡Ș [Deutsch](README.de.md) | 🇼🇳 [à€čà€żà€šà„à€Šà„€](README.in.md) | đŸ‡č🇭 [àč„àž—àžą](README.th.md) | đŸ‡ș🇩 [ĐŁĐșŃ€Đ°Ń—ĐœŃŃŒĐșа](README.uk-UA.md) | 🇾🇩 [Ű§Ù„ŰčŰ±ŰšÙŠŰ©](README.ar.md) | đŸ‡ŻđŸ‡” [æ—„æœŹèȘž](README.ja.md) | đŸ‡»đŸ‡ł [Tiáșżng Việt](README.vi.md) | 🇧🇬 [БългарсĐșĐž](README.bg.md) | đŸ‡©đŸ‡° [Dansk](README.da.md) | đŸ‡«đŸ‡ź [Suomi](README.fi.md) | đŸ‡źđŸ‡± [ŚąŚ‘ŚšŚ™ŚȘ](README.he.md) | 🇭đŸ‡ș [Magyar](README.hu.md) | đŸ‡źđŸ‡© [Bahasa Indonesia](README.id.md) | đŸ‡°đŸ‡· [한ꔭ얎](README.ko.md) | đŸ‡ČđŸ‡Ÿ [Bahasa Melayu](README.ms.md) | đŸ‡łđŸ‡± [Nederlands](README.nl.md) | 🇳🇮 [Norsk](README.no.md) | đŸ‡”đŸ‡č [PortuguĂȘs (Portugal)](README.pt.md) | đŸ‡·đŸ‡Ž [RomĂąnă](README.ro.md) | đŸ‡”đŸ‡± [Polski](README.pl.md) | 🇾🇰 [Slovenčina](README.sk.md) | 🇾đŸ‡Ș [Svenska](README.sv.md) | đŸ‡”đŸ‡­ [Filipino](README.phi.md)
--- ## đŸ–Œïž
OmniRoute
--- ## 📾
... | # | # | | ----- | ---------------------------------------- | | **1** | ![1](docs/screenshots/01-providers.png) | | **2** | ![2](docs/screenshots/02-combos.png) | | **3** | ![3](docs/screenshots/03-analytics.png) | | **4** | ![4](docs/screenshots/04-health.png) | | **5** | ![5](docs/screenshots/05-translator.png) | | **6** | ![6](docs/screenshots/06-settings.png) | | **7** | ![7](docs/screenshots/07-cli-tools.png) | | **8** | ![8](docs/screenshots/08-usage.png) | | **9** | ![9](docs/screenshots/09-endpoint.png) |
--- ## đŸ€” Miksi OmniRoute? **Lopeta rahan tuhlaaminen ja rajojen ylittĂ€minen:** - Tilauskiintiö vanhenee kĂ€yttĂ€mĂ€ttĂ€ joka kuukausi - Korjausrajoitukset estĂ€vĂ€t sinua kesken koodaamisen - kalliita sovellusliittymiĂ€ (20-50 $/kk per tarjoaja) - Manuaalinen vaihtaminen palveluntarjoajien vĂ€lillĂ€ **OmniRoute ratkaisee tĂ€mĂ€n:** - ✅ **Maksimoi tilaukset** - Seuraa kiintiötĂ€, kĂ€ytĂ€ jokainen bitti ennen nollausta - ✅ **Automaattinen palautus** - Tilaus → API-avain → Halpa → Ilmainen, nolla seisonta-aikaa - ✅ **Moni tili** - PyöreĂ€ haku tilien vĂ€lillĂ€ per palveluntarjoaja - ✅ **Universaali** - Toimii Claude Coden, Codexin, Gemini CLI:n, Cursorin, Clinen, OpenClawin ja minkĂ€ tahansa CLI-työkalun kanssa --- ## 📧 Tuki > 💬 **Liity yhteisöömme!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — Hanki apua, jaa vinkkejĂ€ ja pysy ajan tasalla. - **Verkkosivusto**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Ongelmia**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **AlkuperĂ€inen projekti**: [9router by decolua](https://github.com/decolua/9router) --- ## 🔄 NĂ€in se toimii ``` ┌─────────────┐ │ Your CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) │ Tool │ └──────┬──────┘ │ http://localhost:20128/v1 ↓ ┌─────────────────────────────────────────┐ │ OmniRoute (Smart Router) │ │ ‱ Format translation (OpenAI ↔ Claude) │ │ ‱ Quota tracking + Embeddings + Images │ │ ‱ Auto token refresh │ └──────┬──────────────────────────────────┘ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) Result: Never stop coding, minimal cost ``` --- ## 🎯 MitĂ€ OmniRoute ratkaisee – 30 todellista kipukohtaa ja kĂ€yttötapausta > **Jokainen tekoĂ€lytyökaluja kĂ€yttĂ€vĂ€ kehittĂ€jĂ€ kohtaa nĂ€mĂ€ ongelmat pĂ€ivittĂ€in.** OmniRoute luotiin ratkaisemaan ne kaikki – kustannusten ylityksistĂ€ alueellisiin lohkoihin, rikkinĂ€isistĂ€ OAuth-virroista protokollatoimintoihin ja yrityksen havainnointikykyyn.
💾 1. "Maksan kalliista tilauksesta, mutta silti rajoitukset hĂ€iritsevĂ€t minua" KehittĂ€jĂ€t maksavat 20–200 dollaria kuukaudessa Claude Prosta, Codex Prosta tai GitHub Copilotista. Maksamallakin kiintiöllĂ€ on katto – 5 tuntia kĂ€yttöÀ, viikkorajat tai minuuttirajoitukset. Koodausistunnon puolivĂ€lissĂ€ palveluntarjoaja lakkaa vastaamasta ja kehittĂ€jĂ€ menettÀÀ virtauksen ja tuottavuuden. **Kuinka OmniRoute ratkaisee sen:** - **Smart 4-Tier Fallback** — Jos tilauskiintiö loppuu, ohjataan automaattisesti kohtaan API-avain → Halpa → Ilmainen ilman manuaalista toimenpiteitĂ€ - **Reaaliaikainen kiintiöseuranta** - NĂ€yttÀÀ tunnuksen kulutuksen reaaliajassa ja nollaa lĂ€htölaskenta (5 tuntia, pĂ€ivittĂ€in, viikoittain) - **Useiden tilien tuki** — Useita tilejĂ€ palveluntarjoajaa kohden automaattisella kierrĂ€tyksellĂ€ — kun yksi loppuu, vaihtuu seuraavaan - **Muokatut yhdistelmĂ€t** — Muokattavat varaketjut, joissa on 6 tasapainotusstrategiaa (tĂ€ytĂ€ ensin, round-robin, P2C, satunnainen, vĂ€hiten kĂ€ytetty, kustannusoptimoitu) - **Codex Business Quotat** — Yritysten/Tiimien työtilan kiintiöiden valvonta suoraan kojelaudassa
🔌 2. "Minun tĂ€ytyy kĂ€yttÀÀ useita palveluntarjoajia, mutta jokaisella on erilainen API" OpenAI kĂ€yttÀÀ yhtĂ€ muotoa, Claude (Anthropic) kĂ€yttÀÀ toista, Gemini vielĂ€ toista. Jos kehittĂ€jĂ€ haluaa testata eri palveluntarjoajien malleja tai vaihtoehtoja niiden vĂ€lillĂ€, hĂ€nen on mÀÀritettĂ€vĂ€ SDK:t uudelleen, muutettava pÀÀtepisteitĂ€ ja kĂ€siteltĂ€vĂ€ yhteensopimattomia muotoja. Mukautetuilla palveluntarjoajilla (FriendLI, NIM) on mallista poikkeavat pÀÀtepisteet. **Kuinka OmniRoute ratkaisee sen:** - **Yhdistetty pÀÀtepiste** — Yksi `http://localhost:20128/v1` toimii vĂ€lityspalvelimena kaikille yli 36 palveluntarjoajalle - **Format Translation** - Automaattinen ja lĂ€pinĂ€kyvĂ€: OpenAI ↔ Claude ↔ Gemini ↔ Responses API - **Response Sanitization** – Poistaa standardista poikkeavat kentĂ€t (`x_groq`, `usage_breakdown`, `service_tier`), jotka rikkovat OpenAI SDK v1.83+:n - **Roolin normalisointi** — Muuntaa `developer` → `system` muille kuin OpenAI-palveluntarjoajille; `system` → `user` GLM/ERNIE:lle - **Think Tag Extraction** - Purkaa ``-lohkot malleista, kuten DeepSeek R1, standardoituun `reasoning_content`:hen - **Strukturoitu lĂ€htö Geminille** — `json_schema` → `responseMimeType`/`responseSchema` automaattinen muunnos - **`stream`:n oletusarvo on `false`** — yhdenmukaistuu OpenAI-spesifikaation kanssa vĂ€lttĂ€en odottamattoman SSE:n Python/Rust/Go SDK:issa
🌐 3. "TekoĂ€lypalveluntarjoajani estÀÀ alueeni/maani" Palveluntarjoajat, kuten OpenAI/Codex, estĂ€vĂ€t pÀÀsyn tietyiltĂ€ maantieteellisiltĂ€ alueilta. KĂ€yttĂ€jĂ€t saavat virheitĂ€, kuten `unsupported_country_region_territory`, OAuth- ja API-yhteyksien aikana. TĂ€mĂ€ on erityisen turhauttavaa kehitysmaiden kehittĂ€jille. **Kuinka OmniRoute ratkaisee sen:** - **3-tason vĂ€lityspalvelimen mÀÀritys** – Muokattava vĂ€lityspalvelin kolmella tasolla: yleinen (kaikki liikenne), palveluntarjoajakohtainen (vain yksi palveluntarjoaja) ja yhteys/avain - **VĂ€rikoodatut vĂ€lityspalvelinmerkit** — Visuaaliset ilmaisimet: 🟱 maailmanlaajuinen vĂ€lityspalvelin, 🟡 tarjoajan vĂ€lityspalvelin, đŸ”” yhteysvĂ€lityspalvelin, joka nĂ€yttÀÀ aina IP-osoitteen - **OAuth-tunnusten vaihto vĂ€lityspalvelimen kautta** — OAuth-kulku kulkee myös vĂ€lityspalvelimen kautta, mikĂ€ ratkaisee `unsupported_country_region_territory` - **Yhteystestit vĂ€lityspalvelimen kautta** - Yhteystestit kĂ€yttĂ€vĂ€t mÀÀritettyĂ€ vĂ€lityspalvelinta (ei enÀÀ suoraa ohitusta) - **SOCKS5-tuki** — TĂ€ysi SOCKS5-vĂ€lityspalvelintuki lĂ€htevÀÀn reititykseen - **TLS-sormenjĂ€lkien huijaus** — Selaimen kaltainen TLS-sormenjĂ€lki `wreq-js`:n kautta ohittaakseen bot-tunnistuksen
🆓 4. "Haluan kĂ€yttÀÀ tekoĂ€lyĂ€ koodaukseen, mutta minulla ei ole rahaa" Kaikki eivĂ€t voi maksaa 20–200 dollaria kuukaudessa tekoĂ€lytilauksista. Opiskelijat, kehittĂ€jĂ€t nousevista maista, harrastajat ja freelancerit tarvitsevat pÀÀsyn laadukkaisiin malleihin ilman kustannuksia. **Kuinka OmniRoute ratkaisee sen:** - **Free Tier Providers -sisÀÀnrakennettu** - Natiivituki 100 % ilmaisille palveluntarjoajille: iFlow (8 rajatonta mallia), Qwen (3 rajoittamatonta mallia), Kiro (Claude ilmaiseksi), Gemini CLI (180 000/kk ilmaiseksi) - **Vain ilmaiset yhdistelmĂ€t** — Ketju `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = 0 $/kk ilman seisonta-aikaa - **NVIDIA NIM Free Credits** - 1000 ilmaista saldoa integroituna - **Kustannusoptimoitu strategia** — Reititysstrategia, joka valitsee automaattisesti halvimman saatavilla olevan palveluntarjoajan
🔒 5. "Minun tĂ€ytyy suojata tekoĂ€lyyhdyskĂ€ytĂ€vÀÀni luvattomalta kĂ€ytöltĂ€" Kun paljastat tekoĂ€lyyhdyskĂ€ytĂ€vĂ€n verkkoon (LAN, VPS, Docker), kuka tahansa osoitteen tietĂ€vĂ€ voi kuluttaa kehittĂ€jĂ€n tunnukset/kiintiöt. Ilman suojaa API:t ovat alttiita vÀÀrinkĂ€ytölle, nopealle injektiolle ja vÀÀrinkĂ€ytöksille. **Kuinka OmniRoute ratkaisee sen:** - **API-avainten hallinta** — Luominen, kierto ja laajuus palveluntarjoajakohtaisesti erillisellĂ€ `/dashboard/api-manager`-sivulla - **Mallitason kĂ€yttöoikeudet** - Rajoita API-avaimet tiettyihin malleihin (`openai/*`, jokerimerkkimallit) Salli kaikki/Rajoita-kytkimellĂ€ - **API Endpoint Protection** — Vaadi avainta `/v1/models`:lle ja estĂ€ tietyt palveluntarjoajat luettelosta - **Auth Guard + CSRF-suojaus** — Kaikki kojelaudan reitit on suojattu `withAuth`-vĂ€liohjelmistolla + CSRF-tunnuksilla - **Rate Limiter** — IP-nopeuden rajoitus konfiguroitavilla ikkunoilla - **IP-suodatus** — PÀÀsynhallinnan sallittu-/estolista - **Prompt Injection Guard** — Desinfiointi haitallisia kehotusmalleja vastaan - **AES-256-GCM Encryption** — Tunnistetiedot on salattu lepotilassa
🛑 6. "palveluntarjoajani kaatui ja menetin koodauskulkuni" TekoĂ€lypalveluntarjoajat voivat muuttua epĂ€vakaiksi, palauttaa 5xx-virheitĂ€ tai saavuttaa vĂ€liaikaiset nopeusrajoitukset. Jos kehittĂ€jĂ€ on riippuvainen yhdestĂ€ palveluntarjoajasta, se keskeytyy. Ilman katkaisijoita toistuvat uudelleenyritykset voivat kaataa sovelluksen. **Kuinka OmniRoute ratkaisee sen:** - **Katkaisija palveluntarjoajakohtaisesti** - Automaattinen avautuminen/sulkeminen konfiguroitavilla kynnyksillĂ€ ja jÀÀhdytys (suljettu/auki/puoliauki) - **Eksponentiaalinen peruutus** — Progressiiviset uudelleenyritysviiveet - **Anti-Thundering Herd** — Mutex + semaforisuoja samanaikaisia myrskyjĂ€ vastaan - **YhdistelmĂ€varaketjut** – Jos ensisijainen toimittaja epĂ€onnistuu, putoaa automaattisesti ketjun lĂ€pi ilman vĂ€liintuloa - **Combo Circuit Breaker** — Poistaa automaattisesti kĂ€ytöstĂ€ vialliset palveluntarjoajat yhdistelmĂ€ketjussa - **Health Dashboard** — kĂ€ytettĂ€vyyden valvonta, katkaisijoiden tilat, lukitukset, vĂ€limuistitilastot, p50/p95/p99-viive
🔧 7. "Jokaisen tekoĂ€lytyökalun mÀÀrittĂ€minen on työlĂ€stĂ€ ja toistuvaa" KehittĂ€jĂ€t kĂ€yttĂ€vĂ€t kursoria, Claude Codea, Codex CLI:tĂ€, OpenClaw:ta, Gemini CLI:tĂ€, Kilo Codea... Jokainen työkalu tarvitsee eri konfiguraation (API-pÀÀtepiste, avain, malli). UudelleenmÀÀritys toimittajaa tai mallia vaihdettaessa on ajanhukkaa. **Kuinka OmniRoute ratkaisee sen:** - **CLI Tools Dashboard** - Erillinen sivu yhdellĂ€ napsautuksella Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline - **GitHub Copilot Config Generator** — Luo `chatLanguageModels.json` VS-koodille joukkomallin valinnalla - **Ohjattu kĂ€yttöönottotoiminto** — Ohjattu 4-vaiheinen asennus ensikertalaisille - **Yksi pÀÀtepiste, kaikki mallit** — MÀÀritĂ€ `http://localhost:20128/v1` kerran, kĂ€ytĂ€ 36+ palveluntarjoajaa
🔑 8. "Useiden palveluntarjoajien OAuth-tunnusten hallinta on helvettiĂ€" Claude Code, Codex, Gemini CLI, Copilot – kaikki kĂ€yttĂ€vĂ€t OAuth 2.0:aa vanhentuvilla tunnuksilla. KehittĂ€jien on todennettava jatkuvasti uudelleen, kĂ€siteltĂ€vĂ€ `client_secret is missing`-, `redirect_uri_mismatch`- ja etĂ€palvelimien vikoja. OAuth LAN/VPS:ssĂ€ on erityisen ongelmallinen. **Kuinka OmniRoute ratkaisee sen:** - **Automaattinen tunnuksen pĂ€ivitys** - OAuth-tunnukset pĂ€ivittyvĂ€t taustalla ennen vanhenemista - **SisÀÀnrakennettu OAuth 2.0 (PKCE)** - Automaattinen kulku Claude Codelle, Codexille, Gemini CLI:lle, Copilotille, Kirolle, Qwenille, iFlowille - **Multi-Account OAuth** - Useita tilejĂ€ palveluntarjoajaa kohden JWT/ID-tunnuksen purkamisen kautta - **OAuth LAN/Remote Fix** — Yksityinen IP-tunnistus `redirect_uri`:lle + manuaalinen URL-tila etĂ€palvelimille - **OAuth Nginxin takana** - KĂ€yttÀÀ `window.location.origin`-protokollaa kÀÀnteisen vĂ€lityspalvelimen yhteensopivuuteen - **OAuth-etĂ€opas** — Vaiheittainen opas Google Cloud -kirjautumistiedoille VPS/Dockerissa
📊 9. "En tiedĂ€ kuinka paljon kulutan tai minne" KehittĂ€jĂ€t kĂ€yttĂ€vĂ€t useita maksullisia palveluntarjoajia, mutta heillĂ€ ei ole yhtenĂ€istĂ€ nĂ€kemystĂ€ kuluttamisesta. Jokaisella palveluntarjoajalla on oma laskutuksen hallintapaneeli, mutta yhdistettyĂ€ nĂ€kymÀÀ ei ole. Odottamattomat kustannukset voivat kasaantua. **Kuinka OmniRoute ratkaisee sen:** - **Cost Analytics Dashboard** – Token-kohtainen kustannusseuranta ja budjetin hallinta palveluntarjoajakohtaisesti - **Tasokohtaiset budjettirajat** – Tasokohtainen kulutuskatto, joka laukaisee automaattisen varauksen - **Malleittainen hinnoittelu** — Muokattavat hinnat mallikohtaisesti - **KĂ€yttötilastot API-avainta kohti** — PyyntömÀÀrĂ€ ja viimeksi kĂ€ytetty aikaleima avainta kohti - **Analytics Dashboard** - Tilastokortit, mallin kĂ€yttökaavio, toimittajataulukko onnistumisprosenteilla ja viiveellĂ€
🐛 10. "En pysty diagnosoimaan tekoĂ€lypuhelujen virheitĂ€ ja ongelmia" Kun puhelu epĂ€onnistuu, kehittĂ€jĂ€ ei tiedĂ€, oliko kyseessĂ€ nopeusrajoitus, vanhentunut tunnus, vÀÀrĂ€ muoto vai palveluntarjoajan virhe. Sirpaloituneet lokit eri terminaaleissa. Ilman havaittavuutta virheenkorjaus on yrityksen ja erehdysten menetelmÀÀ. **Kuinka OmniRoute ratkaisee sen:** - **Yhdistettyjen lokien hallintapaneeli** - 4 vĂ€lilehteĂ€: pyyntölokit, vĂ€lityspalvelimen lokit, tarkastuslokit, konsoli - **Console Log Viewer** - Reaaliaikainen pÀÀtetyylinen katseluohjelma vĂ€rikoodatuilla tasoilla, automaattinen vieritys, haku, suodatin - **SQLite-vĂ€lityspalvelimen lokit** — PysyvĂ€t lokit, jotka kestĂ€vĂ€t palvelimen uudelleenkĂ€ynnistyksen - **KÀÀntĂ€jĂ€n leikkikenttĂ€** — 4 virheenkorjaustilaa: Playground (muodon kÀÀnnös), Chat Tester (meno-paluu), testipenkki (erĂ€), Live Monitor (reaaliaikainen) - **Pyyntötelemetria** — p50/p95/p99-latenssi + X-Request-Id-seuranta - **Tiedostopohjainen kirjaaminen rotaatiolla** – Konsolin sieppaaja tallentaa kaiken JSON-lokiin kokoperusteisella kierrolla
đŸ—ïž 11. "YhdyskĂ€ytĂ€vĂ€n kĂ€yttöönotto ja yllĂ€pito on monimutkaista" AI-vĂ€lityspalvelimen asentaminen, mÀÀrittĂ€minen ja yllĂ€pito eri ympĂ€ristöissĂ€ (paikallinen, VPS, Docker, pilvi) on työvoimavaltaista. Ongelmat, kuten kovakoodatut polut, `EACCES` hakemistoissa, porttiristiriidat ja monikĂ€yttöjĂ€rjestelmĂ€t lisÀÀvĂ€t kitkaa. **Kuinka OmniRoute ratkaisee sen:** - **npm yleinen asennus** — `npm install -g omniroute && omniroute` — valmis - **Docker Multi-Platform** - AMD64 + ARM64 natiivi (Apple Silicon, AWS Graviton, Raspberry Pi) - **Docker Compose -profiilit** — `base` (ei CLI-työkaluja) ja `cli` (Claude Code, Codex, OpenClaw) - **Electron Desktop App** - Natiivisovellus Windowsille/macOS:lle/Linuxille, jossa ilmaisinalue, automaattinen kĂ€ynnistys, offline-tila - **Split-Port Mode** — API ja Dashboard erillisissĂ€ porteissa edistyneille skenaarioille (kÀÀnteinen vĂ€lityspalvelin, konttiverkko) - **Cloud Sync** - MÀÀritĂ€ synkronointi laitteiden vĂ€lillĂ€ Cloudflare Workersin kautta - **DB-varmuuskopiot** — Kaikkien asetusten automaattinen varmuuskopiointi, palautus, vienti ja tuonti
🌍 12. "KĂ€yttöliittymĂ€ on vain englanninkielinen ja tiimini ei puhu englantia" RyhmĂ€t muissa kuin englanninkielisissĂ€ maissa, erityisesti Latinalaisessa Amerikassa, Aasiassa ja Euroopassa, kamppailevat vain englanninkielisten kĂ€yttöliittymien kanssa. Kielimuurit vĂ€hentĂ€vĂ€t kĂ€yttöönottoa ja lisÀÀvĂ€t konfigurointivirheitĂ€. **Kuinka OmniRoute ratkaisee sen:** - **Dashboard i18n — 30 kieltĂ€** — Kaikki yli 500 nĂ€ppĂ€intĂ€ kÀÀnnetty mukaan lukien arabia, bulgaria, tanska, saksa, espanja, suomi, ranska, heprea, hindi, unkari, indonesia, italia, japani, korea, malaiji, hollanti, norja, puola, portugali (PT/BR), romania, thai, venĂ€jĂ€, ukraina, slovakki, ruotsi, englanti - **RTL-tuki** — Tuki oikealta vasemmalle arabian ja heprean kielelle - **Multi-Language READMEs** - 30 tĂ€ydellistĂ€ dokumentaation kÀÀnnöstĂ€ - **Kielen valitsin** — Maapallokuvake otsikossa reaaliaikaista vaihtoa varten
🔄 13. "Tarvitsen muutakin kuin chatin – tarvitsen upotuksia, kuvia, ÀÀntĂ€" TekoĂ€ly ei ole vain chatin loppuun saattamista. KehittĂ€jien on luotava kuvia, litteroitava ÀÀni, luotava upotuksia RAG:lle, jĂ€rjestettĂ€vĂ€ asiakirjat uudelleen ja valvottava sisĂ€ltöÀ. Jokaisella API:lla on eri pÀÀtepiste ja muoto. **Kuinka OmniRoute ratkaisee sen:** - **Upotukset** — `/v1/embeddings`, 6 toimittajaa ja 9+ mallia - **Image Generation** — `/v1/images/generations` 10 palveluntarjoajan ja 20+ mallin kanssa (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI) - **TekstistĂ€ videoksi** — `/v1/videos/generations` — ComfyUI (AnimateDiff, SVD) ja SD WebUI - **TekstistĂ€ musiikiksi** — `/v1/music/generations` — ComfyUI (Stable Audio Open, MusicGen) - **ÄÀnitranskriptio** — `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3 - **TekstistĂ€ puheeksi** — `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3 ja olemassa olevat palveluntarjoajat - **Moderaatiot** — `/v1/moderations` — SisĂ€llön turvallisuustarkastukset - **Uudelleensijoitus** — `/v1/rerank` — Asiakirjan relevanssin uudelleensijoitus - **Responses API** — TĂ€ysi `/v1/responses`-tuki Codexille
đŸ§Ș 14. "Minulla ei ole mahdollisuutta testata ja vertailla laatua eri mallien vĂ€lillĂ€" KehittĂ€jĂ€t haluavat tietÀÀ, mikĂ€ malli sopii parhaiten heidĂ€n kĂ€yttötapaukseensa – koodi, kÀÀnnös, pÀÀttely – mutta manuaalinen vertailu on hidasta. Integroituja arviointityökaluja ei ole olemassa. **Kuinka OmniRoute ratkaisee sen:** - **LLM-arvioinnit** — Golden set -testaus 10 esiladatulla kotelolla, jotka kattavat tervehdyksen, matematiikan, maantieteen, koodin luomisen, JSON-yhteensopivuuden, kÀÀnnöksen, merkinnĂ€n, turvallisuuden kieltĂ€misen - **4 sovitusstrategiaa** — `exact`, `contains`, `regex`, `custom` (JS-toiminto) - **Translator Playground Test Bench** - ErĂ€testaus useilla tuloilla ja odotetulla lĂ€hdöllĂ€, tarjoajien vĂ€linen vertailu - **Chat Tester** - TĂ€ysi edestakainen matka visuaalisen vasteen renderöinnillĂ€ - **Live Monitor** — Reaaliaikainen tietovirta kaikista vĂ€lityspalvelimen kautta kulkevista pyynnöistĂ€
📈 15. "Minun tĂ€ytyy skaalata suorituskykyĂ€ menettĂ€mĂ€ttĂ€" Pyynnön mÀÀrĂ€n kasvaessa samat kysymykset aiheuttavat pÀÀllekkĂ€isiĂ€ kustannuksia vĂ€limuistiin tallentamatta. Ilman idempotenssia kaksoiskappaleet pyytĂ€vĂ€t jĂ€tteenkĂ€sittelyĂ€. Palveluntarjoajakohtaisia ​​hintarajoja on noudatettava. **Kuinka OmniRoute ratkaisee sen:** - **Semanttinen vĂ€limuisti** – Kaksitasoinen vĂ€limuisti (allekirjoitus + semanttinen) vĂ€hentÀÀ kustannuksia ja viivettĂ€ - **Request Idempotency** — 5 sekunnin deduplikaatioikkuna identtisille pyynnöille - **nopeusrajoituksen tunnistus** – palveluntarjoajakohtainen RPM, pienin vĂ€li ja suurin samanaikainen seuranta - **Muokattavat nopeusrajoitukset** - MÀÀritettĂ€vissĂ€ olevat oletusasetukset kohdassa Asetukset → Resilience with persistence - **API Key Validation Cache** – 3-tasoinen vĂ€limuisti tuotannon suorituskykyĂ€ varten - **Health Dashboard telemetrialla** - p50/p95/p99 latenssi, vĂ€limuistitilastot, kĂ€yttöaika
đŸ€– 16. "Haluan hallita mallin kĂ€yttĂ€ytymistĂ€ maailmanlaajuisesti" KehittĂ€jĂ€t, jotka haluavat kaikki vastaukset tietyllĂ€ kielellĂ€, tietyllĂ€ sĂ€vyllĂ€ tai haluavat rajoittaa perusteluita. TĂ€mĂ€n mÀÀrittĂ€minen jokaiseen työkaluun/pyyntöön on epĂ€kĂ€ytĂ€nnöllistĂ€. **Kuinka OmniRoute ratkaisee sen:** - **JĂ€rjestelmĂ€kehotteen lisĂ€ys** — Yleinen kehote koskee kaikkia pyyntöjĂ€ - **Thinking Budget Validation** – perustelutunnisteen allokoinnin ohjaus pyyntöÀ kohti (lĂ€pivienti, automaattinen, mukautettu, mukautuva) - **6 reititysstrategiaa** — Globaalit strategiat, jotka mÀÀrittĂ€vĂ€t pyyntöjen jakautumisen - **Wildcard Router** — `provider/*`-mallit reitittĂ€vĂ€t dynaamisesti mille tahansa palveluntarjoajalle - **YhdistelmĂ€ kĂ€yttöön/pois kĂ€ytöstĂ€** - Vaihda yhdistelmĂ€t suoraan kojelaudalta - **Provider Toggle** — Ota kĂ€yttöön tai poista kĂ€ytöstĂ€ kaikki palveluntarjoajan yhteydet yhdellĂ€ napsautuksella - **Estetyt palveluntarjoajat** - Sulje tietyt palveluntarjoajat pois `/v1/models`-luettelosta
🧰 17. "Tarvitsen MCP-työkaluja ensiluokkaisina tuoteominaisuuksina" Monet tekoĂ€lyyhdyskĂ€ytĂ€vĂ€t paljastavat MCP:n vain piilotettuna toteutustietona. Tiimit tarvitsevat nĂ€kyvĂ€n, hallittavan toimintakerroksen. **Kuinka OmniRoute ratkaisee sen:** - MCP nĂ€kyy kojelaudan navigointi- ja pÀÀtepisteprotokolla-vĂ€lilehdessĂ€ - Erillinen MCP-hallintasivu, jossa on prosessit, työkalut, laajuudet ja tarkastus - SisÀÀnrakennettu pikakĂ€ynnistys `omniroute --mcp`:lle ja asiakkaan kĂ€yttöönottoon
🧠 18. "Tarvitsen A2A-orkesterin synkronointia ja suoratoiston tehtĂ€vĂ€polkuja" Agenttityönkulut tarvitsevat sekĂ€ suoria vastauksia ettĂ€ pitkĂ€kestoista suoratoistoa elinkaariohjauksella. **Kuinka OmniRoute ratkaisee sen:** - A2A JSON-RPC -pÀÀtepiste (`POST /a2a`) `message/send`:n ja `message/stream`:n kanssa - SSE-suoratoisto pÀÀtetilan etenemisellĂ€ - TehtĂ€vĂ€n elinkaaren sovellusliittymĂ€t `tasks/get`:lle ja `tasks/cancel`:lle
đŸ›°ïž 19. "Tarvitsen todellisen MCP-prosessin kunnon, en arvatun tilan" Operatiivisten tiimien on tiedettĂ€vĂ€, onko MCP todella elossa, ei vain sitĂ€, onko API tavoitettavissa. **Kuinka OmniRoute ratkaisee sen:** - Ajonaikainen syketiedosto, jossa on PID, aikaleimat, kuljetus, työkalujen mÀÀrĂ€ ja laajuustila - MCP-tilan API, joka yhdistÀÀ sykkeen + viimeaikaisen toiminnan - KĂ€yttöliittymĂ€n tilakortit prosessin / kĂ€ytettĂ€vyyden / sydĂ€menlyöntien tuoreudelle
📋 20. "Tarvitsen tarkastettavan MCP-työkalun suorituksen" Kun työkalut muuttavat mÀÀrityksiĂ€ tai kĂ€ynnistĂ€vĂ€t operaatioita, tiimit tarvitsevat rikosteknistĂ€ jĂ€ljitettĂ€vyyttĂ€. **Kuinka OmniRoute ratkaisee sen:** - SQLite-tuettu tarkastusloki MCP-työkalukutsuille - Suodattimet työkalun, onnistumisen/epĂ€onnistumisen, API-avaimen ja sivutuksen mukaan - Kojelaudan tarkastustaulukko + tilastopÀÀtepisteet automatisointia varten
🔐 21. "Tarvitsen laajennettuja MCP-oikeuksia integraatiota kohti" Eri asiakkailla tulisi olla vĂ€hiten kĂ€yttöoikeus työkaluluokkiin. **Kuinka OmniRoute ratkaisee sen:** - 9 rakeista MCP-skooppia ohjattua työkalujen kĂ€yttöÀ varten - Laajuuden valvonta ja nĂ€kyvyys MCP-hallintaliittymĂ€ssĂ€ - Turvallinen oletusasento kĂ€yttötyökaluille
⚙ 22. "Tarvitsen toiminnan ohjaimia ilman uudelleenjĂ€rjestelyĂ€" Tiimit tarvitsevat nopeita ajonaikaisia muutoksia tapausten tai kustannustapahtumien aikana. **Kuinka OmniRoute ratkaisee sen:** - Vaihda yhdistelmĂ€aktivointia suoraan MCP-kojelaudalta - KĂ€ytĂ€ joustavuusprofiileja ennalta mÀÀritetyistĂ€ kĂ€ytĂ€ntöpaketeista - Nollaa katkaisijan tila samasta kĂ€yttöpaneelista
🔄 23. "Tarvitsen live-A2A-tehtĂ€vĂ€n elinkaaren nĂ€kyvyyden ja peruutuksen" Ilman elinkaaren nĂ€kyvyyttĂ€ tehtĂ€vĂ€kohtauksista tulee vaikeasti luokiteltuja. **Kuinka OmniRoute ratkaisee sen:** - TehtĂ€vĂ€luettelo / suodatus tilan / taitojen mukaan ja sivutus - TehtĂ€vĂ€n metatietojen, tapahtumien ja artefaktien yksityiskohdat - TehtĂ€vĂ€n peruutuksen pÀÀtepiste ja kĂ€yttöliittymĂ€toiminto vahvistuksen kanssa
🌊 24. "Tarvitsen aktiivisia suoratoistotietoja A2A-kuormalle" Streaming-työnkulut edellyttĂ€vĂ€t toiminnallista tietoa samanaikaisuudesta ja reaaliaikaisista yhteyksistĂ€. **Kuinka OmniRoute ratkaisee sen:** - Aktiiviset virtalaskurit integroitu A2A-tilaan - Viimeisen tehtĂ€vĂ€n aikaleima ja tilakohtaiset mÀÀrĂ€t - A2A kojelautakortit reaaliaikaiseen toimintojen seurantaan
đŸȘȘ 25. "Tarvitsen asiakkaille vakioagentin haun" Ulkoiset asiakkaat ja orkesterit tarvitsevat koneellisesti luettavaa metadataa kĂ€yttöönottoa varten. **Kuinka OmniRoute ratkaisee sen:** - Agenttikortti esillĂ€ osoitteessa `/.well-known/agent.json` - Johdon kĂ€yttöliittymĂ€ssĂ€ nĂ€kyvĂ€t valmiudet ja taidot - A2A status API sisĂ€ltÀÀ etsintĂ€metatiedot automatisointia varten
🧭 26. "Tarvitsen protokollan löydettĂ€vyyden tuotteessa UX" Jos kĂ€yttĂ€jĂ€t eivĂ€t löydĂ€ protokollapintoja, kĂ€yttöönoton ja tuen laatu heikkenee. **Kuinka OmniRoute ratkaisee sen:** - SivupalkkimerkinnĂ€t MCP:lle ja A2A:lle - PÀÀtepistesivu Protokollat-vĂ€lilehti, jossa on pika-aloitus ja tila - Linkit yleiskatsauksesta erityisiin hallintapaneeliin
đŸ§Ș 27. "Tarvitsen pÀÀstĂ€ pÀÀhĂ€n -protokollan validoinnin oikeiden asiakkaiden kanssa" Valetestit eivĂ€t riitĂ€ vahvistamaan protokollan yhteensopivuutta ennen julkaisua. **Kuinka OmniRoute ratkaisee sen:** - E2E-paketti, joka kĂ€ynnistÀÀ sovelluksen ja kĂ€yttÀÀ todellista MCP SDK -asiakassiirtoa - A2A-asiakas testaa virtojen löytĂ€mistĂ€, lĂ€hettĂ€mistĂ€, suoratoistoa, vastaanottamista ja peruuttamista - Tarkista vĂ€itteet MCP-tarkastuksen ja A2A-tehtĂ€vien sovellusliittymien kanssa
📡 28. "Tarvitsen yhtenĂ€isen havainnoinnin kaikissa liitĂ€nnöissĂ€" Havainnon jakaminen protokollan mukaan luo kuolleita kulmia ja pidemmĂ€n MTTR:n. **Kuinka OmniRoute ratkaisee sen:** - Yhdistetyt kojelaudat/lokit/analytiikka yhdessĂ€ tuotteessa - Terveys + auditointi + pyyntö telemetria OpenAI-, MCP- ja A2A-tasoilla - Toiminnalliset sovellusliittymĂ€t tilaa ja automaatiota varten
đŸ’Œ 29. "Tarvitsen yhden suoritusajan vĂ€lityspalvelimelle + työkaluille + agentin orkestraatiolle" Useiden erillisten palvelujen suorittaminen lisÀÀ kĂ€yttökustannuksia ja vikatiloja. **Kuinka OmniRoute ratkaisee sen:** - OpenAI-yhteensopiva vĂ€lityspalvelin, MCP-palvelin ja A2A-palvelin yhdessĂ€ pinossa - Jaettu todennus, joustavuus, tietovarasto ja havaittavuus - Yhdenmukainen toimintamalli kaikilla vuorovaikutuspinnoilla
🚀 30. "Minun on lĂ€hetettĂ€vĂ€ agenttityönkulkuja ilman liimakoodin leviĂ€mistĂ€" Tiimit menettĂ€vĂ€t nopeutta yhdistĂ€essÀÀn useita ad-hoc-palveluita ja skriptejĂ€. **Kuinka OmniRoute ratkaisee sen:** - YhtenĂ€inen pÀÀtepistestrategia asiakkaille ja edustajille - SisÀÀnrakennetut protokollien hallinnan kĂ€yttöliittymĂ€t ja savun vahvistuspolut - Tuotantovalmis perusta (turvallisuus, puunkorjuu, joustavuus, varmuuskopiointi)
### Esimerkkiohjekirjat (integroidut kĂ€yttötapaukset) **Ohjekirja A: maksimoi maksullinen tilaus + halpa varmuuskopio** ```txt Combo: "maximize-claude" 1. cc/claude-opus-4-6 2. glm/glm-4.7 3. if/kimi-k2-thinking Monthly cost: $20 + small backup spend Outcome: higher quality, near-zero interruption ``` **Ohjekirja B: Nollahintainen koodauspino** ```txt Combo: "free-forever" 1. gc/gemini-3-flash 2. if/kimi-k2-thinking 3. qw/qwen3-coder-plus Monthly cost: $0 Outcome: stable free coding workflow ``` **Playbook C: 24/7 aina pÀÀllĂ€ oleva varaketju** ```txt Combo: "always-on" 1. cc/claude-opus-4-6 2. cx/gpt-5.2-codex 3. glm/glm-4.7 4. minimax/MiniMax-M2.1 5. if/kimi-k2-thinking Outcome: deep fallback depth for deadline-critical workloads ``` **Pelikirja D: Agentti toimii MCP:llĂ€ + A2A** ```txt 1) Start MCP transport (`omniroute --mcp`) for tool-driven operations 2) Run A2A tasks via `message/send` and `message/stream` 3) Observe via /dashboard/mcp and /dashboard/a2a 4) Control incidents with resilience profile + task cancellation ``` --- ## ⚡ Pika-aloitus **1. Asenna maailmanlaajuisesti:** ```bash npm install -g omniroute omniroute ``` 🎉 Hallintapaneeli avautuu klo `http://localhost:20128` | Komento | Kuvaus | | ----------------------- | --------------------------------------- | | `omniroute` | KĂ€ynnistĂ€ palvelin (oletusportti 20128) | | `omniroute --port 3000` | KĂ€ytĂ€ mukautettua porttia | | `omniroute --no-open` | ÄlĂ€ avaa selainta automaattisesti | | `omniroute --help` | NĂ€ytĂ€ ohje | **2. YhdistĂ€ ILMAINEN palveluntarjoaja:** Kojelauta → Palveluntarjoajat → YhdistĂ€ **Claude Code** tai **Antigravity** → OAuth-kirjautuminen → Valmis! **3. KĂ€ytĂ€ CLI-työkalussasi:** ``` Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: Endpoint: http://localhost:20128/v1 API Key: [copy from dashboard] Model: if/kimi-k2-thinking ``` **SiinĂ€ se!** Aloita koodaus ILMAISTEN AI-malleilla. **Vaihtoehto – suorita lĂ€hteestĂ€:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Docker OmniRoute on saatavilla julkisena Docker-kuvana osoitteessa [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Pikaajo:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **YmpĂ€ristötiedostolla:** ```bash # Copy and edit .env first cp .env.example .env docker run -d \ --name omniroute \ --restart unless-stopped \ --env-file .env \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Docker Composen kĂ€yttĂ€minen:** ```bash # Base profile (no CLI tools) docker compose --profile base up -d # CLI profile (Claude Code, Codex, OpenClaw built-in) docker compose --profile cli up -d ``` | Kuva | Tag | Koko | Kuvaus | | ------------------------ | -------- | ------- | -------------------- | | `diegosouzapw/omniroute` | `latest` | ~250 Mt | Uusin vakaa julkaisu | | `diegosouzapw/omniroute` | `1.0.3` | ~250 Mt | Nykyinen versio | --- --- ## đŸ–„ïž > 🆕 **NEW!** OmniRoute is now available as a **native desktop application** for Windows, macOS, and Linux. - đŸ–„ïž **Native Window** — Dedicated app window with system tray integration - 🔄 **Auto-Start** — Launch OmniRoute on system login - 🔔 **Native Notifications** — Get alerts for quota exhaustion or provider issues - ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux) - 🌐 **Offline Mode** — Works fully offline with bundled server ```bash npm run electron:dev # Development mode npm run electron:build # Current platform npm run electron:build:win # Windows (.exe) npm run electron:build:mac # macOS (.dmg) npm run electron:build:linux # Linux (.AppImage) ``` 📖 Full documentation: [`electron/README.md`](electron/README.md) --- ## 💰 Hinnoittelu yhdellĂ€ silmĂ€yksellĂ€ | Taso | Palveluntarjoaja | Kustannukset | Kiintiön nollaus | Paras | | ---------------- | ----------------- | ------------------------------ | ---------------------- | -------------------------- | | **💳 TILAUS** | Claude Code (Pro) | 20 dollaria/kk | 5h + viikoittain | jo tilattu | | | Codex (Plus/Pro) | 20-200 $/kk | 5h + viikoittain | OpenAI-kĂ€yttĂ€jĂ€t | | | Gemini CLI | **ILMAINEN** | 180 tk/kk + 1 tk/pĂ€ivĂ€ | Kaikki! | | | GitHub Copilot | 10-19 $/kk | Kuukausittain | GitHub-kĂ€yttĂ€jĂ€t | | **🔑 API-AVAIN** | NVIDIA NIM | **ILMAINEN** (1000 krediittiĂ€) | Kertaluonteinen | Ilmainen tasotestaus | | | DeepSeek | Maksu per kĂ€yttö | Ei yhtÀÀn | Paras hinta/laatu | | | Groq | Ilmainen taso + maksettu | Hinta rajoitettu | ErittĂ€in nopea johtopÀÀtös | | | xAI (Grok) | Maksu per kĂ€yttö | Ei yhtÀÀn | Grok mallit | | | Mistral | Ilmainen taso + maksettu | Hinta rajoitettu | Eurooppalainen tekoĂ€ly | | | OpenRouter | Maksu per kĂ€yttö | Ei yhtÀÀn | 100+ mallia | | **💰 EDULLISET** | GLM-4.7 | 0,6 $/1 milj. | PĂ€ivittĂ€in klo 10 | Budjetin varmuuskopio | | | MiniMax M2.1 | 0,2 $/1 milj. | 5 tunnin rullaus | Halvin vaihtoehto | | | Kimi K2 | 9 dollaria/kk asunto | 10 milj. rahakkeita/kk | Ennustettavat kustannukset | | **🆓 ILMAINEN** | iFlow | 0 dollaria | Rajoittamaton | 8 mallia ilmaiseksi | | | Qwen | 0 dollaria | Rajoittamaton | 3 mallia ilmaiseksi | | | Kiro | 0 dollaria | Rajoittamaton | Claude ilmaiseksi | **💡 Pro-vinkki:** Aloita Gemini CLI:llĂ€ (180 000 ilmaista kuukaudessa) + iFlow (rajoittamaton ilmainen) -yhdistelmĂ€ = 0 dollarin hinta! --- ## 💡 TĂ€rkeimmĂ€t ominaisuudet ### 🧠 Ydinreititys ja Ă€lykkyys | Ominaisuus | MitĂ€ se tekee | | ------------------------------------- | --------------------------------------------------------------------------------------------- | | 🎯 **Smart 4-Tier Fallback** | Automaattinen reitti: Tilaus → API-avain → Halpa → Ilmainen | | 📊 **Reaaliaikainen kiintiöseuranta** | Live-tunnusten mÀÀrĂ€ + nollaa lĂ€htölaskenta palveluntarjoajaa kohti | | 🔄 **KÀÀnnösmuoto** | OpenAI ↔ Claude ↔ Kaksoset ↔ Kursori ↔ Kiro saumaton + vastaus desinfiointi | | đŸ‘„ **Useiden tilien tuki** | Useita tilejĂ€ per palveluntarjoaja Ă€lykkÀÀllĂ€ valinnalla | | 🔄 **Automaattinen Token Refresh** | OAuth-tunnukset pĂ€ivittyvĂ€t automaattisesti yrittĂ€mĂ€llĂ€ uudelleen | | 🎹 **Muokatut yhdistelmĂ€t** | 6 strategiaa: fill-first, round-robin, p2c, satunnainen, vĂ€hiten kĂ€ytetty, kustannusoptimoitu | | đŸ§© **RÀÀtĂ€löidyt mallit** | LisÀÀ mikĂ€ tahansa mallitunnus mille tahansa toimittajalle | | 🌐 **Wildcard-reititin** | ReititĂ€ `provider/*` mallit mille tahansa palveluntarjoajalle dynaamisesti | | 🧠 **Ajatteleva budjetti** | LĂ€pivienti-, automaatti-, mukautetut ja mukautuvat tilat pÀÀttelymalleille | | 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) | | ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models | | 💬 **JĂ€rjestelmĂ€n pikaruiskutus** | Maailmanlaajuinen jĂ€rjestelmĂ€kehote kĂ€ytössĂ€ kaikissa pyynnöissĂ€ | | 📄 **Responses API** | TĂ€ysi OpenAI Responses API (`/v1/responses`) tuki Codexille | ### đŸŽ” Multimodaaliset sovellusliittymĂ€t | Ominaisuus | MitĂ€ se tekee | | ------------------------- | --------------------------------------------------------- | | đŸ–Œïž **Kuvan luominen** | `/v1/images/generations` — 4 toimittajaa, 9+ mallia | | 📐 **Upotukset** | `/v1/embeddings` — 6 toimittajaa, 9+ mallia | | đŸŽ€ **ÄÀnitranskriptio** | `/v1/audio/transcriptions` — Kuiskausyhteensopiva | | 🔊 **TekstistĂ€ puheeksi** | `/v1/audio/speech` — Usean palveluntarjoajan ÀÀnisynteesi | | đŸ›Ąïž **Moderaatiot** | `/v1/moderations` — SisĂ€llön turvallisuustarkistukset | | 🔀 **UudelleenjĂ€rjestys** | `/v1/rerank` — Asiakirjan osuvuuden uudelleensijoitus | ### đŸ›Ąïž Joustavuus ja turvallisuus | Ominaisuus | MitĂ€ se tekee | | ----------------------------------------- | ------------------------------------------------------------------------------------------------ | | 🔌 **Katkaisija** | Automaattinen avaaminen/sulkeminen palveluntarjoajakohtaisesti konfiguroitavilla kynnysarvoilla | | đŸ›Ąïž **Ukkosen vastainen lauma** | Mutex + semaforin nopeusrajoitus API-avainten tarjoajille | | 🧠 **Semanttinen vĂ€limuisti** | Kaksitasoinen vĂ€limuisti (allekirjoitus + semanttinen) vĂ€hentÀÀ kustannuksia ja viivettĂ€ | | ⚡ **PyydĂ€ idempotenssia** | 5s dedup-ikkuna pÀÀllekkĂ€isille pyynnöille | | 🔒 **TLS-sormenjĂ€lkien huijaus** | Ohita TLS-pohjainen bot-tunnistus wreq-js:n avulla | | 🌐 **IP-suodatus** | API-kĂ€yttöoikeuksien hallinnan sallittu-/estoluettelo | | 📊 **Muokattavat hintarajat** | Konfiguroitava kierrosluku, minimivĂ€li ja suurin samanaikainen jĂ€rjestelmĂ€tasolla | | đŸ’Ÿ **Rate Limit Persistence** | Learned limits survive restarts via SQLite with 60s debounce + 24h staleness | | 🔄 **Token Refresh Resilience** | Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt | | 🛡 **API Endpoint Protection** | Todennusportin + tarjoajan esto `/models`-pÀÀtepisteelle | | 🔒 **VĂ€lityspalvelimen nĂ€kyvyys** | VĂ€rikoodatut merkit: 🟱 maailmanlaajuinen, 🟡 tarjoaja, đŸ”” yhteyskohtainen IP-nĂ€ytöllĂ€ | | 🌐 **3-tason vĂ€lityspalvelimen mÀÀritys** | MÀÀritĂ€ vĂ€lityspalvelimet maailmanlaajuisesti, palveluntarjoajakohtaisesti tai yhteyskohtaisesti | ### 📊 Havaittavuus ja analytiikka | Ominaisuus | MitĂ€ se tekee | | ------------------------------------- | ----------------------------------------------------------------------------------------------------- | | 📝 **PyydĂ€ kirjaamista** | VianetsintĂ€tila tĂ€ydellisillĂ€ pyyntö-/vastauslokeilla | | đŸ’Ÿ **SQLite-vĂ€lityspalvelimen lokit** | PysyvĂ€t vĂ€lityspalvelimen lokit selviĂ€vĂ€t palvelimen uudelleenkĂ€ynnistyksistĂ€ | | 📊 **Analytics Dashboard** | Recharts-powered: tilastokortit, mallin kĂ€yttökaavio, toimittajataulukko | | 📈 **Edistyksen seuranta** | Ota SSE:n edistymistapahtumat kĂ€yttöön suoratoistoa varten | | đŸ§Ș **LLM-arvioinnit** | Kultaisen setin testaus 4 ottelustrategialla | | 🔍 **PyydĂ€ telemetriaa** | p50/p95/p99 latenssiaggregointi + X-Request-Id-jĂ€ljitys | | 📋 **Lokien hallintapaneeli** | Yhdistetty 4-vĂ€lilehden sivu: pyyntölokit, vĂ€lityspalvelimen lokit, tarkastuslokit, konsoli | | đŸ–„ïž **Console Log Viewer** | Reaaliaikainen pÀÀte-tyylinen katseluohjelma tasosuodattimella, haulla, automaattisella vierityksellĂ€ | | 📑 **Tiedostopohjainen kirjaus** | Konsolin sieppaaja kaappaa kaiken lĂ€hdön JSON-lokitiedostoon pyörittĂ€mĂ€llĂ€ | | đŸ„ **Terveyden hallintapaneeli** | JĂ€rjestelmĂ€n kĂ€ytettĂ€vyys, katkaisijoiden tilat, lukitukset, vĂ€limuistitilastot | | 💰 **Kustannusseuranta** | Budjetin hallinta + mallikohtainen hinnoittelu | ### ☁ KĂ€yttöönotto ja synkronointi | Ominaisuus | MitĂ€ se tekee | | ----------------------------------- | -------------------------------------------------------------------------------- | | đŸ’Ÿ **Cloud Sync** | Synkronoi asetukset laitteiden vĂ€lillĂ€ Cloudflare Workersin kautta | | 🌐 **Ota kĂ€yttöön missĂ€ tahansa** | Localhost, VPS, Docker, Cloudflare Workers | | 🔑 **API-avainten hallinta** | Luo, kierrĂ€ ja laajenna API-avaimia tarjoajakohtaisesti | | 🧙 **Ohjattu kĂ€yttöönottotoiminto** | 4-vaiheinen ohjattu asennus ensikertalaisille | | 🔧 **CLI Tools Dashboard** | MÀÀritĂ€ yhdellĂ€ napsautuksella Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | | 🔄 **DB-varmuuskopiot** | Automaattinen varmuuskopiointi, palautus, vienti ja tuonti kaikille asetuksille | | 🌐 **KansainvĂ€listyminen** | TĂ€ysi i18n next-intl:llĂ€ — Englanti + portugali (Brasilia) tuki | | 🌍 **Kielenvalitsin** | Maapallokuvake otsikossa reaaliaikaista kielenvaihtoa varten (đŸ‡ș🇾/đŸ‡§đŸ‡·) | | 📂 **Muokattu tietohakemisto** | `DATA_DIR` env var ohittaa oletusarvoisen `~/.omniroute`-tallennuspolun |
📖 Ominaisuuden tiedot ### 🎯 ÄlykĂ€s 4-tasoinen varavaihtoehto Luo komboja automaattisella varalla: ``` Combo: "my-coding-stack" 1. cc/claude-opus-4-6 (your subscription) 2. nvidia/llama-3.3-70b (free NVIDIA API) 3. glm/glm-4.7 (cheap backup, $0.6/1M) 4. if/kimi-k2-thinking (free fallback) → Auto switches when quota runs out or errors occur ``` ### 📊 Reaaliaikainen kiintiöseuranta - Token-kulutus palveluntarjoajaa kohti - Nollaa lĂ€htölaskenta (5 tuntia, pĂ€ivittĂ€in, viikoittain) - Kustannusarvio maksetuille tasoille - Kuukausittaiset kuluraportit ### 🔄 Muotoile kÀÀnnös Saumaton kÀÀnnös muotojen vĂ€lillĂ€: - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-vastaukset** - CLI-työkalusi lĂ€hettÀÀ OpenAI-muodon → OmniRoute kÀÀntÀÀ → Palveluntarjoaja vastaanottaa alkuperĂ€isen muodon - Toimii minkĂ€ tahansa työkalun kanssa, joka tukee mukautettuja OpenAI-pÀÀtepisteitĂ€ - **Vastauksen desinfiointi** - Poistaa standardista poikkeavat kentĂ€t tiukan OpenAI SDK -yhteensopivuuden varmistamiseksi - **Roolin normalisointi** — `developer` → `system` ei-OpenAI:lle; `system` → `user` GLM/ERNIE-malleille - **Ajattele tunnisteen purkaminen** — `` lohkot → `reasoning_content` ajattelumalleille - **Strukturoitu tulos** — `json_schema` → Geminin `responseMimeType`/`responseSchema` ### đŸ‘„ Usean tilin tuki - LisÀÀ useita tilejĂ€ palveluntarjoajaa kohti - Automaattinen round-robin tai prioriteettipohjainen reititys - Takaisin seuraavalle tilille, kun kiintiö saavutetaan ### 🔄 Tokenin automaattinen pĂ€ivitys - OAuth-tunnukset pĂ€ivittyvĂ€t automaattisesti ennen vanhenemista - Manuaalista uudelleentodennusta ei tarvita - Saumaton kokemus kaikilta palveluntarjoajilta ### 🎹 Mukautetut yhdistelmĂ€t - Luo rajattomasti malliyhdistelmiĂ€ - 6 strategiaa: tĂ€ytĂ€ ensin, round-robin, kahden valinnan teho, satunnainen, vĂ€hiten kĂ€ytetty, kustannusoptimoitu - Jaa komboja laitteiden vĂ€lillĂ€ Cloud Sync -sovelluksella ### đŸ„ Health Dashboard - JĂ€rjestelmĂ€n tila (kĂ€yttöaika, versio, muistin kĂ€yttö) - Katkaisijoiden tilat palveluntarjoajan mukaan (suljettu/auki/puoliauki) - Hintarajoituksen tila ja aktiiviset lukitukset - AllekirjoitusvĂ€limuistin tilastot - Latenssi-telemetria (p50/p95/p99) + vĂ€limuisti - Palauta terveydentila yhdellĂ€ napsautuksella ### 🔧 KÀÀntĂ€jĂ€n leikkikenttĂ€ OmniRoute sisĂ€ltÀÀ tehokkaan sisÀÀnrakennetun Translator Playgroundin, jossa on **4 tilaa** virheenkorjausta, testausta ja API-kÀÀnnösten seurantaa varten: | Tila | Kuvaus | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **đŸ’» LeikkikenttĂ€** | Suoramuotoinen kÀÀnnös — liitĂ€ mikĂ€ tahansa API-pyynnön runko ja katso heti, kuinka OmniRoute kÀÀntÀÀ sen toimittajamuotojen vĂ€lillĂ€ (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). SisĂ€ltÀÀ esimerkkimalleja ja muotojen automaattisen tunnistuksen. | | **💬 Chat Tester** | LĂ€hetĂ€ todellisia chat-pyyntöjĂ€ OmniRouten kautta ja katso koko meno-paluu: syötteesi, kÀÀnnetty pyyntö, palveluntarjoajan vastaus ja kÀÀnnetty vastaus takaisin. Korvaamaton yhdistelmĂ€reitityksen vahvistamisessa. | | **đŸ§Ș Testipenkki** | ErĂ€testaustila — mÀÀritĂ€ useita testitapauksia eri tuloilla ja odotettavissa olevilla lĂ€hdöillĂ€, suorita ne kaikki kerralla ja vertaile tuloksia eri toimittajien ja mallien vĂ€lillĂ€. | | **đŸ“± Live Monitor** | Reaaliaikainen pyyntöjen seuranta – seuraa saapuvia pyyntöjĂ€ niiden kulkeessa OmniRouten kautta, katso muotokÀÀnnökset reaaliajassa ja tunnista ongelmat vĂ€littömĂ€sti. | **KĂ€yttö:** Kojelauta → KÀÀntĂ€jĂ€ (sivupalkki) ### đŸ’Ÿ Cloud Sync - Synkronoi palveluntarjoajat, yhdistelmĂ€t ja asetukset eri laitteiden vĂ€lillĂ€ - Automaattinen taustasynkronointi - Suojattu salattu tallennustila
## đŸ§Ș Arvioinnit (Evals) OmniRoute sisĂ€ltÀÀ sisÀÀnrakennetun arviointikehyksen, jolla testataan LLM-vastauksen laatua kultaiseen joukkoon verrattuna. KĂ€ytĂ€ sitĂ€ kojelaudan **Analytics → Evals** kautta. ### SisÀÀnrakennettu kultainen setti Esiladattu "OmniRoute Golden Set" sisĂ€ltÀÀ 10 testitapausta, jotka kattavat: - Tervehdys, matematiikka, maantiede, koodin luominen - JSON-muodon noudattaminen, kÀÀnnös, merkintĂ€ - Turvallisuuskielto (haitallinen sisĂ€ltö), laskenta, boolen logiikka ### Arviointistrategiat | Strategia | Kuvaus | Esimerkki | | ---------- | ------------------------------------------------------------------------ | -------------------------------- | | `exact` | Tulosten on vastattava tarkasti | `"4"` | | `contains` | Tulosteen tulee sisĂ€ltÀÀ alimerkkijono (kirjainkoolla ei ole merkitystĂ€) | `"Paris"` | | `regex` | Tulostuksen on vastattava regex-mallia | `"1.*2.*3"` | | `custom` | Mukautettu JS-funktio palauttaa true/false | `(output) => output.length > 10` | --- ## 📖 Asennusopas
💳 Tilauksen tarjoajat ### Claude Code (Pro/Max) ```bash Dashboard → Providers → Connect Claude Code → OAuth login → Auto token refresh → 5-hour + weekly quota tracking Models: cc/claude-opus-4-6 cc/claude-sonnet-4-5-20250929 cc/claude-haiku-4-5-20251001 ``` **Provinkki:** KĂ€ytĂ€ Opusta monimutkaisiin tehtĂ€viin ja Sonnetia nopeutta varten. OmniRoute jĂ€ljityskiintiö mallia kohden! ### OpenAI Codex (Plus/Pro) ```bash Dashboard → Providers → Connect Codex → OAuth login (port 1455) → 5-hour + weekly reset Models: cx/gpt-5.2-codex cx/gpt-5.1-codex-max ``` ### Gemini CLI (ILMAINEN 180 000/kk!) ```bash Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **Paras hinta-laatusuhde:** Valtava ilmainen taso! KĂ€ytĂ€ tĂ€tĂ€ ennen maksettuja tasoja. ### GitHub Copilot ```bash Dashboard → Providers → Connect GitHub → OAuth via GitHub → Monthly reset (1st of month) Models: gh/gpt-5 gh/claude-4.5-sonnet gh/gemini-3-pro ```
🔑 API-avaintoimittajat ### NVIDIA NIM (ILMAINEN 1000 krediittiĂ€!) 1. Rekisteröidy: [build.nvidia.com](https://build.nvidia.com) 2. Hanki ilmainen API-avain (sisĂ€ltÀÀ 1000 johtopÀÀtöskrediittiĂ€) 3. Kojelauta → LisÀÀ toimittaja → NVIDIA NIM: - API-avain: `nvapi-your-key` **Mallit:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` ja yli 50 muuta **Provinkki:** OpenAI-yhteensopiva API – toimii saumattomasti OmniRouten muotokÀÀnnöksen kanssa! ### DeepSeek 1. Rekisteröidy: [platform.deepseek.com](https://platform.deepseek.com) 2. Hanki API-avain 3. Dashboard → Add Provider → DeepSeek **Mallit:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (ilmainen taso saatavilla!) 1. Rekisteröidy: [console.groq.com](https://console.groq.com) 2. Hanki API-avain (ilmainen taso mukana) 3. Dashboard → Add Provider → Groq **Mallit:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Provinkki:** ErittĂ€in nopea pÀÀttely – paras reaaliaikaiseen koodaukseen! ### OpenRouter (100+ mallia) 1. Rekisteröidy: [openrouter.ai](https://openrouter.ai) 2. Hanki API-avain 3. Dashboard → Add Provider → OpenRouter **Mallit:** KĂ€ytĂ€ yli 100 mallia kaikilta tĂ€rkeimmiltĂ€ palveluntarjoajilta yhdellĂ€ API-avaimella.
💰 Halvat palveluntarjoajat (Varmuuskopio) ### GLM-4.7 (PĂ€ivittĂ€inen nollaus, 0,6 $/1 milj.) 1. Rekisteröidy: [Zhipu AI](https://open.bigmodel.cn/) 2. Hanki API-avain Coding Planista 3. Hallintapaneeli → LisÀÀ API-avain: - Palveluntarjoaja: `glm` - API-avain: `your-key` **KĂ€ytĂ€:** `glm/glm-4.7` **Provinkki:** Koodaussuunnitelma tarjoaa 3-kertaisen kiintiön 1/7 hinnalla! Nollaa pĂ€ivittĂ€in klo 10.00. ### MiniMax M2.1 (5 h nollaus, 0,20 $/1 milj.) 1. Rekisteröidy: [MiniMax](https://www.minimax.io/) 2. Hanki API-avain 3. Kojelauta → LisÀÀ API-avain **KĂ€ytĂ€:** `minimax/MiniMax-M2.1` **Ammattilaisen vinkki:** Halvin vaihtoehto pitkĂ€lle kontekstille (1 milj. merkkiĂ€)! ### Kimi K2 (9 dollaria/kk asunto) 1. Tilaa: [Moonshot AI](https://platform.moonshot.ai/) 2. Hanki API-avain 3. Kojelauta → LisÀÀ API-avain **KĂ€ytĂ€:** `kimi/kimi-latest` **Ammattilaisen vinkki:** KiinteĂ€ 9 dollaria kuukaudessa 10 miljoonalle tokenille = 0,90 dollaria / 1 miljoona todellista hintaa!
🆓 ILMAISIA palveluntarjoajia (hĂ€tĂ€varmuuskopio) ### iFlow (8 ILMAISTA mallia) ```bash Dashboard → Connect iFlow → iFlow OAuth login → Unlimited usage Models: if/kimi-k2-thinking if/qwen3-coder-plus if/glm-4.7 if/minimax-m2 if/deepseek-r1 ``` ### Qwen (3 ILMAISTA mallia) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude ILMAINEN) ```bash Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
🎹 Luo komboja ### Esimerkki 1: Maksimoi tilaus → Halpa varmuuskopio ``` Dashboard → Combos → Create New Name: premium-coding Models: 1. cc/claude-opus-4-6 (Subscription primary) 2. glm/glm-4.7 (Cheap backup, $0.6/1M) 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) Use in CLI: premium-coding ``` ### Esimerkki 2: Vain ilmainen (nollahinta) ``` Name: free-combo Models: 1. gc/gemini-3-flash-preview (180K free/month) 2. if/kimi-k2-thinking (unlimited) 3. qw/qwen3-coder-plus (unlimited) Cost: $0 forever! ```
🔧 CLI-integrointi ### Kohdistimen IDE ``` Settings → Models → Advanced: OpenAI API Base URL: http://localhost:20128/v1 OpenAI API Key: [from OmniRoute dashboard] Model: cc/claude-opus-4-6 ``` ### Claude Code KĂ€ytĂ€ kojelaudan **CLI Tools** -sivua mÀÀrittÀÀksesi yhdellĂ€ napsautuksella tai muokkaa `~/.claude/settings.json` manuaalisesti. ### Codex CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### OpenClaw **Vaihtoehto 1 – hallintapaneeli (suositus):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **Vaihtoehto 2 – Manuaalinen:** Muokkaa `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Huomaa:** OpenClaw toimii vain paikallisen OmniRouten kanssa. KĂ€ytĂ€ `127.0.0.1` `localhost` sijaan IPv6-resoluutioongelmien vĂ€lttĂ€miseksi. ### Cline / Continue / RooCode ``` Settings → API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ```
--- ## 🐛 VianetsintĂ€
Laajenna vianetsintĂ€opas napsauttamalla **"Kielimalli ei antanut viestejĂ€"** - Palveluntarjoajan kiintiö kĂ€ytetty loppuun → Tarkista kojelaudan kiintiön seuranta - Ratkaisu: KĂ€ytĂ€ yhdistelmĂ€varaa tai vaihda halvempaan tasoon **hintarajoitus** - Tilauskiintiö loppu → Varaa GLM/MiniMaxiin - LisÀÀ yhdistelmĂ€: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` **OAuth-tunnus vanhentunut** - OmniRoute pĂ€ivittÀÀ automaattisesti - Jos ongelmat jatkuvat: Kojelauta → Palveluntarjoaja → YhdistĂ€ uudelleen **Korkeat kustannukset** - Tarkista kĂ€yttötilastot kohdassa Dashboard → Costs - Vaihda ensisijaiseksi malliksi GLM/MiniMax - KĂ€ytĂ€ ilmaista tasoa (Gemini CLI, iFlow) ei-kriittisiin tehtĂ€viin **Kojelauta avautuu vÀÀrÀÀn porttiin** - Aseta `PORT=20128` ja `NEXT_PUBLIC_BASE_URL=http://localhost:20128` **Pilvisynkronointivirheet** - Vahvista `BASE_URL` pistettĂ€ kĂ€ynnissĂ€ olevaan esiintymÀÀsi - Vahvista `CLOUD_URL` pistettĂ€ odotettuun pilvipÀÀtepisteeseen - PidĂ€ `NEXT_PUBLIC_*`-arvot kohdakkain palvelinpuolen arvojen kanssa **EnsimmĂ€inen kirjautuminen ei toimi** - Tarkista `INITIAL_PASSWORD` kohteessa `.env` - Jos ei ole asetettu, varasalasana on `123456` **Ei pyyntölokeja** - Aseta `ENABLE_REQUEST_LOGS=true` kohteeseen `.env` **Yhteystesti nĂ€yttÀÀ "Virheellinen" OpenAI-yhteensopiville palveluntarjoajille** - Monet palveluntarjoajat eivĂ€t paljasta `/models`-pÀÀtepistettĂ€ - OmniRoute v1.0.6+ sisĂ€ltÀÀ varatarkistuksen chatin loppuunsaattamisen kautta - Varmista, ettĂ€ perus-URL sisĂ€ltÀÀ `/v1`-liitteen ### 🔐 OAuth > **⚠ TÄRKEÄÄ kĂ€yttĂ€jille com OmniRoute em VPS/Docker/servidor Remoto** ### OAuth Os provedores **Antigravity** ja **Gemini CLI** usam **Google OAuth 2.0** para autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs pre-cadastradas no Google Cloud Console do aplicativo. As credenciais OAuth embutidas no OmniRoute estĂŁo cadastradas **apenas para `localhost`**. Quando vocĂȘ acessa o OmniRoute em um servidor Remoto (esim. `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: ``` Error 400: redirect_uri_mismatch ``` ### Ratkaisu: MÀÀritĂ€ suas prĂłprias credenciais OAuth VocĂȘ precisa criar um **OAuth 2.0 Client ID** ei Google Cloud Console com URI do seu servidor. #### Passo a passo **1. Acesse tai Google Cloud Console** Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Crie um novo OAuth 2.0 -asiakastunnus** - Klikkaa em **"+ Luo kirjautumistiedot"** → **"OAuth-asiakastunnus"** - Tipo de aplicativo: **"Web-sovellus"** - Nimi: escolha qualquer nome (esim.: `OmniRoute Remote`) **3. Adicione valtuutettuina uudelleenohjaus-URI:ina** No campo **"Authorized redirect URIs"**, lisĂ€ys: ``` https://seu-servidor.com/callback ``` > Korvaa `seu-servidor.com` pelo dominio tai IP do seu servidor (mukaan lukien porta se necessĂĄrio, esim. `http://45.33.32.156:20128/callback`). **4. Tallenna kopio valtuutuksena** ApĂłs criar, o Google mostrarĂĄ o **Client ID** e o **Client Secret**. **5. MÀÀritĂ€ variĂĄveis de ambiente** Ei seu `.env` (ou nas variĂĄveis de ambiente do Docker): ```bash # Para Antigravity: ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret # Para Gemini CLI: GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret ``` **6. Reinicie o OmniRoute** ```bash # Se usando npm: npm run dev # Se usando Docker: docker restart omniroute ``` **7. Tente conectar novamente** Dashboard → Providers → Antigravity (ou Gemini CLI) → OAuth Agora o Google redirecionarĂĄ corretamente para `https://seu-servidor.com/callback` e a autenticação funcionarĂĄ. --- #### Workaround temporĂĄrio (sem configurar credenciais prĂłprias) Se nĂŁo quiser criar credenciais prĂłprias agora, ainda Ă© possĂ­vel usar o fluxo **manual de URL**: 1. OmniRoute lĂ€hettÀÀ Googlen lupa-osoitteen 2. ApĂłs vocĂȘ autorizar, o Google tentarĂĄ redirecionar para `localhost` (que falha no servidor Remoto) 3. **Kopioi URL-osoite tĂ€ydellinen** da barra de endereço do seu selaimessa (mesmo que a pĂĄgina nĂŁo carregue) 4. Cole essa URL no campo que aparece no modal de conexĂŁo do OmniRoute 5. Klikkaa em **"YhdistĂ€"** > Este workaround funciona porque o cĂłdigo de autorização na URL Ă© vĂĄlido independente do redirect ter carregado ou nĂŁo.
--- ## đŸ› ïž - **Suoritusaika**: Node.js 18–22 LTS (⚠ Node.js 24+ -versiota **ei tueta** — `better-sqlite3` alkuperĂ€iset binaarit eivĂ€t ole yhteensopivia) - **Kieli**: TypeScript 5.9 — **100 % TypeScript** `src/` ja `open-sse/` (v1.0.6) vĂ€lillĂ€ - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Tietokanta**: LowDB (JSON) + SQLite (verkkotunnuksen tila + vĂ€lityspalvelimen lokit) - **Striimaus**: Palvelimen lĂ€hettĂ€mĂ€t tapahtumat (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + API-avaimet - **Testaus**: Node.js-testausohjelma (368+ yksikkötestiĂ€) - **CI/CD**: GitHub Actions (automaattinen npm-julkaisu + Docker Hub julkaisussa) - **Verkkosivusto**: [omniroute.online](https://omniroute.online) - **Paketti**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Dokkeri**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **KestĂ€vyys**: Katkaisija, eksponentiaalinen backoff, ukkosen esto, TLS-huijaus --- ## 📖 Dokumentaatio | Asiakirja | Kuvaus | | -------------------------------------------- | ------------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Palveluntarjoajat, yhdistelmĂ€t, CLI-integrointi, kĂ€yttöönotto | | [API Reference](docs/API_REFERENCE.md) | Kaikki pÀÀtepisteet esimerkeineen | | [Troubleshooting](docs/TROUBLESHOOTING.md) | YleisiĂ€ ongelmia ja ratkaisuja | | [Architecture](docs/ARCHITECTURE.md) | JĂ€rjestelmĂ€arkkitehtuuri ja sisĂ€osat | | [Contributing](CONTRIBUTING.md) | KehittĂ€misjĂ€rjestelyt ja -ohjeet | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 -spesifikaatio | | [Security Policy](SECURITY.md) | Haavoittuvuusraportointi ja tietoturvakĂ€ytĂ€nnöt | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | TĂ€ydellinen opas: VM + nginx + Cloudflare-asennus | | [Features Gallery](docs/FEATURES.md) | Visuaalinen kojelautakierros kuvakaappauksilla | ### 📾 Kojelaudan esikatselu
Klikkaa nÀhdÀksesi hallintapaneelin kuvakaappaukset | Sivu | Kuvakaappaus | | ---------------- | ------------------------------------------------- | | **Palvelut** | ![Providers](docs/screenshots/01-providers.png) | | **YhdistelmÀt** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **Terveys** | ![Health](docs/screenshots/04-health.png) | | **KÀÀntÀjÀ** | ![Translator](docs/screenshots/05-translator.png) | | **Asetukset** | ![Settings](docs/screenshots/06-settings.png) | | **CLI-työkalut** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **KÀyttölokit** | ![Usage](docs/screenshots/08-usage.png) | | **PÀÀtepiste** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## đŸ—ș OmniRoutella on **210+ suunniteltua ominaisuutta** useissa kehitysvaiheissa. TĂ€ssĂ€ ovat tĂ€rkeimmĂ€t alueet: | Luokka | Suunnitellut ominaisuudet | Kohokohdat | | ------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------------------- | | 🧠 **Routing & Intelligence** | 25+ | PienimmĂ€n viiveen reititys, tunnistepohjainen reititys, kiintiön esitarkastus, P2C-tilin valinta | | 🔒 **Turvallisuus ja vaatimustenmukaisuus** | 20+ | SSRF-karkaisu, valtuustietojen peittĂ€minen, pÀÀtepistekohtainen nopeusraja, hallintaavaimen laajuus | | 📊 **Havaittavuus** | 15+ | OpenTelemetry-integraatio, reaaliaikainen kiintiöiden seuranta, kustannusseuranta mallikohtaisesti | | 🔄 **Tarjoajien integraatiot** | 20+ | Dynaaminen mallirekisteri, palveluntarjoajan jÀÀhtyminen, usean tilin Codex, Copilot-kiintiön jĂ€sentĂ€minen | | ⚡ **Suorituskyky** | 15+ | KaksoisvĂ€limuistikerros, kehotevĂ€limuisti, vastausvĂ€limuisti, suoratoiston yllĂ€pitĂ€minen, erĂ€-API | | 🌐 **Ekosysteemi** | 10+ | WebSocket API, konfiguroinnin hot-reload, hajautettu konfiguraatiosĂ€ilö, kaupallinen tila | ### 🔜 Tulossa pian - 🔗 **OpenCode Integration** - Natiivitoimittajan tuki OpenCode AI -koodaus-IDE:lle - 🔗 **TRAE-integraatio** — TĂ€ysi tuki TRAE AI -kehityskehykselle - 📩 **ErĂ€sovellusliittymĂ€** — Asynkroninen erĂ€kĂ€sittely joukkopyyntöille - 🎯 **Tagipohjainen reititys** - Reittipyynnöt mukautettujen tunnisteiden ja metatietojen perusteella - 💰 **Alhaisimman kustannustason strategia** - Valitse automaattisesti halvin saatavilla oleva palveluntarjoaja > 📝 TĂ€ydelliset ominaisuudet saatavilla osoitteessa [link](docs/new-features/) (217 yksityiskohtaista spesifikaatiota) --- ## đŸ‘„ Avustajat [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Kuinka osallistua 1. Haarukka arkisto 2. Luo ominaisuushaara (`git checkout -b feature/amazing-feature`) 3. Vahvista muutokset (`git commit -m 'Add amazing feature'`) 4. TyönnĂ€ haaraan (`git push origin feature/amazing-feature`) 5. Avaa vetopyyntö Katso tarkemmat ohjeet kohdasta [CONTRIBUTING.md](CONTRIBUTING.md). ### Uuden version julkaisu ```bash # Create a release — npm publish happens automatically gh release create v1.0.6 --title "v1.0.6" --generate-notes ``` --- ## 📊 TĂ€htihistoria Star History Chart --- ## 🙏 Kiitokset Erityinen kiitos **[9router](https://github.com/decolua/9router)**, **[decolua](https://github.com/decolua)** - alkuperĂ€inen projekti, joka inspiroi tĂ€tĂ€ haarukkaa. OmniRoute rakentaa tĂ€lle uskomattomalle perustalle lisĂ€ominaisuuksia, multimodaalisia API-liittymiĂ€ ja tĂ€ydellistĂ€ TypeScript-uudelleenkirjoitusta. Erityinen kiitos **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** - alkuperĂ€iselle Go-toteutukselle, joka inspiroi tĂ€tĂ€ JavaScript-porttia. --- ## 📄 Lisenssi MIT-lisenssi – katso lisĂ€tietoja osoitteesta [LICENSE](LICENSE). ---
Rakennettu ❀-kehittĂ€jille, jotka koodaavat 24/7
omniroute.online