> Kostenlose Kontingente manuell zu kombinieren ist mühsam — Dutzende SDKs, Dutzende Ratenbegrenzungen und keine Ahnung, wie viel tatsächlich verfügbar ist. OmniRoute katalogisiert **489 Einträge mit kostenlosen Kontingenten über 35 wiederkehrende Pool-Schlüssel hinweg** und berechnet die angegebene Token-Gesamtmenge aus den **17 Pools mit einem veröffentlichten positiven monatlichen Budget sowie fünf modellspezifischen Groq-Obergrenzen**, wobei gemeinsam genutzte Pools dedupliziert werden. Kontingente, die erst nach einer regionalen Identitätsprüfung verfügbar werden (derzeit: ModelScope), werden separat ausgewiesen — +~6 Mio. hinter einer regionalen Identitätsprüfung — und niemals in die Gesamtangabe einbezogen. Das Ergebnis bleibt im Dashboard (`/dashboard/free-tiers`) sichtbar.
> Animierte Zusammenfassung der Live-Seite `/dashboard/free-tiers`. Vollständige Methodik (Pool-Deduplizierung, Guthabenstufen, Nutzungsbedingungen der Anbieter): **[docs/reference/FREE_TIERS.md](docs/reference/FREE_TIERS.md)**.
>
> Diese Zahlen werden alle zwei Wochen anhand des Live-Katalogs erneut geprüft und **können in beide Richtungen schwanken** — beendet ein Anbieter sein kostenloses Kontingent, sinkt die Zahl; kommt ein neues hinzu, steigt sie. Wir veröffentlichen, was der Katalog tatsächlich berechnet, niemals einen aufgerundeten Bestfall.
⭐ Gib dem Repository einen Stern, wenn OMNIROUTE dir geholfen hat, Geld zu sparen und deine Arbeit zu erleichtern.
[](https://github.com/diegosouzapw/OmniRoute)
[](https://www.star-history.com/diegosouzapw/omniroute)
[](https://olud.ai/project/diegosouzapw-omniroute.html)
### 💬 Tritt der Community bei
**👋 Folge dem Maintainer — erfahre als Erstes von neuen Anbietern, Releases und Tipps:**
[](https://www.linkedin.com/in/diegosouzapw/)
[](https://github.com/diegosouzapw)
[](https://discord.gg/U47eFqAXCn)
[](https://t.me/omnirouteOficial)
[](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4)
[](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4)
[](https://omniroute.online)
**Fragen, Anbietertipps, Roadmap und Support → [Discord](https://discord.gg/U47eFqAXCn) · [Telegram](https://t.me/omnirouteOficial) · WhatsApp [🌍 Global](https://chat.whatsapp.com/FvuCbrpZmQ6I85n2vW5QIC?s=cl&p=a&mlu=4) / [🇧🇷 Brasilien](https://chat.whatsapp.com/KWgatljAjmbELQory59Oti?s=cl&p=a&mlu=4) / [Portal](https://portal.sthub.com.br/communities/groups/st-hub/channels/Omniroute-World-8kRjmK)**
## 📈 Das Gateway wächst weiter
## 🆓 Funktioniert sofort nach der Installation – keine Schlüssel, keine Konfiguration
```bash
# Neuinstallation, keine Anmeldeinformationen – `auto` funktioniert bereits:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
```
Bevorzugen Sie ein bestimmtes kostenloses Backend? Rufen Sie `oc/…` (OpenCode Free) direkt auf. Wechseln Sie dann zu `auto` und lassen Sie OmniRoute wählen.📦 Copy-Paste-Schnellstart-Skripte für **Python, Node.js, PHP und cURL** → [`examples/quickstart/`](examples/quickstart/)
# 💥 Das Versprechen
# 🤔 Warum OmniRoute?
## 🤝 Unterstützt von unseren Open-Source-Freunden
> **Möchten Sie sich als Open-Source-Freund anschließen?** Dies sind die Unternehmen, die Open Source unterstützen und dabei helfen, OmniRoute voranzubringen — und wir legen öffentlich offen, wofür jedes Token eingesetzt wird, das sie uns zur Verfügung stellen. Kontaktieren Sie uns: [diegosouza.pw@outlook.com](mailto:diegosouza.pw@outlook.com)
Kimi Moonshot AI
Vielen Dank an Kimi (Moonshot AI), unseren ersten Open-Source-Freund, für die Unterstützung dieses Projekts! Kimi ist das KI-Labor hinter den Open-Weight-Modellfamilien K2 und K3 — Kimi K3 bietet ein Kontextfenster mit 1 Mio. Token, native Bildverarbeitung und Programmierfähigkeiten auf Spitzenniveau zu einem Bruchteil der Preise geschlossener Modelle und funktioniert sofort mit Claude Code, Codex und jedem von OmniRoute unterstützten Programmierwerkzeug.
Was durch Kimis Unterstützung ermöglicht wird: Kimis API-Guthaben finanzieren die KI-validierte Release-Pipeline von OmniRoute — die Phase Merge-Validierung, unterstützt von Kimi K3, die jeden Pull Request vor der Veröffentlichung prüft — sowie die tägliche Funktionsentwicklung. Erstklassige Kimi-Unterstützung ist auf beiden Wegen verfügbar: über die direkte Kimi API (kimi-k3) und den Kimi Code-Programmiertarif (OAuth und API-Schlüssel). OmniRoute ist außerdem das erste brasilianische Open-Source-Projekt im Unterstützungsprogramm von Kimi. Erhalten Sie einen Kimi-API-Schlüssel mit 15 % zusätzlichem Guthaben →
Cheaper Inference cheaperinference.com
Vielen Dank an Cheaper Inference, einen Open-Source-Freund von OmniRoute, für die Unterstützung dieses Projekts! Cheaper Inference ist ein nach Kosten sortiertes Gateway, das 42 Spitzenmodelle — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok und MiniMax — über einen einzigen OpenAI-kompatiblen Endpunkt weiterverkauft und jede Anfrage an den günstigsten geeigneten Anbieter weiterleitet, ohne jemals mehr als den Listenpreis des Modellherstellers zu berechnen.
Erstklassige Unterstützung in OmniRoute: Chat Completions, der native Endpunkt /v1/responses, Bildverarbeitung, Tool-Aufrufe und 3 Bildmodelle (grok-imagine, nano-banana-pro, nano-banana-2, erreichbar als cheaperinference/<model>). API-Schlüssel erhalten →
Mit aff=omniroute gekennzeichnete Links sind Partnerlinks. Sie finanzieren das Projekt, ohne dass Ihnen zusätzliche Kosten entstehen. 🎟️ Affiliate-Aktion — kostenlose Registrierungsgutscheine von Anbietern, die uns nicht sponsern (zum Aufklappen anklicken)Dieser Abschnitt ist ausschließlich für Empfehlungs-/Gutscheincodes vorgesehen. Gesponserte Partnerschaften finden Sie oben unter 🤝 Unterstützt von unseren Open-Source-Freunden. OmniRoute unterhält keine Sponsoringbeziehung oder Partnerschaft mit den hier aufgeführten Anbietern — dies sind öffentliche Gutscheine, die jeder nutzen kann.
AgentRouter agentrouter.org
AgentRouter — Affiliate-Registrierung · $100 kostenloses Guthaben bei der Registrierung (kostenloser Server, rechnen Sie mit höherer Latenz — am besten für Tests, nicht für die Produktion). Erstklassige Unterstützung in OmniRoute seit v3.8.50: Chat Completions, das Anthropic-kompatible Übertragungsformat und der OpenAI-kompatible Pfad. Zu den verfügbaren Modellen gehören claude-opus-4-8, claude-opus-5, gpt-5.6-sol und weitere. $100 sichern →
⚠️ Affiliate-Link — OmniRoute unterhält keine Sponsoringbeziehung oder Partnerschaft mit diesem Anbieter.
Kennen Sie einen weiteren Anbieter mit einem großzügigen kostenlosen Registrierungsgutschein, von dem OmniRoute-Nutzer profitieren? Eröffnen Sie ein Issue, und wir fügen ihn hier hinzu.
## 🎯 Combos — Das Flaggschiff
> Ein **Combo** ist eine Kette von Modellen, zwischen denen OmniRoute **automatisch** routet. Wenn das Kontingent erschöpft ist, ein Anbieter ausfällt oder die Kosten sprunghaft steigen, kann das Combo zum nächsten geeigneten und funktionsfähigen Modell wechseln. 🛡️
### ⚡ Keine Konfiguration — einfach `auto` verwenden
Es muss kein Combo erstellt werden. Setze dein Modell auf `auto` (oder eine Variante), und OmniRoute erstellt aus deinen verbundenen Anbietern ein virtuelles Combo, das in Echtzeit bewertet wird:
Modell-ID
Wofür es optimiert ist
auto
🎯 Ausgewogener Standard (LKGP — bleibt bei deinem letzten funktionierenden Anbieter)
auto/coding
🧑💻 Qualitätsorientierte Gewichtung für die Codegenerierung
auto/fast
⚡ Niedrigste Latenz zuerst
auto/cheap
💰 Niedrigste Kosten pro Token zuerst
auto/offline
🔋 Größter Spielraum bei Kontingenten und Ratenbegrenzungen zuerst
auto/smart
🔭 Qualität zuerst + 10 % Exploration, um bessere Modelle zu entdecken
auto/lkgp
📌 Explizite Bindung an den letzten bekanntermaßen funktionierenden Anbieter
auto/chaos
🧪 Gewichtung für Fehlerinjektion zur Resilienzprüfung (Chaos Engineering)
##
### 🔀 Oder erstelle dein eigenes — 19 Routing-Strategien
Alle **19** Strategien — pro Combo-Schritt frei kombinierbar:
#
Strategie
Funktionsweise
1
priority
Geordnete Liste mit bevorzugtem Ziel — jedes Ziel wird vor dem nächsten vollständig ausgeschöpft 🥇
2
fill-first
Das Kontingent jedes Ziels vollständig ausschöpfen, bevor zum nächsten gewechselt wird
3
weighted
Gewichtete Zufallsauswahl anhand der Gewichtung pro Ziel
4
round-robin
Ziele der Reihe nach durchlaufen
5
p2c
Zufälliger Lastenausgleich nach dem „Power of Two Choices“-Prinzip
6
least-used
Das Ziel mit der aktuell geringsten Auslastung auswählen
7
random
Gleichverteilte Zufallsauswahl (ohne Duplikate)
8
strict-random
Zufallsauswahl, ohne Wiederholungen zu entfernen 🎲
9
cost-optimized
Kosten pro Anfrage anhand aktueller Katalogpreise minimieren 💸
10
headroom
Das Ziel mit dem größten verbleibenden Kontingent auswählen
11
reset-window
Das Ziel bevorzugen, dessen Kontingentfenster am frühesten zurückgesetzt wird
12
reset-aware
Nach dem Zeitpunkt der Kontingent-Rücksetzung priorisieren — kurze Zeitfenster zuerst 📊
13
context-relay
Kontext bei langen Unterhaltungen zwischen Zielen übergeben 🧠
14
context-optimized
Das am besten zur aktuellen Kontextgröße passende Ziel auswählen
Last-Known-Good Path — bindet Anfragen an den letzten erfolgreichen Anbieter und greift anschließend auf Regeln zurück
17
auto
Echtzeitbewertung aller Verbindungen anhand von 16 Faktoren 🤖
18
fusion
Anfragen parallel an ein Modellgremium senden; ein Bewertungsmodell fasst die Ergebnisse zu einer Antwort zusammen 🧬
19
pipeline
Schritte verketten — die Ausgabe jedes Ziels dient als Eingabe für das nächste 🔗
Die Auto-Combo-Engine bewertet jeden Kandidaten anhand von **16 Faktoren** (Zustand, Kontingent, Kosten, Latenz, Aufgabeneignung, Qualität, Sitzungsverfügbarkeit …) — siehe [`docs/routing/AUTO-COMBO.md`](docs/routing/AUTO-COMBO.md).
##
### 🧱 Resilienz ist integriert (3 unabhängige Ebenen)
📖 [Auto-Combo-Engine](docs/routing/AUTO-COMBO.md) · [Ausfallsicherheitsleitfaden](docs/architecture/RESILIENCE_GUIDE.md)
## 🏆 Was OmniRoute auszeichnet
📊 Vollständige Methodik & Details pro Funktion im Vergleich zu 9router, OpenRouter, CLIProxyAPI & LiteLLM → [`docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md`](docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md)
## 💚 OmniRoute unterstützen
OmniRoute ist MIT-lizenziert und wird offen weiterentwickelt. Wenn es Ihnen Zeit oder Geld spart, können Sie so dazu beitragen, dass es unabhängig bleibt — wählen Sie einfach, was zu Ihnen passt. Sponsoring beeinflusst niemals die Routing-Priorität; es verschafft Sichtbarkeit, keine bessere Platzierung.
⚠️ Senden Sie jede Kryptowährung ausschließlich über das angegebene Netzwerk — beim Senden über das falsche Netzwerk können die Mittel verloren gehen.
🐛 Einen Fehler gefunden oder Feedback? Eröffnen Sie eine [Diskussion](https://github.com/diegosouzapw/OmniRoute/discussions).
Hinweise für Entwickler: Das Projekt kann während npm install/postinstall der Einfachheit halber eine lokale .env-Datei für Entwickler erstellen. Diese Datei wird absichtlich über .gitignore ignoriert (siehe .gitignore) und darf niemals committet werden — falls sie versehentlich committet wurde, ändern Sie alle offengelegten Geheimnisse und entfernen Sie die Datei aus dem Verlauf. Hinweise zur Verwaltung lokaler Umgebungsdateien und Geheimnisse finden Sie unter docs/DEVELOPER-ENVIRONMENT.md.
## 📡 OmniRoute Radar
Die wichtigste Kennzahl für das kostenlose Kontingent bleibt bei **~1,62 Mrd. Tokens/Monat** aus dem oben dokumentierten,
poolbereinigten Katalog. Vorübergehende Startguthaben von Anbietern können den Umfang im ersten
Monat separat auf **~2,22 Mrd.** erhöhen. Radar ist eine optionale, signierte Katalog-Überlagerung für alle, die zwischen OmniRoute-Releases aktuellere
Informationen zur Verfügbarkeit kostenloser Modelle wünschen; der Community-Katalog und alle bestehenden kostenlosen
Funktionen bleiben kostenlos.
Unterstützer können Zugriff auf den Live-Katalog und zusätzliche Anbieterangebote erhalten. Dessen separate,
veränderliche Obergrenze liegt – abhängig von der Verfügbarkeit der Anbieter – bei **höchstens etwa 3 Mrd. Tokens/Monat**.
Diese Obergrenze ist nicht garantiert: Anbieter können Kontingente, Teilnahmevoraussetzungen, Modelle oder Regionen
jederzeit ändern.
Radar ist optional und ausschließlich für GET-Anfragen vorgesehen. Der OmniRoute-Client lädt weder Prompts noch Datenverkehr, Anbieter-
konfigurationen, Nutzungstelemetrie oder den lokalen Status verworfener Mitteilungen hoch. Informationen zu den Teilnahmevoraussetzungen und
zum aktuellen Katalog finden Sie unter **[radar.omniroute.online/planos](https://radar.omniroute.online/planos)**.
## ✨ Was ist neu?
> Aktuelle Highlights von **v3.8.20 → v3.8.50**. Den vollständigen Verlauf finden Sie in [`CHANGELOG.md`](CHANGELOG.md).
- **🎛️ OmniConductor** — eingehende A2A-Delegierung an Ihre Agentenflotte, Conductor-Skills auf der Agent Card und ein Dashboard-Panel mit Faro-Push-to-Talk-Sprachchat. → [A2A-Server](docs/frameworks/A2A-SERVER.md)
- **🛂 Adaptive Zulassung & Überlastungsschutz** — ressourcenintensive Chatanfragen werden in eine Warteschlange gestellt, statt einen 503-Fehler auszulösen, mit atomaren gleitenden RPM-Leases pro Verbindung. → [Resilienzleitfaden](docs/architecture/RESILIENCE_GUIDE.md)
- **🗂️ Kanonische `/v1/models`-Reihenfolge** — ein zusammenhängender, nach Provider gruppierter Block pro Provider (Combos zuerst fixiert), stabil über alle Katalogquellen hinweg. → [API-Referenz](docs/reference/API_REFERENCE.md)
- **🗜️ Gehärtete Komprimierung** — standardmäßig aktivierter Inflationsschutz, Caveman-Pakete für DE / FR / JA + Chinesisch (wényán), RTK-Filter für Gradle & .NET. → [Komprimierung](docs/compression/COMPRESSION_ENGINES.md)
- **💸 Ehrliche Pauschalkosten** — Abonnement-/Coding-Plan-Provider werden in der Kostenanalyse mit **$0** ausgewiesen; Budget, Kontingent & Routing nehmen weiterhin Schätzungen vor. → [API-Referenz](docs/reference/API_REFERENCE.md)
- **⚖️ Quota-Share-Routing** — teilt das Kontingent eines gemeinsamen Kontos fair auf gebündelte Schlüssel auf und bleibt dabei auslastungserhaltend, sodass ungenutzte Anteile verliehen werden. → [Resilienzleitfaden](docs/architecture/RESILIENCE_GUIDE.md)
- **🤖 CLI-/Agenten-Einrichtung mit einem Befehl** — 13 registrierte `setup-*`-Befehle; `omniroute run` startet 7 CLIs (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI); `omniroute configure` unterstützt 10 Ziele mit einer interaktiven Provider- und Modellauswahl sowie kontextspezifischen Favoriten. → [CLI-Integrationen](docs/guides/CLI-INTEGRATIONS.md)
- **🛰️ Remote-Modus** — steuern Sie eine entfernte OmniRoute-Instanz mit bereichsgebundenen Tokens (`connect` / `contexts` / `tokens`) sowie einem `antigravity`-OAuth-Helfer für VPS-Installationen. → [Remote-Modus](docs/guides/REMOTE-MODE.md)
- **🧭 Intelligenteres automatisches Routing** — `auto/:`-Combos, **Fusion** (Modellpanel + Bewerter), aufgabenbezogenes Routing sowie anfragespezifische Überschreibungen für Modell / Modus / USD-Budget. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **🗜️ Erweiterbare Komprimierung** — 12 kombinierbare Engines + Compression Studios: LLMLingua-2, zweistufiges Ultra, omniglyph, Fidelity-Gate pro Schritt, GCF v3.2, Editor mit Drag-and-drop-Neuanordnung. → [Komprimierung](docs/compression/COMPRESSION_ENGINES.md)
- **🕵️ Transparente MITM-Entschlüsselung (TPROXY)** — erfasst CLIs, die Proxy-Umgebungsvariablen ignorieren, mit einer CA pro SNI und einem Trust-Store-Installationsprogramm. → [MITM/TPROXY](docs/security/MITM-TPROXY-DECRYPT.md)
- **💸 Kosten-Telemetrie überall** — `X-OmniRoute-*`-Header für Kosten/Nutzung an jedem Endpunkt, Header für Cache-HIT-Einsparungen, USD-Ausgabenkontingente pro Schlüssel. → [API-Referenz](docs/reference/API_REFERENCE.md)
- **🧠 Speicher unter Ihrer Kontrolle** — standardmäßig deaktiviert, optionale int8-Vektorquantisierung + typisierter Verfall, anfragespezifisches `x-omniroute-no-memory`. → [Speicher](docs/frameworks/MEMORY.md)
- **🛡️ Sicherheit** — Schutz vor Prompt-Injection auf jeder LLM-Route (Red-Team-Suite), optionale Schutzvorkehrung zur Maskierung von Zugangsdaten (schwärzt offengelegte API-Schlüssel/Geheimnisse in beide Richtungen), kostenlose DuckDuckGo-Websuche als letzte Rückfallebene und eine optionale OIDC-Anmeldeschranke für das Dashboard (die Passwortanmeldung bleibt stets verfügbar). → [Schutzvorkehrungen](docs/security/GUARDRAILS.md)
- **🖼️ Neue Endpunkte** — `/v1/ocr` (Mistral OCR) und `/v1/audio/translations` (im Whisper-Stil) vervollständigen die Medienfunktionen. → [API-Referenz](docs/reference/API_REFERENCE.md)
- **🎨 Bild-/Video-/Audiogenerierung** — eine API für Medien: xAI Grok Imagine & Novita AI Video, ComfyUI, Magnific, Adobe Firefly, Segmind sowie Sprachanbieter wie ElevenLabs. → [API-Referenz](docs/reference/API_REFERENCE.md)
- **🌍 Bereitstellung & Betrieb** — Reverse-Proxy-`basePath`, automatische Erkennung der Browsersprache, Geräteverfolgung pro Schlüssel, MITM-Vertrauen ohne Root-Rechte, zh-TW-Lokalisierung. → [Umgebung](docs/reference/ENVIRONMENT.md)
- **🤝 Mehr Provider & Agenten** — Cloud-Agenten (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) mit Browser- + OAuth-Anmeldung, vollwertige Ollama-Karte, Claude Opus 5 & Sonnet 5, offizielle Kimi-Partnerschaft (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI … und ein aktualisierter **Katalog mit 352 Providern**. → [Provider](docs/reference/PROVIDER_REFERENCE.md)
- **📡 Routing-Transparenz** — jede Antwort enthält einen `X-OmniRoute-Decision`-Header, der die verwendete Strategie, den Provider und die Latenz angibt; eine neue `cache-optimized`-Combo-Strategie + der Auto-Combo-Faktor `cacheAffinity` leiten wiederholte Anfragen zurück an die Verbindung, die das zwischengespeicherte Präfix hält; und ein schreibgeschützter Endpunkt `/v1/auto-combo/{channel}/candidates` stellt den aktuellen Kandidatenpool eines `auto/*`-Kanals bereit. → [Auto-Combo](docs/routing/AUTO-COMBO.md)
- **⚡ Lokale Leistung & Infrastruktur** — lokales Redis mit einem Klick, Relay-Deployments für Cloudflare Workers / Deno Deploy, Bifrost & Mux als überwachte eingebettete Dienste. → [Eingebettete Dienste](docs/frameworks/EMBEDDED-SERVICES.md)
- **🧩 Ebenfalls enthalten** — Plugin-Framework + Marktplatz, Omni-/Agent-/GitHub-Skills-Frameworks, Obsidian-Vault-Integration (22 MCP-Tools), OpenAI-kompatible Batch- & Files-APIs, semantischer Antwort-Cache, Gamification mit Bestenlisten, ACP-Agentenerkennung (15 integrierte Agenten), planmäßiger Log-Export nach BigQuery, `auto/chaos`-Fehlerinjektion, eine Telegram-Bot-Bridge, ein integrierter Versionsmanager und LMArena-ELO-Ranglisten kostenloser Provider. → [Dokumentation](docs/README.md)
## 🤖 Kompatible CLIs & Coding-Agenten
> Eine Konfiguration — `http://localhost:20128/v1` — und **jede** KI-IDE oder CLI läuft mit kostenlosen und kostengünstigen Modellen.
**Starten Sie jede unterstützte CLI mit nur einem Befehl über OmniRoute** — ohne dass Konfigurationsdateien geschrieben werden,
Anmeldedaten werden pro Prozess injiziert, und Qwen/Gemini erhalten ein temporäres, isoliertes Home-Verzeichnis:
```bash
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Oder wählen Sie Anbieter und Modell interaktiv aus und schreiben Sie die eigene Konfiguration des Tools:
omniroute configure codex # ebenfalls: claude opencode qwen aider goose gemini cline continue kilo
```
Jeder Befehl berücksichtigt den aktiven Remote-Kontext (`omniroute connect `), `--dry-run`
zeigt die exakten Umgebungsvariablen/Argumente als Vorschau an, ohne sie auszuführen, und `--api-key-env NAME` hält Geheimnisse
aus Ihrem Shell-Verlauf heraus. → [CLI-Integrationen](docs/guides/CLI-INTEGRATIONS.md)
## 🌐 357 KI-Anbieter — 152 im Katalog als kostenlos gekennzeichnet
> **357 registrierte Anbieter** in den kanonischen Sammlungen für Chat, Medien, Suche, lokale Dienste, Cloud-Agenten und Systeme, darunter **152 mit den Discovery-Metadaten `hasFree: true`**. Das Chat-Modellregister umfasst **229 Anbieter / 2.554 eindeutige Anbieter-Modell-Paare / 1.283 ursprüngliche Modell-IDs**; der separate Katalog für kostenlose Kontingente enthält **491 modellspezifische Einträge**, **35 wiederkehrende Pools** und **54 wiederkehrende/schlüssellose, dauerhaft kostenlose Anbieter**. Diese Nenner unterscheiden sich bewusst; Definitionen und poolbereinigte Berechnungen finden Sie in der [Anbieterreferenz](docs/reference/PROVIDER_REFERENCE.md) und unter [Kostenlose Kontingente](docs/reference/FREE_TIERS.md).
### 🏢 Jedes große Forschungslabor — über einen einzigen Endpunkt
OpenAI
Anthropic
Gemini
xAI Grok
DeepSeek
Mistral
Qwen
Meta Llama
Groq
NVIDIA
MiniMax
Cohere
Perplexity
HuggingFace
Together
Fireworks
Cloudflare
Baidu
…und mehr als 330 weitere — jedes Symbol wird live aus dem Anbieterkatalog des Dashboards geladen. 📖 [Anbieterreferenz](docs/reference/PROVIDER_REFERENCE.md)
### 🆓 Dauerhaft kostenlos — 0 $, keine Karte erforderlich
OpenCode Zen DeepSeek V4, Nemotron 3 Keine Token-Begrenzung
Kilo Code Auto-Router, Tencent Hy3 Für immer kostenlos
Requesty GPT-OSS 120B, Nemotron Für immer kostenlos
### 🧩 Neu: OmniRoute im nativen Copilot Chat von VS Code
> Keine neue Seitenleiste, keine neue Chat-Oberfläche — jedes von OmniRoute bereitgestellte Modell erscheint direkt in der
> **bereits verwendeten Modellauswahl von Copilot Chat**. Seit VS Code 1.122 funktionieren Anbietermodelle
> ohne GitHub-Anmeldung oder Copilot-Abonnement — Agentenmodus, Tool-Aufrufe und Bildverarbeitung,
> kostenlos.
Installiere die Erweiterung **[OmniCopilot](https://github.com/diegosouzapw/OmniCopilot)**, verbinde sie
mit deinem OmniRoute-Server (standardmäßig `localhost:20128`) und öffne dann Copilot Chat → Modellauswahl
→ **Modelle verwalten…** → **OmniRoute**.
Im Editor: Öffne die Ansicht **Erweiterungen**, suche nach **„OmniRoute“** und klicke auf **Installieren**
— funktioniert in beiden Stores auf dieselbe Weise. Quellcode, Issues und das Runbook für die Veröffentlichung findest du unter
[diegosouzapw/OmniCopilot](https://github.com/diegosouzapw/OmniCopilot).
📖 [Anleitung für VS Code Copilot Chat](docs/guides/VSCODE-COPILOT.md) — Einrichtung, Anzeige in der Modellauswahl, Dashboard in einem Tab, Fehlerbehebung
### 🎩 Neu: OmniRouteTray — dein Gateway in der Menüleiste
> `omniroute serve` funktioniert am besten, wenn es immer läuft. **[OmniRouteTray](https://github.com/zoispag/omniroute-tray)**
> macht daraus eine einmalig einzurichtende Menüleisten-App für macOS: Sie startet den Server, hält ihn
> auch nach Neustarts am Laufen, aktualisiert ihn direkt und macht dein aktuelles Token-Budget mit einem Klick verfügbar — **kein
> offenes Terminalfenster und keine globale Installation mit `npm install -g omniroute`, um die du dich kümmern musst.**
Die App basiert auf [Tauri v2](https://v2.tauri.app/) (mit einem winzigen Rust-Kern) und bringt
eine eigene signierte Node-24-Laufzeitumgebung mit. Sie verwaltet eine app-eigene OmniRoute-Installation und gerät daher nie mit deinem
globalen `node`/`bun` in Konflikt. Sie **verwendet deine vorhandene Konfiguration und Datenbank unter `~/.omniroute/`** — es ist also
dasselbe OmniRoute, das du bereits ausführst, nur mit Hut. 🎩
Funktion
Funktionsweise
🟢 Überwacht den Server
Startet omniroute serve und übernimmt eine bereits laufende Instanz, statt sie zu duplizieren
📊 Live-Nutzung auf einen Blick
Kontingentanzeigen der Anbieter, Sitzungs- und Wochenlimits von Claude mit Countdown bis zur Zurücksetzung sowie Kostenaufschlüsselung für 30 Tage
🔄 Automatische direkte Updates
Mehrstufige Installation, atomarer Austausch und Rollback bei Fehlern — immer auf dem neuesten Release
🚀 Beim Anmelden starten
Optionaler Start bei der Anmeldung; nur in der Menüleiste, ohne Dock-Symbol
🩺 Diagnose & Protokolle
Diagnose mit einem Klick und Zugriff auf die Serverprotokolle
```sh
brew install --cask zoispag/tap/omniroute-tray
```
Bevorzugen Sie einen Download? Laden Sie die neueste .dmg-Datei unter
Releases herunter. Quellcode, Issues und Build-Dokumentation
finden Sie unter zoispag/omniroute-tray.
💛 Ein Community-Projekt von @zoispag — keine offizielle OmniRoute-Veröffentlichung.
> Neben dem Server ist OmniRoute eine **vollständige Kommandozeilen-Schaltzentrale** mit **über 80 Befehlen** sowie offenen Agentenprotokollen, sodass ein KI-Agent sie **eigenständig** steuern kann.
### ⌨️ Eine echte CLI (nicht nur `start`)
```bash
omniroute # Gateway + Dashboard bereitstellen (Port 20128)
omniroute chat # interaktiver TUI-Chat-Client (Slash-Befehle: /model /combo /skill /memory)
omniroute setup # geführter Assistent für die Ersteinrichtung
omniroute doctor # Anbieter, Ports und native Abhängigkeiten diagnostizieren
```
### 🛰️ Remote-Modus — CLI hier ausführen, OmniRoute auf einem VPS
OmniRoute auf einem Server? Steuern Sie es von Ihrem Laptop aus mit **derselben CLI**. Melden Sie sich einmal
mit einem eingeschränkten Zugriffstoken an; anschließend wird jeder Befehl an das Remote-System gesendet.
```bash
omniroute connect 192.168.0.15 # Passwort → eingeschränktes Token, als Kontext gespeichert
omniroute models list # ← wird auf dem REMOTE-Server ausgeführt
omniroute configure codex # ← wählt ein Remote-Modell aus und schreibt ein lokales Codex-Profil
omniroute tokens create --name ci --scope read # eingeschränktere Token für andere Rechner erstellen
omniroute contexts use default # ← zurück zum lokalen Server wechseln
```
Token sind auf `read` / `write` / `admin` beschränkt; Routen, die Prozesse starten, bleiben ausschließlich über Loopback erreichbar.
📖 [Remote-Modus](docs/guides/REMOTE-MODE.md)
### 🤝 Einen Agenten verbinden — und er steuert OmniRoute selbst
Stellen Sie OmniRoute über **MCP**, **A2A**, eine **REST API**, **Webhooks** oder eine **Remote-CLI** bereit — jeder geeignete Agent (oder Ihr eigener Code) erhält die Kontrolle über das gesamte Gateway: Routing, Anbieter, Kombinationen, Cache, Komprimierung und Speicher — autonom. Die nachfolgenden HTTP-Endpunkte werden unter `http://localhost:20128` bereitgestellt.
Schnittstelle
Endpunkt / Befehl
Verwendungszweck
🧰 MCP (stdio)
omniroute --mcp
In Claude Desktop, Cursor oder jeden beliebigen MCP-Client integrieren
Anfrage- und Kontingentereignisse an Slack, Discord, Telegram oder eine beliebige URL senden
🛰️ Remote-CLI
omniroute connect
Eine Remote-Instanz mit eingeschränkten Zugriffstoken steuern
```bash
# Claude Code über MCP den vollständigen OmniRoute-Werkzeugsatz bereitstellen:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream
```
📖 [MCP-Server](docs/frameworks/MCP-SERVER.md) · [A2A-Server](docs/frameworks/A2A-SERVER.md) · [Agentenprotokolle](docs/frameworks/AGENT_PROTOCOLS_GUIDE.md)
## 🗜️ Automatisch 15–95 % Tokens sparen
### 📖 Funktionsweise — Pipeline, Architektur & Berechnung der Einsparungen
Die standardmäßig kombinierte Konfiguration führt `RTK → Caveman` aus. Wenn beide dieselben Tool-/Kontextdaten verarbeiten, multiplizieren sich die Einsparungen:
```txt
kombiniert = 1 − (1 − RTK) × (1 − Caveman_Eingabe)
Durchschnitt = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
Spanne = 78.4 – 94.6%
```
Codeblöcke, URLs, JSON und strukturierte Daten werden durch die Schutz-Engine **immer geschützt**.
> **Warum viele Tokens verwenden, wenn wenige ausreichen?** Jede Anfrage durchläuft OmniRoutes Komprimierungspipeline **transparent** — ohne Änderungen am Client. Sie besteht jetzt aus einem **Stack aus 12 kombinierbaren Engines**, die der Reihe nach ausgeführt und je nach Routing-Kombination flexibel zusammengestellt werden — basierend auf Ideen von [RTK](https://github.com/rtk-ai/rtk), [Caveman](https://github.com/JuliusBrussee/caveman) (⭐ 90K+), [LLMLingua-2](https://github.com/microsoft/LLMLingua) und [Troglodita](https://github.com/leninejunior/troglodita) (PT-BR).
### 🧱 Der Stack aus 12 Engines
Die Engines werden in der Reihenfolge der Pipeline ausgeführt; jede kann unabhängig aktiviert oder deaktiviert und je Kombination konfiguriert werden:
#
Engine
Funktionsweise
1
Session-Dedup
Entfernt über mehrere Interaktionen hinweg wiederholte Inhalte (inhaltsadressiert, interaktionsübergreifend)
2
CCR
Archiviert große Blöcke hinter Abrufmarkierungen, die bei Bedarf abgerufen werden
3
Lite
Reduziert Leerraum und Bild-URLs (latenzarme Basisvariante)
4
RTK
Intelligentes Filtern, Deduplizieren und Kürzen von Tool-Ergebnissen (befehlsabhängig)
5
Responses Tool Output
Primär verlustfreie JSON-Komprimierung plus begrenzte Diagnosekomprimierung für Shell-/Patch-/Such-/Build-Ausgaben (Responses API)
6
Headroom
Verlustfreie tabellarische Komprimierung von JSON-Arrays (~30 %) über einen eingebundenen GCF-Codec
7
Relevance
Extraktive Bewertung von Sätzen anhand der letzten Benutzeranfrage
8
Caveman
Regelbasierte Textkomprimierung (~65–75 % bei der Ausgabe)
9
Aggressive
Zusammenfassung und schrittweise Alterung früherer Interaktionen
10
LLMLingua-2
Semantische ML-Bereinigung über MobileBERT ONNX — codesicher, asynchron
11
Ultra
Heuristische Token-Bereinigung mit optionaler Small-Model-Stufe (SLM)
12
OmniGlyph
Experimentelle Kodierung von Kontext als Bild für das gemessene Claude Fable 5 über die direkte Anthropic-Verbindung; GPT 5.6 Transformers bleiben bis zum Vorliegen von Anbieterbelegen nach dem Fail-Closed-Prinzip deaktiviert. Vier Komprimierungsprofile (standardmäßig aggressiv, ausgewogen, codesicher, unverändert) (am aggressivsten; optionale Aktivierung)
Codeblöcke, URLs und strukturierte Daten bleiben **immer** bytegenau erhalten. **Ein-Klick-Voreinstellungen** kombinieren die Engines:
Modus
Einsparungen
Am besten geeignet für
🪶 Lite
~15 %
Sichere, dauerhaft aktive Standardeinstellung
🪨 Standard (Caveman)
~30 %
Tägliche Programmierarbeit
⚡ Aggressive
~50 %
Lange Sitzungen mit intensiver Tool-Nutzung
🔥 Ultra
~75 %
Maximale Einsparungen
🧰 RTK
60–90 %
Shell-/Test-/Build-/git-Ausgaben
🔗 Kombiniert (RTK → Caveman)
78–95 %
Gemischte Prompts und Tool-Protokolle
**Praxisbeispiel — Standardmodus:**
> **Vorher (69 Tokens):** _„Der Grund dafür, dass deine React-Komponente erneut gerendert wird, liegt wahrscheinlich darin, dass du bei jedem Renderzyklus eine neue Objektreferenz erstellst. Wenn du ein Inline-Objekt als Prop übergibst, erkennt Reacts flacher Vergleich es jedes Mal als ein anderes Objekt, was ein erneutes Rendern auslöst. Ich würde empfehlen, useMemo zu verwenden, um das Objekt zu memoizieren.“_
>
> **Nachher (19 Tokens):** _„Neue Objektreferenz bei jedem Rendern. Inline-Objekt-Prop = neue Referenz = erneutes Rendern. Mit useMemo umschließen.“_
>
> **Gleiche Antwort. 72 % weniger Tokens. Kein Genauigkeitsverlust.** ✅
**PT-BR-Beispiel — [Troglodita](https://github.com/leninejunior/troglodita)-Modus:**
> **Vorher (42 Tokens):** _„Das Problem ist, dass die Komponente erneut gerendert wird, weil in jedem Renderzyklus eine neue Objektreferenz erstellt wird. Ich würde empfehlen, useMemo zu verwenden.“_
>
> **Nachher (12 Tokens):** _„Erneutes Rendern: neue Referenz je Zyklus (Inline-Objekt neu erstellt). `useMemo` verwenden.“_
>
> **Gleiche Antwort. ~70 % weniger Tokens. Technische Präzision unverändert.** ✅
### 🎚️ Mehr als nur Engines — Ausgabestile, die adaptive Steuerung und Kontrolle pro Anfrage
Die 12 Engines oben reduzieren, was **hineingeht**. Drei weitere Ebenen bestimmen, **wie**, **wann** und was **herauskommt**:
- **🪄 Ausgabestile** _(Steuerung der Ausgabeachse)_ — fügen deterministische, Cache-sichere Anweisungen zur Antwortgestaltung ein; kombinierbar, jeweils mit der Intensität `lite` / `full` / `ultra`. Zum Hinzufügen eines Stils genügt ein einzeiliger Registry-Eintrag:
- **Knappe Prosa** — Füllwörter / Artikel / Einschränkungen weglassen; technische Substanz exakt beibehalten.
- **Weniger Code** — „fauler Senior-Entwickler“-YAGNI: kleinste funktionierende Änderung, kein nicht angefordertes Gerüst.
- **Pferdeschwanz (fauler Senior-Entwickler)** — die YAGNI-Leiter erklimmen, die eigentliche Ursache beheben, kleinster funktionierender Diff.
- **Ich habe ADHS (handlungsorientiert)** — nächste Aktion zuerst, nummerierte Schritte, ein konkreter nächster Schritt, keine Einleitung.
- **Knappes CJK (文言)** — ultraknapper Stil in klassischem Chinesisch (durch Gebietsschema auf `zh` beschränkt).
- **🎯 Adaptives Kontextbudget** _(die Steuerung)_ — statt eines einzelnen Ein-/Aus-Token-Schwellenwerts werden die günstigsten Engines mit den geringsten Verlusten nur so weit hochgestuft, wie nötig ist, damit alles **in das Kontextfenster des Modells passt**. Richtlinie: `reserve-output` (Standard, modellabhängig) · `percentage` · `absolute`. Modus: `floor` (garantiert die Einhaltung) · `replace-autotrigger` (Ihre explizite Auswahl hat Vorrang) · `off` (veralteter Schwellenwert).
- **🎛️ Wo über die Komprimierung entschieden wird** _(Priorität, hoch → niedrig)_ — `x-omniroute-compression`-Header pro Anfrage › Überschreibung durch Routing-Kombination › aktives benanntes Profil › adaptiv / automatische Auslösung › Panel-Standard › aus. Der angewendete Plan wird im Antwort-Header `X-OmniRoute-Compression: ; source=` zurückgegeben.
Automatische Auslösung anhand eines Token-Schwellenwerts, Aktivierung der adaptiven Steuerung, Festlegen eines benannten Profils, einmalige Einstellung pro Anfrage oder Zuweisen einer Pipeline pro Routing-Kombination — je nachdem, was zur Arbeitslast passt. Ein optionales lokales **Evaluierungswerkzeug** (`npm run eval:compression`) bewertet die Wiedergabetreue im Verhältnis zur Einsparung anhand eines festgelegten Korpus, bevor Sie eine Änderung übernehmen.
📖 [`COMPRESSION_GUIDE.md`](docs/compression/COMPRESSION_GUIDE.md) · [`RTK_COMPRESSION.md`](docs/compression/RTK_COMPRESSION.md) · [`COMPRESSION_ENGINES.md`](docs/compression/COMPRESSION_ENGINES.md)
# ⚡ Schnellstart
**1) Installieren und ausführen**
```bash
npm install -g omniroute
omniroute
```
> 💡 Sehen Sie `npm warn ERESOLVE` oder Peer-Dependency-Warnungen? [Sie sind harmlos](docs/guides/TROUBLESHOOTING.md#npm-install-warnings-eresolve--peer--deprecated).
Dashboard unter `http://localhost:20128` · API unter `http://localhost:20128/v1`.
**2) Einen KOSTENLOSEN Anbieter verbinden (keine Registrierung)**
Dashboard → **Anbieter** → **Kiro AI** (kostenloses Claude, ~50 Credits/Monat pro Konto) oder **OpenCode Free** (keine Authentifizierung) verbinden → fertig.
**3) Ihr Programmierwerkzeug konfigurieren**
```txt
Basis-URL: http://localhost:20128/v1
API-Schlüssel: [aus Dashboard → Endpunkte kopieren]
Modell: auto (intelligentes Routing ohne Konfiguration — oder beliebiger Anbieter/beliebiges Modell)
```
**4) Funktion überprüfen**
```bash
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"
```
Ihre verbundenen Modelle sollten aufgelistet werden. 🎉 Das war's — beginnen Sie mit dem Programmieren; OmniRoute übernimmt automatisch das Routing und weicht bei Bedarf auf Alternativen aus.
Falls Ihr Client keine benutzerdefinierten Header senden kann, stellt OmniRoute außerdem tokenisierte Kompatibilitätsaliase bereit:
```txt
OpenAI-Katalog: http://localhost:20128/vscode/YOUR_KEY/
OpenAI-Modelle: http://localhost:20128/vscode/YOUR_KEY/models
OpenAI-Chat: http://localhost:20128/vscode/YOUR_KEY/chat/completions
OpenAI-Antworten: http://localhost:20128/vscode/YOUR_KEY/responses
Ollama-Chat: http://localhost:20128/vscode/YOUR_KEY/api/chat
Ollama-Tags: http://localhost:20128/vscode/YOUR_KEY/api/tags
```
Verwenden Sie diese nur für Clients, die `Authorization: Bearer ...` nicht anhängen können. Die Authentifizierung per Header bleibt der bevorzugte Modus.
## 📦 Weitere Installationsmethoden — Docker, Quellcode, pnpm, Arch
**🐳 Docker**
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
`:latest` folgt der höchsten **veröffentlichten** stabilen SemVer-Version. Es folgt nicht dem Git-Branch `main`. Verwenden Sie für GitOps eine feste Version mit `:X.Y.Z`. Siehe [Docker-Veröffentlichungskanäle](docs/guides/DOCKER_GUIDE.md#release-channels). Das Image setzt **`OMNIROUTE_MEMORY_MB=1024`** fest. Das reicht für das Dashboard und einen einfachen Chat. **Coding-Agenten** (`POST /v1/responses` von Claude Code, Codex, Grok, …) benötigen einen wesentlich größeren V8-Heap, andernfalls kommt es bei zwei sich überschneidenden langen Kontexten bei etwa 12 GiB zu einem `FATAL ERROR`. Dimensionieren Sie den Container größer als den Heap (native Puffer befinden sich außerhalb von V8):
| Arbeitslast | Heap (`-e OMNIROUTE_MEMORY_MB`) | Container (`--memory`) |
| ---------------------------------------- | ------------------------------- | ---------------------- |
| Dashboard / einfacher Chat | `1024` (Image-Standardwert) | ≥2 g |
| Ein Coding-Agent | `8192` | ≥10 g |
| Zwei gleichzeitige lange `/v1/responses` | `10240`–`12288` | ≥12–16 g |
```bash
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest
```
Vollständige Tabelle: [Docker-Leitfaden — Laufzeit-RAM](docs/guides/DOCKER_GUIDE.md#runtime-ram-for-coding-agents).
> **Docker-Kanal für Vorabversionen:** `diegosouzapw/omniroute:next` und
> `diegosouzapw/omniroute:next-web` folgen dem aktuellen standardmäßigen `release/v*`-
> Branch. Diese veränderlichen Tags sind ausschließlich zum Testen unveröffentlichter Korrekturen vorgesehen und
> werden **für den Produktionseinsatz nicht unterstützt**. Siehe
> [Docker-Veröffentlichungskanäle](docs/guides/DOCKER_GUIDE.md#release-channels).
**🥟 Bun**
Die standardmäßige Installation mit `bun install` sowie die globale Installation (`bun install -g omniroute`) werden über die Bun-Laufzeiterkennung unterstützt:
- **Integriertes `bun:sqlite`**: OmniRoute verwendet bei der Ausführung unter Bun dessen integrierten `bun:sqlite`-Treiber und greift unter Node.js auf `better-sqlite3` oder `sql.js` zurück.
- **Automatische Auswahl des Webpack-Bundlers in der Entwicklungsumgebung**: Die Entwicklungsumgebung (`bun run dev`) erkennt Bun automatisch und deaktiviert Turbopack zugunsten von Webpack, um Inkompatibilitäten mit nativen V8-Bindings zu vermeiden. Produktions-Builds (`bun run build`) folgen `OMNIROUTE_USE_TURBOPACK` genau wie unter Node: standardmäßig Turbopack, mit `OMNIROUTE_USE_TURBOPACK=0` wird mit Webpack gebaut (`Dockerfile.bun` stellt dies als `--build-arg` bereit).
- **Dediziertes Bun-Dockerfile**: Mehrstufiges `Dockerfile.bun` für native Bun-Produktionsbereitstellungen (`docker build -f Dockerfile.bun -t omniroute:bun .`).
```bash
# Mit Bun installieren und ausführen
bun install
bun run dev
```
**🛠️ Aus dem Quellcode**
```bash
cp .env.example .env && npm install
PORT=20128 npm run dev
```
**📦 pnpm**
```bash
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute
```
**🐧 Arch Linux (AUR)**
```bash
yay -S omniroute-bin && systemctl --user enable --now omniroute.service
```
**🔧 Nix (Flake)**
```bash
# Mit Nix-Flakes
nix develop
npm run dev
# Oder mit devbox
devbox run npm run dev
```
📖 [Docker-Leitfaden](docs/guides/DOCKER_GUIDE.md) — Compose-Profile, Caddy HTTPS, Cloudflare-Tunnel.
**🦭 Podman**
```bash
# 1. Das per Bind-Mount eingebundene Datenverzeichnis vorbereiten
mkdir -p data
# 2. Nur unter Linux + lokalem Rootless-Podman (niemals mit einem entfernten Podman-Machine-Client):
podman unshare chown 1000:1000 ./data
# 3. Den Laufzeithinweis festlegen, das lokale Compose-Image erstellen und starten
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --build
```
Unter macOS oder Windows verwendet Podman eine entfernte Podman Machine: Überspringen Sie `podman unshare` und
befolgen Sie die [topologiespezifischen Hinweise zum Datenverzeichnis](contrib/podman/README.md#data-directory-permissions-by-topology).
📖 [Podman-Leitfaden](contrib/podman/README.md) — Compose-Builds, Podman Machine und
Linux/systemd-Quadlet-Einrichtung.
**⚡ Schnellere / schlankere Installation (nativen Build überspringen)**
Die native SQLite-Engine (`better-sqlite3`) ist eine **optionale** Abhängigkeit, daher wird eine globale
Installation niemals durch die Kompilierung aus dem Quellcode blockiert: Sie verwendet ein vorkompiliertes Binärprogramm, wenn eines zu
Ihrer Plattform/Node-Version passt, und greift andernfalls transparent auf eine reine JS-Engine zurück
(`node:sqlite` unter Node 22+, andernfalls das mitgelieferte `sql.js`-WASM) — keine Build-Werkzeuge erforderlich.
So überspringen Sie die native Aufwärmphase nach der Installation vollständig (CI, Headless-Systeme oder langsame Rechner):
```bash
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 überspringt sie ebenfalls
```
Für die schnellsten Installationen empfiehlt sich **pnpm** (inhaltsadressierter Speicher + Hardlinks — siehe oben).
Für eine Headless-Laufzeitumgebung ohne Dashboard verwenden Sie das Docker-Profil `base` (siehe oben) oder den
[Termux-Leitfaden](docs/guides/TERMUX_GUIDE.md). Die CLI und das Web-Dashboard werden vom
gleichen Prozess über einen einzigen Port bereitgestellt, daher gibt es derzeit kein separates reines CLI-Paket.
Testabdeckungsstrategie für mehr als 39.000 statische Testdeklarationen in mehr als 5.100 erfassten Testdateien
# ⭐ Wichtigste Mitwirkende
> OmniRoute wird von einer engagierten Open-Source-Community geprägt. Diese Personen haben außergewöhnliche Beiträge geleistet, die sich direkt auf die Qualität, Stabilität und Reichweite des Projekts auswirken. **Vielen Dank.**
### Externe Mitwirkende nach zusammengeführten Pull Requests
Eingefroren beim aktuellen Stand von release/v3.8.50 mit dafb4ae808, einschließlich Zusammenführungen bis 2026-08-24 05:26:03 UTC. Die paginierte GitHub-GraphQL-Erhebung enthält 5.911 zusammengeführte PRs: 2.707 vom Repository-Eigentümer, 179 von Dependabot und 3.025 externe PRs von 535 verschiedenen Mitwirkenden. „Geänderte Zeilen“ entspricht den GitHub-Hinzufügungen und -Löschungen und umfasst generierte Dateien, Lockfiles, Kataloge, Übersetzungen und Dokumentation; es handelt sich um Änderungsvolumen, nicht um selbst verfasste LOC. Gleichstände an der Auswahlgrenze werden beibehalten.
### GitHub-zugeordnete Commits
Bob.Hou 🏅 51 GitHub-zugeordnete Commits · geteilter 10. Platz
Xiangzhe 🏅 51 GitHub-zugeordnete Commits · geteilter 10. Platz
Erneut überprüft am 2026-08-24 um 06:14:31 UTC: GitHub-zugeordnete Commits, die von der Contributors API des Repositorys für den Standard-Branch release/v3.8.50 gemeldet wurden. Die API gab 525 Identitäten zurück (415 Benutzer, 2 Bots, 108 anonyme Identitäten); diese Tabelle schließt den Maintainer, Bots und anonyme Identitäten aus und berücksichtigt Gleichstände. Sie unterscheidet sich sowohl von der obigen Rangliste zusammengeführter PRs als auch von der unten stehenden, 639 Personen umfassenden Zählung auf Basis von Git-Metadaten.
> 🙏 Die Funktionen, Fehlerbehebungen und Infrastrukturverbesserungen dieser Mitwirkenden sind ein **zentraler Bestandteil** dessen, was OmniRoute zuverlässig und funktionsreich macht. Jeder Pull Request, jeder Testfall und jede i18n-Übersetzungsdatei zählt. Open Source wird von Menschen wie ihnen geschaffen.
---
## 💖 Sponsoren
Ein herzliches Dankeschön an die Menschen, die OmniRoute aus eigener Tasche finanzieren — jeder Beitrag sorgt dafür, dass das Projekt kostenlos, unabhängig und in Bewegung bleibt.
… und weitere Personen, die lieber anonym bleiben 💛Öffentliche GitHub-Sponsoren wurden am 2026-08-24 erneut validiert. Der activeOnly-Status von GitHub bestimmt die oben aufgeführten Aktiv-Kennzeichnungen; zuvor offengelegte öffentliche einmalige Unterstützer werden weiterhin gewürdigt, und private Sponsoren bleiben anonym.💖 Sponsor werden → — jeder Dollar trägt dazu bei, dass OmniRoute kostenlos und unabhängig bleibt.
## 👥 Über 600 Mitwirkende
[](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
Geprüft am 2026-08-24 auf der eingefrorenen Basis ac02c5b42f und erneut an der aktuellen Spitze von release/v3.8.50 mit dafb4ae808 überprüft: 639 normalisierte menschliche Git-Identitäten — 407 erscheinen als Commit-Autoren (einschließlich des Maintainers) und 232 ausschließlich in expliziten Co-authored-by-Trailern. Die Erhebung normalisiert GitHub-Noreply-Handles, schließt 26 Bot-, Agenten-, Dienst- oder Platzhalteridentitäten aus und führt gewöhnliche E-Mail-Adressen nicht allein deshalb zusammen, weil ihre Anzeigenamen übereinstimmen.
### So können Sie beitragen
1. Forken Sie das Repository
2. Erstellen Sie Ihren Branch von der Spitze des **aktiven** `release/vX.Y.Z`-Branches (nicht von `main`) — siehe [Branching- und Release-Modell](docs/ops/BRANCHING_MODEL.md)
3. Erstellen Sie Ihren Feature-Branch (`git checkout -b feat/amazing-feature`)
4. Committen Sie Ihre Änderungen (`git commit -m 'feat: add amazing feature'`)
5. Pushen Sie in den Branch (`git push origin feat/amazing-feature`)
6. Öffnen Sie einen Pull Request mit **base = diesem `release/vX.Y.Z`-Branch**
Ausführliche Richtlinien finden Sie in [CONTRIBUTING.md](CONTRIBUTING.md).
### Veröffentlichung einer neuen Version
```bash
# Release erstellen — npm publish erfolgt automatisch
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
```
## 📊 Sterne
## 🌍 StarMapper
## 🙏 Danksagungen
OmniRoute steht auf den Schultern von Giganten. Es begann als Fork von **[9router](https://github.com/decolua/9router)** und als TypeScript-Portierung des Go-Projekts **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — und von da an wurde jedes der unten aufgeführten Subsysteme von einem Open-Source-Projekt inspiriert, das diesen Weg bereits zuvor beschritten hatte. Jedes davon hat einen konkreten Teil von OmniRoute geprägt. Dies ist unser Dank an sie alle. 🙏
> ⭐ Die Anzahl der Sterne wurde am 24. August 2026 über die REST API von GitHub verifiziert — gebt diesen Projekten einen Stern. Die Angaben sind eine exakte, datierte Momentaufnahme und werden sich selbstverständlich ändern.
### 🧬 Abstammung & Gateway
Das KI-Gateway, dessen öffentlicher Preisdatenbestand unsere Synchronisierung zur Kostenverfolgung speist und dessen Modell zur Anbieter-Normalisierung unser Routing geprägt hat.
MIT-lizenzierter Quellcode, der für die integrierte Brücke von ChatGPT Web zu Codex Responses angepasst wurde, einschließlich Adaptern für Browsersitzungen, Antwortformatierung, Nutzung und Websuche.
Muster, die in die Stream-Wiederherstellung, Aliasse ohne Denkmodus, die ersatzweise Websuche, Sliding-Window-Limits, die Schwärzung von Protokolldaten und gehärtete Startabläufe portiert wurden.
Claude-Code-kompatible Transformationsvorgaben und das Verhalten von Abrechnungs-Headern, die in OmniRoutes konfigurationsgesteuerter Brücke verallgemeinert wurden.
Seine Grok-Modellzuordnungen, der Fake-TypeError-Statsig-Generator, Anfrage- und Gerätevorgaben sowie der NDJSON-Antwortprozessor wurden in wesentlichem Umfang für OmniRoutes Grok-Web-Executor angepasst.
Die wichtigste transitive Codequelle hinter grok2api-merged; ihre Implementierungen für Modelle, Header, Nutzlasten, Statsig und Prozessoren bleiben in der Entwicklungslinie von Grok Web erhalten.
Der zugrunde liegende MIT-lizenzierte Quellcode für Grok-Nutzlast- und Gerätevorgaben, den Statsig-Generator und den über TQZHR und grok2api-merged übernommenen result.response-Prozessor.
Eine transitive Quelle, die von grok2api-merged für dessen Proxy-Pool-Schicht genannt wird; OmniRoute bewahrt diesen Herkunftshinweis, beansprucht jedoch keine Portierung des Proxy-Pools in seinem klar abgegrenzten Grok-Web-Executor.
Bei der ursprünglichen Grok-Web-Implementierung wurde dessen HTTP-/Browser-Upstream-Design herangezogen; da sein direkter HTTP-Pfad von GrokProxy abgeleitet ist, wird keine eigenständige Codeportierung beansprucht.
Seine Rust-Schemas für ChatOptions und Antwortumschläge dienten als Grundlage für OmniRoutes TypeScript-Typen für Grok-Anfragen und Streaming-Antworten.
Das virale „warum viele Token verwenden, wenn wenige Token reichen“-Projekt — seine Höhlenmenschen-Sprech-Philosophie bildet die Grundlage unseres Standardkomprimierungsmodus und von mehr als 30 Regeln zur Entfernung von Füllwörtern und zur Verdichtung.
Hochleistungsfähige Komprimierung von Befehlsausgaben — inspirierte unsere RTK-Engine, die JSON-Filter-DSL, die Wiederherstellung von Rohausgaben und die gestapelte RTK-→-Caveman-Pipeline.
Forschung zur Prompt-Komprimierung (LLMLingua / LLMLingua-2) — inspirierte unsere asynchrone, codesichere und nach dem Fail-open-Prinzip arbeitende llmlingua-Engine.
PT-BR-Tokenkomprimierung — bildet die Grundlage unseres pt-BR-Sprachpakets: Reduzierung von Pleonasmen und Entfernung von Füllwörtern, abgestimmt auf die brasilianisch-portugiesische Grammatik.
Der virale „faule Senior-Entwickler“-YAGNI-Coder-Skill — inspirierte unseren less-code-Ausgabestil: Ausrichtung auf die kleinstmögliche funktionierende Änderung, die den _generierten_ Code reduziert (das Pendant auf der Ausgabeachse zu Cavemans knapper Prosa).
Komprimierung von Bash-Ausgaben + MCP-Profile — inspirierte unsere disziplinierte Abbruchstrategie bei der Komprimierung und die Reduzierung von MCP-Werkzeugmanifesten.
Inhaltsabhängige Ausgabekomprimierung pro Dateityp mit fehlertoleranter Abbruchstrategie — bestätigte unsere typabhängige Weiterleitung und das Überspringen bei zu geringem Gewinn.
Spaltenorientiertes JSON in Rust + inhaltsadressierter Abruf + nachrichtenübergreifende Deduplizierung — bestätigte das Design unserer headroom/ccr/session-dedup-Engines und die cache-stabile Invariante „die komprimierte Form ist positionsunabhängig“.
Toolkit für die TypeScript Compiler API — inspirierte unsere parserbasierte Entfernung von Kommentaren, bei der String-, Template- und Regex-Literale erhalten bleiben.
Die MITM-Überwachung/-Analyse des Datenverkehrs zwischen Programmierassistenten und LLMs floss in die frühen Anforderungen an den Traffic Inspector ein. Vier zuvor abgeleitete Module — SSE-Zusammenführung, Konversationsnormalisierung, Maskierung geheimer Daten und Header-Bereinigung — wurden durch unabhängige Clean-Room-Implementierungen ersetzt, die auf öffentlichen Protokollstandards basieren. Die beiden Oberflächen für Host-Passthrough (passthrough.ts und _internal/bypass.cjs) bleiben interne OmniRoute-Implementierungen, die unabhängig klassifiziert sind; sie wurden im Rahmen dieser Ersetzung nicht neu geschrieben.
Transparente, prozessbezogene Proxy-Weiterleitung — inspirierte unseren absturzsicheren MITM-Abbau, Socket-Leerlaufzeitüberschreitungen, die Prozesszuordnung über /proc und die TPROXY-Erfassung.
Observability für Istio-Service-Meshes — inspirierte unsere Circuit-Breaker-Badges und die visuelle Darstellung von Fehlerkanten im Routing/Combo Studio.
Eine kuratierte Liste standardmäßig sicherer Bibliotheken, die unsere Sicherheitsentscheidungen leitet (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink).
Inspirierte die Deduplizierung von Anfragen, einen kostenlosen Notfall-Fallback, austauschbare Auto-Combo-Strategien und die mehrsprachige Absichtsklassifizierung.
Seine kontobasierte Modellneuzuordnung, die Validierung ausführbarer Pfade und das Verhalten von Tarifbezeichnungen flossen in die Antigravity-Laufzeitumgebung von OmniRoute ein.
Identifizierte die Grok-Build-Kontingentschnittstelle; OmniRoute überprüfte und korrigierte anschließend das aktuelle Übertragungsformat unabhängig.
## 📄 Lizenz
MIT-Lizenz – Details finden Sie unter [LICENSE](LICENSE).
---
**[⬆ Zurück nach oben](#-omniroute)** · Mit ❤️ für die Open-Source-KI-Community entwickelt.
OmniRoute v3.8.51 · Node ≥22.22.2 · MIT-Lizenz · omniroute.online