Bug Fixes: - #642: Locale conflict (in.json → hi.json for Hindi) - #637: Codex empty tool names causing 400 errors - #638: Streaming newline artifacts from thinking models - #627: Claude reasoning effort parameter conversion - #631: Qwen proactive token refresh (5-min buffer) Features: - #641: GitHub issue templates (bug, feature, config/proxy) - #634: Clear All Models button with i18n (29 languages) Docs: - Updated README.md and 30 i18n translations with new features - CHANGELOG.md finalized for v3.1.0 Tests: 936/936 pass (+10 since v3.0.9)
75 KiB
🚀 OmniRoute – Das kostenlose KI-Gateway
Hören Sie nie auf zu programmieren. Intelligentes Routing zu KOSTENLOSEN und kostengünstigen KI-Modellen mit automatischem Fallback.
Ihr universeller API-Proxy – ein Endpunkt, mehr als 36 Anbieter, keine Ausfallzeiten. Jetzt mit MCP & A2A Agenten-Orchestrierung.
Chat-Abschlüsse • Einbettungen • Bildgenerierung • Video • Musik • Audio • Reranking • MCP-Server • A2A-Protokoll • 100 % TypeScript
🤖 Kostenloser KI-Anbieter für Ihre bevorzugten Programmieragenten
Verbinden Sie jedes KI-gestützte IDE- oder CLI-Tool über OmniRoute – kostenloses API-Gateway für unbegrenzte Codierung.
|
OpenClaw ⭐ 205K |
NanoBot ⭐ 20.9K |
PicoClaw ⭐ 14.6K |
ZeroClaw ⭐ 9.9K |
IronClaw ⭐ 2.1K |
|
OpenCode ⭐ 106K |
Codex CLI ⭐ 60.8K |
Claude Code ⭐ 67.3K |
Gemini CLI ⭐ 94.7K |
Kilo-Code ⭐ 15.5K |
📡 Alle Agenten verbinden sich über http://localhost:20128/v1 oder quote
🆕 What's New in v3.0.0
| Area | Change |
|---|---|
| 🔒 CodeQL Security | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
| ✅ Route Validation | All 176 API routes validated with Zod schemas + validateBody() |
| 🐛 omniModel Tag Leak | Internal <omniModel> tags no longer leak to clients in SSE streams (#585) |
| 🔑 Registered Keys API | Auto-provision API keys via POST /api/v1/registered-keys with quota enforcement |
| 🎨 Provider Icons | 130+ provider logos via @lobehub/icons (SVG) with PNG fallback |
| 🔄 Model Auto-Sync | 24h scheduler refreshes model lists for 16 providers |
| 🌐 OpenCode Zen/Go | Two new providers: free tier + subscription tier |
| 🔧 926 Tests | Full test suite passes with 0 failures |
🆕 What's New in v3.0.0
| Area | Change |
|---|---|
| 🔒 CodeQL Security | Fixed 10+ CodeQL alerts: polynomial-redos, insecure-randomness, shell-injection |
| ✅ Route Validation | All 176 API routes validated with Zod schemas + validateBody() |
| 🐛 omniModel Tag Leak | Internal <omniModel> tags no longer leak to clients in SSE streams (#585) |
| 🔑 Registered Keys API | Auto-provision API keys via POST /api/v1/registered-keys with quota enforcement |
| 🎨 Provider Icons | 130+ provider logos via @lobehub/icons (SVG) with PNG fallback |
| 🔄 Model Auto-Sync | 24h scheduler refreshes model lists for 16 providers |
| 🌐 OpenCode Zen/Go | Two new providers: free tier + subscription tier |
| 🔧 926 Tests | Full test suite passes with 0 failures |
🤔 Warum OmniRoute?
Hören Sie auf, Geld zu verschwenden und an Grenzen zu stoßen:
Das Abonnementkontingent läuft jeden Monat ungenutzt ab
Ratenbegrenzungen verhindern, dass Sie mitten in der Codierung sind
Teure APIs (20–50 $/Monat pro Anbieter)
Manueller Wechsel zwischen Anbietern
OmniRoute löst dieses Problem:
- ✅ Abonnements maximieren - Verfolgen Sie das Kontingent, nutzen Sie jedes Bit vor dem Zurücksetzen
- ✅ Auto-Fallback – Abonnement → API-Schlüssel → Günstig → Kostenlos, keine Ausfallzeiten
- ✅ Mehrere Konten – Round-Robin zwischen Konten pro Anbieter
- ✅ Universell – Funktioniert mit Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw und jedem CLI-Tool
📧 Unterstützung> 💬 Treten Sie unserer Community bei! WhatsApp-Gruppe – Holen Sie sich Hilfe, tauschen Sie Tipps aus und bleiben Sie auf dem Laufenden.
- Website: omniroute.online
- GitHub: github.com/diegosouzapw/OmniRoute
- Probleme: github.com/diegosouzapw/OmniRoute/issues
- WhatsApp: Community-Gruppe
- Mitwirken: Siehe CONTRIBUTING.md, öffnen Sie eine PR oder wählen Sie eine
good first issueaus - Originalprojekt: 9router von decolua
🔄 Wie es funktioniert
┌─────────────┐
│ 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
🎯 Was OmniRoute löst – 30 echte Problempunkte und Anwendungsfälle
Jeder Entwickler, der KI-Tools verwendet, ist täglich mit diesen Problemen konfrontiert. OmniRoute wurde entwickelt, um sie alle zu lösen – von Kostenüberschreitungen bis hin zu regionalen Blockaden, von unterbrochenen OAuth-Flüssen bis hin zu Protokollvorgängen und Unternehmensbeobachtbarkeit.
💸 1. „Ich bezahle ein teures Abonnement, werde aber trotzdem durch Limits unterbrochen“
Entwickler zahlen 20–200 US-Dollar/Monat für Claude Pro, Codex Pro oder GitHub Copilot. Auch wenn das Kontingent bezahlt wird, gibt es eine Obergrenze – 5 Stunden Nutzung, wöchentliche Limits oder Tariflimits pro Minute. Während der Codierungssitzung reagiert der Anbieter nicht mehr und der Entwickler verliert an Fluss und Produktivität.
So löst OmniRoute das Problem:
- Intelligenter 4-Stufen-Fallback – Wenn das Abonnementkontingent aufgebraucht ist, wird automatisch zu API Key → Günstig → Kostenlos weitergeleitet, ohne dass ein manueller Eingriff erforderlich ist
- Kontingentverfolgung in Echtzeit – Zeigt den Token-Verbrauch in Echtzeit mit Reset-Countdown an (5 Stunden, täglich, wöchentlich)
- Unterstützung mehrerer Konten – Mehrere Konten pro Anbieter mit automatischem Round-Robin – wenn eines aufgebraucht ist, wird zum nächsten gewechselt
- Benutzerdefinierte Kombinationen – Anpassbare Fallback-Ketten mit 6 Ausgleichsstrategien (Fill-First, Round-Robin, P2C, Random, Least-Used, Kostenoptimiert)
- Codex Business Quotas – Überwachung der Geschäfts-/Team-Arbeitsbereichskontingente direkt im Dashboard
🔌 2. „Ich muss mehrere Anbieter verwenden, aber jeder hat eine andere API“
OpenAI verwendet ein Format, Claude (Anthropic) verwendet ein anderes, Gemini noch ein anderes. Wenn ein Entwickler Modelle verschiedener Anbieter testen oder zwischen ihnen wechseln möchte, muss er SDKs neu konfigurieren, Endpunkte ändern und mit inkompatiblen Formaten umgehen. Benutzerdefinierte Anbieter (FriendLI, NIM) verfügen über nicht standardmäßige Modellendpunkte.
So löst OmniRoute das Problem:
- Einheitlicher Endpunkt – Ein einzelner
http://localhost:20128/v1dient als Proxy für alle über 36 Anbieter - Formatübersetzung – Automatisch und transparent: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
- Antwortbereinigung – Entfernt nicht standardmäßige Felder (
x_groq,usage_breakdown,service_tier), die OpenAI SDK v1.83+ beschädigen - Rollennormalisierung – Konvertiert
developer→systemfür Nicht-OpenAI-Anbieter;system→userfür GLM/ERNIE - Think Tag Extraction – Extrahiert
<think>-Blöcke aus Modellen wie DeepSeek R1 in das standardisiertereasoning_content - Strukturierte Ausgabe für Gemini –
json_schema→responseMimeType/responseSchemaautomatische Konvertierung streamist standardmäßigfalse– Entspricht der OpenAI-Spezifikation und vermeidet unerwartetes SSE in Python/Rust/Go-SDKs
🌐 3. „Mein KI-Anbieter blockiert meine Region/mein Land“
Anbieter wie OpenAI/Codex blockieren den Zugriff aus bestimmten geografischen Regionen. Benutzer erhalten bei OAuth- und API-Verbindungen Fehler wie unsupported_country_region_territory. Dies ist besonders frustrierend für Entwickler aus Entwicklungsländern.
So löst OmniRoute das Problem:
- 3-Level-Proxy-Konfiguration – Konfigurierbarer Proxy auf 3 Ebenen: global (gesamter Datenverkehr), pro Anbieter (nur ein Anbieter) und pro Verbindung/Schlüssel
- Farbcodierte Proxy-Abzeichen – Visuelle Indikatoren: 🟢 globaler Proxy, 🟡 Anbieter-Proxy, 🔵 Verbindungs-Proxy, immer mit IP-Adresse
- OAuth-Token-Austausch über Proxy – Der OAuth-Fluss läuft auch über den Proxy und löst
unsupported_country_region_territory - Verbindungstests über Proxy – Verbindungstests verwenden den konfigurierten Proxy (keine direkte Umgehung mehr)
- SOCKS5-Unterstützung – Vollständige SOCKS5-Proxy-Unterstützung für ausgehendes Routing
- TLS-Fingerabdruck-Spoofing – Browserähnlicher TLS-Fingerabdruck über
wreq-jszur Umgehung der Bot-Erkennung
🆓 4. „Ich möchte KI zum Codieren verwenden, habe aber kein Geld“
Nicht jeder kann 20–200 $/Monat für KI-Abonnements bezahlen. Studenten, Entwickler aus Schwellenländern, Bastler und Freiberufler benötigen Zugang zu hochwertigen Modellen zum Nulltarif.
So löst OmniRoute das Problem:
- Integrierte kostenlose Anbieter – Native Unterstützung für 100 % kostenlose Anbieter: iFlow (8 unbegrenzte Modelle), Qwen (3 unbegrenzte Modelle), Kiro (Claude kostenlos), Gemini CLI (180.000/Monat kostenlos)
- Ollama Cloud — Cloud-hosted Ollama models at
api.ollama.comwith free "Light usage" tier; useollamacloud/<model>prefix - Nur kostenlose Combos – Kette
gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus= 0 $/Monat ohne Ausfallzeit - NVIDIA NIM Free Credits – 1000 kostenlose Credits integriert
- Kostenoptimierte Strategie – Routing-Strategie, die automatisch den günstigsten verfügbaren Anbieter auswählt
🔒 5. „Ich muss mein KI-Gateway vor unbefugtem Zugriff schützen“
Wenn ein KI-Gateway dem Netzwerk (LAN, VPS, Docker) zugänglich gemacht wird, kann jeder mit der Adresse die Token/Kontingente des Entwicklers verbrauchen. Ohne Schutz sind APIs anfällig für Missbrauch, sofortige Injektion und Missbrauch.
So löst OmniRoute das Problem:
- API-Schlüsselverwaltung – Generierung, Rotation und Scoping pro Anbieter mit einer dedizierten
/dashboard/api-manager-Seite - Berechtigungen auf Modellebene – Beschränken Sie API-Schlüssel auf bestimmte Modelle (
openai/*, Platzhaltermuster) mit der Umschaltfunktion „Alle zulassen/Einschränken“. - API Endpoint Protection – Fordern Sie einen Schlüssel für
/v1/modelsan und blockieren Sie bestimmte Anbieter aus der Liste - Auth Guard + CSRF-Schutz – Alle Dashboard-Routen sind mit
withAuth-Middleware + CSRF-Tokens geschützt - Ratenbegrenzer – Ratenbegrenzung pro IP mit konfigurierbaren Fenstern
- IP-Filterung – Zulassungs-/Blockierungsliste für die Zugriffskontrolle
- Prompt Injection Guard – Bereinigung gegen bösartige Eingabeaufforderungsmuster
- AES-256-GCM-Verschlüsselung – Anmeldeinformationen im Ruhezustand verschlüsselt
🛑 6. „Mein Provider ist ausgefallen und ich habe meinen Codierungsfluss verloren“
KI-Anbieter können instabil werden, 5xx-Fehler zurückgeben oder vorübergehende Ratengrenzen erreichen. Wenn ein Entwickler von einem einzelnen Anbieter abhängig ist, wird er unterbrochen. Ohne Schutzschalter können wiederholte Versuche zum Absturz der Anwendung führen.So löst OmniRoute das Problem:
- Leistungsschalter pro Anbieter – Automatisches Öffnen/Schließen mit konfigurierbaren Schwellenwerten und Abklingzeit (geschlossen/offen/halb offen)
- Exponentielles Backoff – Progressive Wiederholungsverzögerungen
- Anti-Thundering Herd – Mutex + Semaphor-Schutz gegen gleichzeitige Wiederholungsstürme
- Combo-Fallback-Ketten – Wenn der primäre Anbieter ausfällt, fällt er automatisch durch die Kette, ohne dass ein Eingreifen erforderlich ist
- Combo Circuit Breaker – Deaktiviert automatisch ausgefallene Anbieter innerhalb einer Combo-Kette | 🎯 Endpoint-Aware Models | Custom models declare supported endpoints + API format |
- Gesundheits-Dashboard – Betriebszeitüberwachung, Leistungsschalterzustände, Sperren, Cache-Statistiken, p50/p95/p99-Latenz
🔧 7. „Die Konfiguration jedes KI-Tools ist mühsam und repetitiv“
Entwickler verwenden Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code ... Jedes Tool benötigt eine andere Konfiguration (API-Endpunkt, Schlüssel, Modell). Eine Neukonfiguration bei einem Anbieter- oder Modellwechsel ist Zeitverschwendung.
So löst OmniRoute das Problem:
- CLI Tools Dashboard – Spezielle Seite mit Ein-Klick-Einrichtung für Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
- GitHub Copilot Config Generator – Generiert
chatLanguageModels.jsonfür VS-Code mit Massenmodellauswahl - Onboarding-Assistent – Geführte Einrichtung in 4 Schritten für Erstbenutzer
- Ein Endpunkt, alle Modelle – Konfigurieren Sie
http://localhost:20128/v1einmal und greifen Sie auf über 36 Anbieter zu
🔑 8. „OAuth-Tokens von mehreren Anbietern zu verwalten ist die Hölle“
Claude Code, Codex, Gemini CLI, Copilot – alle verwenden OAuth 2.0 mit ablaufenden Token. Entwickler müssen sich ständig neu authentifizieren, sich mit client_secret is missing, redirect_uri_mismatch und Fehlern auf Remote-Servern auseinandersetzen. Besonders problematisch ist OAuth auf LAN/VPS.
So löst OmniRoute das Problem:
- Automatische Token-Aktualisierung – OAuth-Tokens werden vor Ablauf im Hintergrund aktualisiert
- OAuth 2.0 (PKCE) integriert – Automatischer Ablauf für Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow
- Multi-Account OAuth – Mehrere Konten pro Anbieter über JWT/ID-Token-Extraktion
- OAuth LAN/Remote Fix – Private IP-Erkennung für
redirect_uri+ manueller URL-Modus für Remote-Server - OAuth Behind Nginx – Verwendet
window.location.originfür Reverse-Proxy-Kompatibilität - Remote OAuth Guide – Schritt-für-Schritt-Anleitung für Google Cloud-Anmeldeinformationen auf VPS/Docker
📊 9. „Ich weiß nicht, wie viel ich ausgebe oder wo“
Entwickler nutzen mehrere kostenpflichtige Anbieter, haben jedoch keine einheitliche Sicht auf die Ausgaben. Jeder Anbieter verfügt über ein eigenes Abrechnungs-Dashboard, es gibt jedoch keine konsolidierte Ansicht. Unerwartete Kosten können sich häufen.
So löst OmniRoute das Problem:
- Kostenanalyse-Dashboard – Kostenverfolgung pro Token und Budgetverwaltung pro Anbieter
- Budgetgrenzen pro Stufe – Ausgabenobergrenze pro Stufe, die einen automatischen Fallback auslöst
- Preiskonfiguration pro Modell – Konfigurierbare Preise pro Modell- Nutzungsstatistiken pro API-Schlüssel – Anzahl der Anfragen und zuletzt verwendeter Zeitstempel pro Schlüssel
- Analytics-Dashboard – Statistikkarten, Modellnutzungsdiagramm, Anbietertabelle mit Erfolgsraten und Latenz
🐛 10. „Ich kann Fehler und Probleme bei KI-Anrufen nicht diagnostizieren“
Wenn ein Anruf fehlschlägt, weiß der Entwickler nicht, ob es sich um eine Ratenbegrenzung, ein abgelaufenes Token, ein falsches Format oder einen Anbieterfehler handelt. Fragmentierte Protokolle über verschiedene Terminals hinweg. Ohne Beobachtbarkeit ist das Debuggen ein Versuch und Irrtum.
So löst OmniRoute das Problem:
- Unified Logs Dashboard – 4 Registerkarten: Anforderungsprotokolle, Proxy-Protokolle, Audit-Protokolle, Konsole
- Console Log Viewer – Echtzeit-Viewer im Terminal-Stil mit farbcodierten Ebenen, automatischem Scrollen, Suche und Filter
- SQLite-Proxy-Protokolle – Persistente Protokolle, die Serverneustarts überdauern
- Translator Playground – 4 Debugging-Modi: Playground (Formatübersetzung), Chat Tester (Round-Trip), Test Bench (Batch), Live Monitor (Echtzeit)
- Telemetrie anfordern – p50/p95/p99-Latenz + X-Request-Id-Ablaufverfolgung
- Dateibasierte Protokollierung mit Rotation – Der Konsolen-Interceptor erfasst alles im JSON-Protokoll mit größenbasierter Rotation
🏗️ 11. „Die Bereitstellung und Wartung des Gateways ist komplex“
Die Installation, Konfiguration und Wartung eines KI-Proxys in verschiedenen Umgebungen (lokal, VPS, Docker, Cloud) ist arbeitsintensiv. Probleme wie hartcodierte Pfade, EACCES in Verzeichnissen, Portkonflikte und plattformübergreifende Builds sorgen für zusätzliche Reibung.
So löst OmniRoute das Problem:
- npm globale Installation –
npm install -g omniroute && omniroute– fertig - Docker Multi-Platform – AMD64 + ARM64 nativ (Apple Silicon, AWS Graviton, Raspberry Pi)
- Docker Compose-Profile –
base(keine CLI-Tools) undcli(mit Claude Code, Codex, OpenClaw) - Electron Desktop App – Native App für Windows/macOS/Linux mit Taskleiste, Autostart, Offline-Modus
- Split-Port-Modus – API und Dashboard auf separaten Ports für erweiterte Szenarien (Reverse-Proxy, Container-Netzwerk)
- Cloud Sync – Konfigurieren Sie die geräteübergreifende Synchronisierung über Cloudflare Workers
- DB-Backups – Automatische Sicherung, Wiederherstellung, Export und Import aller Einstellungen
🌍 12. „Die Benutzeroberfläche ist nur auf Englisch verfügbar und mein Team spricht kein Englisch“
Teams in nicht englischsprachigen Ländern, insbesondere in Lateinamerika, Asien und Europa, haben Probleme mit rein englischsprachigen Benutzeroberflächen. Sprachbarrieren verringern die Akzeptanz und erhöhen die Zahl von Konfigurationsfehlern.
So löst OmniRoute das Problem:
- Dashboard i18n – 30 Sprachen – Alle über 500 Tasten übersetzt, einschließlich Arabisch, Bulgarisch, Dänisch, Deutsch, Spanisch, Finnisch, Französisch, Hebräisch, Hindi, Ungarisch, Indonesisch, Italienisch, Japanisch, Koreanisch, Malaiisch, Niederländisch, Norwegisch, Polnisch, Portugiesisch (PT/BR), Rumänisch, Russisch, Slowakisch, Schwedisch, Thailändisch, Ukrainisch, Vietnamesisch, Chinesisch, Philippinisch, Englisch
- RTL-Unterstützung – Rechts-nach-links-Unterstützung für Arabisch und Hebräisch
- Mehrsprachige READMEs – 30 vollständige Dokumentationsübersetzungen
- Sprachauswahl – Globussymbol in der Kopfzeile zum Umschalten in Echtzeit
🔄 13. „Ich brauche mehr als nur Chat – ich brauche Einbettungen, Bilder, Audio“
KI ist nicht nur der Abschluss eines Chats. Entwickler müssen Bilder generieren, Audio transkribieren, Einbettungen für RAG erstellen, Dokumente neu einordnen und Inhalte moderieren. Jede API hat einen anderen Endpunkt und ein anderes Format.
So löst OmniRoute das Problem:
- Einbettungen –
/v1/embeddingsmit 6 Anbietern und 9+ Modellen - Bildgenerierung –
/v1/images/generationsmit 10 Anbietern und über 20 Modellen (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI) - Text-zu-Video –
/v1/videos/generations– ComfyUI (AnimateDiff, SVD) und SD WebUI - Text-zu-Musik –
/v1/music/generations– ComfyUI (Stable Audio Open, MusicGen) - Audiotranskription –
/v1/audio/transcriptions– Whisper + Nvidia NIM, HuggingFace, Qwen3 - Text-to-Speech –
/v1/audio/speech– ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3, Inworld, Cartesia, PlayHT, + bestehende Anbieter - Moderationen –
/v1/moderations– Überprüfung der Inhaltssicherheit - Neueinstufung –
/v1/rerank– Neueinstufung der Dokumentenrelevanz - Antwort-API – Vollständige
/v1/responses-Unterstützung für Codex
🧪 14. „Ich habe keine Möglichkeit, die Qualität verschiedener Modelle zu testen und zu vergleichen“
Entwickler möchten wissen, welches Modell für ihren Anwendungsfall am besten geeignet ist – Code, Übersetzung, Argumentation –, aber ein manueller Vergleich ist langsam. Es sind keine integrierten Evaluierungstools vorhanden.
So löst OmniRoute das Problem:
- LLM-Bewertungen – Golden-Set-Test mit 10 vorinstallierten Fällen zu Begrüßungen, Mathematik, Geografie, Codegenerierung, JSON-Konformität, Übersetzung, Markdown und Sicherheitsverweigerung
- 4 Match-Strategien –
exact,contains,regex,custom(JS-Funktion) - Translator Playground Test Bench – Batch-Tests mit mehreren Eingaben und erwarteten Ausgaben, anbieterübergreifender Vergleich
- Chat-Tester – Vollständiger Roundtrip mit visueller Antwortwiedergabe
- Live-Monitor – Echtzeit-Stream aller Anfragen, die über den Proxy fließen
📈 15. „Ich muss skalieren, ohne an Leistung einzubüßen“
Wenn das Anfragevolumen wächst, verursachen dieselben Fragen ohne Zwischenspeicherung doppelte Kosten. Ohne Idempotenz verschwenden doppelte Anfragen die Verarbeitung. Die Tarifbegrenzungen pro Anbieter müssen eingehalten werden.
So löst OmniRoute das Problem:
- Semantischer Cache – Zweistufiger Cache (Signatur + Semantik) reduziert Kosten und Latenz
- Request Idempotency – 5-Sekunden-Deduplizierungsfenster für identische Anfragen
- Ratenbegrenzungserkennung – Provider-RPM, minimale Lücke und maximale gleichzeitige Verfolgung
- Bearbeitbare Ratengrenzen – Konfigurierbare Standardeinstellungen unter Einstellungen → Ausfallsicherheit mit Persistenz
- API Key Validation Cache – 3-stufiger Cache für Produktionsleistung
- Gesundheits-Dashboard mit Telemetrie – p50/p95/p99-Latenz, Cache-Statistiken, Betriebszeit
🤖 16. „Ich möchte das Modellverhalten global steuern“
Entwickler, die alle Antworten in einer bestimmten Sprache oder mit einem bestimmten Ton wünschen oder die Argumentationstoken einschränken möchten. Dies in jedem Tool/jeder Anfrage zu konfigurieren, ist unpraktisch.So löst OmniRoute das Problem:
- System Prompt Injection – Globale Eingabeaufforderung, die auf alle Anfragen angewendet wird
- Thinking Budget Validation – Reasoning-Token-Zuteilungskontrolle pro Anfrage (Passthrough, automatisch, benutzerdefiniert, adaptiv)
- 6 Routing-Strategien – Globale Strategien, die bestimmen, wie Anfragen verteilt werden
- Wildcard-Router –
provider/*-Muster leiten dynamisch an jeden Anbieter weiter - Combo-Aktivierung/Deaktivierung umschalten – Combos direkt über das Dashboard umschalten
- Provider Toggle – Alle Verbindungen für einen Anbieter mit einem Klick aktivieren/deaktivieren
- Blockierte Anbieter – Bestimmte Anbieter aus der
/v1/models-Liste ausschließen
🧰 17. „Ich brauche MCP-Tools als erstklassige Produktfunktionen“
Viele KI-Gateways stellen MCP nur als verstecktes Implementierungsdetail zur Verfügung. Teams benötigen eine sichtbare, überschaubare Betriebsebene.
So löst OmniRoute das Problem:
– MCP wird in der Dashboard-Navigation und auf der Registerkarte „Endpunktprotokoll“ angezeigt
- Dedizierte MCP-Verwaltungsseite mit Prozess, Tools, Bereichen und Audit
– Integrierter Schnellstart für
omniroute --mcpund Kunden-Onboarding
🧠 18. „Ich benötige A2A-Orchestrierung mit Synchronisierungs- und Stream-Aufgabenpfaden“
Agenten-Workflows erfordern sowohl direkte Antworten als auch eine lang andauernde gestreamte Ausführung mit Lebenszykluskontrolle.
So löst OmniRoute das Problem:
– A2A JSON-RPC-Endpunkt (POST /a2a) mit message/send und message/stream
- SSE-Streaming mit Terminal-State-Propagation
– Task-Lebenszyklus-APIs für
tasks/getundtasks/cancel
🛰️ 19. „Ich benötige den echten Zustand des MCP-Prozesses, keinen erratenen Status“
Betriebsteams müssen wissen, ob MCP tatsächlich aktiv ist, und nicht nur, ob eine API erreichbar ist.
So löst OmniRoute das Problem:
– Laufzeit-Heartbeat-Datei mit PID, Zeitstempeln, Transport, Werkzeuganzahl und Oszilloskopmodus
- MCP-Status-API, die Heartbeat + aktuelle Aktivität kombiniert
- UI-Statuskarten für Prozess-/Verfügbarkeits-/Heartbeat-Aktualität
📋 20. „Ich benötige eine überprüfbare MCP-Tool-Ausführung“
Wenn Tools die Konfiguration verändern oder operative Aktionen auslösen, benötigen Teams forensische Rückverfolgbarkeit.
So löst OmniRoute das Problem:
– SQLite-gestützte Audit-Protokollierung für MCP-Tool-Aufrufe
- Filtert nach Tool, Erfolg/Misserfolg, API-Schlüssel und Paginierung
- Dashboard-Audit-Tabelle + Statistik-Endpunkte für die Automatisierung
🔐 21. „Ich benötige bereichsweise MCP-Berechtigungen pro Integration“
Verschiedene Clients sollten Zugriff auf die Werkzeugkategorien mit den geringsten Rechten haben.
So löst OmniRoute das Problem:
- 9 granulare MCP-Bereiche für kontrollierten Werkzeugzugriff
- Geltungsbereichsdurchsetzung und Sichtbarkeit in der MCP-Management-Benutzeroberfläche
- Sichere Standardhaltung für Betriebswerkzeuge
⚙️ 22. „Ich benötige Betriebskontrollen ohne erneute Bereitstellung“
Teams benötigen bei Vorfällen oder Kostenereignissen schnelle Laufzeitänderungen.
So löst OmniRoute das Problem:
- Schalten Sie die Combo-Aktivierung direkt über das MCP-Dashboard um
- Wenden Sie Ausfallsicherheitsprofile aus vordefinierten Richtlinienpaketen an
- Setzen Sie den Leistungsschalterstatus über dasselbe Bedienfeld zurück
🔄 23. „Ich benötige Live-Sichtbarkeit und Abbruch des A2A-Aufgabenlebenszyklus“
Ohne Sichtbarkeit des Lebenszyklus wird es schwierig, Aufgabenvorfälle zu selektieren.
So löst OmniRoute das Problem:
- Aufgabenliste/Filterung nach Bundesland/Fähigkeit mit Paginierung
- Drilldown zu Aufgabenmetadaten, Ereignissen und Artefakten
- Endpunkt zum Abbrechen von Aufgaben und UI-Aktion mit Bestätigung
🌊 24. „Ich benötige aktive Stream-Metriken für die A2A-Last“
Streaming-Workflows erfordern betriebliche Einblicke in Parallelität und Live-Verbindungen.
So löst OmniRoute das Problem:
- Aktive Stream-Zähler im A2A-Status integriert
- Zeitstempel der letzten Aufgabe und Anzahl pro Status
- A2A-Dashboard-Karten für die Echtzeit-Betriebsüberwachung
🪪 25. „Ich benötige Standard-Agent-Erkennung für Clients“
Externe Kunden und Orchestratoren benötigen für das Onboarding maschinenlesbare Metadaten.
So löst OmniRoute das Problem:
– Agentenkarte unter /.well-known/agent.json ausgestellt
- Fähigkeiten und Fertigkeiten werden in der Management-Benutzeroberfläche angezeigt – Die A2A-Status-API enthält Erkennungsmetadaten für die Automatisierung
🧭 26. „Ich benötige Protokollauffindbarkeit in der Produkt-UX“
Wenn Benutzer Protokolloberflächen nicht entdecken können, sinken Akzeptanz und Supportqualität.
So löst OmniRoute das Problem:
- Seitenleisteneinträge für MCP und A2A
- Registerkarte „Protokolle“ auf der Endpunktseite mit Schnellstart und Status
- Links von der Übersicht zu speziellen Management-Dashboards
🧪 27. „Ich benötige eine End-to-End-Protokollvalidierung mit echten Clients“
Probetests reichen nicht aus, um die Protokollkompatibilität vor der Veröffentlichung zu überprüfen.
So löst OmniRoute das Problem:
– E2E-Suite, die die App startet und echten MCP SDK-Client-Transport verwendet
- A2A-Clienttests für Erkennungs-, Sende-, Stream-, Get- und Abbruchflüsse
- Vergleichen Sie Behauptungen mit MCP-Audit- und A2A-Aufgaben-APIs
📡 28. „Ich brauche eine einheitliche Beobachtbarkeit über alle Schnittstellen hinweg“
Die Aufteilung der Beobachtbarkeit nach Protokoll führt zu blinden Flecken und einer längeren MTTR.
So löst OmniRoute das Problem:
- Einheitliche Dashboards/Protokolle/Analysen in einem Produkt
- Gesundheits-, Audit- und Anforderungstelemetrie über OpenAI-, MCP- und A2A-Ebenen hinweg
- Operative APIs für Status und Automatisierung
💼 29. „Ich benötige eine Laufzeit für Proxy + Tools + Agent-Orchestrierung“
Die Ausführung vieler separater Dienste erhöht die Betriebskosten und erhöht die Fehlerhäufigkeit.
So löst OmniRoute das Problem:- OpenAI-kompatibler Proxy, MCP-Server und A2A-Server in einem Stack – Gemeinsame Authentifizierung, Ausfallsicherheit, Datenspeicher und Beobachtbarkeit
- Konsistentes Richtlinienmodell über alle Interaktionsoberflächen hinweg
🚀 30. „Ich muss Agenten-Workflows ohne Glue-Code-Ausbreitung versenden“
Teams verlieren an Geschwindigkeit, wenn sie mehrere Ad-hoc-Dienste und -Skripte zusammenfügen.
So löst OmniRoute das Problem:
- Einheitliche Endpunktstrategie für Kunden und Agenten
- Integrierte Protokollverwaltungs-Benutzeroberflächen und Rauchvalidierungspfade
- Produktionsreife Grundlagen (Sicherheit, Protokollierung, Ausfallsicherheit, Backup)
Beispiel-Playbooks (Integrierte Anwendungsfälle)
Playbook A: Bezahltes Abonnement maximieren + günstiges Backup
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: Kostenfreier Codierungsstack
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 Always-On-Fallback-Kette
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: Agentenoperationen mit MCP + A2A
1) Start MCP transport (`omniroute --mcp`) for tool-driven operations
2) Run A2A tasks via `message/send` and `message/stream`
3) Observe via /dashboard/mcp and /dashboard/a2a
4) Control incidents with resilience profile + task cancellation
⚡ Schnellstart
1) Installieren und ausführen
npm install -g omniroute
omniroute
Das Dashboard wird unter http://localhost:20128 geöffnet und die API-Basis-URL lautet http://localhost:20128/v1.
| Befehl | Beschreibung |
|---|---|
omniroute |
Server starten (PORT=20128, API und Dashboard auf demselben Port) |
omniroute --port 3000 |
Setzen Sie den kanonischen/API-Port auf 3000 |
omniroute --mcp |
Starten Sie den MCP-Server (STDIO-Transport) |
omniroute --no-open |
Browser nicht automatisch öffnen |
omniroute --help |
Hilfe anzeigen |
Optionaler Split-Port-Modus:
PORT=20128 DASHBOARD_PORT=20129 omniroute
# API: http://localhost:20128/v1
# Dashboard: http://localhost:20129
2) Verbinden Sie Anbieter und erstellen Sie Ihren API-Schlüssel
- Öffnen Sie Dashboard →
Providersund verbinden Sie mindestens einen Anbieter (OAuth oder API-Schlüssel). - Öffnen Sie Dashboard →
Endpointund erstellen Sie einen API-Schlüssel. - (Optional) Öffnen Sie Dashboard →
Combosund legen Sie Ihre Fallback-Kette fest.
3) Richten Sie Ihr Codierungstool auf OmniRoute
Base URL: http://localhost:20128/v1
API Key: [copy from Endpoint page]
Model: if/kimi-k2-thinking (or any provider/model prefix)
Funktioniert mit Claude Code, Codex CLI, Gemini CLI, Cursor, Cline, OpenClaw, OpenCode und OpenAI-kompatiblen SDKs.
4) Protokolle aktivieren und validieren (v2.0)
MCP (für werkzeuggesteuerte Vorgänge):
omniroute --mcp
Verbinden Sie dann Ihren MCP-Client über stdio und testen Sie Tools wie:
omniroute_get_healthomniroute_list_combos
A2A (für Agent-zu-Agent-Workflows):
curl http://localhost:20128/.well-known/agent.json
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) Alles durchgängig validieren (empfohlen)
npm run test:protocols:e2e
Diese Suite validiert echte MCP- und A2A-Client-Flows anhand einer laufenden App.
Alternative: Von der Quelle ausführen
cp .env.example .env
npm install
PORT=20128 DASHBOARD_PORT=20129 NEXT_PUBLIC_BASE_URL=http://localhost:20129 npm run dev
🐳 Docker
OmniRoute ist als öffentliches Docker-Image auf Docker Hub verfügbar.
Schneller Lauf:
docker run -d \
--name omniroute \
--restart unless-stopped \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latest
Mit Umgebungsdatei:
# 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
Verwendung von Docker Compose:
# 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 | Tag | Größe | Beschreibung |
|---|---|---|---|
diegosouzapw/omniroute |
latest |
~250 MB | Neueste stabile Version |
diegosouzapw/omniroute |
1.0.3 |
~250 MB | Aktuelle Version |
🖥️
Führen Sie OmniRoute als eigenständige Desktop-App aus – kein Terminal, kein Browser, keine Internetverbindung für lokale Modelle erforderlich. Die Electron-basierte App umfasst:
- 🖥️ Natives Fenster – Spezielles App-Fenster mit Integration in die Taskleiste
- 🔄 Auto-Start – OmniRoute bei der Systemanmeldung starten
- 🔔 Native Benachrichtigungen – Erhalten Sie Benachrichtigungen bei Kontingentausschöpfung oder Anbieterproblemen
- ⚡ One-Click-Installation – NSIS (Windows), DMG (macOS), AppImage (Linux)
- 🌐 Offline-Modus – Funktioniert vollständig offline mit dem gebündelten Server
Schnellstart
# 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)
Systemablage
Wenn OmniRoute minimiert ist, befindet es sich mit schnellen Aktionen in Ihrer Taskleiste:
- Dashboard öffnen
- Server-Port ändern
- Anwendung beenden
📖 Vollständige Dokumentation: electron/README.md
💰 Preise im Überblick
| Stufe | Anbieter | Kosten | Kontingent zurücksetzen | Am besten für |
|---|---|---|---|---|
| 💳 ABO | Claude Code (Pro) | 20 $/Monat | 5h + wöchentlich | Bereits abonniert |
| Codex (Plus/Pro) | 20–200 $/Monat | 5h + wöchentlich | OpenAI-Benutzer | |
| Gemini CLI | KOSTENLOS | 180.000/Monat + 1.000/Tag | Alle! | |
| GitHub-Copilot | 10–19 $/Monat | Monatlich | GitHub-Benutzer | |
| 🔑 API-SCHLÜSSEL | NVIDIA NIM | KOSTENLOS (1000 Credits) | Einmalig | Kostenlose Tier-Tests |
| DeepSeek | Pay-per-Use | Keine | Bestes Preis/Qualität | |
| Groq | Kostenloses Kontingent + kostenpflichtig | Tarif begrenzt | Ultraschnelle Inferenz | |
| xAI (Grok) | Pay-per-Use | Keine | Grok-Modelle | |
| Mistral | Kostenloses Kontingent + kostenpflichtig | Tarif begrenzt | Europäische KI | |
| OpenRouter | Pay-per-Use | Keine | Über 100 Modelle | |
| 💰 GÜNSTIG | GLM-4.7 | 0,6 $/1 Mio. | Täglich 10 Uhr | Budgetsicherung |
| MiniMax M2.1 | 0,2 $/1 Mio. | 5-Stunden-Rollen | Günstigste Option | |
| Kimi K2 | $9/Monat pauschal | 10 Millionen Token/Monat | Vorhersehbare Kosten | |
| 🆓 KOSTENLOS | iFlow | $0 | Unbegrenzt | 8 Modelle kostenlos |
| Qwen | $0 | Unbegrenzt | 3 Modelle kostenlos | |
| Kiro | $0 | Unbegrenzt | Claude frei |
💡 Profi-Tipp: Beginnen Sie mit der Kombination Gemini CLI (180.000 kostenlos/Monat) + iFlow (unbegrenzt kostenlos) = 0 $ Kosten!
💡 Hauptfunktionen
OmniRoute v2.0 ist als Betriebsplattform konzipiert und nicht nur als Relay-Proxy.
🤖 Agenten- und Protokolloperationen (v2.0)| Funktion | Was es tut |
| ------------------------------------ | -------------------------------------------------------------------------------- |
| 🔧 MCP-Server (16 Tools) | IDE-/Agent-Tools steuern Routing, Zustand, Kombinationen, Grenzwerte und Vorgänge | IDE/agent tools via 3 transports: stdio, SSE (/api/mcp/sse), Streamable HTTP (/api/mcp/stream)
| 🤝 A2A-Server (JSON-RPC + SSE) | Ausführung von Agent-zu-Agent-Aufgaben mit Synchronisierungs- und Streaming-Flows |
| 🧭 Consolidated Endpoints Page | Dedizierte Verwaltungsseiten (/dashboard/mcp, /dashboard/a2a) |
| 🎚️ Service Enable/Disable Toggles | ON/OFF switches for MCP and A2A with settings persistence (default: OFF) |
| 🛰️ MCP Runtime Heartbeat | Echter Prozessstatus (PID, Betriebszeit, Heartbeat-Alter, Transport, Scope-Modus) |
| 📋 MCP Audit Trail | Filterbare Audit-Protokolle mit Erfolg/Misserfolg und Schlüsselzuordnung |
| 🔐 Durchsetzung des MCP-Geltungsbereichs | 9 granulare Umfangsberechtigungen für kontrollierten Werkzeugzugriff |
| 📡 A2A Task Lifecycle Management | Aufgaben auflisten/filtern, Ereignisse/Artefakte prüfen, laufende Aufgaben abbrechen |
| 📋 Agentenkartenerkennung | /.well-known/agent.json für die automatische Client-Erkennung |
| 🧪 Protokoll-E2E-Testkabel | Echtes MCP SDK + A2A-Client fließt in test:protocols:e2e |
| ⚙️ Betriebskontrollen | Schaltkombination, Anwenden von Resilienzprofilen, Zurücksetzen von Leistungsschaltern über eine Bedienoberfläche |
🧠 Routing und Intelligenz
| Funktion | Was es tut |
|---|---|
| 🎯 Intelligenter 4-Stufen-Fallback | Automatische Route: Abonnement → API-Schlüssel → Günstig → Kostenlos |
| 📊 Kontingentverfolgung in Echtzeit | Live-Token-Zählung + Reset-Countdown pro Anbieter |
| 🔄 Formatübersetzung | OpenAI ↔ Claude ↔ Gemini ↔ Antworten mit schemasicheren Konvertierungen |
| 👥 Unterstützung mehrerer Konten | Mehrere Konten pro Anbieter mit intelligenter Auswahl |
| 🔄 Automatische Token-Aktualisierung | OAuth-Token werden bei Wiederholung automatisch aktualisiert |
| 🎨 Benutzerdefinierte Kombinationen | 6 Ausgleichsstrategien + Fallback-Kettenkontrolle |
| 🌐 Wildcard-Router | provider/* dynamisches Routing |
| 🧠 Budgetkontrollen denken | Passthrough-, automatische, benutzerdefinierte und adaptive Reasoning-Grenzwerte |
| 🔀 Modell-Aliase | Integrierte + benutzerdefinierte Modell-Aliasing- und Migrationssicherheit |
| ⚡ Hintergrundverschlechterung | Hintergrundaufgaben mit niedriger Priorität an günstigere Modelle weiterleiten |
| 💬 System-Prompt-Injektion | Globale Verhaltenskontrollen werden konsequent angewendet |
| 📄 Antwort-API-Kompatibilität | Vollständige /v1/responses-Unterstützung für Codex und erweiterte Agenten-Workflows |
🎵 Multimodale APIs
| Funktion | Was es tut || -------------------------- | ------------------------------------------------------------- |
| 🖼️ Bilderzeugung | /v1/images/generations mit Cloud- und lokalen Backends |
| 📐 Einbettungen | /v1/embeddings für Such- und RAG-Pipelines |
| 🎤 Audio-Transkription | /v1/audio/transcriptions — 7 providers (Deepgram Nova 3, AssemblyAI, Groq Whisper, HuggingFace, ElevenLabs, OpenAI, Azure), auto-language detection, MP4/MP3/WAV support |
| 🔊 Text-to-Speech | /v1/audio/speech — 10 providers (ElevenLabs, OpenAI, Deepgram, Cartesia, PlayHT, HuggingFace, Nvidia NIM, Inworld, Coqui, Tortoise) |
| 🎬 Videogenerierung | /v1/videos/generations (ComfyUI + SD WebUI-Workflows) |
| 🎵 Musikgeneration | /v1/music/generations (ComfyUI-Workflows) |
| 🛡️ Moderationen | /v1/moderations Sicherheitsprüfungen |
| 🔀 Neueinstufung | /v1/rerank für Relevanzbewertung |
🛡️ Resilienz, Sicherheit und Governance
| Funktion | Was es tut |
|---|---|
| 🔌 Leistungsschalter | Auslösung/Wiederherstellung auf Anbieterebene mit Schwellenwertkontrollen |
| 🛡️ Anti-Donnerende Herde | Mutex- und Semaphorschutz bei Wiederholungs-/Ratenereignissen |
| 🧠 Semantik + Signatur-Cache | Kosten-/Latenzreduzierung mit zwei Cache-Schichten |
| ⚡ Idempotenz anfordern | Doppeltes Schutzfenster |
| 🔒 TLS-Fingerabdruck-Spoofing | Bessere Kompatibilität mit Anti-Bot-gefilterten Anbietern |
| 🌐 IP-Filterung | Zulassungs-/Blocklistenkontrolle für exponierte Bereitstellungen |
| 📊 Bearbeitbare Ratenlimits | Konfigurierbare globale/Provider-Level-Limits mit Persistenz |
| 🔑 API-Schlüsselverwaltung + Scoping | Sichere Schlüsselausgabe/-rotation und Modell-/Anbieterkontrollen |
🛡️ Geschützt /models |
Optionales Authentifizierungs-Gating und Provider-Ausblenden für Modellkatalog |
📊 Beobachtbarkeit und Analyse
| Funktion | Was es tut |
|---|---|
| 📝 Anfrage + Proxy-Protokollierung | Vollständige Anfrage/Antwort- und Proxy-Protokollierung |
| 📋 Einheitliches Protokoll-Dashboard | Anforderungs-, Proxy-, Audit- und Konsolenansichten auf einer Seite |
| 🔍 Telemetrie anfordern | p50/p95/p99-Latenz und Anforderungsverfolgung |
| 🏥 Gesundheits-Dashboard | Betriebszeit, Breaker-Zustände, Sperrungen, Cache-Statistiken |
| 💰 Kostenverfolgung | Budgetkontrolle und Preistransparenz pro Modell |
| 📈 Analysevisualisierungen | Einblicke in die Modell-/Anbieternutzung und Trendansichten |
| 🧪 Bewertungsrahmen | Golden-Set-Test mit konfigurierbaren Match-Strategien |
☁️ Bereitstellung und Plattform
| Funktion | Was es tut | |||
|---|---|---|---|---|
| 🌐 Überall bereitstellen | Localhost, VPS, Docker, Cloud-Umgebungen | 💾 Cloud-Synchronisierung | Konfigurationssynchronisierung über Cloud Worker | |
| 🔄 Sichern/Wiederherstellen | Export-/Import- und Disaster-Recovery-Abläufe | |||
| 🧙 Onboarding-Assistent | Erstmaliges geführtes Setup | |||
| 🔧 CLI-Tools-Dashboard | Ein-Klick-Setup für beliebte Codierungstools | |||
| 🌐 i18n (30 Sprachen) | Vollständige Sprachunterstützung für Dashboard und Dokumente mit RTL-Abdeckung | |||
| 🧹 Clear All Models | One-click model list clearing in provider details | |||
| 📋 Issue Templates | Standardized GitHub templates for bugs and features | |||
| 📂 Benutzerdefiniertes Datenverzeichnis | DATA_DIR-Überschreibung für Speicherort |
Feature Deep Dive
Smarter Fallback mit praktischer Kostenkontrolle
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
Wenn Kontingent, Rate oder Integrität fehlschlagen, wechselt OmniRoute automatisch zum nächsten Kandidaten, ohne dass ein manueller Wechsel erforderlich ist.
Protokollverwaltung, die sichtbar und bedienbar ist
- MCP + A2A sind in der Benutzeroberfläche und in den Dokumenten erkennbar (nicht ausgeblendet)
– Protokollstatus-APIs stellen Live-Betriebsdaten bereit (
/api/mcp/*,/api/a2a/*) - Dashboards umfassen Aktionen für Tag-2-Operationen (Kombinationsumschaltung, Zurücksetzen von Leistungsschaltern, Aufgabenabbruch).
Übersetzer- und Validierungsworkflow
Der Übersetzerbereich umfasst:
- Spielplatz: Transformationsprüfungen anfordern
- Chat-Tester: vollständiger Anfrage-/Antwort-Roundtrip
- Prüfstand: mehrere Fälle in einem Durchgang
- Live Monitor: Echtzeit-Verkehrsansicht
Plus Protokollvalidierung mit echten Clients über npm run test:protocols:e2e.
📖 MCP Server README – Tool-Referenz, IDE-Konfigurationen und Client-Beispiele
📖 A2A Server README – Fähigkeiten, JSON-RPC-Methoden, Streaming und Aufgabenlebenszyklus
🧪 Bewertungen (Evals)
OmniRoute umfasst ein integriertes Bewertungsframework zum Testen der LLM-Antwortqualität anhand eines Golden Sets. Greifen Sie darauf über Analytics → Evals im Dashboard zu.
Eingebautes goldenes Set
Das vorinstallierte „OmniRoute Golden Set“ enthält Testfälle für:
- Grüße, Mathematik, Geographie, Codegenerierung
- Einhaltung des JSON-Formats, Übersetzung, Markdown-Generierung
- Sicherheitsverweigerung (schädlicher Inhalt), Zählung, boolesche Logik
Bewertungsstrategien
| Strategie | Beschreibung | Beispiel |
|---|---|---|
exact |
Die Ausgabe muss genau mit | übereinstimmen "4" |
contains |
Die Ausgabe muss eine Teilzeichenfolge enthalten (Groß-/Kleinschreibung wird nicht beachtet) | "Paris" |
regex |
Die Ausgabe muss mit dem Regex-Muster | übereinstimmen "1.*2.*3" |
custom |
Benutzerdefinierte JS-Funktion gibt true/false | zurück (output) => output.length > 10 |
📖 Einrichtungsanleitung
Protokoll-Setup (MCP + A2A)
🧩 MCP-Setup (Modellkontextprotokoll)
Starten Sie den MCP-Transport im Standardmodus:
omniroute --mcp
Empfohlener Validierungsablauf:
- Verbinden Sie Ihren MCP-Client über stdio.
- Führen Sie
omniroute_get_healthaus. - Führen Sie
omniroute_list_combosaus. - Öffnen Sie
/dashboard/mcp, um Heartbeat, Aktivität und Audit zu bestätigen.
Nützliche APIs für die Automatisierung:
GET /api/mcp/statusGET /api/mcp/toolsGET /api/mcp/auditGET /api/mcp/audit/stats
🤝 A2A-Setup (Agent2Agent)
Entdecken Sie den Agenten:
curl http://localhost:20128/.well-known/agent.json
Senden Sie eine Aufgabe:
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."}]}}'
Lebenszyklus verwalten:
GET /api/a2a/statusGET /api/a2a/tasksGET /api/a2a/tasks/:idPOST /api/a2a/tasks/:id/cancel
Operative Benutzeroberfläche:
/dashboard/a2afür Task-/Status-/Stream-Beobachtbarkeit und Smoke-Aktionen
🧪 End-to-End-Protokollvalidierung
Validieren Sie beide Protokolle mit echten Clients:
npm run test:protocols:e2e
Dies bestätigt:
- MCP SDK-Client-Verbindung/Liste/Anruf
- A2A-Erkennung/Senden/Streamen/Get/Abbrechen
- Vergleichen Sie die Daten in MCP-Audit- und A2A-Aufgabenverwaltungs-APIs
💳 Abonnementanbieter
Claude Code (Pro/Max)
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
Profi-Tipp: Verwenden Sie Opus für komplexe Aufgaben, Sonnet für Geschwindigkeit. OmniRoute verfolgt das Kontingent pro Modell!
OpenAI Codex (Plus/Pro)
Dashboard → Providers → Connect Codex
→ OAuth login (port 1455)
→ 5-hour + weekly reset
Models:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-max
Gemini CLI (KOSTENLOS 180.000/Monat!)
Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day
Models:
gc/gemini-3-flash-preview
gc/gemini-2.5-pro
Bester Wert: Riesiges kostenloses Kontingent! Verwenden Sie dies vor kostenpflichtigen Stufen.
GitHub-Copilot
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-Schlüsselanbieter
NVIDIA NIM (KOSTENLOSE 1000 Credits!)
- Registrieren Sie sich: build.nvidia.com
- Holen Sie sich einen kostenlosen API-Schlüssel (1000 Inferenz-Credits inbegriffen)
- Dashboard → Anbieter hinzufügen → NVIDIA NIM:
- API-Schlüssel:
nvapi-your-key
- API-Schlüssel:
Modelle: nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct und über 50 weitere
Profi-Tipp: OpenAI-kompatible API – funktioniert nahtlos mit der Formatübersetzung von OmniRoute!
DeepSeek
- Registrieren Sie sich: platform.deepseek.com
- Holen Sie sich den API-Schlüssel
- Dashboard → Anbieter hinzufügen → DeepSeek
Modelle: deepseek/deepseek-chat, deepseek/deepseek-coder
Groq (Kostenloses Kontingent verfügbar!)
- Registrieren Sie sich: console.groq.com
- Holen Sie sich den API-Schlüssel (kostenloses Kontingent inbegriffen)
- Dashboard → Anbieter hinzufügen → Groq
Modelle: groq/llama-3.3-70b, groq/mixtral-8x7b
Profi-Tipp: Ultraschnelle Inferenz – am besten für Echtzeit-Codierung!
OpenRouter (über 100 Modelle)
- Registrieren Sie sich: openrouter.ai
- Holen Sie sich den API-Schlüssel
- Dashboard → Anbieter hinzufügen → OpenRouter
Modelle: Greifen Sie über einen einzigen API-Schlüssel auf über 100 Modelle aller großen Anbieter zu.
💰 Günstige Anbieter (Backup)
GLM-4.7 (Täglicher Reset, 0,6 $/1 Mio.)
- Registrieren: Zhipu AI
- Holen Sie sich den API-Schlüssel vom Coding Plan
- Dashboard → API-Schlüssel hinzufügen:
- Anbieter:
glm - API-Schlüssel:
your-key
- Anbieter:
Verwendung: glm/glm-4.7
Profi-Tipp: Coding Plan bietet 3× Kontingent zu 1/7 Kosten! Täglich um 10:00 Uhr zurückgesetzt.
MiniMax M2.1 (5 Stunden Zurücksetzen, 0,20 $/1 Mio.)
- Registrieren: MiniMax
- Holen Sie sich den API-Schlüssel
- Dashboard → API-Schlüssel hinzufügen
Verwendung: minimax/MiniMax-M2.1
Profi-Tipp: Günstigste Option für langen Kontext (1 Mio. Token)!
Kimi K2 (9 $/Monat pauschal)
- Abonnieren: Moonshot AI
- Holen Sie sich den API-Schlüssel
- Dashboard → API-Schlüssel hinzufügen
Verwendung: kimi/kimi-latest
Profi-Tipp: Feste 9 $/Monat für 10 Mio. Token = 0,90 $/1 Mio. effektive Kosten!
🆓 KOSTENLOSE Anbieter (Notfall-Backup)
iFlow (8 KOSTENLOSE Modelle)```bash
Dashboard → Connect iFlow → iFlow OAuth login → Unlimited usage
Models: if/kimi-k2-thinking if/qwen3-coder-plus if/glm-4.7 if/minimax-m2 if/deepseek-r1
### Qwen (3 KOSTENLOSE Modelle)
```bash
Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage
Models:
qw/qwen3-coder-plus
qw/qwen3-coder-flash
Kiro (Claude KOSTENLOS)
Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage
Models:
kr/claude-sonnet-4.5
kr/claude-haiku-4.5
🎨 Combos erstellen
Beispiel 1: Abonnement maximieren → Günstiges 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
Beispiel 2: Nur kostenlos (kostenlos)
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
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
Verwenden Sie die Seite CLI-Tools im Dashboard für die Ein-Klick-Konfiguration oder bearbeiten Sie ~/.claude/settings.json manuell.
Codex-CLI
export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"
codex "your prompt"
OpenClaw
Option 1 – Dashboard (empfohlen):
Dashboard → CLI Tools → OpenClaw → Select Model → Apply
Option 2 – Manuell: Bearbeiten ~/.openclaw/openclaw.json:
{
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://127.0.0.1:20128/v1",
"apiKey": "sk_omniroute",
"api": "openai-completions"
}
}
}
}
Hinweis: OpenClaw funktioniert nur mit lokaler OmniRoute. Verwenden Sie
127.0.0.1anstelle vonlocalhost, um Probleme mit der IPv6-Auflösung zu vermeiden.
Cline / Weiter / RooCode
Settings → API Configuration:
Provider: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [from OmniRoute dashboard]
Model: if/kimi-k2-thinking
OpenCode
Schritt 1: OmniRoute als benutzerdefinierten Anbieter hinzufügen:
opencode
/connect
# Select "Other" → Enter ID: "omniroute" → Enter your OmniRoute API key
Schritt 2: Erstellen/bearbeiten Sie opencode.json in Ihrem Projektstamm:
{
"$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)" }
}
}
}
}
Schritt 3: Wählen Sie das Modell in OpenCode aus:
/models
# Select any OmniRoute model from the list
Tipp: Fügen Sie alle in Ihrem OmniRoute
/v1/models-Endpunkt verfügbaren Modelle zum Abschnittmodelshinzu. Verwenden Sie das Formatprovider/model-idaus Ihrem OmniRoute-Dashboard.
🐛 Fehlerbehebung
Klicken Sie hier, um den Leitfaden zur Fehlerbehebung zu erweitern
„Sprachmodell hat keine Nachrichten bereitgestellt“
- Anbieterkontingent erschöpft → Überprüfen Sie den Dashboard-Kontingent-Tracker
- Lösung: Combo-Fallback verwenden oder auf günstigere Stufe wechseln
Ratenbegrenzung
- Abonnementkontingent aufgebraucht → Fallback auf GLM/MiniMax
- Kombination hinzufügen:
cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking
OAuth-Token abgelaufen
- Automatische Aktualisierung durch OmniRoute
- Wenn die Probleme weiterhin bestehen: Dashboard → Anbieter → Verbindung wiederherstellen
Hohe Kosten
- Überprüfen Sie die Nutzungsstatistiken im Dashboard → Kosten
- Primärmodell auf GLM/MiniMax umstellen
- Nutzen Sie das kostenlose Kontingent (Gemini CLI, iFlow) für unkritische Aufgaben
Dashboard-/API-Ports sind falsch
PORTist der kanonische Basisport (und standardmäßig API-Port) –API_PORTüberschreibt nur OpenAI-kompatible API-Listener –DASHBOARD_PORTüberschreibt nur Dashboard/Next.js-Listener- Setzen Sie
NEXT_PUBLIC_BASE_URLauf Ihr Dashboard/öffentliche URL (für OAuth-Rückrufe).
Cloud-Synchronisierungsfehler
– Überprüfen Sie, ob BASE_URL auf Ihre laufende Instanz verweist
– Überprüfen Sie, ob CLOUD_URL auf Ihren erwarteten Cloud-Endpunkt verweist
– Halten Sie die NEXT_PUBLIC_*-Werte an den serverseitigen Werten ausgerichtet
Erste Anmeldung funktioniert nicht
- Überprüfen Sie
INITIAL_PASSWORDin.env– Wenn nicht festgelegt, lautet das Fallback-Passwort123456
Keine Anfrageprotokolle
- Setzen Sie
ENABLE_REQUEST_LOGS=truein.env
Verbindungstest zeigt „Ungültig“ für OpenAI-kompatible Anbieter
– Viele Anbieter stellen keinen /models-Endpunkt bereit
– OmniRoute v1.0.6+ beinhaltet eine Fallback-Validierung über Chat-Abschlüsse
– Stellen Sie sicher, dass die Basis-URL das Suffix /v1 enthält
🔐 OAuth auf Server Remoto
⚠️ WICHTIG für den Einsatz von OmniRoute auf VPS/Docker/Remote-Servern
OAuth
Als OAuth-Anmeldeinformationen wurde OmniRoute nicht in die Liste eingetragen. Zugelassen für localhost. Wenn Sie OmniRoute auf einem Remote-Server (z. B.
Error 400: redirect_uri_mismatch
Lösung: Konfigurieren Sie Ihre eigenen OAuth-Anmeldeinformationen
Sie schreiben bitte eine OAuth 2.0-Client-ID in der Google Cloud Console mit einem URI für Ihren Server.
Passo a Passo
1. Zugriff auf die Google Cloud Console
Abra: https://console.cloud.google.com/apis/credentials
2. Rufen Sie eine neue OAuth 2.0-Client-ID auf
- Klicken Sie auf "+ Anmeldeinformationen erstellen" → "OAuth-Client-ID"
- Anwendungstyp: „Webanwendung“
- Name: Escolha qualquer nome (z. B.
OmniRoute Remote)
3. Adicione als autorisierte Weiterleitungs-URIs
Nein, "Autorisierte Weiterleitungs-URIs", Zusatz:
https://seu-servidor.com/callback
Ersetzen Sie
seu-servidor.comdurch die Domain oder die IP Ihres Servers (einschließlich eines Ports, der unbedingt erforderlich ist, z. B.:http://45.33.32.156:20128/callback).
4. Als Anmeldedaten speichern und kopieren
Anschließend hat Google die Client-ID und das Client-Geheimnis angezeigt.
5. Als Umgebungsvariationen konfigurieren
Kein .env (oder mehrere Docker-Umgebungsvarianten):
# 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. Neuzugang zu OmniRoute
# Se usando npm:
npm run dev
# Se usando Docker:
docker restart omniroute
7. Tente conectar novamente
Dashboard → Anbieter → Antigravity (oder Gemini CLI) → OAuth
Jetzt hat Google die Nachricht an https://seu-servidor.com/callback weitergeleitet und eine Authentifizierungsfunktion durchgeführt.
Workaround vorübergehend (nicht vorab konfiguriert)
Wenn Sie vorab keine Berechtigung erhalten möchten, besteht die Möglichkeit, das URL-Handbuch zu verwenden:
- OmniRoute ruft eine von Google autorisierte URL auf
- Nachdem Sie den Autor autorisiert haben, sendet Google eine Weiterleitung an
localhost(diese wird jedoch nicht vom Server weitergeleitet). - Kopieren Sie eine vollständige URL, um sie in Ihren Browser zu laden (bitte beachten Sie, dass die Seite noch nicht abgeschlossen ist).
- Geben Sie die URL ein, die nicht zur Verbindung mit OmniRoute verwendet werden soll
- Klicken Sie auf „Verbinden“
Diese Problemumgehung funktioniert aufgrund des Autorisierungscodes auf der URL und ist unabhängig von der Weiterleitung oder Nicht-Weiterleitung gültig.
🛠️
Klicken Sie hier, um die Tech-Stack-Details zu erweitern
- Laufzeit: Node.js 18–22 LTS (⚠️ Node.js 24+ wird nicht unterstützt – native Binärdateien von
better-sqlite3sind inkompatibel) - Sprache: TypeScript 5.9 – 100 % TypeScript für
src/undopen-sse/(nullanyin Kernmodulen seit Version 2.0) - Framework: Next.js 16 + React 19 + Tailwind CSS 4
- Datenbank: LowDB (JSON) + SQLite (Domänenstatus + Proxy-Protokolle + MCP-Prüfung + Routing-Entscheidungen)
- Schemas: Zod (MCP-Tool-I/O-Validierung, API-Verträge)
- Protokolle: MCP (stdio/HTTP) + A2A v0.3 (JSON-RPC 2.0 + SSE)
- Streaming: Vom Server gesendete Ereignisse (SSE)
- Auth: OAuth 2.0 (PKCE) + JWT + API-Schlüssel + MCP-bezogene Autorisierung
- Testen: Node.js-Testläufer + Vitest (über 900 Tests einschließlich Einheit, Integration, E2E)- CI/CD: GitHub-Aktionen (automatische NPM-Veröffentlichung + Docker Hub bei Veröffentlichung)
- Website: omniroute.online
- Paket: npmjs.com/package/omniroute
- Docker: hub.docker.com/r/diegosouzapw/omniroute
- Resilienz: Leistungsschalter, exponentielles Backoff, Anti-Donner-Herde, TLS-Spoofing, automatische Kombinations-Selbstheilung
📖 Dokumentation
| Dokument | Beschreibung |
|---|---|
| Benutzerhandbuch | Anbieter, Kombinationen, CLI-Integration, Bereitstellung |
| API-Referenz | Alle Endpunkte mit Beispielen |
| MCP-Server | 16 MCP-Tools, IDE-Konfigurationen, Python/TS/Go-Clients |
| A2A-Server | JSON-RPC 2.0-Protokoll, Fähigkeiten, Streaming, Aufgabenverwaltung |
| Auto-Combo-Engine | 6-Faktor-Bewertung, Moduspakete, Selbstheilung |
| Fehlerbehebung | Häufige Probleme und Lösungen |
| Architektur | Systemarchitektur und Interna |
| Beitrag | Entwicklungsaufbau und Richtlinien |
| OpenAPI-Spezifikation | OpenAPI 3.0-Spezifikation |
| Sicherheitsrichtlinie | Schwachstellenmeldung und Sicherheitspraktiken |
| VM-Bereitstellung | Vollständige Anleitung: VM + Nginx + Cloudflare-Setup |
| Features-Galerie | Visuelle Dashboard-Tour mit Screenshots |
| Release-Checkliste | Validierungsschritte vor der Veröffentlichung |
🗺️
Für OmniRoute sind 210+ Funktionen in mehreren Entwicklungsphasen geplant. Hier sind die Schlüsselbereiche:
| Kategorie | Geplante Funktionen | Höhepunkte |
|---|---|---|
| 🧠 Routing & Intelligenz | 25+ | Routing mit der niedrigsten Latenz, Tag-basiertes Routing, Quoten-Preflight, P2C-Kontoauswahl |
| 🔒 Sicherheit & Compliance | 20+ | SSRF-Härtung, Credential-Cloaking, Ratenbegrenzung pro Endpunkt, Verwaltungsschlüssel-Scoping |
| 📊 Beobachtbarkeit | 15+ | OpenTelemetry-Integration, Echtzeit-Kontingentüberwachung, Kostenverfolgung pro Modell |
| 🔄 Anbieterintegrationen | 20+ | Dynamische Modellregistrierung, Anbieter-Abklingzeiten, Multi-Account-Codex, Copilot-Kontingentanalyse |
| ⚡ Leistung | 15+ | Duale Cache-Schicht, Prompt-Cache, Antwort-Cache, Streaming-Keepalive, Batch-API |
| 🌐 Ökosystem | 10+ | WebSocket-API, Hot-Reload der Konfiguration, verteilter Konfigurationsspeicher, kommerzieller Modus |
🔜 Bald erhältlich- 🔗 OpenCode-Integration – Native Anbieterunterstützung für die OpenCode AI-Codierungs-IDE
- 🔗 TRAE-Integration – Volle Unterstützung für das TRAE AI-Entwicklungsframework
- 📦 Batch-API – Asynchrone Stapelverarbeitung für Massenanfragen
- 🎯 Tag-basiertes Routing – Leiten Sie Anfragen basierend auf benutzerdefinierten Tags und Metadaten weiter
- 💰 Niedrigste Kostenstrategie – Wählen Sie automatisch den günstigsten verfügbaren Anbieter aus
📝 Vollständige Funktionsspezifikationen verfügbar in
docs/new-features/(217 detaillierte Spezifikationen)
👥 Mitwirkende
So leisten Sie einen Beitrag
- Forken Sie das Repository
- Erstellen Sie Ihren Feature-Zweig (
git checkout -b feature/amazing-feature) - Übernehmen Sie Ihre Änderungen (
git commit -m 'Add amazing feature') - Push zum Zweig (
git push origin feature/amazing-feature) - Öffnen Sie eine Pull-Anfrage
Detaillierte Richtlinien finden Sie unter CONTRIBUTING.md.
Veröffentlichung einer neuen Version
# Create a release — npm publish happens automatically
gh release create v2.0.0 --title "v2.0.0" --generate-notes
📊 Sterngeschichte
Stargazers over time
🙏 Danksagungen
Besonderer Dank geht an 9router von decolua – das ursprüngliche Projekt, das diesen Fork inspiriert hat. OmniRoute baut auf dieser unglaublichen Grundlage mit zusätzlichen Funktionen, multimodalen APIs und einer vollständigen Neufassung von TypeScript auf.
Besonderer Dank geht an CLIProxyAPI – die ursprüngliche Go-Implementierung, die diese JavaScript-Portierung inspiriert hat.
📄 Lizenz
MIT-Lizenz – Einzelheiten finden Sie unter LIZENZ.