OmniRoute Dashboard # 🚀 OmniRoute — Den kostnadsfria AI-gatewayen ### Sluta aldrig koda. Smart routing till **GRATIS & lĂ„gkostnads ​​AI-modeller** med automatisk reserv. _Din universella API-proxy — en slutpunkt, 36+ leverantörer, noll driftstopp._ **Slutförda chatt ‱ InbĂ€ddningar ‱ Bildgenerering ‱ Ljud ‱ Omrankning ‱ 100 % TypeScript** --- ### đŸ€– Gratis AI-leverantör för dina favoritkodningsagenter _Anslut alla AI-drivna IDE- eller CLI-verktyg via OmniRoute — gratis API-gateway för obegrĂ€nsad kodning._
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
📡 Alla agenter ansluter via http://localhost:20128/v1 eller http://cloud.omniroute.online/v1, —limited one config_245\_\_ kvot --- [![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) |
--- ## đŸ€” Varför OmniRoute? **Sluta slösa pengar och nĂ„ grĂ€nser:** - Prenumerationskvoten löper ut oanvĂ€nd varje mĂ„nad - HastighetsgrĂ€nser stoppar dig mellankodning - Dyra API:er ($20-50/mĂ„nad per leverantör) - Manuellt byte mellan leverantörer **OmniRoute löser detta:** - ✅ **Maximera prenumerationer** - SpĂ„ra kvot, anvĂ€nd varje bit innan Ă„terstĂ€llning - ✅ **Automatisk reserv** - Prenumeration → API-nyckel → Billigt → Gratis, noll driftstopp - ✅ **Multi-konto** - Round-robin mellan konton per leverantör - ✅ **Universal** - Fungerar med Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, vilket CLI-verktyg som helst --- ## 📧 Support > 💬 **GĂ„ med i vĂ„r community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) — FĂ„ hjĂ€lp, dela tips och hĂ„ll dig uppdaterad. - **Webbplats**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **FrĂ„gor**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **Originalprojekt**: [9router by decolua](https://github.com/decolua/9router) --- ## 🔄 Hur det fungerar ``` ┌─────────────┐ │ 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 ``` --- ## 🎯 Vad OmniRoute löser — 30 verkliga smĂ€rtpunkter och anvĂ€ndningsfall > **Varje utvecklare som anvĂ€nder AI-verktyg möter dessa problem dagligen.** OmniRoute byggdes för att lösa dem alla — frĂ„n kostnadsöverskridanden till regionala block, frĂ„n trasiga OAuth-flöden till protokolloperationer och observerbarhet i företag.
💾 1. "Jag betalar för ett dyrt abonnemang men blir Ă€ndĂ„ avbruten av limits" Utvecklare betalar $20–200/mĂ„nad för Claude Pro, Codex Pro eller GitHub Copilot. Även om du betalar har kvoten ett tak - 5 timmars anvĂ€ndning, veckogrĂ€nser eller grĂ€nser per minut. Mid-coding session, leverantören slutar svara och utvecklaren tappar flöde och produktivitet. **Hur OmniRoute löser det:** - **Smart 4-lagers fallback** — Om prenumerationskvoten tar slut, omdirigeras automatiskt till API-nyckel → Billigt → Gratis med noll manuellt ingrepp - **KvotspĂ„rning i realtid** — Visar tokenförbrukning i realtid med Ă„terstĂ€llningsnedrĂ€kning (5 timmar, dagligen, veckovis) - **Multi-Account Support** — Flera konton per leverantör med automatisk round-robin — nĂ€r ett tar slut, byter du till nĂ€sta - **Anpassade kombinationer** — Anpassningsbara reservkedjor med 6 balanseringsstrategier (fill-first, round-robin, P2C, slumpmĂ€ssig, minst anvĂ€nda, kostnadsoptimerad) - **Codex Business Quotas** — Övervakning av företags-/teamarbetsutrymmeskvoter direkt i instrumentpanelen
🔌 2. "Jag mĂ„ste anvĂ€nda flera leverantörer men alla har olika API" OpenAI anvĂ€nder ett format, Claude (Anthropic) anvĂ€nder ett annat, Gemini Ă€nnu ett annat. Om en utvecklare vill testa modeller frĂ„n olika leverantörer eller fallback mellan dem mĂ„ste de konfigurera om SDK:er, Ă€ndra slutpunkter, hantera inkompatibla format. Anpassade leverantörer (FriendLI, NIM) har icke-standardiserade modellslutpunkter. **Hur OmniRoute löser det:** - **Unified Endpoint** — En enda `http://localhost:20128/v1` fungerar som proxy för alla 36+ leverantörer - **FormatöversĂ€ttning** — Automatisk och transparent: OpenAI ↔ Claude ↔ Gemini ↔ Responses API - **Responssanering** — Tar bort icke-standardiserade fĂ€lt (`x_groq`, `usage_breakdown`, `service_tier`) som bryter OpenAI SDK v1.83+ - **Rollnormalisering** — Konverterar `developer` → `system` för icke-OpenAI-leverantörer; `system` → `user` för GLM/ERNIE - **Think Tag Extraction** — Extraherar ``-block frĂ„n modeller som DeepSeek R1 till standardiserade `reasoning_content` - **Structured Output for Gemini** — `json_schema` → `responseMimeType`/`responseSchema` automatisk konvertering - **`stream` Ă€r standard till `false`** — Justerar med OpenAI-specifikationen, undviker ovĂ€ntad SSE i Python/Rust/Go SDK:er
🌐 3. "Min AI-leverantör blockerar min region/land" Leverantörer som OpenAI/Codex blockerar Ă„tkomst frĂ„n vissa geografiska regioner. AnvĂ€ndare fĂ„r fel som `unsupported_country_region_territory` under OAuth- och API-anslutningar. Detta Ă€r sĂ€rskilt frustrerande för utvecklare frĂ„n utvecklingslĂ€nder. **Hur OmniRoute löser det:** - **3-Level Proxy Config** — Konfigurerbar proxy pĂ„ 3 nivĂ„er: global (all trafik), per leverantör (endast en leverantör) och per anslutning/nyckel - **FĂ€rgkodade proxymĂ€rken** — Visuella indikatorer: 🟱 global proxy, 🟡 leverantörsproxy, đŸ”” anslutningsproxy, visar alltid IP:n - **OAuth Token Exchange Through Proxy** — OAuth-flödet gĂ„r ocksĂ„ genom proxyn, vilket löser `unsupported_country_region_territory` - **Anslutningstester via proxy** — Anslutningstester anvĂ€nder den konfigurerade proxyn (ingen mer direkt förbikoppling) - **SOCKS5-stöd** — FullstĂ€ndigt SOCKS5-proxystöd för utgĂ„ende routing - **TLS Fingerprint Spoofing** — WebblĂ€sarliknande TLS-fingeravtryck via `wreq-js` för att kringgĂ„ botdetektering
🆓 4. "Jag vill anvĂ€nda AI för kodning men jag har inga pengar" Alla kan inte betala $20–200/mĂ„nad för AI-prenumerationer. Studenter, utvecklare frĂ„n tillvĂ€xtlĂ€nder, hobbyister och frilansare behöver tillgĂ„ng till kvalitetsmodeller utan kostnad. **Hur OmniRoute löser det:** - **Gratis leverantörer inbyggda** — Inbyggt stöd för 100 % gratis leverantörer: iFlow (8 obegrĂ€nsade modeller), Qwen (3 obegrĂ€nsade modeller), Kiro (Claude gratis), Gemini CLI (180K/mĂ„nad gratis) - **Free-Only Combos** — Chain `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/mĂ„nad utan stillestĂ„ndstid - **NVIDIA NIM gratis krediter** — 1000 gratis krediter integrerade - **Kostnadsoptimerad strategi** — Routingstrategi som automatiskt vĂ€ljer den billigaste tillgĂ€ngliga leverantören
🔒 5. "Jag behöver skydda min AI-gateway frĂ„n obehörig Ă„tkomst" NĂ€r du exponerar en AI-gateway för nĂ€tverket (LAN, VPS, Docker) kan vem som helst med adressen konsumera utvecklarens tokens/kvot. Utan skydd Ă€r API:er sĂ„rbara för missbruk, snabb injektion och missbruk. **Hur OmniRoute löser det:** - **API Key Management** — Generering, rotation och omfattning per leverantör med en dedikerad `/dashboard/api-manager`-sida - **Behörigheter pĂ„ modellnivĂ„** — BegrĂ€nsa API-nycklar till specifika modeller (`openai/*`, jokerteckenmönster), med vĂ€xlaren TillĂ„t allt/BegrĂ€nsa - **API Endpoint Protection** — KrĂ€v en nyckel för `/v1/models` och blockera specifika leverantörer frĂ„n listan - **Auth Guard + CSRF Protection** — Alla instrumentpanelsrutter skyddade med `withAuth` middleware + CSRF-tokens - **Rate Limiter** — Per-IP-hastighetsbegrĂ€nsning med konfigurerbara fönster - **IP-filtrering** — TillĂ„telselista/blockeringslista för Ă„tkomstkontroll - **Prompt Injection Guard** — Sanering mot skadliga promptmönster - **AES-256-GCM-kryptering** — Autentiseringsuppgifter krypterade i vila
🛑 6. "Min leverantör gick ner och jag tappade mitt kodningsflöde" AI-leverantörer kan bli instabila, returnera 5xx-fel eller nĂ„ tillfĂ€lliga hastighetsgrĂ€nser. Om en utvecklare Ă€r beroende av en enskild leverantör avbryts de. Utan strömbrytare kan upprepade försök krascha programmet. **Hur OmniRoute löser det:** - **Circuit Breaker per leverantör** — Autoöppning/stĂ€ngning med konfigurerbara trösklar och nedkylning (stĂ€ngd/öppen/halvöppen) - **Exponentiell backoff** — Progressiva fördröjningar igen - **Anti-Thundering Herd** — Mutex + semaforskydd mot samtidiga stormar igen - **Combo reservkedjor** — Om den primĂ€ra leverantören misslyckas, faller den automatiskt genom kedjan utan ingrepp - **Combo Circuit Breaker** - Inaktiverar automatiskt felande leverantörer inom en kombinationskedja - **Health Dashboard** — Drifttidsövervakning, strömbrytartillstĂ„nd, lĂ„sningar, cachestatistik, p50/p95/p99 latens
🔧 7. "Att konfigurera varje AI-verktyg Ă€r trĂ„kigt och repetitivt" Utvecklare anvĂ€nder Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Varje verktyg behöver en annan konfiguration (API-slutpunkt, nyckel, modell). Att konfigurera om nĂ€r man byter leverantör eller modell Ă€r ett slöseri med tid. **Hur OmniRoute löser det:** - **CLI Tools Dashboard** — Dedikerad sida med ett-klicksinstĂ€llningar för Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline - **GitHub Copilot Config Generator** — Genererar `chatLanguageModels.json` för VS-kod med bulkmodellval - **Onboarding Wizard** — Guidad 4-stegs installation för förstagĂ„ngsanvĂ€ndare - **En slutpunkt, alla modeller** — Konfigurera `http://localhost:20128/v1` en gĂ„ng, fĂ„ tillgĂ„ng till 36+ leverantörer
🔑 8. "Hantera OAuth-tokens frĂ„n flera leverantörer Ă€r ett helvete" Claude Code, Codex, Gemini CLI, Copilot — alla anvĂ€nder OAuth 2.0 med utgĂ„ende tokens. Utvecklare mĂ„ste autentisera pĂ„ nytt hela tiden, hantera `client_secret is missing`, `redirect_uri_mismatch` och fel pĂ„ fjĂ€rrservrar. OAuth pĂ„ LAN/VPS Ă€r sĂ€rskilt problematiskt. **Hur OmniRoute löser det:** - **Automatisk uppdatering av token** — OAuth-tokens uppdateras i bakgrunden innan de löper ut - **OAuth 2.0 (PKCE) Inbyggd** — Automatiskt flöde för Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow - **Multi-Account OAuth** — Flera konton per leverantör via JWT/ID-tokenextraktion - **OAuth LAN/Remote Fix** — Privat IP-detektering för `redirect_uri` + manuellt URL-lĂ€ge för fjĂ€rrservrar - **OAuth Behind Nginx** — AnvĂ€nder `window.location.origin` för omvĂ€nd proxykompatibilitet - **Remote OAuth Guide** — Steg-för-steg-guide för Google Cloud-uppgifter pĂ„ VPS/Docker
📊 9. "Jag vet inte hur mycket jag spenderar eller var" Utvecklare anvĂ€nder flera betalleverantörer men har ingen enhetlig syn pĂ„ utgifter. Varje leverantör har sin egen faktureringspanel, men det finns ingen konsoliderad vy. OvĂ€ntade kostnader kan hopa sig. **Hur OmniRoute löser det:** - **Kostnadsanalysinstrumentpanel** — KostnadsspĂ„rning per token och budgethantering per leverantör - **BudgetgrĂ€nser per nivĂ„** — Utgiftstak per nivĂ„ som utlöser automatisk reserv - **Priskonfiguration per modell** — Konfigurerbara priser per modell - **AnvĂ€ndningsstatistik per API-nyckel** — Antal förfrĂ„gningar och senast anvĂ€nda tidsstĂ€mpel per nyckel - **Analytics Dashboard** — Statistikkort, modellanvĂ€ndningsdiagram, leverantörstabell med framgĂ„ngsfrekvens och latens
🐛 10. "Jag kan inte diagnostisera fel och problem i AI-samtal" NĂ€r ett samtal misslyckas vet inte utvecklaren om det var en hastighetsgrĂ€ns, utgĂ„ngen token, fel format eller leverantörsfel. Fragmenterade loggar över olika terminaler. Utan observerbarhet Ă€r felsökning att trial-and-error. **Hur OmniRoute löser det:** - **Unified Logs Dashboard** — 4 flikar: Request Logs, Proxy Logs, Audit Logs, Console - **Console Log Viewer** — Viewer i realtid i terminalstil med fĂ€rgkodade nivĂ„er, automatisk rullning, sökning, filtrering - **SQLite Proxy-loggar** — BestĂ€ndiga loggar som överlever serverstarter - **Translator Playground** — 4 felsökningslĂ€gen: Playground (formatöversĂ€ttning), Chat Tester (tur och retur), TestbĂ€nk (batch), Live Monitor (realtid) - **Request Telemetri** — p50/p95/p99 latens + X-Request-Id-spĂ„rning - **Filbaserad loggning med rotation** — Konsolinterceptor fĂ„ngar allt till JSON-logg med storleksbaserad rotation
đŸ—ïž 11. "Det Ă€r komplext att distribuera och underhĂ„lla gatewayen" Att installera, konfigurera och underhĂ„lla en AI-proxy i olika miljöer (lokalt, VPS, Docker, moln) Ă€r arbetskrĂ€vande. Problem som hĂ„rdkodade sökvĂ€gar, `EACCES` pĂ„ kataloger, portkonflikter och plattformsoberoende konstruktioner ger friktion. **Hur OmniRoute löser det:** - **npm global installation** — `npm install -g omniroute && omniroute` — klar - **Docker Multi-Platform** — AMD64 + ARM64 inbyggt (Apple Silicon, AWS Graviton, Raspberry Pi) - **Docker Compose Profiles** — `base` (inga CLI-verktyg) och `cli` (med Claude Code, Codex, OpenClaw) - **Electron Desktop App** — Inbyggd app för Windows/macOS/Linux med systemfĂ€ltet, autostart, offlinelĂ€ge - **Split-Port Mode** — API och Dashboard pĂ„ separata portar för avancerade scenarier (omvĂ€nd proxy, containernĂ€tverk) - **Cloud Sync** — Konfigurera synkronisering mellan enheter via Cloudflare Workers - **DB-sĂ€kerhetskopior** — Automatisk sĂ€kerhetskopiering, Ă„terstĂ€llning, export och import av alla instĂ€llningar
🌍 12. "GrĂ€nssnittet Ă€r endast engelska och mitt team talar inte engelska" Lag i icke-engelsktalande lĂ€nder, sĂ€rskilt i Latinamerika, Asien och Europa, kĂ€mpar med enbart engelska grĂ€nssnitt. SprĂ„kbarriĂ€rer minskar anvĂ€ndningen och ökar konfigurationsfelen. **Hur OmniRoute löser det:** - **Dashboard i18n — 30 sprĂ„k** — Alla 500+ nycklar översatta, inklusive arabiska, bulgariska, danska, tyska, spanska, finska, franska, hebreiska, hindi, ungerska, indonesiska, italienska, japanska, koreanska, malaysiska, hollĂ€ndska, norska, polska, portugisiska (PT/BR), rumĂ€nska, ryska, thailĂ€ndska, ukrainska, ukrainska, kinesiska, engelska, ukrainska, vietnamesiska, ukrainska, svenska, ukrainska - **RTL-stöd** — Höger-till-vĂ€nster-stöd för arabiska och hebreiska - **Multi-Language READMEs** — 30 fullstĂ€ndiga dokumentationsöversĂ€ttningar - **SprĂ„kvĂ€ljare** — Globikon i rubriken för vĂ€xling i realtid
🔄 13. "Jag behöver mer Ă€n chatt — jag behöver inbĂ€ddningar, bilder, ljud" AI Ă€r inte bara att slutföra chatt. Utvecklare mĂ„ste generera bilder, transkribera ljud, skapa inbĂ€ddningar för RAG, ranka om dokument och moderera innehĂ„ll. Varje API har olika slutpunkt och format. **Hur OmniRoute löser det:** - **InbĂ€ddningar** — `/v1/embeddings` med 6 leverantörer och 9+ modeller - **Bildgenerering** — `/v1/images/generations` med 10 leverantörer och 20+ modeller (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI) - **Text-till-video** — `/v1/videos/generations` — ComfyUI (AnimateDiff, SVD) och SD WebUI - **Text-to-Music** — `/v1/music/generations` — ComfyUI (Stable Audio Open, MusicGen) - **Ljudtranskription** — `/v1/audio/transcriptions` — Whisper + Nvidia NIM, HuggingFace, Qwen3 - **Text-till-tal** — `/v1/audio/speech` — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3, + befintliga leverantörer - **Moderationer** — `/v1/moderations` — InnehĂ„llssĂ€kerhetskontroller - **Omrankning** — `/v1/rerank` — Omrankning av dokumentrelevans - **Responses API** — FullstĂ€ndigt `/v1/responses`-stöd för Codex
đŸ§Ș 14. "Jag har inget sĂ€tt att testa och jĂ€mföra kvalitet mellan olika modeller" Utvecklare vill veta vilken modell som Ă€r bĂ€st för deras anvĂ€ndningsfall - kod, översĂ€ttning, resonemang - men det gĂ„r lĂ„ngsamt att jĂ€mföra manuellt. Det finns inga integrerade utvĂ€rderingsverktyg. **Hur OmniRoute löser det:** - **LLM-utvĂ€rderingar** — Golden set-testning med 10 förinstallerade fall som tĂ€cker hĂ€lsningar, matematik, geografi, kodgenerering, JSON-efterlevnad, översĂ€ttning, markdown, sĂ€kerhetsvĂ€gran - **4 matchningsstrategier** — `exact`, `contains`, `regex`, `custom` (JS-funktion) - **Translator Playground Test Bench** — Batchtestning med flera ingĂ„ngar och förvĂ€ntade utgĂ„ngar, jĂ€mförelse mellan olika leverantörer - **Chatttestare** — FullstĂ€ndig tur och retur med visuell responsĂ„tergivning - **Live Monitor** — Realtidsström av alla förfrĂ„gningar som flödar genom proxyn
📈 15. "Jag behöver skala utan att förlora prestanda" NĂ€r förfrĂ„gningsvolymen ökar, utan att cachelagra genererar samma frĂ„gor dubbla kostnader. Utan idempotens, dubbletter begĂ€r avfallshantering. PrisgrĂ€nser per leverantör mĂ„ste respekteras. **Hur OmniRoute löser det:** - **Semantisk cache** — TvĂ„skiktscache (signatur + semantisk) minskar kostnaden och fördröjningen - **Request Idempotency** — 5s dedupliceringsfönster för identiska förfrĂ„gningar - **Rate Limit Detection** — RPM per leverantör, min gap och max samtidig spĂ„rning - **Redigerbara hastighetsgrĂ€nser** — Konfigurerbara standardinstĂ€llningar i InstĂ€llningar → MotstĂ„ndskraft med uthĂ„llighet - **API Key Validation Cache** — 3-lagers cache för produktionsprestanda - **HĂ€lsoinstrumentpanel med telemetri** — p50/p95/p99 latens, cachestatistik, drifttid
đŸ€– 16. "Jag vill kontrollera modellens beteende globalt" Utvecklare som vill ha alla svar pĂ„ ett specifikt sprĂ„k, med en specifik ton, eller som vill begrĂ€nsa resonemangstokens. Att konfigurera detta i varje verktyg/förfrĂ„gan Ă€r opraktiskt. **Hur OmniRoute löser det:** - **System Prompt Injection** — Global prompt tillĂ€mpas pĂ„ alla förfrĂ„gningar - **Thinking Budget Validation** — Reasoning token allocation control per request (passthrough, auto, custom, adaptive) - **6 routingstrategier** — Globala strategier som avgör hur förfrĂ„gningar distribueras - **Wildcard Router** — `provider/*`-mönster dirigerar dynamiskt till vilken leverantör som helst - **Kombo Aktivera/Inaktivera VĂ€xla** — VĂ€xla kombinationer direkt frĂ„n instrumentpanelen - **Visa leverantör** — Aktivera/inaktivera alla anslutningar för en leverantör med ett klick - **Blockerade leverantörer** — Uteslut specifika leverantörer frĂ„n `/v1/models`-listan
🧰 17. "Jag behöver MCP-verktyg som förstklassiga produktegenskaper" MĂ„nga AI-gateways exponerar MCP endast som en dold implementeringsdetalj. Team behöver ett synligt, hanterbart driftlager. **Hur OmniRoute löser det:** - MCP visas pĂ„ navigeringspanelen och fliken för slutpunktsprotokoll - Dedikerad MCP-hanteringssida med process, verktyg, omfattningar och revision - Inbyggd snabbstart för `omniroute --mcp` och klientintroduktion
🧠 18. "Jag behöver A2A-orkestrering med synkronisering + strömningsuppgiftsvĂ€gar" Agentarbetsflöden krĂ€ver bĂ„de direkta svar och lĂ„ngvarig streamad exekvering med livscykelkontroll. **Hur OmniRoute löser det:** - A2A JSON-RPC-Ă€ndpunkt (`POST /a2a`) med `message/send` och `message/stream` - SSE-strömning med terminaltillstĂ„ndspridning - Task lifecycle API:er för `tasks/get` och `tasks/cancel`
đŸ›°ïž 19. "Jag behöver riktig MCP-processhĂ€lsa, inte gissad status" Operativa team mĂ„ste veta om MCP faktiskt lever, inte bara om ett API Ă€r tillgĂ€ngligt. **Hur OmniRoute löser det:** - Runtime heartbeat-fil med PID, tidsstĂ€mplar, transport, verktygsrĂ€kning och scope-lĂ€ge - MCP status API som kombinerar hjĂ€rtslag + senaste aktivitet - UI-statuskort för process/upptid/hjĂ€rtslagsnyhet
📋 20. "Jag behöver revisionsbart MCP-verktygsexekvering" NĂ€r verktyg muterar konfiguration eller utlöser operationsĂ„tgĂ€rder behöver team rĂ€ttsmedicinsk spĂ„rbarhet. **Hur OmniRoute löser det:** - SQLite-stödd revisionsloggning för MCP-verktygsanrop - Filtrerar efter verktyg, framgĂ„ng/misslyckande, API-nyckel och paginering - Dashboard revisionstabell + statistikslutpunkter för automatisering
🔐 21. "Jag behöver scoped MCP-behörigheter per integration" Olika klienter bör ha minst privilegierad Ă„tkomst till verktygskategorier. **Hur OmniRoute löser det:** - 9 granulĂ€ra MCP-scopes för kontrollerad verktygsĂ„tkomst - TillĂ€mpning av omfattning och synlighet i MCP-hanteringsgrĂ€nssnitt - SĂ€ker standardstĂ€llning för operativa verktyg
⚙ 22. "Jag behöver driftskontroller utan att omdistribuera" Team behöver snabba körtidsförĂ€ndringar under incidenter eller kostnadshĂ€ndelser. **Hur OmniRoute löser det:** - VĂ€xla kombinationsaktivering direkt frĂ„n MCP-instrumentpanelen - TillĂ€mpa motstĂ„ndskraftsprofiler frĂ„n fördefinierade policypaket - ÅterstĂ€ll strömbrytarens tillstĂ„nd frĂ„n samma manöverpanel
🔄 23. "I need live A2A task lifecycle synibility and cancellation" Utan livscykelsynlighet blir uppgiftsincidenter svĂ„ra att triage. **Hur OmniRoute löser det:** - Uppgiftslista/filtrering efter stat/fĂ€rdighet med sidnumrering - Drill down pĂ„ uppgiftens metadata, hĂ€ndelser och artefakter - Slutpunkt för annullering av uppgifter och grĂ€nssnittsĂ„tgĂ€rd med bekrĂ€ftelse
🌊 24. "Jag behöver mĂ€tvĂ€rden för aktiv strömning för A2A-laddning" Strömmande arbetsflöden krĂ€ver operativ insikt i samtidighet och direktanslutningar. **Hur OmniRoute löser det:** - Aktiva strömrĂ€knare integrerade i A2A-status - TidsstĂ€mpel för senaste uppgift och antal per stat - A2A instrumentpanelskort för operationsövervakning i realtid
đŸȘȘ 25. "Jag behöver standardagentupptĂ€ckt för klienter" Externa klienter och orkestratorer behöver maskinlĂ€sbar metadata för onboarding. **Hur OmniRoute löser det:** - Agentkort exponerat pĂ„ `/.well-known/agent.json` - FörmĂ„ga och fĂ€rdigheter som visas i ledningsgrĂ€nssnittet - A2A status API inkluderar upptĂ€cktsmetadata för automatisering
🧭 26. "Jag behöver protokollupptĂ€ckbarhet i produktens UX" Om anvĂ€ndare inte kan upptĂ€cka protokollytor, sjunker kvaliteten pĂ„ adoption och support. **Hur OmniRoute löser det:** - SidofĂ€ltsposter för MCP och A2A - Slutpunktssida Protokoll-fliken med snabbstart och status - LĂ€nkar frĂ„n översikt till dedikerade hanteringspaneler
đŸ§Ș 27. "Jag behöver end-to-end protokollvalidering med riktiga klienter" Mock-tester rĂ€cker inte för att validera protokollkompatibilitet före release. **Hur OmniRoute löser det:** - E2E-svit som startar appen och anvĂ€nder riktig MCP SDK-klienttransport - A2A-klient testar för upptĂ€ckt, skicka, streama, hĂ€mta och avbryta flöden - Korskontrollera pĂ„stĂ„enden mot MCP-revision och A2A-uppgifter API:er
📡 28. "Jag behöver enhetlig observerbarhet över alla grĂ€nssnitt" Att dela upp observerbarheten enligt protokoll skapar blinda flĂ€ckar och lĂ€ngre MTTR. **Hur OmniRoute löser det:** - Enhetliga instrumentpaneler/loggar/analyser i en produkt - HĂ€lsa + revision + begĂ€ran om telemetri över OpenAI-, MCP- och A2A-lager - Operativa API:er för status och automatisering
đŸ’Œ 29. "Jag behöver en körtid för proxy + verktyg + agentorkestrering" Att köra mĂ„nga separata tjĂ€nster ökar driftskostnaderna och fellĂ€gen. **Hur OmniRoute löser det:** - OpenAI-kompatibel proxy, MCP-server och A2A-server i en stack - Delad autentisering, resiliens, datalagring och observerbarhet - Konsekvent policymodell över alla interaktionsytor
🚀 30. "Jag behöver skicka agentiska arbetsflöden utan limkodsprawl" Lag tappar hastighet nĂ€r de sammanfogar flera ad-hoc-tjĂ€nster och skript. **Hur OmniRoute löser det:** - Enhetlig slutpunktsstrategi för kunder och agenter - Inbyggda grĂ€nssnitt för protokollhantering och rökvalideringsvĂ€gar - ProduktionsfĂ€rdiga grunder (sĂ€kerhet, loggning, resiliens, backup)
### Exempel pĂ„ Playbooks (integrerade anvĂ€ndningsfall) **Playbook A: Maximera betald prenumeration + billig backup** ```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 ``` **Playbook B: Noll-kostnad kodningsstack** ```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 alltid-pĂ„ reservkedja** ```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 ``` **Playbook D: Agent ops med MCP + 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 ``` --- ## ⚡ Snabbstart **1. Installera globalt:** ```bash npm install -g omniroute omniroute ``` 🎉 Instrumentpanelen öppnar kl. `http://localhost:20128` | Kommando | Beskrivning | | ----------------------- | ---------------------------------- | | `omniroute` | Startserver (standardport 20128) | | `omniroute --port 3000` | AnvĂ€nd anpassad port | | `omniroute --no-open` | Öppna inte webblĂ€saren automatiskt | | `omniroute --help` | Visa hjĂ€lp | **2. Anslut en GRATIS leverantör:** Dashboard → Leverantörer → Anslut **Claude Code** eller **Antigravity** → OAuth-inloggning → Klar! **3. AnvĂ€nd i ditt CLI-verktyg:** ``` Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: Endpoint: http://localhost:20128/v1 API Key: [copy from dashboard] Model: if/kimi-k2-thinking ``` **Det var allt!** Börja koda med GRATIS AI-modeller. **Alternativ – kör frĂ„n kĂ€llan:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Hamnarbetare OmniRoute Ă€r tillgĂ€nglig som en offentlig Docker-bild pĂ„ [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Snabbkörning:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Med miljöfil:** ```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 ``` **AnvĂ€nda Docker Compose:** ```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 ``` | Bild | Tagga | Storlek | Beskrivning | | ------------------------ | -------- | ------- | ----------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Senaste stabila utgĂ„van | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Aktuell version | --- --- ## đŸ–„ïž > 🆕 **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) --- ## 💰 PrissĂ€ttning i en överblick | NivĂ„ | Leverantör | Kostnad | KvotĂ„terstĂ€llning | BĂ€st för | | -------------------- | ----------------- | ----------------------- | ------------------------ | ----------------------- | | **💳 PRENUMERATION** | Claude Code (Pro) | 20 USD/mĂ„nad | 5h + veckovis | Har redan prenumererat | | | Codex (Plus/Pro) | 20-200 USD/mĂ„nad | 5h + veckovis | OpenAI-anvĂ€ndare | | | Gemini CLI | **GRATIS** | 180K/mĂ„nad + 1K/dag | Alla! | | | GitHub Copilot | 10-19 USD/mĂ„nad | MĂ„natlig | GitHub-anvĂ€ndare | | **🔑 API-NYCKEL** | NVIDIA NIM | **GRATIS** (1000 poĂ€ng) | EngĂ„ng | Gratis nivĂ„testning | | | DeepSeek | Betala per anvĂ€ndning | Inga | BĂ€sta pris/kvalitet | | | Groq | Gratis nivĂ„ + betald | BegrĂ€nsat pris | Ultrasnabb slutledning | | | xAI (Grok) | Betala per anvĂ€ndning | Inga | Grok modeller | | | Mistral | Gratis nivĂ„ + betald | BegrĂ€nsat pris | Europeisk AI | | | OpenRouter | Betala per anvĂ€ndning | Inga | 100+ modeller | | **💰 BILLIGT** | GLM-4.7 | $0,6/1M | Dagligen 10:00 | Budget backup | | | MiniMax M2.1 | $0,2/1M | 5-timmars rullande | Billigaste alternativet | | | Kimi K2 | 9 USD/mĂ„n lĂ€genhet | 10 miljoner tokens/mĂ„nad | FörutsĂ€gbar kostnad | | **🆓 GRATIS** | iFlow | $0 | ObegrĂ€nsad | 8 modeller gratis | | | Qwen | $0 | ObegrĂ€nsad | 3 modeller gratis | | | Kiro | $0 | ObegrĂ€nsad | Claude gratis | **💡 Proffstips:** Börja med Gemini CLI (180K gratis/mĂ„nad) + iFlow (obegrĂ€nsat gratis) combo = $0 kostnad! --- ## 💡 Nyckelfunktioner ### 🧠 Core Routing & Intelligence | Funktion | Vad det gör | | ------------------------------ | ----------------------------------------------------------------------------------------- | | 🎯 **Smart 4-lagers reserv** | Automatisk rutt: Prenumeration → API-nyckel → Billigt → Gratis | | 📊 **KvotspĂ„rning i realtid** | Live token count + Ă„terstĂ€ll nedrĂ€kning per leverantör | | 🔄 **FormatöversĂ€ttning** | OpenAI ↔ Claude ↔ Gemini ↔ Markör ↔ Kiro sömlös + sanering av svar | | đŸ‘„ **Multi-Account Support** | Flera konton per leverantör med intelligent urval | | 🔄 **Auto Token Refresh** | OAuth-tokens uppdateras automatiskt med försök igen | | 🎹 **Anpassade kombinationer** | 6 strategier: fill-first, round-robin, p2c, slumpmĂ€ssig, minst anvĂ€nda, kostnadsoptimerad | | đŸ§© **Anpassade modeller** | LĂ€gg till valfritt modell-ID till valfri leverantör | | 🌐 **Wildcard-router** | Dirigera `provider/*`-mönster till valfri leverantör dynamiskt | | 🧠 **TĂ€nkande budget** | GenomgĂ„ng, auto, anpassade och adaptiva lĂ€gen för resonerande modeller | | 🔀 **Model Aliases** | Auto-forward deprecated model IDs to current replacements (built-in + custom) | | ⚡ **Background Degradation** | Auto-route background tasks (titles, summaries) to cheaper models | | 💬 **System Prompt Injection** | Global systemprompt tillĂ€mpas pĂ„ alla förfrĂ„gningar | | 📄 **Responses API** | FullstĂ€ndigt stöd för OpenAI Responses API (`/v1/responses`) för Codex | ### đŸŽ” Multimodala API:er | Funktion | Vad det gör | | ------------------------ | ------------------------------------------------------ | | đŸ–Œïž **Bildgenerering** | `/v1/images/generations` — 4 leverantörer, 9+ modeller | | 📐 **InbĂ€ddningar** | `/v1/embeddings` — 6 leverantörer, 9+ modeller | | đŸŽ€ **Ljudtranskription** | `/v1/audio/transcriptions` — Whisper-kompatibel | | 🔊 **Text-till-tal** | `/v1/audio/speech` — Ljudsyntes med flera leverantörer | | đŸ›Ąïž **Moderationer** | `/v1/moderations` — InnehĂ„llssĂ€kerhetskontroller | | 🔀 **Omrankning** | `/v1/rerank` — Omrankning av dokumentrelevans | ### đŸ›Ąïž MotstĂ„ndskraft och sĂ€kerhet | Funktion | Vad det gör | | -------------------------------------- | --------------------------------------------------------------------------------- | | 🔌 **Circuit Breaker** | Autoöppna/stĂ€ng per leverantör med konfigurerbara trösklar | | đŸ›Ąïž **Anti-Ă„nflock** | Mutex + semaforhastighetsgrĂ€ns för API-nyckelleverantörer | | 🧠 **Semantisk cache** | TvĂ„skiktscache (signatur + semantisk) minskar kostnaden och fördröjningen | | ⚡ **BegĂ€r idempotens** | 5s dedup-fönster för dubblettförfrĂ„gningar | | 🔒 **TLS Fingerprint Spoofing** | Förbi TLS-baserad botdetektering via wreq-js | | 🌐 **IP-filtrering** | TillĂ„telselista/blockeringslista för API-Ă„tkomstkontroll | | 📊 **Redigerbara hastighetsgrĂ€nser** | Konfigurerbart RPM, min gap och max samtidiga pĂ„ systemnivĂ„ | | đŸ’Ÿ **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** | Auth gating + leverantörsblockering för `/models` slutpunkt | | 🔒 **Proxysynlighet** | FĂ€rgkodade mĂ€rken: 🟱 global, 🟡 leverantör, đŸ”” per anslutning med IP-display | | 🌐 **Proxykonfiguration med 3 nivĂ„er** | Konfigurera proxyservrar pĂ„ global nivĂ„, per leverantör eller per anslutningsnivĂ„ | ### 📊 Observerbarhet och analys | Funktion | Vad det gör | | --------------------------- | ----------------------------------------------------------------------------- | | 📝 **BegĂ€r loggning** | FelsökningslĂ€ge med fullstĂ€ndiga förfrĂ„gnings-/svarsloggar | | đŸ’Ÿ **SQLite proxyloggar** | BestĂ€ndiga proxyloggar överlever serverstarter | | 📊 **Analytics Dashboard** | Recharts-driven: statistikkort, modellanvĂ€ndningsdiagram, leverantörstabell | | 📈 **FörloppsspĂ„rning** | Opt-in SSE-förloppshĂ€ndelser för streaming | | đŸ§Ș **LLM-utvĂ€rderingar** | Golden set testning med 4 matchstrategier | | 🔍 **BegĂ€r telemetri** | p50/p95/p99 latensaggregation + X-Request-Id-spĂ„rning | | 📋 **Dashboard för loggar** | Enad sida med 4 flikar: BegĂ€ranloggar, Proxyloggar, Granskningsloggar, Konsol | | đŸ–„ïž **Konsolloggvisare** | Realtidsvisare i terminalstil med nivĂ„filter, sökning, automatisk rullning | | 📑 **Filbaserad loggning** | Console Interceptor fĂ„ngar all utdata till JSON-loggfilen med rotation | | đŸ„ **HĂ€lsoinstrumentpanel** | Systemupptid, strömbrytartillstĂ„nd, lĂ„sningar, cachestatistik | | 💰 **KostnadsspĂ„rning** | Budgethantering + prissĂ€ttning per modell | ### ☁ Implementering och synkronisering | Funktion | Vad det gör | | -------------------------------- | -------------------------------------------------------------------------------------- | | đŸ’Ÿ **Cloud Sync** | Synkronisera konfiguration mellan enheter via Cloudflare Workers | | 🌐 **Distribuera var som helst** | Localhost, VPS, Docker, Cloudflare Workers | | 🔑 **API-nyckelhantering** | Generera, rotera och omfĂ„ng API-nycklar per leverantör | | 🧙 **Onboarding Wizard** | 4-stegs guidad installation för förstagĂ„ngsanvĂ€ndare | | 🔧 **CLI Tools Dashboard** | Konfigurera med ett klick Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | | 🔄 **DB-sĂ€kerhetskopior** | Automatisk sĂ€kerhetskopiering, Ă„terstĂ€llning, export och import för alla instĂ€llningar | | 🌐 **Internationalisering** | FullstĂ€ndig i18n med nĂ€sta-intl — stöd för engelska + portugisiska (Brasilien) | | 🌍 **SprĂ„kvĂ€ljare** | Globikon i rubriken för sprĂ„kvĂ€xling i realtid (đŸ‡ș🇾/đŸ‡§đŸ‡·) | | 📂 **Anpassad datakatalog** | `DATA_DIR` env var för att Ă„sidosĂ€tta standard `~/.omniroute` lagringssökvĂ€g |
📖 Funktionsdetaljer ### 🎯 Smart 4-lagers reserv Skapa kombinationer med automatisk reserv: ``` 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 ``` ### 📊 KvotspĂ„rning i realtid - Tokenförbrukning per leverantör - ÅterstĂ€ll nedrĂ€kningen (5 timmar, dagligen, veckovis) - Kostnadsuppskattning för betalda nivĂ„er - MĂ„natliga utgiftsrapporter ### 🔄 FormatöversĂ€ttning Sömlös översĂ€ttning mellan format: - **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI-svar** - Ditt CLI-verktyg skickar OpenAI-format → OmniRoute översĂ€tter → Leverantör tar emot inbyggt format - Fungerar med alla verktyg som stöder anpassade OpenAI-slutpunkter - **Responssanering** — Tar bort icke-standardiserade fĂ€lt för strikt OpenAI SDK-kompatibilitet - **Rollnormalisering** — `developer` → `system` för icke-OpenAI; `system` → `user` för GLM/ERNIE-modeller - **Think tag extrahering** — `` block → `reasoning_content` för tĂ€nkande modeller - **Structured output** — `json_schema` → Gemini's `responseMimeType`/`responseSchema` ### đŸ‘„ Support för flera konton - LĂ€gg till flera konton per leverantör - Auto round-robin eller prioritetsbaserad routing - Fallback till nĂ€sta konto nĂ€r man nĂ„r kvoten ### 🔄 Auto Token Refresh - OAuth-tokens uppdateras automatiskt innan utgĂ„ngen - Ingen manuell Ă„terautentisering behövs - Sömlös upplevelse hos alla leverantörer ### 🎹 Anpassade kombinationer - Skapa obegrĂ€nsade modellkombinationer - 6 strategier: fyll-först, round-robin, kraft-av-tvĂ„-val, slumpmĂ€ssig, minst anvĂ€nda, kostnadsoptimerad - Dela kombinationer mellan enheter med Cloud Sync ### đŸ„ Health Dashboard - Systemstatus (upptid, version, minnesanvĂ€ndning) - Strömbrytarstatus per leverantör (stĂ€ngd/öppen/halvöppen) - PrisgrĂ€nsstatus och aktiva lĂ„sningar - Signaturcachestatistik - Latens-telemetri (p50/p95/p99) + promptcache - ÅterstĂ€ll hĂ€lsostatus med ett klick ### 🔧 ÖversĂ€ttarlekplats OmniRoute inkluderar en kraftfull inbyggd översĂ€ttarlekplats med **4 lĂ€gen** för felsökning, testning och övervakning av API-översĂ€ttningar: | LĂ€ge | Beskrivning | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **đŸ’» Lekplats** | Direkt formatöversĂ€ttning — klistra in valfri API-begĂ€ran och se direkt hur OmniRoute översĂ€tter den mellan leverantörsformat (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Inkluderar exempelmallar och automatisk identifiering av format. | | **💬 Chattestare** | Skicka riktiga chattförfrĂ„gningar genom OmniRoute och se hela tur och retur: din input, den översatta begĂ€ran, leverantörens svar och det översatta svaret tillbaka. OvĂ€rderligt för att validera combo routing. | | **đŸ§Ș TestbĂ€nk** | BatchtestlĂ€ge — definiera flera testfall med olika ingĂ„ngar och förvĂ€ntade utgĂ„ngar, kör dem alla pĂ„ en gĂ„ng och jĂ€mför resultat mellan leverantörer och modeller. | | **đŸ“± Live Monitor** | Bevakning av förfrĂ„gningar i realtid — titta pĂ„ inkommande förfrĂ„gningar nĂ€r de flödar genom OmniRoute, se formatöversĂ€ttningar som sker live och identifiera problem direkt. | **Åtkomst:** Instrumentpanel → ÖversĂ€ttare (sidofĂ€lt) ### đŸ’Ÿ Cloud Sync - Synkronisera leverantörer, kombinationer och instĂ€llningar mellan enheter - Automatisk bakgrundssynkronisering - SĂ€ker krypterad lagring
## đŸ§Ș UtvĂ€rderingar (Evals) OmniRoute inkluderar ett inbyggt utvĂ€rderingsramverk för att testa LLM-svarskvalitet mot en gyllene uppsĂ€ttning. FĂ„ Ă„tkomst till det via **Analytics → Evals** i instrumentpanelen. ### Inbyggt gyllene set Det förinstallerade "OmniRoute Golden Set" innehĂ„ller 10 testfall som tĂ€cker: - HĂ€lsningar, matematik, geografi, kodgenerering - JSON-formatöverensstĂ€mmelse, översĂ€ttning, markdown - SĂ€kerhetsvĂ€gran (skadligt innehĂ„ll), rĂ€kning, boolesk logik ### UtvĂ€rderingsstrategier | Strategi | Beskrivning | Exempel | | ---------- | ---------------------------------------------------- | -------------------------------- | | `exact` | Utdata mĂ„ste matcha exakt | `"4"` | | `contains` | Utdata mĂ„ste innehĂ„lla delstrĂ€ng (skiftlĂ€geskĂ€nslig) | `"Paris"` | | `regex` | Utdata mĂ„ste matcha regexmönster | `"1.*2.*3"` | | `custom` | Anpassad JS-funktion returnerar true/false | `(output) => output.length > 10` | --- ## 📖 Installationsguide
💳 Prenumerationsleverantörer ### 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 ``` **Proffstips:** AnvĂ€nd Opus för komplexa uppgifter, Sonnet för snabbhet. OmniRoute spĂ„rar kvot per modell! ### 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 (GRATIS 180K/mĂ„nad!) ```bash Dashboard → Providers → Connect Gemini CLI → Google OAuth → 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **BĂ€st vĂ€rde:** Enorma gratis nivĂ„! AnvĂ€nd detta före betalda nivĂ„er. ### 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-nyckelleverantörer ### NVIDIA NIM (GRATIS 1000 krediter!) 1. Registrera dig: [build.nvidia.com](https://build.nvidia.com) 2. FĂ„ gratis API-nyckel (1000 slutsatspoĂ€ng ingĂ„r) 3. Dashboard → LĂ€gg till leverantör → NVIDIA NIM: - API-nyckel: `nvapi-your-key` **Modeller:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` och 50+ till **Proffstips:** OpenAI-kompatibelt API — fungerar sömlöst med OmniRoutes formatöversĂ€ttning! ### DeepSeek 1. Registrera dig: [platform.deepseek.com](https://platform.deepseek.com) 2. HĂ€mta API-nyckel 3. Dashboard → LĂ€gg till leverantör → DeepSeek **Modeller:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (gratis nivĂ„ tillgĂ€nglig!) 1. Registrera dig: [console.groq.com](https://console.groq.com) 2. Skaffa API-nyckel (gratis nivĂ„ ingĂ„r) 3. Dashboard → LĂ€gg till leverantör → Groq **Modeller:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Proffstips:** Ultrasnabb slutledning — bĂ€st för realtidskodning! ### OpenRouter (100+ modeller) 1. Registrera dig: [openrouter.ai](https://openrouter.ai) 2. HĂ€mta API-nyckel 3. Dashboard → LĂ€gg till leverantör → OpenRouter **Modeller:** FĂ„ tillgĂ„ng till 100+ modeller frĂ„n alla större leverantörer genom en enda API-nyckel.
💰 Billiga leverantörer (backup) ### GLM-4.7 (Daglig Ă„terstĂ€llning, $0,6/1M) 1. Registrera dig: [Zhipu AI](https://open.bigmodel.cn/) 2. HĂ€mta API-nyckel frĂ„n Coding Plan 3. Instrumentpanel → LĂ€gg till API-nyckel: - Leverantör: `glm` - API-nyckel: `your-key` **AnvĂ€nd:** `glm/glm-4.7` **Proffstips:** Coding Plan erbjuder 3× kvot till 1/7 kostnad! ÅterstĂ€ll dagligen 10:00. ### MiniMax M2.1 (5 timmars Ă„terstĂ€llning, $0,20/1M) 1. Registrera dig: [MiniMax](https://www.minimax.io/) 2. HĂ€mta API-nyckel 3. Instrumentpanel → LĂ€gg till API-nyckel **AnvĂ€nd:** `minimax/MiniMax-M2.1` **Proffstips:** Billigaste alternativet för lĂ„nga sammanhang (1M tokens)! ### Kimi K2 ($9/mĂ„nad platt) 1. Prenumerera: [Moonshot AI](https://platform.moonshot.ai/) 2. HĂ€mta API-nyckel 3. Instrumentpanel → LĂ€gg till API-nyckel **AnvĂ€nd:** `kimi/kimi-latest` **Proffstips:** Fast $9/mĂ„nad för 10 miljoner tokens = $0,90/1 miljon effektiv kostnad!
🆓 GRATIS leverantörer (nödbackup) ### iFlow (8 GRATIS modeller) ```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 GRATIS modeller) ```bash Dashboard → Connect Qwen → Device code authorization → Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude FREE) ```bash Dashboard → Connect Kiro → AWS Builder ID or Google/GitHub → Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
🎹 Skapa kombinationer ### Exempel 1: Maximera prenumeration → Billig backup ``` 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 ``` ### Exempel 2: Endast gratis (noll kostnad) ``` 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-integration ### Markör 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 AnvĂ€nd sidan **CLI Tools** i instrumentpanelen för konfiguration med ett klick, eller redigera `~/.claude/settings.json` manuellt. ### Codex CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### OpenClaw **Alternativ 1 — Instrumentpanel (rekommenderas):** ``` Dashboard → CLI Tools → OpenClaw → Select Model → Apply ``` **Alternativ 2 — Manuell:** Redigera `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Obs!** OpenClaw fungerar endast med lokal OmniRoute. AnvĂ€nd `127.0.0.1` istĂ€llet för `localhost` för att undvika problem med IPv6-upplösning. ### Cline / FortsĂ€tt / RooCode ``` Settings → API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ```
--- ## 🐛 Felsökning
Klicka för att expandera felsökningsguide **"SprĂ„kmodellen gav inga meddelanden"** - Leverantörskvoten Ă€r slut → Kontrollera instrumentpanelens kvotföljare - Lösning: AnvĂ€nd kombinationsalternativ eller byt till billigare nivĂ„ **TaxebegrĂ€nsning** - Prenumerationskvot ute → Fallback till GLM/MiniMax - LĂ€gg till kombination: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` **OAuth-token har löpt ut** - Automatisk uppdatering av OmniRoute - Om problemen kvarstĂ„r: Dashboard → Leverantör → Återanslut **Höga kostnader** - Kontrollera anvĂ€ndningsstatistik i Dashboard → Kostnader - Byt primĂ€r modell till GLM/MiniMax - AnvĂ€nd gratis nivĂ„ (Gemini CLI, iFlow) för icke-kritiska uppgifter **Dashboard öppnas pĂ„ fel port** - Set `PORT=20128` och `NEXT_PUBLIC_BASE_URL=http://localhost:20128` **Molnsynkroniseringsfel** - Verifiera att `BASE_URL` pekar pĂ„ din löpinstans - Verifiera `CLOUD_URL` poĂ€ng till din förvĂ€ntade molnslutpunkt - HĂ„ll `NEXT_PUBLIC_*` vĂ€rden i linje med vĂ€rden pĂ„ serversidan **Första inloggningen fungerar inte** - Kontrollera `INITIAL_PASSWORD` i `.env` - Om det inte Ă€r instĂ€llt Ă€r reservlösenordet `123456` **Inga förfrĂ„gningsloggar** - StĂ€ll in `ENABLE_REQUEST_LOGS=true` i `.env` **Anslutningstest visar "Invalid" för OpenAI-kompatibla leverantörer** - MĂ„nga leverantörer exponerar inte en `/models` slutpunkt - OmniRoute v1.0.6+ inkluderar reservvalidering via chattslutföranden - Se till att baswebbadressen innehĂ„ller suffixet `/v1` ### 🔐 OAuth > **⚠ VIKTIGT för anvĂ€ndning av OmniRoute med VPS/Docker/serverfjĂ€rrkontroll** ### Hur kan du göra Antigravity / Tvilling CLI pĂ„ fjĂ€rrkontroller? Os provedores **Antigravity** och **Gemini CLI** usam **Google OAuth 2.0** för autenticação. O Google exige que a `redirect_uri` usada no fluxo OAuth seja **exatamente** uma das URIs prĂ©-cadastradas no Google Cloud Console do aplicativo. Som credenciais OAuth embutidas no OmniRoute estĂŁo cadastradas **apenas para `localhost`**. Quando vocĂȘ acessa o OmniRoute em um servidor remoto (ex: `https://omniroute.meuservidor.com`), o Google rejeita a autenticação com: ``` Error 400: redirect_uri_mismatch ``` ### Lösning: Konfigurera sjĂ€lvstĂ€ndigt OAuth VocĂȘ precisa criar um **OAuth 2.0 Client ID** no Google Cloud Console com a URI do seu service. #### Passo a passo **1. Åtkomst till 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 Client ID** - Klicka pĂ„ dem **"+ Skapa inloggningsuppgifter"** → **"OAuth-klient-ID"** - Typo de aplicativo: **"Webbapplikation"** - Namn: escolha qualquer nome (ex: `OmniRoute Remote`) **3. Adicione som auktoriserade omdirigerings-URI** Ingen campo **"Auktoriserade omdirigerings-URIs"**, adicione: ``` https://seu-servidor.com/callback ``` > Substitua `seu-servidor.com` pelo domĂ­nio ou IP do seu servidor (inclua a porta se necessĂĄrio, ex: `http://45.33.32.156:20128/callback`). **4. Spara e kopia som credenciais** ApĂłs criar, o Google mostrarĂĄ o **Client ID** e o **Client Secret**. **5. Konfigurera som variĂĄveis de ambiente** No 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 → Leverantörer → Antigravity (ou Gemini CLI) → OAuth Agora o Google redirecionarĂĄ corretamente para `https://seu-servidor.com/callback` e a autenticação funcionarĂĄ. --- ### Lösning temporĂĄrio (som configurar credenciais prĂłprias) Se nĂŁo quiser criar credenciais prĂłprias agora, ainda Ă© possĂ­vel usar o fluxo **manual de URL**: 1. O OmniRoute abrirĂĄ en URL de autorização till Google 2. ApĂłs vocĂȘ autorizar, o Google tentarĂĄ redirecionar para `localhost` (que falha no servidor remoto) 3. **Kopiera en webbadress komplett** da barra de endereço do seu webblĂ€sare (mesmo que a pĂĄgina nĂŁo carregue) 4. Cole essa URL no campo que aparece no modal de conexĂŁo do OmniRoute 5. Klicka pĂ„ **"Anslut"** > Este workaround funciona porque o cĂłdigo de autorização na URL Ă© vĂĄlido independente do redirect ter carregado ou nĂŁo.
--- ## đŸ› ïž - **Körtid**: Node.js 18–22 LTS (⚠ Node.js 24+ stöds **inte** — `better-sqlite3` inbyggda binĂ€rer Ă€r inkompatibla) - **SprĂ„k**: TypeScript 5.9 — **100 % TypeScript** över `src/` och `open-sse/` (v1.0.6) - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Databas**: LowDB (JSON) + SQLite (domĂ€ntillstĂ„nd + proxyloggar) - **Streaming**: ServersĂ€nda hĂ€ndelser (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + API-nycklar - **Test**: Node.js testlöpare (368+ enhetstester) - **CI/CD**: GitHub-Ă„tgĂ€rder (automatisk npm-publicering + Docker Hub vid release) - **Webbplats**: [omniroute.online](https://omniroute.online) - **Paket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **Resiliens**: Strömbrytare, exponentiell backoff, anti-dundrande flock, TLS-spoofing --- ## 📖 Dokumentation | Dokument | Beskrivning | | -------------------------------------------- | ---------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Leverantörer, kombinationer, CLI-integration, distribution | | [API Reference](docs/API_REFERENCE.md) | Alla slutpunkter med exempel | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Vanliga problem och lösningar | | [Architecture](docs/ARCHITECTURE.md) | Systemarkitektur och interna delar | | [Contributing](CONTRIBUTING.md) | UtvecklingsupplĂ€gg och riktlinjer | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specifikation | | [Security Policy](SECURITY.md) | SĂ„rbarhetsrapportering och sĂ€kerhetsrutiner | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Komplett guide: VM + nginx + Cloudflare-installation | | [Features Gallery](docs/FEATURES.md) | Visuell visning av instrumentpanelen med skĂ€rmdumpar | ### 📾 Förhandsgranskning av instrumentpanelen
Klicka för att se skĂ€rmdumpar pĂ„ instrumentpanelen | Sida | SkĂ€rmdump | | --------------------- | ------------------------------------------------- | | **Leverantörer** | ![Providers](docs/screenshots/01-providers.png) | | **Kombos** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **HĂ€lsa** | ![Health](docs/screenshots/04-health.png) | | **ÖversĂ€ttare** | ![Translator](docs/screenshots/05-translator.png) | | **InstĂ€llningar** | ![Settings](docs/screenshots/06-settings.png) | | **CLI-verktyg** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **AnvĂ€ndningsloggar** | ![Usage](docs/screenshots/08-usage.png) | | **Slutpunkt** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## đŸ—ș OmniRoute har **210+ funktioner planerade** över flera utvecklingsfaser. HĂ€r Ă€r nyckelomrĂ„dena: | Kategori | Planerade funktioner | Höjdpunkter | | ------------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------ | | 🧠 **Routing & intelligens** | 25+ | Routning med lĂ€gsta latens, taggbaserad routing, kvotförhandskontroll, val av P2C-konto | | 🔒 **SĂ€kerhet och efterlevnad** | 20+ | SSRF-hĂ€rdning, cloaking av autentiseringsuppgifter, hastighetsgrĂ€ns per endpoint, hanteringsnyckelomfattning | | 📊 **Observerbarhet** | 15+ | OpenTelemetry-integration, kvotövervakning i realtid, kostnadsspĂ„rning per modell | | 🔄 **Providerintegrationer** | 20+ | Dynamiskt modellregister, nedkylning av leverantörer, Codex för flera konton, Copilot-kvotanalys | | ⚡ **Prestanda** | 15+ | Dubbla cachelager, promptcache, svarscache, streaming keepalive, batch API | | 🌐 **Ekosystem** | 10+ | WebSocket API, config hot-reload, distribuerad config store, kommersiellt lĂ€ge | ### 🔜 Kommer snart - 🔗 **OpenCode Integration** — Inbyggt leverantörsstöd för OpenCode AI-kodnings-IDE - 🔗 **TRAE Integration** — FullstĂ€ndigt stöd för TRAE AI-utvecklingsramverket - 📩 **Batch API** — Asynkron batchbearbetning för bulkförfrĂ„gningar - 🎯 **Taggbaserad routing** — RuttbegĂ€randen baserade pĂ„ anpassade taggar och metadata - 💰 **LĂ€gsta kostnadsstrategi** — VĂ€lj automatiskt den billigaste tillgĂ€ngliga leverantören > 📝 FullstĂ€ndiga funktionsspecifikationer tillgĂ€ngliga i [link](docs/new-features/) (217 detaljerade specifikationer) --- ## đŸ‘„ Bidragsgivare [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Hur man bidrar 1. Dela förvaret 2. Skapa din funktionsgren (`git checkout -b feature/amazing-feature`) 3. BekrĂ€fta dina Ă€ndringar (`git commit -m 'Add amazing feature'`) 4. Tryck till grenen (`git push origin feature/amazing-feature`) 5. Öppna en Pull Request Se [CONTRIBUTING.md](CONTRIBUTING.md) för detaljerade riktlinjer. ### SlĂ€pper en ny version ```bash # Create a release — npm publish happens automatically gh release create v1.0.6 --title "v1.0.6" --generate-notes ``` --- ## 📊 StjĂ€rnhistorik Star History Chart --- ## 🙏 Tack Speciellt tack till **[9router](https://github.com/decolua/9router)** av **[decolua](https://github.com/decolua)** — originalprojektet som inspirerade denna gaffel. OmniRoute bygger pĂ„ den otroliga grunden med ytterligare funktioner, multimodala API:er och en fullstĂ€ndig TypeScript-omskrivning. SĂ€rskilt tack till **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — den ursprungliga Go-implementeringen som inspirerade denna JavaScript-port. --- ## 📄 Licens MIT-licens - se [LICENSE](LICENSE) för detaljer. ---
Byggd med ❀ för utvecklare som kodar 24/7
omniroute.online