# ๐Ÿš€ OmniRoute โ€” De gratis AI-gateway ### Stop nooit met coderen. Slimme routering naar **GRATIS en voordelige AI-modellen** met automatische terugval. _Uw universele API-proxy: รฉรฉn eindpunt, meer dan 67 providers, geen downtime. Nu met **MCP- en A2A**-agentorkestratie._ **Chat voltooid โ€ข Insluitingen โ€ข Beeld genereren โ€ข Video โ€ข Muziek โ€ข Audio โ€ข Herrangschikking โ€ข **Webzoeken** โ€ข MCP-server โ€ข A2A-protocol โ€ข 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)
๐ŸŒ **Verkrijgbaar in:** ๐Ÿ‡บ๐Ÿ‡ธ [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) --- ## ๐Ÿ†• Wat is er nieuw in v3.0.0 > **Upgraden vanaf v2.9.5?** โ€” Zie [full CHANGELOG](CHANGELOG.md#300--2026-03-22-release-candidate--not-yet-merged-to-main) voor alle wijzigingen. | Gebied | Wijzig | | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ๐Ÿ”’ **CodeQL-beveiliging** | Meer dan 10 CodeQL-waarschuwingen opgelost: polynomiale herhalingen, onveilige willekeur, herstel door shell-injectie | | โœ… **Routevalidatie** | Alle 176 API-routes nu gevalideerd met Zod-schema's + `validateBody()` โ€” CI `check:route-validation:t06` passen | | ๐Ÿ› **omniModel-tag lekt** | Interne ``-tags lekken niet langer naar clients in SSE-streamingreacties (#585) | | ๐Ÿ”‘ **Geregistreerde sleutels-API** | API-sleutels automatisch inrichten via `POST /api/v1/registered-keys` met handhaving van quota per provider/account, idempotentie, SHA-256-opslag en optionele GitHub-probleemrapportage | | ๐ŸŽจ **Providerpictogrammen** | 130+ providerlogo's via `@lobehub/icons` (SVG) met PNG โ†’ generieke fallback-keten | | ๐Ÿ”„ **Model automatische synchronisatie** | 24-uurs planner en handmatige UI-schakelaar om modellijsten te synchroniseren voor ingebouwde en aangepaste OpenAI-compatibele providers | | ๐ŸŒ **OpenCode Zen/Go** | Twee nieuwe providers van @kang-heewon via PR #530: gratis niveau + abonnementsniveau via `OpencodeExecutor` | | ๐Ÿ› **Gemini CLI OAuth** | Bruikbare fout wanneer `GEMINI_OAUTH_CLIENT_SECRET` ontbreekt in Docker (was een cryptische Google-fout) | | ๐Ÿ› **OpenCode-configuratie** | `saveOpenCodeConfig()` schrijft nu correct TOML naar `XDG_CONFIG_HOME` | | ๐Ÿ› **Vastgezette modeloverschrijving** | `body.model` correct ingesteld op `pinnedModel` bij contextcachebeveiliging | | ๐Ÿ› **Codex/Claude-lus** | `tool_result` blokken nu geconverteerd naar tekst om oneindige lussen te stoppen | | ๐Ÿ› **Inlogomleiding** | Inloggen loopt niet langer vast na het overslaan van het instellen van het wachtwoord | | ๐Ÿ› **Windows-paden** | MSYS2/Git-Bash-paden (`/c/...`) automatisch genormaliseerd naar `C:\...` | --- ## ๐Ÿ–ผ๏ธ Hoofddashboard
OmniRoute Dashboard
--- ## ๐Ÿ“ธ Dashboardvoorbeeld
Klik om dashboardscreenshots te bekijken | Pagina | Schermafbeelding | | --------------------- | ------------------------------------------------- | | **Aanbieders** | ![Providers](docs/screenshots/01-providers.png) | | **Combo's** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **Gezondheid** | ![Health](docs/screenshots/04-health.png) | | **Vertaler** | ![Translator](docs/screenshots/05-translator.png) | | **Instellingen** | ![Settings](docs/screenshots/06-settings.png) | | **CLI-hulpmiddelen** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **Gebruikslogboeken** | ![Usage](docs/screenshots/08-usage.png) | | **Eindpunten** | ![Endpoints](docs/screenshots/09-endpoint.png) |
--- ### ๐Ÿค– Gratis AI-provider voor uw favoriete codeeragenten _Verbind elke AI-aangedreven IDE- of CLI-tool via OmniRoute: gratis API-gateway voor onbeperkte codering._
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
๐Ÿ“ก Alle agenten maken verbinding via http://localhost:20128/v1 of http://cloud.omniroute.online/v1 โ€” รฉรฉn configuratie, onbeperkte modellen en quota --- ## ๐Ÿค” Waarom OmniRoute? **Stop met het verspillen van geld en het bereiken van grenzen:** - Het abonnementsquotum verloopt elke maand ongebruikt - Snelheidslimieten voorkomen dat u halverwege codeert - Dure API's ($20-50/maand per provider) - Handmatig schakelen tussen providers **OmniRoute lost dit op:** - โœ… **Maximaliseer abonnementen** - Houd quota bij, gebruik elk bit voordat u het opnieuw instelt - โœ… **Automatische terugval** - Abonnement โ†’ API-sleutel โ†’ Goedkoop โ†’ Gratis, geen downtime - โœ… **Multi-account** - Round-robin tussen accounts per provider - โœ… **Universeel** - Werkt met Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, elke CLI-tool --- ## ๐Ÿ“ง Ondersteuning > ๐Ÿ’ฌ **Word lid van onze community!** [WhatsApp Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) โ€” Krijg hulp, deel tips en blijf op de hoogte. - **Website**: [omniroute.online](https://omniroute.online) - **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute) - **Problemen**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues) - **WhatsApp**: [Community Group](https://chat.whatsapp.com/JI7cDQ1GyaiDHhVBpLxf8b?mode=gi_t) - **Bijdragen**: zie [CONTRIBUTING.md](CONTRIBUTING.md), open een PR of kies een `good first issue` - **Origineel project**: [9router by decolua](https://github.com/decolua/9router) ### ๐Ÿ› Een bug melden? Wanneer u een probleem opent, voert u de opdracht system-info uit en voegt u het gegenereerde bestand toe: ```bash npm run system-info ``` Dit genereert een `system-info.txt` met uw Node.js-versie, OmniRoute-versie, OS-details, geรฏnstalleerde CLI-tools (iflow, gemini, claude, codex, antigravity, droid, enz.), Docker/PM2-status en systeempakketten - alles wat we nodig hebben om uw probleem snel te reproduceren. Voeg het bestand rechtstreeks toe aan uw GitHub-probleem. --- ## ๐Ÿ”„ Hoe het werkt ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ 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 ``` --- ## ๐ŸŽฏ Wat OmniRoute oplost โ€” 30 echte pijnpunten en gebruiksscenario's > **Elke ontwikkelaar die AI-tools gebruikt, wordt dagelijks met deze problemen geconfronteerd.** OmniRoute is gebouwd om ze allemaal op te lossen: van kostenoverschrijdingen tot regionale blokkades, van kapotte OAuth-stromen tot protocolbewerkingen en bedrijfsobservatie.
๐Ÿ’ธ 1. "Ik betaal voor een duur abonnement, maar word nog steeds onderbroken door limieten" Ontwikkelaars betalen $20-200/maand voor Claude Pro, Codex Pro of GitHub Copilot. Zelfs als je betaalt, heeft het quotum een โ€‹โ€‹plafond: 5 uur gebruik, wekelijkse limieten of tarieflimieten per minuut. Halverwege de codeersessie reageert de provider niet meer en verliest de ontwikkelaar flow en productiviteit. **Hoe OmniRoute het oplost:** - **Smart 4-Tier Fallback** โ€” Als het abonnementsquotum opraakt, wordt automatisch doorgestuurd naar API Key โ†’ Goedkoop โ†’ Gratis zonder handmatige tussenkomst - **Realtime bijhouden van quota** โ€” Toont het tokenverbruik in realtime met aftelling van de reset (5 uur, dagelijks, wekelijks) - **Ondersteuning voor meerdere accounts** โ€” Meerdere accounts per provider met automatische round-robin โ€” als de ene op is, wordt er overgeschakeld naar de volgende - **Aangepaste combo's** โ€” Aanpasbare fallback-ketens met 6 balanceringsstrategieรซn (fill-first, round-robin, P2C, willekeurig, minst gebruikt, kostengeoptimaliseerd) - **Codex Business Quota** โ€” Quotabewaking van zakelijke/teamwerkruimte rechtstreeks in het dashboard
๐Ÿ”Œ 2. "Ik moet meerdere providers gebruiken, maar elke provider heeft een andere API" OpenAI gebruikt het ene formaat, Claude (Anthropic) gebruikt een ander, Gemini nog een ander. Als een ontwikkelaar modellen van verschillende providers wil testen of terug wil vallen tussen deze providers, moet hij SDK's opnieuw configureren, eindpunten wijzigen en omgaan met incompatibele formaten. Aangepaste providers (FriendLI, NIM) hebben niet-standaard modeleindpunten. **Hoe OmniRoute het oplost:** - **Unified Endpoint** โ€” Eรฉn enkele `http://localhost:20128/v1` fungeert als proxy voor alle 67+ providers - **Formatvertaling** โ€” Automatisch en transparant: OpenAI โ†” Claude โ†” Gemini โ†” Responses API - **Response Sanitization** โ€” Verwijdert niet-standaard velden (`x_groq`, `usage_breakdown`, `service_tier`) die de OpenAI SDK v1.83+ verbreken - **Rolnormalisatie** โ€” Converteert `developer` โ†’ `system` voor niet-OpenAI-providers; `system` โ†’ `user` voor GLM/ERNIE - **Think Tag Extraction** โ€” Extraheert `` blokken uit modellen zoals DeepSeek R1 naar gestandaardiseerde `reasoning_content` - **Gestructureerde uitvoer voor Gemini** โ€” `json_schema` โ†’ `responseMimeType`/`responseSchema` automatische conversie - **`stream` is standaard `false`** โ€” Sluit aan bij de OpenAI-specificaties en vermijdt onverwachte SSE in Python/Rust/Go SDK's
๐ŸŒ 3. "Mijn AI-provider blokkeert mijn regio/land" Providers zoals OpenAI/Codex blokkeren de toegang vanuit bepaalde geografische regio's. Gebruikers krijgen fouten zoals `unsupported_country_region_territory` tijdens OAuth- en API-verbindingen. Dit is vooral frustrerend voor ontwikkelaars uit ontwikkelingslanden. **Hoe OmniRoute het oplost:** - **Proxyconfiguratie op 3 niveaus** โ€” Configureerbare proxy op 3 niveaus: globaal (al het verkeer), per provider (slechts รฉรฉn provider) en per verbinding/sleutel - **Kleurgecodeerde proxybadges** โ€” Visuele indicatoren: ๐ŸŸข globale proxy, ๐ŸŸก providerproxy, ๐Ÿ”ตverbindingsproxy, waarbij altijd het IP-adres wordt weergegeven - **OAuth-tokenuitwisseling via proxy**: de OAuth-stroom verloopt ook via de proxy, waardoor `unsupported_country_region_territory` wordt opgelost - **Verbindingstests via proxy** โ€” Verbindingstests gebruiken de geconfigureerde proxy (geen directe bypass meer) - **SOCKS5-ondersteuning** โ€” Volledige SOCKS5-proxyondersteuning voor uitgaande routering - **TLS Fingerprint Spoofing** โ€” Browserachtige TLS-vingerafdruk via `wreq-js` om botdetectie te omzeilen - **๐Ÿ” CLI Fingerprint Matching** โ€” Herschikt headers en body-velden zodat ze overeenkomen met de oorspronkelijke binaire CLI-handtekeningen, waardoor het risico op accountmarkeringen drastisch wordt verminderd. Het proxy-IP blijft behouden: u krijgt tegelijkertijd zowel stealth** als** IP-maskering
๐Ÿ†“ 4. "Ik wil AI gebruiken voor codering, maar ik heb geen geld" Niet iedereen kan $ 20-200 per maand betalen voor AI-abonnementen. Studenten, ontwikkelaars uit opkomende landen, hobbyisten en freelancers hebben kosteloos toegang nodig tot kwaliteitsmodellen. **Hoe OmniRoute het oplost:** - **Free Tier Providers ingebouwd** โ€” Native ondersteuning voor 100% gratis providers: iFlow (5 onbeperkte modellen via OAuth: kimi-k2-thinking, qwen3-coder-plus, deepseek-r1, minimax-m2, kimi-k2), Qwen (4 onbeperkte modellen: qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-next, vision-model), Kiro (Claude + AWS Builder ID gratis), Gemini CLI (180K tokens/maand gratis) - **Ollama Cloud** โ€” In de cloud gehoste Ollama-modellen op `api.ollama.com` met gratis laag "Licht gebruik"; gebruik het voorvoegsel `ollamacloud/` - **Alleen gratis combo's** โ€” Chain `gc/gemini-3-flash โ†’ if/kimi-k2-thinking โ†’ qw/qwen3-coder-plus` = $0/maand zonder downtime - **NVIDIA NIM Free Access** โ€” ~40 RPM ontwikkelaars-voor altijd gratis toegang tot meer dan 70 modellen op build.nvidia.com (overgang van credits naar pure tarieflimieten) - **Kostengeoptimaliseerde strategie** โ€” Routingstrategie die automatisch de goedkoopste beschikbare provider kiest
๐Ÿ”’ 5. "Ik moet mijn AI-gateway beschermen tegen ongeautoriseerde toegang" Bij het blootstellen van een AI-gateway aan het netwerk (LAN, VPS, Docker) kan iedereen met het adres de tokens/quota van de ontwikkelaar gebruiken. Zonder bescherming zijn API's kwetsbaar voor misbruik, snelle injectie en misbruik. **Hoe OmniRoute het oplost:** - **API Key Management** โ€” Generatie, rotatie en bereik per provider met een speciale `/dashboard/api-manager` pagina - **Machtigingen op modelniveau** โ€” Beperk API-sleutels tot specifieke modellen (`openai/*`, jokertekenpatronen), met de schakelaar Alles toestaan/Beperken - **API Endpoint Protection** โ€” Vereist een sleutel voor `/v1/models` en blokkeer specifieke providers uit de lijst - **Auth Guard + CSRF-bescherming** โ€” Alle dashboardroutes beschermd met `withAuth` middleware + CSRF-tokens - **Rate Limiter** โ€” Per-IP-snelheidslimiet met configureerbare vensters - **IP-filtering** โ€” Toelatingslijst/blokkeerlijst voor toegangscontrole - **Prompt Injection Guard** โ€” Sanering tegen kwaadaardige promptpatronen - **AES-256-GCM-codering** โ€” Inloggegevens gecodeerd in rust
๐Ÿ›‘ 6. "Mijn provider is uitgevallen en ik ben mijn codeerstroom kwijtgeraakt" AI-aanbieders kunnen instabiel worden, 5xx-fouten retourneren of tijdelijke tarieflimieten bereiken. Als een ontwikkelaar afhankelijk is van รฉรฉn enkele provider, worden deze onderbroken. Zonder stroomonderbrekers kunnen herhaalde pogingen de toepassing laten crashen. **Hoe OmniRoute het oplost:** - **Stroomonderbreker per model** โ€” Automatisch openen/sluiten met configureerbare drempels en cooldown (Gesloten/Open/Half-Open), bereik per model om trapsgewijze blokkades te voorkomen - **Exponentiรซle uitstel** โ€” Progressieve vertragingen bij nieuwe pogingen - **Anti-Thundering Herd** โ€” Mutex + semafoorbescherming tegen gelijktijdige nieuwe stormen - **Combo Fallback Chains** โ€” Als de primaire provider faalt, valt deze automatisch zonder tussenkomst door de keten - **Combo-stroomonderbreker** โ€” Schakelt falende providers binnen een combo-keten automatisch uit - **Gezondheidsdashboard** โ€” Uptime-monitoring, status van stroomonderbrekers, uitsluitingen, cachestatistieken, p50/p95/p99-latentie
๐Ÿ”ง 7. "Het configureren van elke AI-tool is vervelend en repetitief" Ontwikkelaars gebruiken Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Elke tool heeft een andere configuratie nodig (API-eindpunt, sleutel, model). Opnieuw configureren bij het wisselen van provider of model is tijdverspilling. **Hoe OmniRoute het oplost:** - **CLI Tools Dashboard** โ€” Speciale pagina met installatie met รฉรฉn klik voor Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline - **GitHub Copilot Config Generator** โ€” Genereert `chatLanguageModels.json` voor VS-code met bulkmodelselectie - **Onboarding Wizard** โ€” Begeleide installatie in 4 stappen voor nieuwe gebruikers - **Eรฉn eindpunt, alle modellen** โ€” Configureer `http://localhost:20128/v1` รฉรฉn keer, krijg toegang tot meer dan 67 providers
๐Ÿ”‘ 8. "Het beheren van OAuth-tokens van meerdere providers is een hel" Claude Code, Codex, Gemini CLI, Copilot: ze gebruiken allemaal OAuth 2.0 met aflopende tokens. Ontwikkelaars moeten zich voortdurend opnieuw authenticeren en omgaan met `client_secret is missing`, `redirect_uri_mismatch` en storingen op externe servers. OAuth op LAN/VPS is bijzonder problematisch. **Hoe OmniRoute het oplost:** - **Automatische tokenvernieuwing**: OAuth-tokens worden op de achtergrond vernieuwd voordat ze verlopen - **OAuth 2.0 (PKCE) ingebouwd** โ€” Automatische stroom voor Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow - **Multi-Account OAuth** โ€” Meerdere accounts per provider via JWT/ID-tokenextractie - **OAuth LAN/Remote Fix** โ€” Privรฉ-IP-detectie voor `redirect_uri` + handmatige URL-modus voor externe servers - **OAuth achter Nginx** โ€” Gebruikt `window.location.origin` voor reverse proxy-compatibiliteit - **Remote OAuth-handleiding** โ€” Stapsgewijze handleiding voor Google Cloud-inloggegevens op VPS/Docker
๐Ÿ“Š 9. "Ik weet niet hoeveel ik uitgeef of waar" Ontwikkelaars gebruiken meerdere betaalde providers, maar hebben geen uniform beeld van de uitgaven. Elke provider heeft zijn eigen factureringsdashboard, maar er is geen geconsolideerd overzicht. Onverwachte kosten kunnen zich opstapelen. **Hoe OmniRoute het oplost:** - **Cost Analytics Dashboard** โ€” Kostenregistratie per token en budgetbeheer per provider - **Budgetlimieten per niveau** โ€” Uitgavenplafond per niveau dat automatische terugval activeert - **Prijsconfiguratie per model** โ€” Configureerbare prijzen per model - **Gebruiksstatistieken per API-sleutel** โ€” Verzoekaantal en laatst gebruikte tijdstempel per sleutel - **Analytics Dashboard** โ€” Statistiekkaarten, modelgebruiksgrafiek, providertabel met succespercentages en latentie
๐Ÿ› 10. "Ik kan geen fouten en problemen in AI-oproepen diagnosticeren" Wanneer een oproep mislukt, weet de ontwikkelaar niet of het een snelheidslimiet, een verlopen token, een verkeerd formaat of een providerfout is. Gefragmenteerde logboeken over verschillende terminals. Zonder waarneembaarheid is debuggen een kwestie van vallen en opstaan. **Hoe OmniRoute het oplost:** - **Unified Logs Dashboard** โ€” 4 tabbladen: aanvraaglogboeken, proxylogboeken, auditlogboeken, console - **Consolelogviewer** โ€” Realtime viewer in terminalstijl met kleurgecodeerde niveaus, automatisch scrollen, zoeken, filteren - **SQLite Proxy Logs** โ€” Persistente logs die het opnieuw opstarten van de server overleven - **Translator Playground** โ€” 4 foutopsporingsmodi: Playground (formaatvertaling), Chat Tester (retour), Testbank (batch), Live Monitor (realtime) - **Request Telemetry** โ€” p50/p95/p99 latentie + X-Request-Id-tracering - **Op bestanden gebaseerde logboekregistratie met rotatie** โ€” Console-interceptor legt alles vast in JSON-logboek met op grootte gebaseerde rotatie - **Systeeminforapport** โ€” `npm run system-info` genereert `system-info.txt` met uw volledige omgeving (knooppuntversie, OmniRoute-versie, besturingssysteem, CLI-tools, Docker/PM2-status). Voeg het toe bij het melden van problemen, zodat u direct kunt triageen.
๐Ÿ—๏ธ 11. "Het implementeren en onderhouden van de gateway is complex" Het installeren, configureren en onderhouden van een AI-proxy in verschillende omgevingen (lokaal, VPS, Docker, cloud) is arbeidsintensief. Problemen zoals hardgecodeerde paden, `EACCES` in mappen, poortconflicten en platformonafhankelijke builds zorgen voor extra wrijving. **Hoe OmniRoute het oplost:** - **npm globale installatie** โ€” `npm install -g omniroute && omniroute` โ€” klaar - **Docker Multi-Platform** โ€” AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi) - **Docker Compose Profiles** โ€” `base` (geen CLI-tools) en `cli` (met Claude Code, Codex, OpenClaw) - **Electron Desktop App** โ€” Native app voor Windows/macOS/Linux met systeemvak, automatisch starten, offline modus - **Split-Port-modus** โ€” API en Dashboard op afzonderlijke poorten voor geavanceerde scenario's (reverse proxy, containernetwerken) - **Cloud Sync** โ€” Configureer synchronisatie tussen apparaten via Cloudflare Workers - **DB-back-ups** โ€” Automatische back-up, herstel, export en import van alle instellingen
๐ŸŒ 12. "De interface is alleen Engels en mijn team spreekt geen Engels" Teams in niet-Engelssprekende landen, vooral in Latijns-Amerika, Aziรซ en Europa, worstelen met interfaces die alleen in het Engels beschikbaar zijn. Taalbarriรจres verminderen de adoptie en vergroten de configuratiefouten. **Hoe OmniRoute het oplost:** - **Dashboard i18n โ€” 30 talen** โ€” Alle 500+ toetsen vertaald, waaronder Arabisch, Bulgaars, Deens, Duits, Spaans, Fins, Frans, Hebreeuws, Hindi, Hongaars, Indonesisch, Italiaans, Japans, Koreaans, Maleis, Nederlands, Noors, Pools, Portugees (PT/BR), Roemeens, Russisch, Slowaaks, Zweeds, Thais, Oekraรฏens, Vietnamees, Chinees, Filipijns, Engels - **RTL-ondersteuning** โ€” Ondersteuning van rechts naar links voor Arabisch en Hebreeuws - **Meertalige README's** โ€” 30 volledige documentatievertalingen - **Taalkiezer** โ€” Wereldbolpictogram in de koptekst voor realtime schakelen
๐Ÿ”„ 13. "Ik heb meer nodig dan chatten - ik heb insluitingen, afbeeldingen en audio nodig" AI is niet alleen het voltooien van chats. Ontwikkelaars moeten afbeeldingen genereren, audio transcriberen, insluitingen voor RAG maken, documenten opnieuw rangschikken en inhoud modereren. Elke API heeft een ander eindpunt en formaat. **Hoe OmniRoute het oplost:** - **Insluitingen** โ€” `/v1/embeddings` met 6 providers en 9+ modellen - **Beeldgeneratie** โ€” `/v1/images/generations` met 10 providers en 20+ modellen (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI) - **Tekst-naar-video** โ€” `/v1/videos/generations` โ€” ComfyUI (AnimateDiff, SVD) en SD WebUI - **Tekst-naar-muziek** โ€” `/v1/music/generations` โ€” ComfyUI (stabiele audio open, MusicGen) - **Audiotranscriptie** โ€” `/v1/audio/transcriptions` โ€” Whisper + Nvidia NIM, HuggingFace, Qwen3 - **Tekst-naar-spraak** โ€” `/v1/audio/speech` โ€” ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3, **Inworld**, **Cartesia**, **PlayHT**, + bestaande providers - **Moderaties** โ€” `/v1/moderations` โ€” Veiligheidscontroles van inhoud - **Herschikking** โ€” `/v1/rerank` โ€” Herschikking van de relevantie van documenten - **Responses API** โ€” Volledige `/v1/responses` ondersteuning voor Codex
๐Ÿงช 14. "Ik heb geen manier om de kwaliteit van verschillende modellen te testen en te vergelijken" Ontwikkelaars willen weten welk model het beste is voor hun gebruiksscenario (code, vertaling, redenering), maar handmatig vergelijken gaat traag. Er bestaan โ€‹โ€‹geen geรฏntegreerde evaluatietools. **Hoe OmniRoute het oplost:** - **LLM-evaluaties** โ€” Golden set-tests met 10 vooraf geladen cases over begroetingen, wiskunde, aardrijkskunde, codegeneratie, JSON-compliance, vertaling, prijsverlaging, veiligheidsweigering - **4 Matchstrategieรซn** โ€” `exact`, `contains`, `regex`, `custom` (JS-functie) - **Translator Playground Test Bench** โ€” Batchtests met meerdere inputs en verwachte outputs, vergelijking tussen providers - **Chat Tester** โ€” Volledige rondreis met visuele responsweergave - **Live Monitor** โ€” Realtime stream van alle verzoeken die door de proxy stromen
๐Ÿ“ˆ 15. "Ik moet schalen zonder prestatieverlies" Naarmate het verzoekvolume groeit, genereren dezelfde vragen dubbele kosten als dezelfde vragen niet in de cache worden opgeslagen. Zonder idempotentie verspillen dubbele aanvragen de verwerking. Tarieflimieten per aanbieder moeten worden gerespecteerd. **Hoe OmniRoute het oplost:** - **Semantische cache** โ€” Cache met twee lagen (handtekening + semantisch) verlaagt de kosten en de latentie - **Request Idempotency** โ€” 5s deduplicatievenster voor identieke verzoeken - **Detectie van tarieflimiet** โ€” RPM per provider, minimale tussenruimte en maximale gelijktijdige tracking - **Bewerkbare snelheidslimieten** โ€” Configureerbare standaardinstellingen in Instellingen โ†’ Veerkracht met doorzettingsvermogen - **API Key Validation Cache** โ€” 3-tier cache voor productieprestaties - **Gezondheidsdashboard met telemetrie** โ€” p50/p95/p99-latentie, cachestatistieken, uptime
๐Ÿค– 16. "Ik wil het modelgedrag wereldwijd controleren" Ontwikkelaars die alle antwoorden in een specifieke taal willen, met een specifieke toon, of redeneringstokens willen beperken. Het is onpraktisch om dit in elke tool/verzoek te configureren. **Hoe OmniRoute het oplost:** - **Systeempromptinjectie**: algemene prompt toegepast op alle verzoeken - **Thinking Budget Validation** โ€” Redenering van tokentoewijzingscontrole per verzoek (passthrough, automatisch, aangepast, adaptief) - **6 Routingstrategieรซn** โ€” Globale strategieรซn die bepalen hoe verzoeken worden gedistribueerd - **Wildcard Router** โ€” `provider/*` patronen routeren dynamisch naar elke provider - **Combo in-/uitschakelen schakelen** โ€” Schakel combo's rechtstreeks vanuit het dashboard in - **Provider wisselen** โ€” Schakel alle verbindingen voor een provider met รฉรฉn klik in/uit - **Geblokkeerde providers**: sluit specifieke providers uit van de `/v1/models` lijst
๐Ÿงฐ 17. "Ik heb MCP-tools nodig als eersteklas productmogelijkheden" Veel AI-gateways stellen MCP alleen bloot als een verborgen implementatiedetail. Teams hebben een zichtbare, beheersbare operationele laag nodig. **Hoe OmniRoute het oplost:** - MCP verschijnt op het dashboardnavigatie- en eindpuntprotocoltabblad - Speciale MCP-beheerpagina met proces, tools, scopes en audit - Ingebouwde snelstart voor `omniroute --mcp` en onboarding van klanten
๐Ÿง  18. "Ik heb A2A-orkestratie nodig met synchronisatie- en streamtaakpaden" Agentworkflows hebben zowel directe antwoorden nodig als langdurige gestreamde uitvoering met levenscycluscontrole. **Hoe OmniRoute het oplost:** - A2A JSON-RPC-eindpunt (`POST /a2a`) met `message/send` en `message/stream` - SSE-streaming met voortplanting van de terminalstatus - Taaklevenscyclus-API's voor `tasks/get` en `tasks/cancel`
๐Ÿ›ฐ๏ธ 19. "Ik heb echte MCP-processtatus nodig, geen geraden status" Operationele teams moeten weten of MCP daadwerkelijk leeft, en niet alleen of een API bereikbaar is. **Hoe OmniRoute het oplost:** - Runtime-hartslagbestand met PID, tijdstempels, transport, aantal gereedschappen en scope-modus - MCP-status-API die hartslag + recente activiteit combineert - UI-statuskaarten voor proces/uptime/hartslagversheid
๐Ÿ“‹ 20. "Ik heb controleerbare MCP-tooluitvoering nodig" Wanneer tools de configuratie muteren of operationele acties activeren, hebben teams forensische traceerbaarheid nodig. **Hoe OmniRoute het oplost:** - SQLite-ondersteunde auditregistratie voor MCP-toolaanroepen - Filters op tool, succes/mislukking, API-sleutel en paginering - Dashboard-audittabel + statistiekeneindpunten voor automatisering
๐Ÿ” 21. "Ik heb MCP-machtigingen met bereik nodig per integratie" Verschillende clients moeten toegang tot de toolcategorieรซn met de minste bevoegdheden hebben. **Hoe OmniRoute het oplost:** - 9 gedetailleerde MCP-scopes voor gecontroleerde toegang tot tools - Scopehandhaving en zichtbaarheid in de MCP-beheerinterface - Veilige standaardhouding voor operationeel gereedschap
โš™๏ธ 22. "Ik heb operationele controles nodig zonder opnieuw te implementeren" Teams hebben snelle runtimewijzigingen nodig tijdens incidenten of kostengebeurtenissen. **Hoe OmniRoute het oplost:** - Schakel combo-activering rechtstreeks vanuit het MCP-dashboard - Pas veerkrachtprofielen toe uit vooraf gedefinieerde beleidspakketten - Reset de status van de stroomonderbreker vanaf hetzelfde bedieningspaneel
๐Ÿ”„ 23. "Ik heb live zichtbaarheid en annulering van de levenscyclus van A2A-taken nodig" Zonder inzicht in de levenscyclus worden taakincidenten moeilijk te beoordelen. **Hoe OmniRoute het oplost:** - Takenlijst/filteren op staat/vaardigheid met paginering - Inzoomen op taakmetagegevens, gebeurtenissen en artefacten - Eindpunt voor het annuleren van taken en UI-actie met bevestiging
๐ŸŒŠ 24. "Ik heb actieve streamstatistieken nodig voor A2A-belasting" Streamingworkflows vereisen operationeel inzicht in gelijktijdigheid en liveverbindingen. **Hoe OmniRoute het oplost:** - Actieve streamtellers geรฏntegreerd in de A2A-status - Tijdstempel van de laatste taak en tellingen per staat - A2A-dashboardkaarten voor real-time operationele monitoring
๐Ÿชช 25. "Ik heb standaard agentdetectie nodig voor klanten" Externe klanten en orkestrators hebben machinaal leesbare metagegevens nodig voor onboarding. **Hoe OmniRoute het oplost:** - Agentkaart getoond op `/.well-known/agent.json` - Mogelijkheden en vaardigheden weergegeven in de management-UI - A2A-status-API bevat ontdekkingsmetagegevens voor automatisering
๐Ÿงญ 26. "Ik heb protocolvindbaarheid nodig in de product-UX" Als gebruikers protocoloppervlakken niet kunnen ontdekken, neemt de acceptatie- en ondersteuningskwaliteit af. **Hoe OmniRoute het oplost:** - Geconsolideerde pagina **Eindpunten** met tabbladen voor proxy-, MCP-, A2A- en API-eindpunten - Inline servicestatus schakelt (online/offline) voor MCP en A2A - Links van overzicht naar speciale beheertabbladen
๐Ÿงช 27. "Ik heb end-to-end protocolvalidatie nodig met echte clients" Mock-tests zijn niet voldoende om de protocolcompatibiliteit vรณรณr de release te valideren. **Hoe OmniRoute het oplost:** - E2E-suite die de app opstart en echt MCP SDK-clienttransport gebruikt - A2A-clienttests voor het ontdekken, verzenden, streamen, ophalen en annuleren van stromen - Controleer beweringen aan de hand van MCP-audit- en A2A-taken-API's
๐Ÿ“ก 28. "Ik heb uniforme observatie nodig over alle interfaces" Het opsplitsen van de waarneembaarheid per protocol creรซert blinde vlekken en een langere MTTR. **Hoe OmniRoute het oplost:** - Uniforme dashboards/logboeken/analyses in รฉรฉn product - Gezondheid + audit + verzoektelemetrie over OpenAI-, MCP- en A2A-lagen - Operationele API's voor status en automatisering
๐Ÿ’ผ 29. "Ik heb รฉรฉn runtime nodig voor proxy + tools + agentorkestratie" Het uitvoeren van veel afzonderlijke services verhoogt de operationele kosten en faalmodi. **Hoe OmniRoute het oplost:** - OpenAI-compatibele proxy, MCP-server en A2A-server in รฉรฉn stapel - Gedeelde authenticatie, veerkracht, gegevensopslag en waarneembaarheid - Consistent beleidsmodel op alle interactieoppervlakken
๐Ÿš€ 30. "Ik moet agentische workflows verzenden zonder wildgroei van lijmcodes" Teams verliezen snelheid bij het samenvoegen van meerdere ad-hocservices en scripts. **Hoe OmniRoute het oplost:** - Uniforme eindpuntstrategie voor klanten en agenten - Ingebouwde gebruikersinterfaces voor protocolbeheer en rookvalidatiepaden - Productieklare fundamenten (beveiliging, loggen, veerkracht, back-up)
### Voorbeeld-playbooks (geรฏntegreerde gebruiksscenario's) **Playbook A: Maximaliseer betaald abonnement + goedkope back-up** ```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: Codeerstapel zonder kosten** ```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, altijd actieve fallback-keten** ```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: Agentoperaties met 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 ``` --- ## ๐Ÿ†“ Begin gratis: nul configuratiekosten > Stel AI-codering in enkele minuten in voor **$0/maand**. Verbind deze gratis accounts en gebruik de ingebouwde **Gratis Stack**-combinatie. | Stap | Actie | Aanbieders ontgrendeld | | ---- | ----------------------------------------------------- | ------------------------------------------------------------------ | | 1 | Verbind **Kiro** (AWS Builder ID OAuth) | Claude Sonnet 4.5, Haiku 4.5 โ€” **onbeperkt** | | 2 | **iFlow** (Google OAuth) verbinden | kimi-k2-thinking, qwen3-coder-plus, deepseek-r1... โ€” **onbeperkt** | | 3 | Verbind **Qwen** (apparaatcode) | qwen3-coder-plus, qwen3-coder-flash... โ€” **onbeperkt** | | 4 | **Gemini CLI** verbinden (Google OAuth) | gemini-3-flash, gemini-2.5-pro โ€” **180K/maand gratis** | | 5 | `/dashboard/combos` โ†’ **Gratis stapel ($0)**-sjabloon | Round-robin alle gratis aanbieders automatisch | **Wijs een IDE/CLI naar:** `http://localhost:20128/v1` ยท API-sleutel: `any-string` ยท Klaar. > **Optionele extra dekking (ook gratis):** Groq API-sleutel (30 RPM gratis), NVIDIA NIM (40 RPM gratis, 70+ modellen), Cerebras (1M tok/dag), LongCat API-sleutel (50M tokens/dag!), Cloudflare Workers AI (10K Neurons/dag, 50+ modellen). ## โšก Snelle start ### 1) Installeren en uitvoeren ```bash npm install -g omniroute omniroute ``` > **pnpm-gebruikers:** Voer `pnpm approve-builds -g` uit na de installatie om native build-scripts in te schakelen die vereist zijn door `better-sqlite3` en `@swc/core`: > > ```bash > pnpm install -g omniroute > pnpm approve-builds -g # Select all packages โ†’ approve > omniroute > ``` Dashboard wordt geopend op `http://localhost:20128` en de API-basis-URL is `http://localhost:20128/v1`. | Commando | Beschrijving | | ----------------------- | -------------------------------------------------------------- | | `omniroute` | Startserver (`PORT=20128`, API en dashboard op dezelfde poort) | | `omniroute --port 3000` | Stel de canonieke/API-poort in op 3000 | | `omniroute --mcp` | MCP-server starten (stdio-transport) | | `omniroute --no-open` | Browser niet automatisch openen | | `omniroute --help` | Hulp tonen | Optionele split-port-modus: ```bash PORT=20128 DASHBOARD_PORT=20129 omniroute # API: http://localhost:20128/v1 # Dashboard: http://localhost:20129 ``` ### 2) Verbind providers en maak uw API-sleutel aan 1. Open Dashboard โ†’ `Providers` en verbind minimaal รฉรฉn provider (OAuth of API-sleutel). 2. Open Dashboard โ†’ `Endpoints` en maak een API-sleutel. 3. (Optioneel) Open Dashboard โ†’ `Combos` en stel uw fallback-keten in. ### 3) Verwijs uw codeertool naar OmniRoute ```txt Base URL: http://localhost:20128/v1 API Key: [copy from Endpoint page] Model: if/kimi-k2-thinking (or any provider/model prefix) ``` Werkt met Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode en OpenAI-compatibele SDK's. ### 4) Protocollen inschakelen en valideren (v2.0) **MCP (voor gereedschapgestuurde bewerkingen):** ```bash omniroute --mcp ``` Verbind vervolgens uw MCP-client via `stdio` en test tools zoals: - `omniroute_get_health` - `omniroute_list_combos` **A2A (voor agent-tot-agent-workflows):** ```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) Valideer alles end-to-end (aanbevolen) ```bash npm run test:protocols:e2e ``` Deze suite valideert echte MCP- en A2A-clientstromen tegen een actieve app. ### Alternatief: uitvoeren vanaf de bron ```bash cp .env.example .env npm install PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev ``` --- ## ๐Ÿณ Docker OmniRoute is beschikbaar als openbare Docker-image op [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Snelle uitvoering:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **Met omgevingsbestand:** ```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 ``` **Met behulp van 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 ``` | Afbeelding | Label | Maat | Beschrijving | | ------------------------ | -------- | ------ | ------------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Nieuwste stabiele release | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Huidige versie | --- ## ๐Ÿ–ฅ๏ธ Desktop-app โ€” Offline en altijd aan > ๐Ÿ†• **NIEUW!** OmniRoute is nu beschikbaar als **native desktop-applicatie** voor Windows, macOS en Linux. Voer OmniRoute uit als een zelfstandige desktop-app: geen terminal, geen browser, geen internet vereist voor lokale modellen. De op Electron gebaseerde app omvat: - ๐Ÿ–ฅ๏ธ **Native Window** โ€” Speciaal app-venster met systeemvakintegratie - ๐Ÿ”„ **Autostart** โ€” Start OmniRoute bij systeemaanmelding - ๐Ÿ”” **Native Notificaties** โ€” Ontvang waarschuwingen voor opgebruikte quota of problemen met providers - โšก **Installeren met รฉรฉn klik** โ€” NSIS (Windows), DMG (macOS), AppImage (Linux) - ๐ŸŒ **Offlinemodus** โ€” Werkt volledig offline met gebundelde server ### Snelle start ```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) ``` ### Systeemvak Wanneer geminimaliseerd, blijft OmniRoute in uw systeemvak staan met snelle acties: - Dashboard openen - Wijzig de serverpoort - Sluit de applicatie af ๐Ÿ“– Volledige documentatie: [**OMNI_TOKEN_153**](electron/README.md) --- ## ๐Ÿ’ฐ Prijzen in รฉรฉn oogopslag | Niveau | Aanbieder | Kosten | Quotum opnieuw instellen | Beste voor | | ------------------ | --------------------------- | ------------------------------------- | ------------------------ | --------------------------------------- | | **๐Ÿ’ณ ABONNEMENT** | Claude Code (Pro) | $ 20/maand | 5u + wekelijks | Al geabonneerd | | | Codex (Plus/Pro) | $ 20-200/maand | 5u + wekelijks | OpenAI-gebruikers | | | Tweeling CLI | **GRATIS** | 180K/maand + 1K/dag | Iedereen! | | | GitHub-copiloot | $ 10-19/maand | Maandelijks | GitHub-gebruikers | | **๐Ÿ”‘ API-SLEUTEL** | NVIDIA NIM | **GRATIS** (ontwikkelaar voor altijd) | ~40 tpm | 70+ open modellen | | | Hersenen | **GRATIS** (1 miljoen tok/dag) | 60K TPM / 30 RPM | 's Werelds snelste | | | Groq | **GRATIS** (30 toeren) | 14,4K RPD | Ultrasnelle lama/gemma | | | DeepSeek V3.2 | $0,27/$1,10 per 1 miljoen | Geen | Beste prijs/kwaliteit-redenering | | | xAI Grok-4 Snel | **$0,20/$0,50 per 1M** ๐Ÿ†• | Geen | Snelste + gereedschapsoproep, ultralaag | | | xAI Grok-4 (standaard) | $ 0,20/$ 1,50 per 1 miljoen ๐Ÿ†• | Geen | Redenerend vlaggenschip van xAI | | | Mistral | Gratis proefversie + betaald | Tarief beperkt | Europese AI | | | OpenRouter | Betalen per gebruik | Geen | 100+ modellen aggr. | | **๐Ÿ’ฐGOEDKOOP** | GLM-5 (via Z.AI) ๐Ÿ†• | $ 0,5/1 miljoen | Dagelijks 10.00 uur | 128K-uitvoer, nieuwste vlaggenschip | | | GLM-4.7 | $ 0,6/1 miljoen | Dagelijks 10.00 uur | Budgetback-up | | | MiniMax M2.5 ๐Ÿ†• | $0,3/1 miljoen invoer | 5-uurs rollen | Redeneren + agenttaken | | | MiniMax M2.1 | $ 0,2/1 miljoen | 5-uurs rollen | Goedkoopste optie | | | Kimi K2.5 (Moonshot-API) ๐Ÿ†• | Betalen per gebruik | Geen | Directe Moonshot API-toegang | | | Kimi K2 | $ 9/maand plat | 10 miljoen tokens/maand | Voorspelbare kosten | | **๐Ÿ†“ GRATIS** | iFlow | **$0** | Onbeperkt | 5 modellen onbeperkt | | | Qwen | **$0** | Onbeperkt | 4 modellen onbeperkt | | | Kiro | **$0** | Onbeperkt | Claude Sonnet/Haiku (AWS-bouwer) | | | LongCat Flash-Lite ๐Ÿ†• | **$0** (50 miljoen tok/dag ๐Ÿ”ฅ) | 1 RPS | Grootste gratis quotum ter wereld | | | Bestuivingen AI ๐Ÿ†• | **$0** (geen sleutel nodig) | 1 verzoek/15s | GPT-5, Claude, DeepSeek, Lama 4 | | | Cloudflare Workers AI ๐Ÿ†• | **$0** (10.000 neuronen/dag) | ~150 resp./dag | 50+ modellen, mondiale voorsprong | | | Scaleway-AI ๐Ÿ†• | **$0** (totaal 1 miljoen tokens) | Tarief beperkt | EU/AVG, Qwen3 235B, Lama 70B | > ๐Ÿ†• **Nieuwe modellen toegevoegd (maart 2026):** Grok-4 Fast-familie voor $ 0,20/$ 0,50/M (benchmarked op 1143 ms - 30% sneller dan Gemini 2.5 Flash), GLM-5 via Z.AI met 128K-uitvoer, MiniMax M2.5-redenering, DeepSeek V3.2 bijgewerkte prijzen, Kimi K2.5 via Moonshot direct API. **๐Ÿ’ก $0 Combo Stack โ€” De complete gratis installatie:** ``` # ๐Ÿ†“ 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 ``` **Nul kosten. Stopt nooit met coderen.** Configureer dit als รฉรฉn OmniRoute-combo en alle fallbacks gebeuren automatisch - nooit handmatig schakelen. --- --- ## ๐Ÿ†“ Gratis modellen โ€” wat u daadwerkelijk krijgt > Alle onderstaande modellen zijn **100% gratis, zonder creditcard**. OmniRoute berekent automatisch routes tussen hen wanneer รฉรฉn quotum op is โ€“ combineer ze allemaal voor een onbreekbare combinatie van $ 0. ### ๐Ÿ”ตCLAUDE-MODELLEN (via Kiro โ€” AWS Builder ID) | Model | Voorvoegsel | Limiet | Tarieflimiet | | ------------------- | ----------- | ------------- | ------------------------------------- | | `claude-sonnet-4.5` | `kr/` | **Onbeperkt** | Geen gerapporteerde dagelijkse limiet | | `claude-haiku-4.5` | `kr/` | **Onbeperkt** | Geen gerapporteerde dagelijkse limiet | | `claude-opus-4.6` | `kr/` | **Onbeperkt** | Nieuwste opus via Kiro | ### ๐ŸŸข IFLOW-MODELLEN (gratis OAuth โ€” geen creditcard) | Model | Voorvoegsel | Limiet | Tarieflimiet | | ------------------ | ----------- | ------------- | -------------------------- | | `kimi-k2-thinking` | `if/` | **Onbeperkt** | Geen gerapporteerde limiet | | `qwen3-coder-plus` | `if/` | **Onbeperkt** | Geen gerapporteerde limiet | | `deepseek-r1` | `if/` | **Onbeperkt** | Geen gerapporteerde limiet | | `minimax-m2.1` | `if/` | **Onbeperkt** | Geen gerapporteerde limiet | | `kimi-k2` | `if/` | **Onbeperkt** | Geen gerapporteerde limiet | ### ๐ŸŸก QWEN-MODELLEN (apparaatcodeauthenticatie) | Model | Voorvoegsel | Limiet | Tarieflimiet | | ------------------- | ----------- | ------------- | -------------------------- | | `qwen3-coder-plus` | `qw/` | **Onbeperkt** | Geen gerapporteerde limiet | | `qwen3-coder-flash` | `qw/` | **Onbeperkt** | Geen gerapporteerde limiet | | `qwen3-coder-next` | `qw/` | **Onbeperkt** | Geen gerapporteerde limiet | | `vision-model` | `qw/` | **Onbeperkt** | Multimodaal (afbeeldingen) | ### ๐ŸŸฃ GEMINI CLI (Google OAuth) | Model | Voorvoegsel | Limiet | Tarieflimiet | | ------------------------ | ----------- | ---------------------------- | ------------------ | | `gemini-3-flash-preview` | `gc/` | **180K tok/maand** + 1K/dag | Maandelijkse reset | | `gemini-2.5-pro` | `gc/` | 180K/maand (gedeeld zwembad) | Hoge kwaliteit | ### โšซ NVIDIA NIM (gratis API-sleutel โ€” build.nvidia.com) | Niveau | Dagelijkse limiet | Tarieflimiet | Opmerkingen | | --------------------- | ----------------- | ------------ | ------------------------------------------------------------- | | Gratis (ontwikkelaar) | Geen tokenlimiet | **~40 tpm** | 70+ modellen; overgang naar zuivere tarieflimieten medio 2025 | Populaire gratis modellen: `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-sleutel - inference.cerebras.ai) | Niveau | Dagelijkse limiet | Tarieflimiet | Opmerkingen | | ------ | ------------------------ | ---------------- | -------------------------------------------------------------- | | Gratis | **1 miljoen tokens/dag** | 60K TPM / 30 RPM | 's Werelds snelste LLM-gevolgtrekking; wordt dagelijks gereset | Gratis verkrijgbaar: `llama-3.3-70b`, `llama-3.1-8b`, `deepseek-r1-distill-llama-70b` ### ๐Ÿ”ด GROQ (gratis API-sleutel โ€” console.groq.com) | Niveau | Dagelijkse limiet | Tarieflimiet | Opmerkingen | | ------ | ----------------- | ---------------- | --------------------------------------------------------- | | Gratis | **14,4K RPD** | 30 RPM per model | Geen creditcard; 429 op limiet, niet in rekening gebracht | Gratis verkrijgbaar: `llama-3.3-70b-versatile`, `gemma2-9b-it`, `mixtral-8x7b`, `whisper-large-v3` ### ๐Ÿ”ด LONGCAT AI (gratis API-sleutel โ€” longcat.chat) ๐Ÿ†• | Model | Voorvoegsel | Dagelijks gratis quotum | Opmerkingen | | ----------------------------- | ----------- | ------------------------ | --------------------------- | | `LongCat-Flash-Lite` | `lc/` | **50 miljoen tokens** ๐Ÿ’ฅ | Grootste gratis quotum ooit | | `LongCat-Flash-Chat` | `lc/` | 500K-tokens | Chat met meerdere beurten | | `LongCat-Flash-Thinking` | `lc/` | 500K-tokens | Redenering / CoT | | `LongCat-Flash-Thinking-2601` | `lc/` | 500K-tokens | Versie januari 2026 | | `LongCat-Flash-Omni-2603` | `lc/` | 500K-tokens | Multimodaal | > 100% gratis tijdens de openbare bรจta. Meld u aan op [longcat.chat](https://longcat.chat) met e-mail of telefoon. Wordt dagelijks gereset om 00:00 UTC. ### ๐ŸŸข POLLINATIONS AI (geen API-sleutel vereist) ๐Ÿ†• | Model | Voorvoegsel | Tarieflimiet | Aanbieder achter | | ---------- | ----------- | ------------- | ------------------ | | `openai` | `pol/` | 1 verzoek/15s | GPT-5 | | `claude` | `pol/` | 1 verzoek/15s | Antropische Claude | | `gemini` | `pol/` | 1 verzoek/15s | Google Tweeling | | `deepseek` | `pol/` | 1 verzoek/15s | DeepSeek V3 | | `llama` | `pol/` | 1 verzoek/15s | Meta Lama 4 Scout | | `mistral` | `pol/` | 1 verzoek/15s | Mistral-AI | > โœจ **Geen wrijving:** Geen aanmelding, geen API-sleutel. Voeg de Pollinations-provider toe met een leeg sleutelveld en het werkt meteen. ### ๐ŸŸ  CLOUDFLARE WORKERS AI (gratis API-sleutel โ€” cloudflare.com) ๐Ÿ†• | Niveau | Dagelijkse neuronen | Equivalent gebruik | Opmerkingen | | ------ | ------------------- | --------------------------------------------- | ------------------------------------ | | Gratis | **10.000** | ~150 LLM resp / 500s audio / 15K insluitingen | Wereldwijde voorsprong, 50+ modellen | Populaire gratis modellen: `@cf/meta/llama-3.3-70b-instruct`, `@cf/google/gemma-3-12b-it`, `@cf/openai/whisper-large-v3-turbo` (gratis audio!), `@cf/qwen/qwen2.5-coder-15b-instruct` > Vereist API-token + account-ID van [dash.cloudflare.com](https://dash.cloudflare.com). Bewaar account-ID in providerinstellingen. ### ๐ŸŸฃ SCALEWAY AI (1M gratis tokens โ€” scaleway.com) ๐Ÿ†• | Niveau | Gratis quotum | Locatie | Opmerkingen | | ------ | -------------------- | ------------- | --------------------------------------------- | | Gratis | **1 miljoen tokens** | ๐Ÿ‡ซ๐Ÿ‡ท Parijs, EU | Binnen bepaalde grenzen geen creditcard nodig | Gratis verkrijgbaar: `qwen3-235b-a22b-instruct-2507` (Qwen3 235B!), `llama-3.1-70b-instruct`, `mistral-small-3.2-24b-instruct-2506`, `deepseek-v3-0324` > EU/AVG-compatibel. Ontvang de API-sleutel op [console.scaleway.com](https://console.scaleway.com). > **๐Ÿ’ก De ultieme gratis stapel (11 providers, $ 0 voor altijd):** > > ``` > 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 transcriptiecombinatie > Transcribeer audio/video voor **$0** โ€” Deepgram-leads met $200 gratis, AssemblyAI $50 fallback, Groq Whisper als onbeperkte noodback-up. | Aanbieder | Gratis tegoeden | Beste model | Tarieflimiet | | ------------------- | ---------------------------- | -------------------------------------------------- | --------------------------------- | | ๐ŸŸข **Deepgram** | **$200 gratis** (aanmelding) | `nova-3` โ€” beste nauwkeurigheid, meer dan 30 talen | Geen RPM-limiet op gratis credits | | ๐Ÿ”ต **AssemblageAI** | **$ 50 gratis** (aanmelding) | `universal-3-pro` โ€” hoofdstukken, sentiment, PII | Geen RPM-limiet op gratis credits | | ๐Ÿ”ด **Groq** | **Voor altijd gratis** | `whisper-large-v3` โ€” OpenAI-fluisteren | 30 RPM (snelheid beperkt) | **Voorgestelde combinatie in `/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 ``` Ga vervolgens naar `/dashboard/media` โ†’ tabblad **Transcriptie**: upload een audio- of videobestand โ†’ selecteer uw combo-eindpunt โ†’ ontvang transcriptie in ondersteunde formaten. ## ๐Ÿ’ก Belangrijkste kenmerken OmniRoute v2.0 is gebouwd als een operationeel platform, niet alleen als een relay-proxy. ### ๐Ÿ†• Nieuw โ€” op ClawRouter geรฏnspireerde verbeteringen (maart 2026) | Kenmerk | Wat het doet | | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------- | | โšก **Grok-4 Fast Familie** | xAI-modellen voor $ 0,20/$ 0,50/M โ€” gebenchmarkt 1143 ms (30% sneller dan Gemini 2.5 Flash) | | ๐Ÿง  **GLM-5 via Z.AI** | 128K outputcontext, $0,5/1M โ€” nieuwste vlaggenschip uit de GLM-familie | | ๐Ÿ”ฎ **MiniMax M2.5** | Redeneren + agenttaken voor $ 0,30/1 miljoen โ€“ aanzienlijke upgrade van M2.1 | | ๐ŸŽฏ **toolCalling-vlag per model** | Per model `toolCalling: true/false` in register: AutoCombo slaat modellen die niet geschikt zijn voor tools over | | ๐ŸŒ **Meertalige intentiedetectie** | PT/ZH/ES/AR-trefwoorden in AutoCombo-scores โ€” betere modelselectie voor niet-Engelse inhoud | | ๐Ÿ“Š **Benchmarkgestuurde terugval** | Echte p95-latentie van live-verzoeken feeds combo-scores - AutoCombo leert van feitelijke gegevens | | ๐Ÿ” **Ontdubbeling aanvragen** | Op inhoud-hash gebaseerd ontdubbelingsvenster โ€” veilig voor meerdere agenten, voorkomt dubbele kosten | | ๐Ÿ”Œ **Inplugbare routerstrategie** | Uitbreidbare `RouterStrategy` interface โ€” voeg aangepaste routeringslogica toe als plug-ins | ### ๐Ÿš€ Vorige v2.0.9+ โ€” Speeltuin, CLI-vingerafdrukken en ACP | Kenmerk | Wat het doet | | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ๐ŸŽฎ **Modelspeeltuin** | Dashboardpagina om elk model rechtstreeks te testen: provider/model/eindpuntkiezers, Monaco Editor, streaming, afbreken, timing | | ๐Ÿ” **CLI-vingerafdrukmatching** | Kop-/tekstvolgorde per provider zodat deze overeenkomt met de oorspronkelijke CLI-handtekeningen: schakel per provider in Instellingen > Beveiliging. **Uw proxy-IP blijft behouden** | | ๐Ÿค **ACP-ondersteuning (Agent Client Protocol)** | CLI-agentdetectie (Codex, Claude, Goose, Gemini CLI, OpenClaw + nog 9), processpawner, `/api/acp/agents` eindpunt | | ๐Ÿค– **ACP-agentendashboard** | Debug โ€บ Agentenpagina โ€” raster van 14 agenten met installatiestatus, versie en aangepast agentformulier voor elke CLI-tool. **OpenCode**-gebruikers krijgen een knop 'Opencode.json downloaden' die automatisch een gebruiksklare configuratie genereert met alle beschikbare modellen. | | ๐Ÿ”ง **Aangepast model `apiFormat` Routing** | Aangepaste modellen met `apiFormat: "responses"` routeren nu correct naar de Responses API-vertaler | | ๐Ÿข **Codex-werkruimte-isolatie** | Meerdere Codex-werkruimten per e-mail: OAuth scheidt verbindingen correct op werkruimte-ID | | ๐Ÿ”„ **Elektronische automatische update** | Desktop-app controleert op updates + automatisch installeren bij opnieuw opstarten | ### ๐Ÿค– Agent- en protocolbewerkingen (v2.0) | Kenmerk | Wat het doet | | ---------------------------------------- | --------------------------------------------------------------------------------------------------- | | ๐Ÿ”ง **MCP-server (16 tools)** | IDE/agent-tools via 3 transporten: stdio, SSE (`/api/mcp/sse`), Streamable HTTP (`/api/mcp/stream`) | | ๐Ÿค **A2A-server (JSON-RPC + SSE)** | Agent-naar-agent-taakuitvoering met synchronisatie- en streamingstromen | | ๐Ÿงญ **Geconsolideerde eindpuntenpagina** | Beheerpagina met tabbladen met tabbladen Endpoint Proxy, MCP, A2A en API Endpoints | | ๐ŸŽš๏ธ **Service in-/uitschakelen schakelt** | AAN/UIT-schakelaars voor MCP en A2A met persistentie van de instellingen (standaard: UIT) | | ๐Ÿ›ฐ๏ธ **MCP Runtime-hartslag** | Echte processtatus (pid, uptime, hartslagleeftijd, transport, scopemodus) | | ๐Ÿ“‹ **MCP-audittraject** | Filterbare auditlogboeken met succes/mislukking en sleuteltoeschrijving | | ๐Ÿ” **MCP-scopehandhaving** | 9 gedetailleerde scope-machtigingen voor gecontroleerde toegang tot tools | | ๐Ÿ“ก **A2A Taaklevenscyclusbeheer** | Lijst/filter taken, inspecteer gebeurtenissen/artefacten, annuleer lopende taken | | ๐Ÿ“‹ **Agentenkaart ontdekken** | `/.well-known/agent.json` voor automatische detectie van clients | | ๐Ÿงช **Protocol E2E-testharnas** | Echte MCP SDK + A2A-clientstromen in `test:protocols:e2e` | | โš™๏ธ **Operationele controles** | Wissel van combo, pas veerkrachtprofielen toe, reset onderbrekers vanaf รฉรฉn bedieningsoppervlak | ### ๐Ÿง  Routing en intelligentie | Kenmerk | Wat het doet | | ------------------------------------------- | --------------------------------------------------------------------------------------- | | ๐ŸŽฏ **Slimme terugval op 4 niveaus** | Autoroute: Abonnement โ†’ API-sleutel โ†’ Goedkoop โ†’ Gratis | | ๐Ÿ“Š **Realtime quota bijhouden** | Live tokentelling + reset-aftelling per provider | | ๐Ÿ”„ **Formaatvertaling** | OpenAI โ†” Claude โ†” Gemini โ†” Reacties met schemaveilige conversies | | ๐Ÿ‘ฅ **Ondersteuning voor meerdere accounts** | Meerdere accounts per aanbieder met intelligente selectie | | ๐Ÿ”„ **Automatische tokenvernieuwing** | OAuth-tokens worden automatisch vernieuwd bij nieuwe poging | | ๐ŸŽจ **Aangepaste combo's** | 6 balanceringsstrategieรซn + terugvalketencontrole | | ๐ŸŒ **Wildcard-router** | `provider/*` dynamische routering | | ๐Ÿง  **Begrotingscontroles bedenken** | Passthrough-, automatische, aangepaste en adaptieve redeneerlimieten | | ๐Ÿ”€ **Modelaliassen** | Ingebouwde + aangepaste modelaliasing en migratieveiligheid | | โšก **Achtergronddegradatie** | Achtergrondtaken met lage prioriteit routeren naar goedkopere modellen | | ๐Ÿงช **Taakbewuste slimme routering** | Model automatisch selecteren op inhoudstype (codering/visie/analyse/samenvatting) | | ๐Ÿ’ฌ **Systeempromptinjectie** | Wereldwijde gedragscontroles consequent toegepast | | ๐Ÿ“„ **Reacties API-compatibiliteit** | Volledige `/v1/responses` ondersteuning voor Codex en geavanceerde agentische workflows | ### ๐ŸŽต Multimodale API's | Kenmerk | Wat het doet | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | ๐Ÿ–ผ๏ธ **Beeldgeneratie** | `/v1/images/generations` met cloud- en lokale backends | | ๐Ÿ“ **Insluitingen** | `/v1/embeddings` voor zoek- en RAG-pijplijnen | | ๐ŸŽค **Audiotranscriptie** | `/v1/audio/transcriptions` โ€” 7 providers (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), automatische taaldetectie, MP4/MP3/WAV-ondersteuning | | ๐Ÿ”Š **Tekst-naar-spraak** | `/v1/audio/speech` โ€” 10 providers (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) met correcte foutmeldingen | | ๐ŸŽฌ **Videogeneratie** | `/v1/videos/generations` (ComfyUI + SD WebUI-workflows) | | ๐ŸŽต **Muziekgeneratie** | `/v1/music/generations` (ComfyUI-workflows) | | ๐Ÿ›ก๏ธ **Moderaties** | `/v1/moderations` veiligheidscontroles | | ๐Ÿ”€ **Herschikking** | `/v1/rerank` voor relevantiescore | | ๐Ÿ” **Webzoeken** ๐Ÿ†• | `/v1/search` โ€” 5 providers (Serper, Brave, Perplexity, Exa, Tavily), 6.500+ gratis/maand, automatische failover, cache | ### ๐Ÿ›ก๏ธ Veerkracht, veiligheid en bestuur | Kenmerk | Wat het doet | | -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | ๐Ÿ”Œ **Stroomonderbrekers** | Trip/herstel per model met drempelcontroles | | ๐ŸŽฏ **Eindpuntbewuste modellen** | Aangepaste modellen declareren ondersteunde eindpunten + API-indeling | | ๐Ÿ›ก๏ธ **Anti-donderende kudde** | Mutex + semafoorbescherming bij nieuwe pogingen/beoordeelgebeurtenissen | | ๐Ÿง  **Semantische + handtekeningcache** | Kosten-/latentiereductie met twee cachelagen | | โšก **Idempotentie aanvragen** | Dubbelbeschermingsvenster | | ๐Ÿ”’ **TLS-vingerafdrukspoofing** | Browserachtige TLS-vingerafdruk โ€” **vermindert botdetectie en accountmarkering** | | ๐Ÿ” **CLI-vingerafdrukmatching** | Komt overeen met de handtekeningen van native CLI-verzoeken โ€” **vermindert het verbodsrisico terwijl het proxy-IP behouden blijft** | | ๐ŸŒ **IP-filtering** | Toelatingslijst/blokkeerlijstbeheer voor blootgestelde implementaties | | ๐Ÿ“Š **Bewerkbare tarieflimieten** | Configureerbare limieten op globaal/providerniveau met persistentie | | ๐Ÿ”‘ **API-sleutelbeheer + Scoping** | Veilige sleuteluitgifte/roulatie en controles op modellen/providers | | ๐Ÿ›ก๏ธ **Beschermd `/models`** | Optionele authenticatie en providerverberging voor modelcatalogus | ### ๐Ÿ“Š Waarneembaarheid en analyse | Kenmerk | Wat het doet | | --------------------------------- | ----------------------------------------------------------------------- | | ๐Ÿ“ **Verzoek + proxyregistratie** | Volledige aanvraag/antwoord en proxyregistratie | | ๐Ÿ“‹ **Unified Logdashboard** | Verzoek-, proxy-, audit- en consoleweergaven op รฉรฉn pagina | | ๐Ÿ” **Telemetrie aanvragen** | p50/p95/p99-latentie en tracering van aanvragen | | ๐Ÿฅ **Gezondheidsdashboard** | Uptime, status van stroomonderbrekers, uitsluitingen, cachestatistieken | | ๐Ÿ’ฐ **Kosten bijhouden** | Budgetcontroles en prijszichtbaarheid per model | | ๐Ÿ“ˆ **Analytische visualisaties** | Gebruiksinzichten in modellen/aanbieders en trendweergaven | | ๐Ÿงช **Evaluatiekader** | Golden set-testen met configureerbare wedstrijdstrategieรซn | ### โ˜๏ธ Implementatie en platform | Kenmerk | Wat het doet | | --------------------------------- | ----------------------------------------------------------------------- | | ๐ŸŒ **Overal implementeren** | Localhost, VPS, Docker, Cloudomgevingen | | ๐Ÿ’พ **Cloudsynchronisatie** | Configuratiesynchronisatie via cloudwerker | | ๐Ÿ”„ **Back-up/herstellen** | Export/import en noodherstelstromen | | ๐Ÿง™ **Onboarding-wizard** | Begeleide installatie bij eerste gebruik | | ๐Ÿ”ง **CLI Tools-dashboard** | Installatie met รฉรฉn klik voor populaire codeertools | | ๐ŸŽฎ **Modelspeeltuin** | Test elke provider/model/eindpunt vanaf het dashboard | | ๐Ÿ” **CLI-vingerafdrukschakelaar** | Matching van vingerafdrukken per provider in Instellingen > Beveiliging | | ๐ŸŒ **i18n (30 talen)** | Volledig dashboard + documenttaalondersteuning met RTL-dekking | | ๐Ÿงน **Alle modellen wissen** | Modellijst wissen met รฉรฉn klik in providergegevens | | ๐Ÿ“‹ **Uitgiftesjablonen** | Gestandaardiseerde GitHub-sjablonen voor bugs en functies | | ๐Ÿ“‚ **Aangepaste gegevensmap** | `DATA_DIR` overschrijven voor opslaglocatie | ### Functie Diepe duik #### Slimme terugval met praktische kostenbeheersing ```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 ``` Wanneer quota, tarief of gezondheid falen, gaat OmniRoute automatisch naar de volgende kandidaat zonder handmatig te schakelen. #### Protocolbeheer dat zichtbaar en bedienbaar is - MCP + A2A zijn vindbaar in de gebruikersinterface en documenten (niet verborgen) - Protocolstatus-API's geven live operationele gegevens weer (`/api/mcp/*`, `/api/a2a/*`) - Dashboards bevatten acties voor operaties van dag 2 (combinatieschakelaars, reset van onderbrekers, annulering van taken) #### Vertaler + validatieworkflow Het Vertalergebied omvat: - **Speeltuin**: transformatiecontroles aanvragen - **Chat Tester**: volledige aanvraag/antwoordrondreis - **Testbank**: meerdere cases in รฉรฉn run - **Live Monitor**: realtime verkeersinformatie Plus protocolvalidatie met echte clients via `npm run test:protocols:e2e`. > ๐Ÿ“– **[MCP Server README](open-sse/mcp-server/README.md)** โ€” Toolreferentie, IDE-configuraties en clientvoorbeelden > > ๐Ÿ“– **[A2A Server README](src/lib/a2a/README.md)** โ€” Vaardigheden, JSON-RPC-methoden, streaming en taaklevenscyclus ## ๐Ÿงช Evaluaties (Evals) OmniRoute bevat een ingebouwd evaluatieframework om de LLM-responskwaliteit te testen aan de hand van een gouden set. U kunt deze openen via **Analytics โ†’ Evaluaties** in het dashboard. ### Ingebouwde gouden set De vooraf geladen "OmniRoute Golden Set" bevat testcases voor: - Groeten, wiskunde, aardrijkskunde, codegeneratie - Naleving van JSON-formaten, vertaling, genereren van prijsverlagingen - Veiligheidsweigering (schadelijke inhoud), tellen, booleaanse logica ### Evaluatiestrategieรซn | Strategie | Beschrijving | Voorbeeld | | ---------- | --------------------------------------------------------------------- | -------------------------------- | | `exact` | De uitvoer moet exact overeenkomen met | `"4"` | | `contains` | De uitvoer moet een subtekenreeks bevatten (niet hoofdlettergevoelig) | `"Paris"` | | `regex` | Uitvoer moet overeenkomen met regex-patroon | `"1.*2.*3"` | | `custom` | Aangepaste JS-functie retourneert waar/onwaar | `(output) => output.length > 10` | --- ## ๐Ÿ“– Installatiehandleiding ### Protocolinstelling (MCP + A2A)
๐Ÿงฉ MCP-installatie (modelcontextprotocol) Start MCP-transport in stdio-modus: ```bash omniroute --mcp ``` Aanbevolen validatiestroom: 1. Verbind uw MCP-client via stdio. 2. Voer `omniroute_get_health` uit. 3. Voer `omniroute_list_combos` uit. 4. Open `/dashboard/mcp` om hartslag, activiteit en audit te bevestigen. Handige API's voor automatisering: - `GET /api/mcp/status` - `GET /api/mcp/tools` - `GET /api/mcp/audit` - `GET /api/mcp/audit/stats`
๐Ÿค A2A-installatie (Agent2Agent) Ontdek de makelaar: ```bash curl http://localhost:20128/.well-known/agent.json ``` Stuur een taak: ```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."}]}}' ``` Levenscyclus beheren: - `GET /api/a2a/status` - `GET /api/a2a/tasks` - `GET /api/a2a/tasks/:id` - `POST /api/a2a/tasks/:id/cancel` Operationele gebruikersinterface: - `/dashboard/a2a` voor observatie van taken/status/streams en rookacties
๐Ÿงช End-to-end protocolvalidatie Valideer beide protocollen met echte clients: ```bash npm run test:protocols:e2e ``` Dit verifieert: - MCP SDK-client verbinden/lijst/oproepen - A2A-detectie/verzenden/streamen/ophalen/annuleren - Controleer gegevens in MCP-audit en A2A-taakbeheer-API's
๐Ÿ’ณ Abonnementsaanbieders ### 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 ``` **Pro-tip:** Gebruik Opus voor complexe taken, Sonnet voor snelheid. OmniRoute houdt quota bij per model! ### 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 ``` #### Beheer van Codex-accountlimieten (5 uur + wekelijks) Elk Codex-account heeft nu beleidsschakelaars in `Dashboard -> Providers`: - `5h` (AAN/UIT): het drempelbeleid voor een periode van 5 uur afdwingen. - `Weekly` (AAN/UIT): dwing het wekelijkse vensterdrempelbeleid af. - Drempelgedrag: wanneer een ingeschakeld venster >=90% gebruik bereikt, wordt dat account overgeslagen. - Rotatiegedrag: OmniRoute routeert automatisch naar het volgende in aanmerking komende Codex-account. - Resetgedrag: wanneer de provider `resetAt` tijd verstrijkt, komt het account automatisch weer in aanmerking. Scenario's: - `5h ON` + `Weekly ON`: account wordt overgeslagen wanneer een van beide vensters de drempel bereikt. - `5h OFF` + `Weekly ON`: alleen wekelijks gebruik kan het account blokkeren. - `5h ON` + `Weekly OFF`: slechts 5 uur gebruik kan het account blokkeren. - `resetAt` geslaagd: account wordt automatisch opnieuw gerouleerd (niet handmatig opnieuw inschakelen). ### Gemini CLI (GRATIS 180K/maand!) ```bash Dashboard โ†’ Providers โ†’ Connect Gemini CLI โ†’ Google OAuth โ†’ 180K completions/month + 1K/day Models: gc/gemini-3-flash-preview gc/gemini-2.5-pro ``` **Beste waarde:** Enorm gratis niveau! Gebruik dit vรณรณr betaalde niveaus. ### GitHub-copiloot ```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-sleutelproviders ### NVIDIA NIM (GRATIS toegang voor ontwikkelaars - 70+ modellen) 1. Aanmelden: [build.nvidia.com](https://build.nvidia.com) 2. Ontvang een gratis API-sleutel (inclusief 1000 inferentiecredits) 3. Dashboard โ†’ Provider toevoegen โ†’ NVIDIA NIM: - API-sleutel: `nvapi-your-key` **Modellen:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` en nog meer dan 50 **Pro-tip:** OpenAI-compatibele API โ€” werkt naadloos samen met de formaatvertaling van OmniRoute! ### Diepzoeken 1. Aanmelden: [platform.deepseek.com](https://platform.deepseek.com) 2. Haal de API-sleutel op 3. Dashboard โ†’ Provider toevoegen โ†’ DeepSeek **Modellen:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` ### Groq (gratis niveau beschikbaar!) 1. Aanmelden: [console.groq.com](https://console.groq.com) 2. Ontvang een API-sleutel (inclusief gratis laag) 3. Dashboard โ†’ Provider toevoegen โ†’ Groq **Modellen:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` **Pro-tip:** Ultrasnelle gevolgtrekking โ€” het beste voor realtime coderen! ### OpenRouter (meer dan 100 modellen) 1. Aanmelden: [openrouter.ai](https://openrouter.ai) 2. Haal de API-sleutel op 3. Dashboard โ†’ Provider toevoegen โ†’ OpenRouter **Modellen:** Krijg toegang tot meer dan 100 modellen van alle grote providers via รฉรฉn enkele API-sleutel.
๐Ÿ’ฐ Goedkope providers (back-up) ### GLM-4.7 (dagelijkse reset, $0,6/1 miljoen) 1. Aanmelden: [Zhipu AI](https://open.bigmodel.cn/) 2. Haal de API-sleutel op uit het Coderingsplan 3. Dashboard โ†’ API-sleutel toevoegen: - Aanbieder: `glm` - API-sleutel: `your-key` **Gebruik:** `glm/glm-4.7` **Pro-tip:** Coderingsplan biedt 3ร— quotum tegen 1/7 kosten! Dagelijks resetten om 10:00 uur. ### MiniMax M2.1 (5 uur resetten, $0,20/1M) 1. Aanmelden: [MiniMax](https://www.minimax.io/) 2. Haal de API-sleutel op 3. Dashboard โ†’ API-sleutel toevoegen **Gebruik:** `minimax/MiniMax-M2.1` **Pro-tip:** Goedkoopste optie voor lange context (1 miljoen tokens)! ### Kimi K2 ($9/maand vast) 1. Abonneer je: [Moonshot AI](https://platform.moonshot.ai/) 2. Haal de API-sleutel op 3. Dashboard โ†’ API-sleutel toevoegen **Gebruik:** `kimi/kimi-latest` **Pro-tip:** Vaste $ 9/maand voor 10 miljoen tokens = $ 0,90/1 miljoen effectieve kosten!
๐Ÿ†“ GRATIS providers (noodback-up) ### iFlow (5 GRATIS modellen 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 modellen via apparaatcode) ```bash Dashboard โ†’ Connect Qwen โ†’ Device code authorization โ†’ Unlimited usage Models: qw/qwen3-coder-plus qw/qwen3-coder-flash ``` ### Kiro (Claude GRATIS) ```bash Dashboard โ†’ Connect Kiro โ†’ AWS Builder ID or Google/GitHub โ†’ Unlimited usage Models: kr/claude-sonnet-4.5 kr/claude-haiku-4.5 ```
๐ŸŽจ Combo's maken ### Voorbeeld 1: Maximaliseer abonnement โ†’ Goedkope back-up ``` 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 ``` ### Voorbeeld 2: Alleen gratis (geen kosten) ``` 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-integratie ### Cursor-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 Gebruik de pagina **CLI Tools** in het dashboard voor configuratie met รฉรฉn klik, of bewerk `~/.claude/settings.json` handmatig. ### Codex-CLI ```bash export OPENAI_BASE_URL="http://localhost:20128" export OPENAI_API_KEY="your-omniroute-api-key" codex "your prompt" ``` ### Open Klauw **Optie 1 โ€” Dashboard (aanbevolen):** ``` Dashboard โ†’ CLI Tools โ†’ OpenClaw โ†’ Select Model โ†’ Apply ``` **Optie 2 โ€” Handmatig:** Bewerk `~/.openclaw/openclaw.json`: ```json { "models": { "providers": { "omniroute": { "baseUrl": "http://127.0.0.1:20128/v1", "apiKey": "sk_omniroute", "api": "openai-completions" } } } } ``` > **Opmerking:** OpenClaw werkt alleen met lokale OmniRoute. Gebruik `127.0.0.1` in plaats van `localhost` om IPv6-resolutieproblemen te voorkomen. ### Cline / Doorgaan / RooCode ``` Settings โ†’ API Configuration: Provider: OpenAI Compatible Base URL: http://localhost:20128/v1 API Key: [from OmniRoute dashboard] Model: if/kimi-k2-thinking ``` ### OpenCode **Stap 1:** Voeg OmniRoute toe als aangepaste provider: ```bash opencode /connect # Select "Other" โ†’ Enter ID: "omniroute" โ†’ Enter your OmniRoute API key ``` **Stap 2:** Maak/bewerk `opencode.json` in de hoofdmap van uw project: ```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)" } } } } } ``` **Stap 3:** Selecteer het model in OpenCode: ```bash /models # Select any OmniRoute model from the list ``` > **Tip:** Voeg elk model dat beschikbaar is in uw OmniRoute `/v1/models` eindpunt toe aan de sectie `models`. Gebruik het formaat `provider/model-id` van uw OmniRoute-dashboard.
--- ## ๐Ÿ› Problemen oplossen
Klik om de probleemoplossingsgids uit te vouwen **"Taalmodel heeft geen berichten verstrekt"** - Providerquotum opgebruikt โ†’ Controleer dashboardquotumtracker - Oplossing: gebruik combo-fallback of schakel over naar een goedkoper niveau **Snelheidslimiet** - Abonnementquotum op โ†’ Terugval op GLM/MiniMax - Combinatie toevoegen: `cc/claude-opus-4-6 โ†’ glm/glm-4.7 โ†’ if/kimi-k2-thinking` **OAuth-token verlopen** - Automatisch vernieuwd door OmniRoute - Als de problemen aanhouden: Dashboard โ†’ Provider โ†’ Opnieuw verbinding maken **Hoge kosten** - Controleer gebruiksstatistieken in Dashboard โ†’ Kosten - Schakel het primaire model over naar GLM/MiniMax - Gebruik de gratis laag (Gemini CLI, iFlow) voor niet-kritieke taken **Dashboard-/API-poorten zijn verkeerd** - `PORT` is de canonieke basispoort (en standaard de API-poort) - `API_PORT` overschrijft alleen de OpenAI-compatibele API-listener - `DASHBOARD_PORT` overschrijft alleen dashboard/Next.js-listener - Stel `NEXT_PUBLIC_BASE_URL` in op uw dashboard/openbare URL (voor OAuth-callbacks) **Cloudsynchronisatiefouten** - Controleer of `BASE_URL` verwijst naar uw actieve exemplaar - Controleer of `CLOUD_URL` verwijst naar uw verwachte cloudeindpunt - Houd `NEXT_PUBLIC_*` waarden afgestemd op de waarden op de server **Eerste login werkt niet** - Controleer `INITIAL_PASSWORD` in `.env` - Indien niet ingesteld, is het reservewachtwoord `123456` **Geen verzoeklogboeken** - Stel `ENABLE_REQUEST_LOGS=true` in in `.env` **Verbindingstest toont "Ongeldig" voor OpenAI-compatibele providers** - Veel providers stellen geen `/models` eindpunt beschikbaar - OmniRoute v1.0.6+ omvat fallback-validatie via chat-voltooiingen - Zorg ervoor dat de basis-URL het achtervoegsel `/v1` bevat ### ๐Ÿ” OAuth op een externe server > **โš ๏ธ Belangrijk voor gebruikers die OmniRoute gebruiken op een VPS, Docker of een externe server** #### Waarom mislukt Antigravity / Gemini CLI OAuth op externe servers? De providers **Antigravity** en **Gemini CLI** gebruiken **Google OAuth 2.0**. Google vereist dat de `redirect_uri` in de OAuth-stroom exact overeenkomt met een van de vooraf geregistreerde URI's in de Google Cloud Console van de app. De OAuth-inloggegevens die in OmniRoute zijn gebundeld, zijn **alleen voor `localhost`** geregistreerd. Wanneer u OmniRoute opent op een externe server (bijvoorbeeld `https://omniroute.myserver.com`), weigert Google de authenticatie met: ``` Error 400: redirect_uri_mismatch ``` #### Oplossing: Configureer uw eigen OAuth-inloggegevens U moet een **OAuth 2.0 Client ID** maken in Google Cloud Console met de URI van uw server. #### Stap voor stap **1. Open de Google Cloud Console** Ga naar: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Maak een nieuwe OAuth 2.0-client-ID** - Klik op **"+ Credentials aanmaken"** โ†’ **"OAuth-client-ID"** - Applicatietype: **"Webapplicatie"** - Naam: wat je maar wilt (bijvoorbeeld `OmniRoute Remote`) **3. Geautoriseerde omleidings-URI's toevoegen** Voeg in het veld **"Geautoriseerde omleidings-URI's"** het volgende toe: ``` https://your-server.com/callback ``` > Vervang `your-server.com` door het domein of IP-adres van uw server (voeg indien nodig de poort toe, bijvoorbeeld `http://45.33.32.156:20128/callback`). **4. Bewaar en kopieer de inloggegevens** Na het maken toont Google de **Client-ID** en **Clientgeheim**. **5. Omgevingsvariabelen instellen** In uw `.env` (of Docker-omgevingsvariabelen): ```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. Start OmniRoute opnieuw** ```bash # npm: npm run dev # Docker: docker restart omniroute ``` **7. Probeer opnieuw verbinding te maken** Dashboard โ†’ Providers โ†’ Antigravity (of Gemini CLI) โ†’ OAuth Google zal nu correct doorverwijzen naar `https://your-server.com/callback`. --- #### Tijdelijke oplossing (zonder aangepaste inloggegevens) Als u nu niet uw eigen inloggegevens wilt instellen, kunt u nog steeds de **handmatige URL-stroom** gebruiken: 1. OmniRoute opent de Google-autorisatie-URL 2. Na autorisatie probeert Google om te leiden naar `localhost` (wat mislukt op de externe server) 3. **Kopieer de volledige URL** uit de adresbalk van uw browser (zelfs als de pagina niet wordt geladen) 4. Plak die URL in het veld dat wordt weergegeven in het OmniRoute-verbindingsmodel 5. Klik op **"Verbinden"** > Dit werkt omdat de autorisatiecode in de URL geldig is, ongeacht of de omleidingspagina is geladen. ---
๐Ÿ‡ง๐Ÿ‡ท Versรฃo in Portuguรชs #### Waarom werkt OAuth met Antigravity / Gemini CLI op externe servers? Deze bewijzen **Antigravity** en **Gemini CLI** gebruiken **Google OAuth 2.0** voor authenticatie. O Google vraagt โ€‹โ€‹dat `redirect_uri` geen OAuth-stroom gebruikt **exatamente** een van de URI's vรณรณr de kadaster zonder toepassing van Google Cloud Console. Omdat OAuth geen OmniRoute heeft geregistreerd, is dit **apenas para `localhost`**. Wanneer u OmniRoute op een externe server opent (bijvoorbeeld: `https://omniroute.meuservidor.com`), of Google een authenticatie aanvraagt: ``` Error 400: redirect_uri_mismatch ``` #### Oplossing: Configureer uw eigen OAuth-credenciais U kunt precies zien hoe **OAuth 2.0 Client ID** geen Google Cloud Console heeft met een URI van zijn server. #### Passo een passo **1. Toegang tot Google Cloud Console** Abra: [https://console.cloud.google.com/apis/credentials](https://console.cloud.google.com/apis/credentials) **2. Nieuwe OAuth 2.0 client-ID** - Klik op **"+ Credentials aanmaken"** โ†’ **"OAuth-client-ID"** - Applicatietip: **"Webapplicatie"** - Nome: escolha qualquer nome (bijvoorbeeld: `OmniRoute Remote`) **3. Adicione als geautoriseerde omleidings-URI's** Geen campagne **"Geautoriseerde omleidings-URI's"**, aanbevolen: ``` https://seu-servidor.com/callback ``` > Vervang `seu-servidor.com` door de domicilie of het IP-adres van uw server (inclusief een noodzakelijke poort, bijvoorbeeld: `http://45.33.32.156:20128/callback`). **4. Bewaar en kopieer als credenciais** U kunt ook op Google klikken op **Client-ID** en **Clientgeheim**. **5. Configureer als variรกveis de ambiente** Geen `.env` (of de verschillende omgevingen van 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 van OmniRoute** ```bash # Se usando npm: npm run dev # Se usando Docker: docker restart omniroute ``` **7. Nieuwe verbinding** Dashboard โ†’ Providers โ†’ Antigravity (ou Gemini CLI) โ†’ OAuth Nadat Google de juiste verwijzing naar `https://seu-servidor.com/callback` heeft gemaakt, is deze autenticaal functioneel. --- #### Tijdelijke tijdelijke oplossing (zoals de juiste referentie configureren) Als u geen geloofwaardige geloofwaardigheid meer heeft, is het mogelijk om de stroom **handleiding van de URL** te gebruiken: 1. OmniRoute gebruikt een autorisatie-URL van Google 2. U heeft de autorisatie verleend of Google heeft een doorverwijzing naar `localhost` ingesteld (die geen externe service biedt) 3. **Kopieer een volledige URL** door de browser van uw browser (het bericht dat de pagina niet verder gaat) 4. Cole essa URL is niet beschikbaar op de verbindingswijze van OmniRoute 5. Klik op **"Verbinden"** > Deze tijdelijke oplossing werkt door de autorisatiecode van de URL en is onafhankelijk van het omleiden naar uw autorisatie of niet.
---
## ๐Ÿ› ๏ธTechnische stapel
Klik om de details van de tech-stack uit te vouwen - **Runtime**: Node.js 18โ€“22 LTS (โš ๏ธ Node.js 24+ wordt **niet ondersteund** โ€” `better-sqlite3` native binaire bestanden zijn incompatibel) - **Taal**: TypeScript 5.9 โ€” **100% TypeScript** voor `src/` en `open-sse/` (nul `any` in kernmodules sinds v2.0) - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Database**: LowDB (JSON) + SQLite (domeinstatus + proxylogboeken + MCP-audit + routeringsbeslissingen) - **Schema's**: Zod (MCP-tool I/O-validatie, API-contracten) - **Protocollen**: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE) - **Streaming**: door de server verzonden gebeurtenissen (SSE) - **Auth**: OAuth 2.0 (PKCE) + JWT + API-sleutels + MCP-scoped autorisatie - **Testen**: Node.js testrunner + Vitest (900+ tests inclusief unit, integratie, E2E) - **CI/CD**: GitHub-acties (automatische npm-publicatie + Docker Hub bij release) - **Website**: [omniroute.online](https://omniroute.online) - **Pakket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) - **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) - **Veerkracht**: stroomonderbreker, exponentiรซle uitstel, anti-donderkudde, TLS-spoofing, automatische combo-zelfherstel
--- ## ๐Ÿ“– Documentatie | Document | Beschrijving | | ---------------------------------------------- | ---------------------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Providers, combo's, CLI-integratie, implementatie | | [API Reference](docs/API_REFERENCE.md) | Alle eindpunten met voorbeelden | | [MCP Server](open-sse/mcp-server/README.md) | 16 MCP-tools, IDE-configuraties, Python/TS/Go-clients | | [A2A Server](src/lib/a2a/README.md) | JSON-RPC 2.0-protocol, vaardigheden, streaming, taakbeheer | | [Auto-Combo Engine](docs/auto-combo.md) | Scoren met 6 factoren, moduspakketten, zelfgenezing | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Veelvoorkomende problemen en oplossingen | | [Architecture](docs/ARCHITECTURE.md) | Systeemarchitectuur en internals | | [Contributing](CONTRIBUTING.md) | Ontwikkelingsopstelling en richtlijnen | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0-specificatie | | [Security Policy](SECURITY.md) | Kwetsbaarheidsrapportage en beveiligingspraktijken | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Volledige gids: VM + nginx + Cloudflare-installatie | | [Features Gallery](docs/FEATURES.md) | Visuele dashboardrondleiding met screenshots | | [Release Checklist](docs/RELEASE_CHECKLIST.md) | Validatiestappen vรณรณr de release | --- ## ๐Ÿ—บ๏ธ Routekaart OmniRoute heeft **210+ functies gepland** over meerdere ontwikkelingsfasen. Dit zijn de belangrijkste gebieden: | Categorie | Geplande functies | Hoogtepunten | | ------------------------------- | ----------------- | --------------------------------------------------------------------------------------------------------- | | ๐Ÿง  **Routing en intelligentie** | 25+ | Routering met de laagste latentie, op tags gebaseerde routering, quota-preflight, P2C-accountselectie | | ๐Ÿ”’ **Beveiliging en naleving** | 20+ | SSRF-verharding, cloaking van inloggegevens, snelheidslimiet per eindpunt, scoping van beheersleutels | | ๐Ÿ“Š **Waarneembaarheid** | 15+ | OpenTelemetry-integratie, realtime quotabewaking, kostenregistratie per model | | ๐Ÿ”„ **Provider-integraties** | 20+ | Dynamisch modelregister, cooldowns van providers, Codex met meerdere accounts, parseren van Copilot-quota | | โšก **Prestaties** | 15+ | Dubbele cachelaag, promptcache, responscache, streaming keepalive, batch-API | | ๐ŸŒ **Ecosysteem** | 10+ | WebSocket API, configuratie hot-reload, gedistribueerde configuratieopslag, commerciรซle modus | ### ๐Ÿ”œ Binnenkort beschikbaar - ๐Ÿ”— **OpenCode-integratie** โ€” Native providerondersteuning voor de OpenCode AI-coderings-IDE - ๐Ÿ”— **TRAE-integratie** โ€” Volledige ondersteuning voor het TRAE AI-ontwikkelingsframework - ๐Ÿ“ฆ **Batch API** โ€” Asynchrone batchverwerking voor bulkaanvragen - ๐ŸŽฏ **Op tags gebaseerde routering** โ€” Routeer verzoeken op basis van aangepaste tags en metagegevens - ๐Ÿ’ฐ **Laagste-kostenstrategie** โ€” Selecteer automatisch de goedkoopste beschikbare provider > ๐Ÿ“ Volledige functiespecificaties beschikbaar in [**OMNI_TOKEN_342**](docs/new-features/) (217 gedetailleerde specificaties) --- ## ๐Ÿ‘ฅ Bijdragers [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### Hoe u kunt bijdragen 1. Fork de repository 2. Maak uw feature branch (`git checkout -b feature/amazing-feature`) 3. Leg uw wijzigingen vast (`git commit -m 'Add amazing feature'`) 4. Duw naar het filiaal (`git push origin feature/amazing-feature`) 5. Open een Pull Request Zie [CONTRIBUTING.md](CONTRIBUTING.md) voor gedetailleerde richtlijnen. ### Er wordt een nieuwe versie uitgebracht ```bash # Create a release โ€” npm publish happens automatically gh release create v2.0.0 --title "v2.0.0" --generate-notes ``` --- ## ๐Ÿ“Š Sterrengeschiedenis ## Sterrenkijkers in de loop van de tijd ## [![Stargazers over time](https://starchart.cc/diegosouzapw/OmniRoute.svg?variant=adaptive)](https://starchart.cc/diegosouzapw/OmniRoute) ## ๐Ÿ™ Dankbetuigingen Speciale dank aan **[9router](https://github.com/decolua/9router)** door **[decolua](https://github.com/decolua)** โ€” het originele project dat deze vork inspireerde. OmniRoute bouwt voort op die ongelooflijke basis met extra functies, multimodale API's en een volledige TypeScript-herschrijving. Speciale dank aan **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** โ€” de originele Go-implementatie die deze JavaScript-port inspireerde. --- ## ๐Ÿ“„ Licentie MIT-licentie - zie [LICENSE](LICENSE) voor details. ---
Gebouwd met โค๏ธ voor ontwikkelaars die 24/7 coderen
omniroute.online