# 🚀 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, 67+ leverantörer, noll driftstopp. Nu med **MCP & A2A** agentorkestrering._ **Slutförda chatt ‱ InbĂ€ddningar ‱ Bildgenerering ‱ Video ‱ Musik ‱ Ljud ‱ Omrankning ‱ **Webbsökning** ‱ MCP-server ‱ A2A-protokoll ‱ 100 % TypeScript** ---
[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute) [![npm downloads](https://img.shields.io/npm/dm/omniroute?color=cb3837&logo=npm&label=npm%20downloads)](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) [![Docker Pulls](https://img.shields.io/docker/pulls/diegosouzapw/omniroute?logo=docker&color=2496ED&label=docker%20pulls)](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)
🌐 **TillgĂ€nglig i:** đŸ‡ș🇾 [English](README.md) | đŸ‡§đŸ‡· [PortuguĂȘs (Brasil)](docs/i18n/pt-BR/README.md) | đŸ‡Ș🇾 [Español](docs/i18n/es/README.md) | đŸ‡«đŸ‡· [Français](docs/i18n/fr/README.md) | 🇼đŸ‡č [Italiano](docs/i18n/it/README.md) | đŸ‡·đŸ‡ș [РуссĐșĐžĐč](docs/i18n/ru/README.md) | 🇹🇳 [äž­æ–‡ (çź€äœ“)](docs/i18n/zh-CN/README.md) | đŸ‡©đŸ‡Ș [Deutsch](docs/i18n/de/README.md) | 🇼🇳 [à€čà€żà€šà„à€Šà„€](docs/i18n/in/README.md) | đŸ‡č🇭 [àč„àž—àžą](docs/i18n/th/README.md) | đŸ‡ș🇩 [ĐŁĐșŃ€Đ°Ń—ĐœŃŃŒĐșа](docs/i18n/uk-UA/README.md) | 🇾🇩 [Ű§Ù„ŰčŰ±ŰšÙŠŰ©](docs/i18n/ar/README.md) | đŸ‡ŻđŸ‡” [æ—„æœŹèȘž](docs/i18n/ja/README.md) | đŸ‡»đŸ‡ł [Tiáșżng Việt](docs/i18n/vi/README.md) | 🇧🇬 [БългарсĐșĐž](docs/i18n/bg/README.md) | đŸ‡©đŸ‡° [Dansk](docs/i18n/da/README.md) | đŸ‡«đŸ‡ź [Suomi](docs/i18n/fi/README.md) | đŸ‡źđŸ‡± [ŚąŚ‘ŚšŚ™ŚȘ](docs/i18n/he/README.md) | 🇭đŸ‡ș [Magyar](docs/i18n/hu/README.md) | đŸ‡źđŸ‡© [Bahasa Indonesia](docs/i18n/id/README.md) | đŸ‡°đŸ‡· [한ꔭ얎](docs/i18n/ko/README.md) | đŸ‡ČđŸ‡Ÿ [Bahasa Melayu](docs/i18n/ms/README.md) | đŸ‡łđŸ‡± [Nederlands](docs/i18n/nl/README.md) | 🇳🇮 [Norsk](docs/i18n/no/README.md) | đŸ‡”đŸ‡č [PortuguĂȘs (Portugal)](docs/i18n/pt/README.md) | đŸ‡·đŸ‡Ž [RomĂąnă](docs/i18n/ro/README.md) | đŸ‡”đŸ‡± [Polski](docs/i18n/pl/README.md) | 🇾🇰 [Slovenčina](docs/i18n/sk/README.md) | 🇾đŸ‡Ș [Svenska](docs/i18n/sv/README.md) | đŸ‡”đŸ‡­ [Filipino](docs/i18n/phi/README.md) | 🇹🇿 [ČeĆĄtina](docs/i18n/cs/README.md) --- ## 🆕 Vad Ă€r nytt i v3.0.0 > **Uppgraderar du frĂ„n v2.9.5?** — Se [full CHANGELOG](CHANGELOG.md#300--2026-03-22-release-candidate--not-yet-merged-to-main) för alla Ă€ndringar. | OmrĂ„de | Ändra | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 🔒 **CodeQL Security** | Fixade 10+ CodeQL-varningar: polynom-redos, insecure-randomness, shell-injection remediation | | ✅ **Ruttvalidering** | Alla 176 API-rutter nu validerade med Zod-scheman + `validateBody()` — CI `check:route-validation:t06` pass | | 🐛 **omniModel Tag Leak** | Interna ``-taggar lĂ€cker inte lĂ€ngre till klienter i SSE-strömningssvar (#585) | | 🔑 **Registered Keys API** | Autoprovision API-nycklar via `POST /api/v1/registered-keys` med kvotupprĂ€tthĂ„llande per leverantör/konto, idempotens, SHA-256-lagring och valfri GitHub-problemrapportering | | 🎹 **Providerikoner** | 130+ leverantörslogotyper via `@lobehub/icons` (SVG) med PNG → generisk reservkedja | | 🔄 **Modell Auto-Sync** | 24-timmars schemalĂ€ggare och manuellt anvĂ€ndargrĂ€nssnitt för att synkronisera modelllistor för inbyggda och anpassade OpenAI-kompatibla leverantörer | | 🌐 **OpenCode Zen/Go** | TvĂ„ nya leverantörer frĂ„n @kang-heewon via PR #530: gratis nivĂ„ + prenumerationsnivĂ„ via `OpencodeExecutor` | | 🐛 **Gemini CLI OAuth** | ÅtgĂ€rdsfel nĂ€r `GEMINI_OAUTH_CLIENT_SECRET` saknas i Docker (var ett kryptiskt Google-fel) | | 🐛 **OpenCode config** | `saveOpenCodeConfig()` skriver nu TOML korrekt till `XDG_CONFIG_HOME` | | 🐛 **Åsidosatt modell av fĂ€stad modell** | `body.model` korrekt instĂ€lld pĂ„ `pinnedModel` pĂ„ skydd av kontextcache | | 🐛 **Codex/Claude loop** | `tool_result` block nu konverterade till text för att stoppa oĂ€ndliga loopar | | 🐛 **Omdirigering av inloggning** | Inloggningen lĂ„ser sig inte lĂ€ngre efter att ha hoppat över lösenordsinstĂ€llningar | | 🐛 **FönstervĂ€gar** | MSYS2/Git-Bash-sökvĂ€gar (`/c/...`) normaliserade till `C:\...` automatiskt | --- ## đŸ–Œïž Huvudinstrumentpanel
OmniRoute Dashboard
--- ## 📾 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) | | **Slutpunkter** | ![Endpoints](docs/screenshots/09-endpoint.png) |
--- ### đŸ€– 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__OMNI_TOKEN_466, — unlimited one config kvot --- ## đŸ€” Varför OmniRoute? **Sluta slösa pengar och nĂ„ grĂ€nser:** - Prenumerationskvoten löper ut oanvĂ€nd varje mĂ„nad - PrisgrĂ€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) - **Bidrar**: Se [CONTRIBUTING.md](CONTRIBUTING.md), öppna en PR eller vĂ€lj en `good first issue` - **Originalprojekt**: [9router by decolua](https://github.com/decolua/9router) ### 🐛 Rapportera en bugg? NĂ€r du öppnar ett problem, kör kommandot system-info och bifoga den genererade filen: ```bash npm run system-info ``` Detta genererar en `system-info.txt` med din Node.js-version, OmniRoute-version, OS-detaljer, installerade CLI-verktyg (iflow, gemini, claude, codex, antigravity, droid, etc.), Docker/PM2-status och systempaket – allt vi behöver för att snabbt Ă„terskapa ditt problem. Bifoga filen direkt till ditt GitHub-problem. --- ## 🔄 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 67+ 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 och 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 - **🔏 CLI Fingerprint Matching** — Ordnar om rubriker och kroppsfĂ€lt för att matcha inbyggda CLI-binĂ€ra signaturer, vilket drastiskt minskar risken för kontoflaggning. Proxy-IP:n bevaras – du fĂ„r bĂ„de smyg **och** IP-maskering samtidigt
🆓 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 (5 obegrĂ€nsade modeller via OAuth: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen: 4 unlimited-modeller,-r qwen3-coder-flash, qwen3-coder-next, vision-model), Kiro (Claude + AWS Builder ID gratis), Gemini CLI (180K tokens/mĂ„nad gratis) - **Ollama Cloud** — MolnvĂ€rdade Ollama-modeller pĂ„ `api.ollama.com` med gratis nivĂ„ "LĂ€tt anvĂ€ndning"; anvĂ€nd `ollamacloud/` prefix - **Free-Only Combos** — Chain `gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus` = $0/mĂ„nad utan stillestĂ„ndstid - **NVIDIA NIM fri tillgĂ„ng** — ~40 RPM dev-för evigt fri tillgĂ„ng till 70+ modeller pĂ„ build.nvidia.com (övergĂ„ng frĂ„n krediter till rena hastighetsgrĂ€nser) - **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Ă€xlingen TillĂ„t alla/BegrĂ€nsa - **API Endpoint Protection** — KrĂ€v en nyckel för `/v1/models` och blockera specifika leverantörer frĂ„n listan - **Auth Guard + CSRF-skydd** — 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 modell** — Autoöppning/stĂ€ngning med konfigurerbara trösklar och nedkylning (stĂ€ngd/öppen/halvöppen), omfattning per modell för att undvika kaskadblock - **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 67+ 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, ta itu med `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 - **Systeminforapport** — `npm run system-info` genererar `system-info.txt` med din fullstĂ€ndiga miljö (nodversion, OmniRoute-version, OS, CLI-verktyg, Docker/PM2-status). Bifoga den nĂ€r du rapporterar problem för omedelbar triage.
đŸ—ïž 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 skapar 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, kinesiska, ukrainska, vietnamesiska, ukrainska, svenska - **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-till-musik** — `/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, **Inworld**, **Cartesia**, **PlayHT**, + 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 modellbeteende 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 dirigeras 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** — Exkludera 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ömningssökvĂ€gar" Agentarbetsflöden krĂ€ver bĂ„de direkta svar och lĂ„ngvarig streamad exekvering med livscykelkontroll. **Hur OmniRoute löser det:** - A2A JSON-RPC-slutpunkt (`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 operativa kontroller 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. "Jag behöver synlighet och annullering av livscykeln för A2A-uppgiften" 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 aktiv strömningsstatistik 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 - Senaste uppgiftens tidsstĂ€mpel 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 management UI - 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:** - Konsoliderad sida **Endpoints** med flikar för proxy-, MCP-, A2A- och API-slutpunkter - Inline-tjĂ€nststatus vĂ€xlar (Online/Offline) för MCP och A2A - LĂ€nkar frĂ„n översikt till dedikerade hanteringsflikar
đŸ§Ș 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 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/endpoint (MCP and A2A tabs) 4) Toggle services via inline status controls ``` --- ## 🆓 Börja gratis — noll konfigurationskostnad > StĂ€ll in AI-kodning pĂ„ nĂ„gra minuter till **$0/mĂ„nad**. Anslut dessa gratiskonton och anvĂ€nd den inbyggda **Free Stack**-kombinationen. | Steg | ÅtgĂ€rd | Leverantörer olĂ„sta | | ---- | ------------------------------------------------ | ------------------------------------------------------------------- | | 1 | Anslut **Kiro** (AWS Builder ID OAuth) | Claude Sonnet 4.5, Haiku 4.5 — **obegrĂ€nsad** | | 2 | Anslut **iFlow** (Google OAuth) | kimi-k2-tĂ€nkande, qwen3-coder-plus, deepseek-r1... — **obegrĂ€nsat** | | 3 | Anslut **Qwen** (enhetskod) | qwen3-coder-plus, qwen3-coder-flash... — **obegrĂ€nsat** | | 4 | Anslut **Gemini CLI** (Google OAuth) | gemini-3-flash, gemini-2.5-pro — **180K/mĂ„nad gratis** | | 5 | `/dashboard/combos` → **Gratis stack ($0)** mall | Round-robin alla gratis leverantörer automatiskt | **Peka valfri IDE/CLI till:** `http://localhost:20128/v1` · API-nyckel: `any-string` · Klart. > **Valfri extra tĂ€ckning (Ă€ven gratis):** Groq API-nyckel (30 rpm gratis), NVIDIA NIM (40 rpm gratis, 70+ modeller), Cerebras (1M tok/dag), LongCat API-nyckel (50M tokens/dag!), Cloudflare Workers AI (10K Neurons/day, 50+ modeller). ## ⚡ Snabbstart ### 1) Installera och kör ```bash npm install -g omniroute omniroute ``` > **pnpm-anvĂ€ndare:** Kör `pnpm approve-builds -g` efter installationen för att aktivera inbyggda byggskript som krĂ€vs av `better-sqlite3` och `@swc/core`: > > ```bash > pnpm install -g omniroute > pnpm approve-builds -g # Select all packages → approve > omniroute > ``` Instrumentpanelen öppnas vid `http://localhost:20128` och API:s basadress Ă€r `http://localhost:20128/v1`. | Kommando | Beskrivning | | ----------------------- | ------------------------------------------------------------------- | | `omniroute` | Starta server (`PORT=20128`, API och instrumentpanel pĂ„ samma port) | | `omniroute --port 3000` | StĂ€ll in kanonisk/API-port till 3000 | | `omniroute --mcp` | Starta MCP-server (stdio-transport) | | `omniroute --no-open` | Öppna inte webblĂ€saren automatiskt | | `omniroute --help` | Visa hjĂ€lp | Valfritt lĂ€ge med delad port: ```bash PORT=20128 DASHBOARD_PORT=20129 omniroute # API: http://localhost:20128/v1 # Dashboard: http://localhost:20129 ``` ### 2) Anslut leverantörer och skapa din API-nyckel 1. Öppna Dashboard → `Providers` och anslut minst en leverantör (OAuth- eller API-nyckel). 2. Öppna Dashboard → `Endpoints` och skapa en API-nyckel. 3. (Valfritt) Öppna Dashboard → `Combos` och stĂ€ll in din reservkedja. ### 3) Rikta ditt kodningsverktyg till OmniRoute ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Endpoint page] Model: if/kimi-k2-thinking (or any provider/model prefix) ``` Fungerar med Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode och OpenAI-kompatibla SDK:er. ### 4) Aktivera och validera protokoll (v2.0) **MCP (för verktygsdrivna operationer):** ```bash omniroute --mcp ``` Anslut sedan din MCP-klient över `stdio` och testa verktyg som: - `omniroute_get_health` - `omniroute_list_combos` **A2A (för agent-till-agent-arbetsflöden):** ```bash curl http://localhost:20128/.well-known/agent.json ``` ```bash curl -X POST http://localhost:20128/a2a \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":"quickstart","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Give me a short quota summary."}]}}' ``` ### 5) Validera allt frĂ„n början till slut (rekommenderas) ```bash npm run test:protocols:e2e ``` Denna svit validerar riktiga MCP- och A2A-klientflöden mot en app som körs. ### Alternativ: kör frĂ„n kĂ€llan ```bash cp .env.example .env npm install PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 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 | --- ## đŸ–„ïž Desktop-app — offline och alltid pĂ„ > 🆕 **NYTT!** OmniRoute Ă€r nu tillgĂ€ngligt som ett **inbyggt skrivbordsprogram** för Windows, macOS och Linux. Kör OmniRoute som en fristĂ„ende skrivbordsapp — ingen terminal, ingen webblĂ€sare, inget internet krĂ€vs för lokala modeller. Den elektronbaserade appen innehĂ„ller: - đŸ–„ïž **Native Window** — Dedikerat appfönster med systemfĂ€ltsintegration - 🔄 **Autostart** — Starta OmniRoute vid systeminloggning - 🔔 **Native Notifications** — FĂ„ varningar om kvotutmattning eller leverantörsproblem - ⚡ **One-Click Install** — NSIS (Windows), DMG (macOS), AppImage (Linux) - 🌐 **OfflinelĂ€ge** — Fungerar helt offline med medföljande server ### Snabbstart ```bash # Development mode npm run electron:dev # Build for your platform npm run electron:build # Current platform npm run electron:build:win # Windows (.exe) npm run electron:build:mac # macOS (.dmg) — x64 & arm64 npm run electron:build:linux # Linux (.AppImage) ``` ### SystemfĂ€ltet NĂ€r den Ă€r minimerad, finns OmniRoute i systemfĂ€ltet med snabba Ă„tgĂ€rder: - Öppna instrumentpanelen - Byt serverport - Avsluta applikationen 📖 FullstĂ€ndig dokumentation: [**OMNI_TOKEN_153**](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/mĂ„nad | MĂ„natlig | GitHub-anvĂ€ndare | | **🔑 API-NYCKEL** | NVIDIA NIM | **GRATIS** (dev forever) | ~40 RPM | 70+ öppna modeller | | | Cerebras | **GRATIS** (1M tok/dag) | 60K TPM / 30 RPM | VĂ€rldens snabbaste | | | Groq | **GRATIS** (30 RPM) | 14,4K RPD | Ultrasnabba Lama/Gemma | | | DeepSeek V3.2 | 0,27 USD/1,10 USD per 1M | Inga | BĂ€sta pris/kvalitetsresonemang | | | xAI Grok-4 Fast | **$0,20/$0,50 per 1M** 🆕 | Inga | Snabbast + verktygsanrop, ultralĂ„gt | | | xAI Grok-4 (standard) | 0,20 USD/1,50 USD per 1M 🆕 | Inga | Resonerande flaggskepp frĂ„n xAI | | | Mistral | Gratis provperiod + betald | BegrĂ€nsat pris | Europeisk AI | | | OpenRouter | Betala per anvĂ€ndning | Inga | 100+ modeller aggr. | | **💰 BILLIGT** | GLM-5 (via Z.AI) 🆕 | $0,5/1M | Dagligen 10:00 | 128K-utgĂ„ng, senaste flaggskeppet | | | GLM-4.7 | $0,6/1M | Dagligen 10:00 | Budget backup | | | MiniMax M2.5 🆕 | $0,3/1M ingĂ„ng | 5-timmars rullande | Resonemang + agentuppgifter | | | MiniMax M2.1 | $0,2/1M | 5-timmars rullande | Billigaste alternativet | | | Kimi K2.5 (Moonshot API) 🆕 | Betala per anvĂ€ndning | Inga | Direkt Ă„tkomst till Moonshot API | | | Kimi K2 | 9 USD/mĂ„n lĂ€genhet | 10 miljoner tokens/mĂ„n | FörutsĂ€gbar kostnad | | **🆓 GRATIS** | iFlow | **$0** | ObegrĂ€nsad | 5 modeller obegrĂ€nsat | | | Qwen | **$0** | ObegrĂ€nsad | 4 modeller obegrĂ€nsat | | | Kiro | **$0** | ObegrĂ€nsad | Claude Sonnet/Haiku (AWS Builder) | | | LongCat Flash-Lite 🆕 | **$0** (50 miljoner tok/dag đŸ”„) | 1 RPS | Största gratiskvoten pĂ„ jorden | | | Pollinationer AI 🆕 | **$0** (ingen nyckel behövs) | 1 req/15s | GPT-5, Claude, DeepSeek, Llama 4 | | | Cloudflare Workers AI 🆕 | **$0** (10 000 neuroner/dag) | ~150 resp/dag | 50+ modeller, global edge | | | Scaleway AI 🆕 | **$0** (1 miljoner tokens totalt) | BegrĂ€nsat pris | EU/GDPR, Qwen3 235B, Lama 70B | > 🆕 **Nya modeller tillagda (mars 2026):** Grok-4 Fast-familjen till $0,20/$0,50/M (benchmarkerad till 1143ms — 30 % snabbare Ă€n Gemini 2.5 Flash), GLM-5 via Z.AI med 128K-utgĂ„ng, MiniMax M2.5-resonemang, DeepSeek2.5-resonemang, KimSeek2.5 updates. direkt API. **💡 $0 Combo Stack — Den kompletta gratis installationen:** ``` # 🆓 Ultimate Free Stack 2026 — 11 Providers, $0 Forever Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED iFlow (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day đŸ”„ Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed Qwen (qw/) → qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next UNLIMITED Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free API key Cloudflare AI (cf/) → Llama 70B, Gemma 3, Mistral — 10K Neurons/day Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) Groq (groq/) → Llama/Gemma ultra-fast — 14.4K req/day NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day ``` **Noll kostnad. Slutar aldrig koda.** Konfigurera detta som en OmniRoute-kombination och alla fallbacks sker automatiskt – ingen manuell vĂ€xling nĂ„gonsin. --- --- ## 🆓 Gratis modeller — vad du faktiskt fĂ„r > Alla modeller nedan Ă€r **100 % gratis utan kreditkort krĂ€vs**. OmniRoute dirigerar automatiskt mellan dem nĂ€r en kvot tar slut — kombinera dem alla för en okrossbar 0 $-kombination. ### đŸ”” CLAUDE MODELLS (via Kiro — AWS Builder ID) | Modell | Prefix | BegrĂ€nsa | PrisgrĂ€ns | | ------------------- | ------ | -------------- | ----------------------------- | | `claude-sonnet-4.5` | `kr/` | **ObegrĂ€nsat** | Inget rapporterat dagligt tak | | `claude-haiku-4.5` | `kr/` | **ObegrĂ€nsat** | Inget rapporterat dagligt tak | | `claude-opus-4.6` | `kr/` | **ObegrĂ€nsat** | Senaste Opus via Kiro | ### IFLOW-MODELLER (gratis OAuth – inget kreditkort) | Modell | Prefix | BegrĂ€nsa | PrisgrĂ€ns | | ------------------ | ------ | -------------- | --------------------- | | `kimi-k2-thinking` | `if/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `qwen3-coder-plus` | `if/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `deepseek-r1` | `if/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `minimax-m2.1` | `if/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `kimi-k2` | `if/` | **ObegrĂ€nsat** | Inget rapporterat tak | ### 🟡 QWEN-MODELLER (Auth. enhetskod) | Modell | Prefix | BegrĂ€nsa | PrisgrĂ€ns | | ------------------- | ------ | -------------- | --------------------- | | `qwen3-coder-plus` | `qw/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `qwen3-coder-flash` | `qw/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `qwen3-coder-next` | `qw/` | **ObegrĂ€nsat** | Inget rapporterat tak | | `vision-model` | `qw/` | **ObegrĂ€nsat** | Multimodal (bilder) | ### 🟣 GEMINI CLI (Google OAuth) | Modell | Prefix | BegrĂ€nsa | PrisgrĂ€ns | | ------------------------ | ------ | --------------------------- | ---------------------- | | `gemini-3-flash-preview` | `gc/` | **180K tok/mĂ„nad** + 1K/dag | MĂ„natlig Ă„terstĂ€llning | | `gemini-2.5-pro` | `gc/` | 180K/mĂ„nad (delad pool) | Hög kvalitet | ### ⚫ NVIDIA NIM (gratis API-nyckel — build.nvidia.com) | NivĂ„ | Daglig grĂ€ns | PrisgrĂ€ns | Anteckningar | | ------------ | --------------- | ----------- | -------------------------------------------------------------- | | Gratis (Dev) | Ingen token cap | **~40 RPM** | 70+ modeller; övergĂ„ng till rena rĂ€ntegrĂ€nser i mitten av 2025 | PopulĂ€ra gratismodeller: `moonshotai/kimi-k2.5` (Kimi K2.5), `z-ai/glm4.7` (GLM 4.7), `deepseek-ai/deepseek-v3.2` (DeepSeek V3.2), `nvidia/llama-3.3-70b-instruct`, `deepseek/deepseek-r1` ### âšȘ CEREBRAS (gratis API-nyckel — inference.cerebras.ai) | NivĂ„ | Daglig grĂ€ns | PrisgrĂ€ns | Anteckningar | | ------ | ----------------- | ---------------- | ------------------------------------------------------- | | Gratis | **1M tokens/dag** | 60K TPM / 30 RPM | VĂ€rldens snabbaste LLM slutledning; Ă„terstĂ€lls dagligen | TillgĂ€nglig gratis: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b` ### 🔮 GROQ (gratis API-nyckel — console.groq.com) | NivĂ„ | Daglig grĂ€ns | PrisgrĂ€ns | Anteckningar | | ------ | ------------- | ----------------- | ---------------------------------------------- | | Gratis | **14,4K RPD** | 30 RPM per modell | Inget kreditkort; 429 pĂ„ grĂ€ns, inte debiterad | TillgĂ€nglig gratis: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3` ### 🔮 LONGCAT AI (gratis API-nyckel — longcat.chat) 🆕 | Modell | Prefix | Daglig gratiskvot | Anteckningar | | ----------------------------- | ------ | ------------------------- | ----------------------------- | | `LongCat-Flash-Lite` | `lc/` | **50 miljoner tokens** đŸ’„ | Största gratiskvoten nĂ„gonsin | | `LongCat-Flash-Chat` | `lc/` | 500 000 tokens | Multi-turn chat | | `LongCat-Flash-Thinking` | `lc/` | 500 000 tokens | Resonemang / CoT | | `LongCat-Flash-Thinking-2601` | `lc/` | 500 000 tokens | Jan 2026 version | | `LongCat-Flash-Omni-2603` | `lc/` | 500 000 tokens | Multimodal | > 100 % gratis medan den Ă€r i offentlig beta. Registrera dig pĂ„ [longcat.chat](https://longcat.chat) med e-post eller telefon. ÅterstĂ€lls dagligen 00:00 UTC. ### 🟱 POLLINATIONS AI (ingen API-nyckel krĂ€vs) 🆕 | Modell | Prefix | PrisgrĂ€ns | Provider bakom | | ---------- | ------ | --------- | ------------------- | | `openai` | `pol/` | 1 req/15s | GPT-5 | | `claude` | `pol/` | 1 req/15s | Antropisk Claude | | `gemini` | `pol/` | 1 req/15s | Google Tvillingarna | | `deepseek` | `pol/` | 1 req/15s | DeepSeek V3 | | `llama` | `pol/` | 1 req/15s | Meta Llama 4 Scout | | `mistral` | `pol/` | 1 req/15s | Mistral AI | > ✹ **Noll friktion:** Ingen registrering, ingen API-nyckel. LĂ€gg till pollineringsleverantören med ett tomt nyckelfĂ€lt sĂ„ fungerar det direkt. ### 🟠 CLOUDFLARE WORKERS AI (gratis API-nyckel — cloudflare.com) 🆕 | NivĂ„ | Dagliga neuroner | LikvĂ€rdig anvĂ€ndning | Anteckningar | | ------ | ---------------- | ------------------------------------------------ | ------------------------- | | Gratis | **10 000** | ~150 LLM resp / 500-tals ljud / 15K inbĂ€ddningar | Global edge, 50+ modeller | PopulĂ€ra gratismodeller: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (gratis ljud!), `@cf/qwen/qwen2.5-coder-15b-instruct` > KrĂ€ver API-token + konto-ID frĂ„n [dash.cloudflare.com](https://dash.cloudflare.com). Lagra konto-ID i leverantörsinstĂ€llningar. ### 🟣 SCALEWAY AI (1M gratis tokens — scaleway.com) 🆕 | NivĂ„ | Gratis kvot | Plats | Anteckningar | | ------ | ------------- | ------------ | -------------------------------------- | | Gratis | **1M tokens** | đŸ‡«đŸ‡· Paris, EU | Inget kreditkort behövs inom grĂ€nserna | TillgĂ€nglig gratis: `qwen3-235b-a22b-instruct-2507` (Qwen3 235B!), `llama-3.1-70b-instruct`, `mistral-small-3.2-24b-instruct-2506`, `deepseek-v3-0324` > EU/GDPR-kompatibel. HĂ€mta API-nyckel pĂ„ [console.scaleway.com](https://console.scaleway.com). > **💡 Den ultimata gratisstacken (11 leverantörer, $0 för alltid):** > > ``` > Kiro (kr/) → Claude Sonnet/Haiku UNLIMITED > iFlow (if/) → kimi-k2-thinking, qwen3-coder-plus, deepseek-r1 UNLIMITED > LongCat Lite (lc/) → LongCat-Flash-Lite — 50M tokens/day đŸ”„ > Pollinations (pol/) → GPT-5, Claude, DeepSeek, Llama 4 — no key needed > Qwen (qw/) → qwen3-coder models UNLIMITED > Gemini (gemini/) → Gemini 2.5 Flash — 1,500 req/day free > Cloudflare AI (cf/) → 50+ models — 10K Neurons/day > Scaleway (scw/) → Qwen3 235B, Llama 70B — 1M free tokens (EU) > Groq (groq/) → Llama/Gemma — 14.4K req/day ultra-fast > NVIDIA NIM (nvidia/) → 70+ open models — 40 RPM forever > Cerebras (cerebras/) → Llama/Qwen world-fastest — 1M tok/day > ``` ## đŸŽ™ïž Gratis transkriptionskombination > Transkribera valfritt ljud/video för **$0** — Deepgram leads med $200 gratis, AssemblyAI $50 reserv, Groq Whisper som obegrĂ€nsad nödbackup. | Leverantör | Gratis krediter | BĂ€sta modellen | PrisgrĂ€ns | | ----------------- | ------------------------------ | ------------------------------------------- | ---------------------------------- | | **Deepgram** | **$200 gratis** (registrering) | `nova-3` — bĂ€sta noggrannhet, 30+ sprĂ„k | Ingen RPM-grĂ€ns pĂ„ gratis krediter | | đŸ”” **AssemblyAI** | **$50 gratis** (registrering) | `universal-3-pro` — kapitel, sentiment, PII | Ingen RPM-grĂ€ns pĂ„ gratis krediter | | 🔮 **Groq** | **Fri för alltid** | `whisper-large-v3` — OpenAI Whisper | 30 RPM (hastighetsbegrĂ€nsad) | **Föreslagen kombination i `/dashboard/combos`:** ``` Name: free-transcription Strategy: Priority Nodes: [1] deepgram/nova-3 → uses $200 free first [2] assemblyai/universal-3-pro → fallback when Deepgram credits run out [3] groq/whisper-large-v3 → free forever, emergency fallback ``` Sedan i `/dashboard/media` → fliken **Transkription**: ladda upp valfri ljud- eller videofil → vĂ€lj din kombinationsslutpunkt → hĂ€mta transkription i format som stöds. ## 💡 Nyckelfunktioner OmniRoute v2.0 Ă€r byggd som en operativ plattform, inte bara en relĂ€proxy. ### 🆕 Nytt — ClawRouter-inspirerade förbĂ€ttringar (mars 2026) | Funktion | Vad det gör | | -------------------------------------- | ------------------------------------------------------------------------------------------------------ | | ⚡ **Grok-4 Fast Family** | xAI-modeller för $0,20/$0,50/M — benchmarkerade 1143ms (30 % snabbare Ă€n Gemini 2.5 Flash) | | 🧠 **GLM-5 via Z.AI** | 128K utdatakontext, $0,5/1M — senaste flaggskeppet frĂ„n GLM-familjen | | 🔼 **MiniMax M2.5** | Resonemang + agentuppgifter för $0,30/1M — betydande uppgradering frĂ„n M2.1 | | 🎯 **verktyg Calling Flag per modell** | Per modell `toolCalling: true/false` i registret — AutoCombo hoppar över modeller som inte kan verktyg | | 🌍 **FlersprĂ„kig avsiktsdetektering** | PT/ZH/ES/AR-nyckelord i AutoCombo-poĂ€ngsĂ€ttning — bĂ€ttre modellval för icke-engelsk innehĂ„ll | | 📊 **Benchmarkdrivna fallbacks** | Verklig p95 latens frĂ„n liveförfrĂ„gningar feeds combo scoring — AutoCombo lĂ€r sig av faktiska data | | 🔁 **BegĂ€r deduplicering** | InnehĂ„llshashbaserat dedup-fönster – sĂ€ker för flera agenter, förhindrar dubbletter av avgifter | | 🔌 **Strategi för pluggbar router** | Utökningsbart `RouterStrategy`-grĂ€nssnitt — lĂ€gg till anpassad routinglogik som plugins | ### 🚀 FöregĂ„ende v2.0.9+ — Playground, CLI Fingerprints & ACP | Funktion | Vad det gör | | ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | 🎼 **Modell lekplats** | Dashboard-sida för att testa alla modeller direkt — leverantör/modell/slutpunktsvĂ€ljare, Monaco Editor, streaming, avbryt, timing | | 🔏 **CLI Fingerprint Matching** | BestĂ€llning av rubrik/kropp per leverantör för att matcha inbyggda CLI-signaturer – vĂ€xla per leverantör i InstĂ€llningar > SĂ€kerhet. **Din proxy-IP bevaras** | | đŸ€ **ACP Support (Agent Client Protocol)** | CLI-agentupptĂ€ckt (Codex, Claude, Goose, Gemini CLI, OpenClaw + 9 till), process spawner, `/api/acp/agents` slutpunkt | | đŸ€– **ACP Agents Dashboard** | Felsökning â€ș Agentsida — rutnĂ€t med 14 agenter med installationsstatus, version, anpassat agentformulĂ€r för alla CLI-verktyg. **OpenCode**-anvĂ€ndare fĂ„r en "Ladda ner opencode.json"-knapp som automatiskt genererar en fĂ€rdig att anvĂ€nda konfiguration med alla tillgĂ€ngliga modeller. | | 🔧 **Anpassad modell `apiFormat` Routing** | Anpassade modeller med `apiFormat: "responses"` dirigeras nu korrekt till Responses API-översĂ€ttaren | | 🏱 **Codex Workspace Isolation** | Flera Codex-arbetsytor per e-post — OAuth separerar anslutningar korrekt efter arbetsyte-ID | | 🔄 **Automatisk uppdatering av elektroner** | Skrivbordsapp söker efter uppdateringar + automatisk installation vid omstart | ### đŸ€– Agent & Protocol Operations (v2.0) | Funktion | Vad det gör | | ----------------------------------------- | ----------------------------------------------------------------------------------------------------- | | 🔧 **MCP-server (16 verktyg)** | IDE/agent-verktyg via 3 transporter: stdio, SSE (`/api/mcp/sse`), Streamable HTTP (`/api/mcp/stream`) | | đŸ€ **A2A-server (JSON-RPC + SSE)** | Agent-till-agent-uppgiftskörning med synkroniserings- och streamingflöden | | 🧭 **Konsoliderade slutpunkterssida** | Hanteringssida med flikar med flikarna Endpoint Proxy, MCP, A2A och API Endpoints | | đŸŽšïž **Service aktivera/inaktivera vĂ€xlar** | ON/OFF-omkopplare för MCP och A2A med instĂ€llningsbestĂ€ndighet (standard: OFF) | | đŸ›°ïž **MCP Runtime Heartbeat** | Verklig processstatus (pid, drifttid, hjĂ€rtslagsĂ„lder, transport, omfĂ„ngslĂ€ge) | | 📋 **MCP Audit Trail** | Filtrerbara granskningsloggar med framgĂ„ng/misslyckande och nyckeltillskrivning | | 🔐 **MCP Scope Enforcement** | 9 granulĂ€ra scope-behörigheter för kontrollerad verktygsĂ„tkomst | | 📡 **A2A Task Lifecycle Management** | Lista/filtrera uppgifter, inspektera hĂ€ndelser/artefakter, avbryt pĂ„gĂ„ende uppgifter | | 📋 **Agent Card Discovery** | `/.well-known/agent.json` för automatisk upptĂ€ckt av klient | | đŸ§Ș **Protokoll E2E testsele** | Verkliga MCP SDK + A2A-klientflöden i `test:protocols:e2e` | | ⚙ **Driftskontroller** | Switch combo, applicera elasticitetsprofiler, Ă„terstĂ€ll brytare frĂ„n en kontrollyta | ### 🧠 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 ↔ Svar med schemasĂ€kra konverteringar | | đŸ‘„ **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 balanseringsstrategier + reservkedjekontroll | | 🌐 **Wildcard-router** | `provider/*` dynamisk routing | | 🧠 **TĂ€nker pĂ„ budgetkontroller** | GrĂ€nser för passthrough, auto, anpassade och adaptiva resonemang | | 🔀 **Modellalias** | Inbyggd + anpassad modellaliasing och migreringssĂ€kerhet | | ⚡ **BakgrundsförsĂ€mring** | Rikta lĂ„gprioriterade bakgrundsuppgifter till billigare modeller | | đŸ§Ș **Task-Aware Smart Routing** | VĂ€lj modell automatiskt efter innehĂ„llstyp (kodning/vision/analys/sammanfattning) | | 💬 **System Prompt Injection** | Globala beteendekontroller tillĂ€mpas konsekvent | | 📄 **Responses API-kompatibilitet** | FullstĂ€ndigt `/v1/responses` stöd för Codex och avancerade agentarbetsflöden | ### đŸŽ” Multimodala API:er | Funktion | Vad det gör | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | đŸ–Œïž **Bildgenerering** | `/v1/images/generations` med moln och lokala backends | | 📐 **InbĂ€ddningar** | `/v1/embeddings` för sök- och RAG-pipelines | | đŸŽ€ **Ljudtranskription** | `/v1/audio/transcriptions` — 7 leverantörer (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), automatisk sprĂ„kdetektering, MP4/MP3/WAV-stöd | | 🔊 **Text-till-tal** | `/v1/audio/speech` — 10 leverantörer (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) med korrekta felmeddelanden | | 🎬 **Videogenerering** | `/v1/videos/generations` (ComfyUI + SD WebUI-arbetsflöden) | | đŸŽ” **Music Generation** | `/v1/music/generations` (ComfyUI-arbetsflöden) | | đŸ›Ąïž **Moderationer** | `/v1/moderations` sĂ€kerhetskontroller | | 🔀 **Omrankning** | `/v1/rerank` för relevanspoĂ€ng | | 🔍 **Webbsökning** 🆕 | `/v1/search` — 5 leverantörer (Serper, Brave, Perplexity, Exa, Tavily), 6 500+ gratis/mĂ„nad, auto-failover, cache | ### đŸ›Ąïž MotstĂ„ndskraft, sĂ€kerhet och styrning | Funktion | Vad det gör | | ------------------------------------ | ------------------------------------------------------------------------------------------------- | | 🔌 **Cremsbrytare** | Per modell trip/Ă„terhĂ€mtning med tröskelkontroller | | 🎯 **Endpoint-Aware Models** | Anpassade modeller deklarerar stödda slutpunkter + API-format | | đŸ›Ąïž **Anti-Ă„nflock** | Mutex + semaforskydd vid Ă„terförsök/hastighetshĂ€ndelser | | 🧠 **Semantisk + Signaturcache** | Kostnads-/latensminskning med tvĂ„ cachelager | | ⚡ **BegĂ€r idempotens** | Dubblett skyddsfönster | | 🔒 **TLS Fingerprint Spoofing** | WebblĂ€sarliknande TLS-fingeravtryck — **minskar botdetektering och kontoflaggning** | | 🔏 **CLI Fingerprint Matching** | Matchar inbyggda CLI-begĂ€ransignaturer — **minskar förbudsrisken samtidigt som proxy-IP bevaras** | | 🌐 **IP-filtrering** | Kontroll av tillĂ„telse/blockeringslista för exponerade distributioner | | 📊 **Redigerbara hastighetsgrĂ€nser** | Konfigurerbara globala/leverantörsnivĂ„grĂ€nser med bestĂ€ndighet | | 🔑 **API Key Management + Scoping** | SĂ€ker nyckelutgivning/rotation och modell/leverantörskontroller | | đŸ›Ąïž **Skyddad `/models`** | Valfri autentisering och leverantörsdöljning för modellkatalog | ### 📊 Observerbarhet och analys | Funktion | Vad det gör | | --------------------------------- | ------------------------------------------------------ | | 📝 **BegĂ€ran + proxyloggning** | FullstĂ€ndig begĂ€ran/svar och proxyloggning | | 📋 **Unified Logs Dashboard** | BegĂ€ran, proxy, revision och konsolvyer pĂ„ en sida | | 🔍 **BegĂ€r telemetri** | p50/p95/p99 latens och spĂ„rning av begĂ€ran | | đŸ„ **HĂ€lsoinstrumentpanel** | Drifttid, brytartillstĂ„nd, lockouter, cachestatistik | | 💰 **KostnadsspĂ„rning** | Budgetkontroller och prissĂ€ttning per modell | | 📈 **Analytiska visualiseringar** | Modell-/leverantörsanvĂ€ndningsinsikter och trendvyer | | đŸ§Ș **UtvĂ€rderingsram** | Golden set-testning med konfigurerbara matchstrategier | ### ☁ Implementering och plattform | Funktion | Vad det gör | | --------------------------------------- | --------------------------------------------------------------------- | | 🌐 **Distribuera var som helst** | Localhost, VPS, Docker, Molnmiljöer | | đŸ’Ÿ **Cloud Sync** | Konfigurationssynkronisering via molnarbetare | | 🔄 **SĂ€kerhetskopiering/Ă„terstĂ€llning** | Export/import och katastrofĂ„terstĂ€llningsflöden | | 🧙 **Onboarding Wizard** | Första körningen guidad installation | | 🔧 **CLI Tools Dashboard** | InstĂ€llning med ett klick för populĂ€ra kodningsverktyg | | 🎼 **Modell lekplats** | Testa valfri leverantör/modell/slutpunkt frĂ„n instrumentpanelen | | 🔏 **CLI Fingerprint Toggle** | Fingeravtrycksmatchning per leverantör i InstĂ€llningar > SĂ€kerhet | | 🌐 **i18n (30 sprĂ„k)** | FullstĂ€ndig instrumentpanel + stöd för dokumentsprĂ„k med RTL-tĂ€ckning | | đŸ§č **Rensa alla modeller** | Rensa modelllistan med ett klick i leverantörsinformation | | 📋 **UtgĂ„vamallar** | Standardiserade GitHub-mallar för buggar och funktioner | | 📂 **Anpassad datakatalog** | `DATA_DIR` Ă„sidosĂ€ttning för lagringsplats | ### Feature Deep Dive #### Smart reserv med praktisk kostnadskontroll ```txt Combo: "my-coding-stack" 1. cc/claude-opus-4-6 2. nvidia/llama-3.3-70b 3. glm/glm-4.7 4. if/kimi-k2-thinking ``` NĂ€r kvot, rĂ€nta eller hĂ€lsa misslyckas, flyttar OmniRoute automatiskt till nĂ€sta kandidat utan manuell vĂ€xling. #### Protokollhantering som Ă€r synlig och funktionsduglig - MCP + A2A kan upptĂ€ckas i anvĂ€ndargrĂ€nssnitt och dokument (inte dolda) - Protokollstatus-API:er exponerar driftdata (`/api/mcp/*`, `/api/a2a/*`) - Dashboards inkluderar Ă„tgĂ€rder för dag-2 operationer (kombinationsvĂ€xlingar, Ă„terstĂ€llning av brytare, avbokning av uppgifter) #### ÖversĂ€ttare + valideringsarbetsflöde ÖversĂ€ttaromrĂ„det inkluderar: - **Lekplats**: begĂ€r omvandlingskontroller - **Chatttestare**: fullstĂ€ndig begĂ€ran/svar tur och retur - **TestbĂ€nk**: flera fall i en körning - **Live Monitor**: trafikvy i realtid Plus protokollvalidering med riktiga klienter via `npm run test:protocols:e2e`. > 📖 **[MCP Server README](open-sse/mcp-server/README.md)** — Verktygsreferens, IDE-konfigurationer och klientexempel > > 📖 **[A2A Server README](src/lib/a2a/README.md)** — FĂ€rdigheter, JSON-RPC-metoder, streaming och uppgiftslivscykel ## đŸ§Ș UtvĂ€rderingar (Evals) OmniRoute inkluderar ett inbyggt utvĂ€rderingsramverk för att testa LLM-svarskvalitet mot en gyllene uppsĂ€ttning. FĂ„ Ă„tkomst till den via **Analytics → Evals** i instrumentpanelen. ### Inbyggt gyllene set Det förinstallerade "OmniRoute Golden Set" innehĂ„ller testfall för: - HĂ€lsningar, matematik, geografi, kodgenerering - ÖverensstĂ€mmelse med JSON-format, översĂ€ttning, generering av 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 ### ProtokollinstĂ€llningar (MCP + A2A)
đŸ§© MCP-instĂ€llning (Model Context Protocol) Starta MCP-transport i stdio-lĂ€ge: ```bash omniroute --mcp ``` Rekommenderat valideringsflöde: 1. Anslut din MCP-klient via stdio. 2. Kör `omniroute_get_health`. 3. Kör `omniroute_list_combos`. 4. Öppna `/dashboard/mcp` för att bekrĂ€fta hjĂ€rtslag, aktivitet och revision. AnvĂ€ndbara API:er för automatisering: - `GET /api/mcp/status` - `GET /api/mcp/tools` - `GET /api/mcp/audit` - `GET /api/mcp/audit/stats`
đŸ€ A2A-instĂ€llning (Agent2Agent) UpptĂ€ck agenten: ```bash curl http://localhost:20128/.well-known/agent.json ``` Skicka en uppgift: ```bash curl -X POST http://localhost:20128/a2a \ -H 'content-type: application/json' \ -d '{"jsonrpc":"2.0","id":"setup-a2a","method":"message/send","params":{"skill":"quota-management","messages":[{"role":"user","content":"Summarize quota status."}]}}' ``` Hantera livscykel: - `GET /api/a2a/status` - `GET /api/a2a/tasks` - `GET /api/a2a/tasks/:id` - `POST /api/a2a/tasks/:id/cancel` Operativt anvĂ€ndargrĂ€nssnitt: - `/dashboard/a2a` för observerbarhet för uppgift/tillstĂ„nd/ström och rökĂ„tgĂ€rder
đŸ§Ș End-to-end-protokollvalidering Validera bĂ„da protokollen med riktiga klienter: ```bash npm run test:protocols:e2e ``` Detta verifierar: - MCP SDK-klientanslut/lista/samtal - A2A upptĂ€ckt/skicka/strömma/fĂ„/avbryt - Korskontrollera data i MCP-revision och A2A-uppgiftshanterings-API:er
💳 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 ``` #### Codex Account Limit Management (5 timmar + veckovis) Varje Codex-konto har nu policyvĂ€xlingar i `Dashboard -> Providers`: - `5h` (PÅ/AV): tillĂ€mpa 5-timmars fönstertröskelpolicyn. - `Weekly` (PÅ/AV): tillĂ€mpa policyn för veckofönstertröskel. - Tröskelbeteende: nĂ€r ett aktiverat fönster nĂ„r >=90 % anvĂ€ndning hoppas kontot över. - Rotationsbeteende: OmniRoute leder automatiskt till nĂ€sta kvalificerade Codex-konto. - ÅterstĂ€ll beteende: nĂ€r leverantörens `resetAt` tid gĂ„r, blir kontot kvalificerat igen automatiskt. Scenarier: - `5h ON` + `Weekly ON`: kontot hoppas över nĂ€r nĂ„got av fönstren nĂ„r tröskeln. - `5h OFF` + `Weekly ON`: endast veckovis anvĂ€ndning kan blockera kontot. - `5h ON` + `Weekly OFF`: endast 5 timmars anvĂ€ndning kan blockera kontot. - `resetAt` godkĂ€nd: kontot Ă„tergĂ„r till rotation automatiskt (ingen manuell Ă„teraktivering). ### 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 utvecklarĂ„tkomst — 70+ modeller) 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 lĂ€genhet) 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 (5 GRATIS modeller via OAuth) ```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 (4 GRATIS modeller via enhetskod) ```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 ``` ### OpenCode **Steg 1:** LĂ€gg till OmniRoute som en anpassad leverantör: ```bash opencode /connect # Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key ``` **Steg 2:** Skapa/redigera `opencode.json` i din projektrot: ```json { "$schema": "https://opencode.ai/config.json", "provider": { "omniroute": { "npm": "@ai-sdk/openai-compatible", "name": "OmniRoute", "options": { "baseURL": "http://localhost:20128/v1" }, "models": { "cc/claude-sonnet-4-20250514": { "name": "Claude Sonnet 4" }, "gg/gemini-2.5-pro": { "name": "Gemini 2.5 Pro" }, "if/kimi-k2-thinking": { "name": "Kimi K2 (Free)" } } } } } ``` **Steg 3:** VĂ€lj modell i OpenCode: ```bash /models # Select any OmniRoute model from the list ``` > **Tips:** LĂ€gg till valfri modell som Ă€r tillgĂ€nglig i din OmniRoute `/v1/models` slutpunkt till avsnittet `models`. AnvĂ€nd formatet `provider/model-id` frĂ„n din OmniRoute-instrumentpanel.
--- ## 🐛 Felsökning
Klicka för att utöka 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/API-portar Ă€r fel** - `PORT` Ă€r den kanoniska basporten (och API-porten som standard) - `API_PORT` Ă„sidosĂ€tter endast OpenAI-kompatibel API-lyssnare - `DASHBOARD_PORT` Ă„sidosĂ€tter endast instrumentpanelen/Next.js-lyssnaren - StĂ€ll in `NEXT_PUBLIC_BASE_URL` till din instrumentpanel/offentliga URL (för OAuth-Ă„teruppringningar) **Molnsynkroniseringsfel** - Verifiera att `BASE_URL` pekar pĂ„ din körinstans - Verifiera `CLOUD_URL`-punkter till din förvĂ€ntade molnĂ€ndpunkt - 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 pĂ„ en fjĂ€rrserver > **⚠ Viktigt för anvĂ€ndare som kör OmniRoute pĂ„ en VPS, Docker eller vilken fjĂ€rrserver som helst** #### Varför misslyckas Antigravity / Gemini CLI OAuth pĂ„ fjĂ€rrservrar? **Antigravity** och **Gemini CLI**-leverantörerna anvĂ€nder **Google OAuth 2.0**. Google krĂ€ver att `redirect_uri` i OAuth-flödet exakt matchar en av de förregistrerade URI:erna i appens Google Cloud Console. OAuth-uppgifterna som paketeras i OmniRoute Ă€r registrerade **endast för `localhost`**. NĂ€r du fĂ„r Ă„tkomst till OmniRoute pĂ„ en fjĂ€rrserver (t.ex. `https://omniroute.myserver.com`), avvisar Google autentiseringen med: ``` Error 400: redirect_uri_mismatch ``` #### Lösning: Konfigurera dina egna OAuth-uppgifter Du mĂ„ste skapa ett **OAuth 2.0 Client ID** i Google Cloud Console med din servers URI. #### Steg-för-steg **1. Öppna Google Cloud Console** GĂ„ till: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Skapa ett nytt OAuth 2.0-klient-ID** - Klicka pĂ„ **"+ Skapa inloggningsuppgifter"** → **"OAuth-klient-ID"** - Applikationstyp: **"Webbapplikation"** - Namn: allt du gillar (t.ex. `OmniRoute Remote`) **3. LĂ€gg till auktoriserade omdirigerings-URI:er** I fĂ€ltet **"Auktoriserade omdirigerings-URI:er"** lĂ€gger du till: ``` https://your-server.com/callback ``` > ErsĂ€tt `your-server.com` med din servers domĂ€n eller IP (inkludera porten om det behövs, t.ex. `http://45.33.32.156:20128/callback`). **4. Spara och kopiera inloggningsuppgifterna** NĂ€r du har skapat kommer Google att visa **klient-ID** och **klienthemlighet**. **5. StĂ€ll in miljövariabler** I din `.env` (eller Docker-miljövariabler): ```bash # For Antigravity: ANTIGRAVITY_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-your-secret # For Gemini CLI: GEMINI_OAUTH_CLIENT_ID=your-client-id.apps.googleusercontent.com GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-your-secret ``` **6. Starta om OmniRoute** ```bash # npm: npm run dev # Docker: docker restart omniroute ``` **7. Försök ansluta igen** Dashboard → Leverantörer → Antigravity (eller Gemini CLI) → OAuth Google kommer nu att omdirigera korrekt till `https://your-server.com/callback`. --- #### TillfĂ€llig lösning (utan anpassade autentiseringsuppgifter) Om du inte vill stĂ€lla in dina egna autentiseringsuppgifter just nu kan du fortfarande anvĂ€nda det **manuella URL-flödet**: 1. OmniRoute öppnar Googles auktoriserings-URL 2. Efter auktorisering försöker Google omdirigera till `localhost` (vilket misslyckas pĂ„ fjĂ€rrservern) 3. **Kopiera hela webbadressen** frĂ„n webblĂ€sarens adressfĂ€lt (Ă€ven om sidan inte laddas) 4. Klistra in den URL:en i fĂ€ltet som visas i OmniRoute-anslutningsmodalen 5. Klicka pĂ„ **"Anslut"** > Detta fungerar eftersom auktoriseringskoden i URL:en Ă€r giltig oavsett om omdirigeringssidan har laddats. ---
đŸ‡§đŸ‡· VersĂŁo em PortuguĂȘs #### 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 konfigurerad 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.
---
## đŸ› ïž Tech Stack
Klicka för att expandera teknisk stackdetaljer - **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/` (noll `any` i kĂ€rnmoduler sedan v2.0) - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Databas**: LowDB (JSON) + SQLite (domĂ€ntillstĂ„nd + proxyloggar + MCP-granskning + routingbeslut) - **Schema**: Zod (MCP-verktyg I/O-validering, API-kontrakt) - **Protokoll**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE) - **Streaming**: ServersĂ€nda hĂ€ndelser (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + API-nycklar + MCP Scoped Authorization - **Test**: Node.js testlöpare + Vitest (900+ tester inklusive enhet, integration, E2E) - **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, auto-combo sjĂ€lvlĂ€kning
--- ## 📖 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 | | [MCP Server](open-sse/mcp-server/README.md) | 16 MCP-verktyg, IDE-konfigurationer, Python/TS/Go-klienter | | [A2A Server](src/lib/a2a/README.md) | JSON-RPC 2.0-protokoll, fĂ€rdigheter, streaming, uppgiftshantering | | [Auto-Combo Engine](docs/auto-combo.md) | 6-faktor poĂ€ng, lĂ€gespaket, sjĂ€lvlĂ€kande | | [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 | | [Release Checklist](docs/RELEASE_CHECKLIST.md) | Steg för validering av pre-release | --- ## đŸ—ș FĂ€rdkarta 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 [**OMNI_TOKEN_342**](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 v2.0.0 --title "v2.0.0" --generate-notes ``` --- ## 📊 StjĂ€rnhistorik ## StjĂ€rnskĂ„dare över tid ## [![Stargazers over time](https://starchart.cc/diegosouzapw/OmniRoute.svg?variant=adaptive)](https://starchart.cc/diegosouzapw/OmniRoute) ## 🙏 Tack SĂ€rskilt 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