AI Deep Dive

9Router Deep Dive: Kostenloses AI-Routing, Token-Einsparung und Provider-Fallback für Coding-Agents

9Router ist ein lokales AI-Gateway und Dashboard, das einen OpenAI-compatible Endpunkt bereitstellt, Anfrageformate übersetzt, Quoten verfolgt, Tool-Outputs mit RTK komprimiert und den Traffic von Coding-Agents über Abonnement-, günstige und kostenlose Provider-Stufen leitet.

Aktualisiert am Juni 2026
9Router-Guide-Hero-Bild, das ein lokales AI-Gateway-Dashboard zeigt, welches Coding-Agents über mehrere Provider-Stufen leitet

Der nützliche Weg, dieses Projekt zu verstehen, ist als Infrastruktur zwischen Ihrem Coding-Tool und Ihren Modell-Accounts. Claude Code, Codex, Cursor, Cline, Copilot-artige Clients, Antigravity, OpenClaw und andere OpenAI-compatible Tools können auf `http://localhost:20128/v1` verweisen; 9Router entscheidet dann, wie die Anfrage übersetzt, komprimiert, geroutet, erneut versucht und protokolliert wird.

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

Das 9Router-Video ansehen

Sie lesen lieber? Der folgende schriftliche Leitfaden behandelt Architektur, Einrichtung, Risiken und das praktische Fazit.

Redaktioneller Hinweis

Dieser Artikel basiert auf dem GitHub-Repo, README, Paket-Metadaten, Quellcode-Struktur, npm-Metadaten, Releases/Tags, aktuellen Issues, aktuellen PRs und Provider-Konfigurationsdateien, die am 3. Juni 2026 recherchiert wurden. Die Sprache des README bezüglich kostenlos/unbegrenzt wird als Projektpositionierung behandelt, nicht als unabhängig verifizierte Ratschläge zu Quoten.

1. 9router in einem Satz

9Router ist ein MIT-lizenziertes lokales LLM-Gateway für Coding-Agents, das OpenAI-compatible APIs, Provider-Übersetzung, Multi-Account-Fallback, Quoten-Tracking, RTK Tool-Output-Kompression, ein Dashboard und Docker/lokale Bereitstellung kombiniert.

BereichDetailWarum es wichtig ist
Repositorydecolua/9routerhttps://github.com/decolua/9router
Primäre SpracheJavaScriptPrimäre GitHub-Sprache zum Recherchezeitpunkt.
LizenzMITGebündelte oder binäre Lizenzen gegebenenfalls separat prüfen.
Erstellt5. Januar 2026Veröffentlichtes Paket geprüft: 0.4.66 am 29. Mai 2026; GitHub Releases neuester Eintrag geprüft: v0.4.63 am 26. Mai 2026.

2. Warum es wichtig ist

Das Projekt ist wichtig, weil AI-Coding-Workflows nicht mehr an einen Client oder einen Modell-Provider gebunden sind. Entwickler nutzen oft Claude Code, Codex, Cursor, Cline, Antigravity und OpenAI-compatible Tools parallel, während der Modellzugriff über Abonnements, API-Keys, kostenlose Stufen, regionale Provider und lokal-kompatible Endpunkte erfolgt.

9Router versucht, dieses Chaos in einem Endpunkt und einem Dashboard zu normalisieren. Anstatt jedes Coding-Tool neu zu konfigurieren, wenn ein Provider das Limit erreicht oder ein Event-Format ändert, erstellen Sie Provider-Accounts, Modell-Aliase, Kombinationen und Fallback-Ketten im Router.

Der aggressive Ansatz zur Token-Einsparung ist ebenfalls praktisch. Coding-Agents verbrauchen Kontext bei Diffs, grep-Ausgaben, Logs, Dateilisten und wiederholten Tool-Transkripten. Die RTK-Kompression läuft vor der Formatübersetzung, sodass das Projekt die Payload-Größe reduzieren kann, ohne dass jeder Upstream-Client das Kompressionsformat kennen muss.

3. Architektur und Denkmodell

9Router ist ein Next.js-Dashboard plus API-Gateway mit einem separat veröffentlichten CLI-Paket. Die App schreibt OpenAI-compatible Routen in Next API-Handler um, delegiert Chat-Arbeit an den `open-sse` Übersetzungs-/Routing-Kern, speichert den Laufzeitstatus in lokalem Datenspeicher und stellt ein Dashboard für Provider-, Quoten-, Log- und Kombinationsverwaltung bereit.

BereichDetailWarum es wichtig ist
Client-Oberfläche`http://localhost:20128/v1`OpenAI-compatible Endpunkt, der von Claude Code, Codex, Cursor, Cline, Antigravity und ähnlichen Clients verwendet wird.
DashboardNext.js AppProvider-Einrichtung, Combos, Aliase, Kontingente, Nutzung, Protokolle, Endpunkteinstellungen, Cloud-Sync und Modelltests.
CLI-Paket`9router` auf npmStartet die lokale Laufzeitumgebung, den Launcher, Tray-orientierte Hooks und das Verhalten der gepackten App.
Request-Handler`src/app/api/v1/*`Routen für Chat-Completions, Antworten, Nachrichten, Modelle, Embeddings, Bilder, Sprache, Suche und Fetch.
Übersetzungskern`open-sse/*`Formatübersetzung, Provider-Ausführung, Streaming-Helfer, Token-Refresh und Fallback-Helfer.
Provider-Registry`src/shared/constants/providers.js`OAuth-Provider, API-Key-Provider, kostenlose/Free-Tier-Provider, Medientypen, Aliase und Risikometadaten.
SpeicherLokales Datenverzeichnis und SQLite-AdapterDie aktuelle Quelle verwendet Datenbankadapter, obwohl ältere Architektur-Dokumente noch JSON-Speicher erwähnen.

4. Kleinster End-to-End-Setup

Die folgenden Befehle stammen aus der Repository-Dokumentation und wurden mit dem aktuellen Recherche-Snapshot abgeglichen. Behandle sie als Startpunkt und lies anschließend die verlinkte README, bevor du in einer Produktionsumgebung installierst.

# Global install path
npm install -g 9router
9router

# Source development path
git clone https://github.com/decolua/9router.git
cd 9router
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev

# Docker path
docker run -d \
  --name 9router \
  -p 20128:20128 \
  -v "$HOME/.9router:/app/data" \
  -e DATA_DIR=/app/data \
  decolua/9router:latest

Eine kleine erste Aufgabe sollte die Integration beweisen, bevor du sie mit kritischen Daten oder großen Workspaces verbindest.

# Configure your coding client with the local router
Endpoint: http://localhost:20128/v1
API key: copy from the 9Router dashboard
Model: choose a 9Router model alias or combo, for example kr/claude-sonnet-4.5

# Local URLs
Dashboard: http://localhost:20128/dashboard
OpenAI-compatible API: http://localhost:20128/v1

5. Technischer Deep Dive

5.1 Es ist ein Gateway, kein Modell-Provider

9Router erstellt nicht auf magische Weise ein neues Basismodell. Es sitzt zwischen Coding-Clients und Upstream-Providern. Der Router übersetzt Request-Formate, aktualisiert Tokens, wo unterstützt, verwaltet API-Keys, routet zu Konten und entscheidet, was zu tun ist, wenn der bevorzugte Provider ausfällt oder ein konfiguriertes Limit erreicht.

Diese Unterscheidung ist wichtig für das Risiko. Wenn ein Upstream-Provider ein Stream-Event ändert, ein Schema ablehnt, ein Free-Tier entfernt oder die Kontonutzung einschränkt, muss 9Router schnell reagieren. Aktuelle Probleme zeigen genau diese Art von Provider-Fluktuation.

Claude Code / Codex / Cursor / Cline
  -> http://localhost:20128/v1
  -> 9Router endpoint settings
  -> combo / alias / provider account
  -> upstream model API
  -> translated stream back to client

5.2 Combos sind das Routing-Primitiv

Die README beschreibt Fallback als eine dreistufige Kette: zuerst Abonnement, dann günstige Provider, zuletzt kostenlose Provider. In der Praxis wird dies zu einer Combo-Konfiguration im Dashboard. Eine Combo ist der Ort, an dem Sie Modellpräferenzen, die Fallback-Reihenfolge und die erlaubten Konten für eine Anfrage festlegen.

Dies ist nützlich für lange Programmiertage, da das manuelle Wechseln von Anbietern mühsam ist. Es ist auch gefährlich, wenn man die Bedingungen, Kontingente, Latenzzeiten und Modellqualität der einzelnen Anbieter nicht versteht. Eine Fallback-Kette kann den Arbeitsfluss aufrechterhalten, aber sie kann auch das Modellverhalten mitten in einer Aufgabe unbemerkt verändern.

5.3 RTK komprimiert die Ausgabe von Agent-Tools vor der Übersetzung.

Das konkretste technische Feature ist der RTK Token Saver. Tool-Ergebnisse von Coding-Agenten sind oft riesig: Diffs, Suchergebnisse, Bäume, Logs, nummerierte Lesevorgänge und Shell-Ausgaben. 9Router erkennt diese Strukturen und wendet spezialisierte Komprimierungsfilter an, bevor die Anfrage in das Format von Claude, OpenAI, Gemini, Vertex, Kiro oder ein anderes Zielformat übersetzt wird.

Die README besagt, dass der Filter von Grund auf sicher ist: Wenn die Komprimierung fehlschlägt oder die Ausgabe vergrößert, wird der Originaltext beibehalten. Das ist die richtige Standardeinstellung, da eine verlustbehaftete oder fehlerhafte Komprimierung eines Diffs dazu führen kann, dass ein Agent den falschen Code bearbeitet.

tool_result: git diff / grep / tree / logs
  -> RTK filter selection
  -> compressed or original payload
  -> format translation
  -> upstream provider request

5.4 Die Formatübersetzung ist der schwierige Teil.

Das Projekt unterstützt OpenAI Chat Completions, OpenAI Responses, Claude-Style Messages, Gemini, Cursor, Kiro, Vertex, Antigravity, Ollama-Style Pfade, Embeddings, Bildgenerierung, Sprache, Suche und Web-Fetch-Routen. Das ist eine große Kompatibilitätsoberfläche.

Aktuelle Bugs zeigen die Kosten: Assistant-Prefill-Verhalten, Vertex-Einschränkungen, anbieterspezifische Token-Parameter, GitHub Gemini Stream-Assembly und Media-Modell-Tests können alle auf unterschiedliche Weise fehlschlagen. Der Wert von 9Router liegt darin, diese Unterschiede abzufangen, aber das bedeutet, dass das Repo ständig die Upstream-Änderungen verfolgen muss.

5.5 Lokale Speicherung und Logs sind Teil des Bedrohungsmodells.

Ein Router wie dieser speichert oder verarbeitet Anbieter-Anmeldedaten, OAuth-Sitzungen, Anfrage-Logs, Nutzungsdatensätze, Modell-Aliase und möglicherweise rohe Prompts. Der aktuelle Quellcode enthält lokale Datenbank-Adapter; die README beschreibt lokale Daten in einem Datenverzeichnis. Betrachten Sie die Maschine, auf der 9Router läuft, als Infrastruktur, die Anmeldedaten enthält.

Das macht das Projekt nicht unbrauchbar. Es bedeutet, dass Sie das Logging bewusst konfigurieren, nach Möglichkeit API-Keys mit minimalen Berechtigungen verwenden, das Routing sensibler Kundendaten über Konten mit unklaren Bedingungen vermeiden und den Dashboard-Port privat halten sollten, es sei denn, Sie haben ihn bewusst hinter einer Authentifizierung bereitgestellt.

6. Praxis: Falsch vs. richtig

FalschRichtigGrund
Gehen Sie davon aus, dass 9Router von sich aus keinen unbegrenzten Modellzugriff bietet.Betrachten Sie es als Router über echte Upstream-Konten, Abonnements und kostenlose Kontingente.Anbieterbedingungen, Kontingente und Modellverfügbarkeit gelten weiterhin.
Richten Sie jedes Tool ohne Tests auf eine Fallback-Kombination aus.Erstellen Sie separate Kombinationen für Programmierung, kostengünstiges Experimentieren, Medien und sensible Arbeiten.Unterschiedliche Clients und Aufgaben erfordern unterschiedliche Latenz-, Qualitäts- und Risikoprofile.
Aktivieren Sie niemals dauerhaft ausführliche Logs.Verwenden Sie Request-Logging zum Debuggen, reduzieren Sie dann die Aufbewahrungsdauer und schützen Sie das Datenverzeichnis.Logs können Prompts, Code, Keys und Geschäftskontext enthalten.
Verlassen Sie sich nicht allein auf die GitHub-Release-Seite für Aktualität.Überprüfen Sie npm, Tags und den Standard-Branch beim Debuggen von versionsspezifischem Verhalten.Der npm/Tag-Status von 9Router ist dem neuesten GitHub-Release-Eintrag voraus.

7. Häufige Fehler und aktuelle Probleme

Der Issue Tracker ist wichtig, weil diese Repos jung sind und sich schnell bewegen. Der Artikel nutzt Issues als Risikosignale, nicht als Beweis dafür, dass ein Projekt unbrauchbar ist.

BereichDetailWarum es wichtig ist
AnbieterbedingungenOAuth/Abonnement-basierte Anbieter können ein Risiko für Kontobeschränkungen bergen.Der Quellcode enthält Risikohinweise; leiten Sie geschäftskritischen Datenverkehr nicht blind weiter.
Versionsabweichungnpm/tag 0.4.66 war zum Zeitpunkt der Recherche neuer als der letzte GitHub-Release-Eintrag.Seien Sie präzise bei der Angabe von Versionen.
Streaming-VerzögerungenProblemberichte erwähnen Verzögerungen, leere Streams, Platzhalter und Prompt-Echo-Verhalten.Lange Reasoning-Prozesse und Provider-Adapter benötigen Smoke-Tests.
Media-EndpunkteAktuelle PRs leiten Bild- und STT-Probes an echte Media-Endpunkte weiter.Gehen Sie nicht davon aus, dass Chat-Completion-Tests jede Modalität validieren.
Runtime-AbhängigkeitenEin Problembericht erwähnt das Entfernen von SQLite-Abhängigkeiten in gepackten Runtime-Pfaden.Gepackte Installationen erfordern eine lokale Startüberprüfung.
Veraltete DokumentationÄltere Architektur-Dokumente erwähnen JSON-Speicherung, während der aktuelle Quellcode SQLite-Adapter enthält.Bevorzugen Sie den Quellcode und die README gegenüber älteren Architektur-Notizen, wenn diese widersprüchlich sind.

8. Performance-, Skalierungs- und Kostennotizen

Die Performance von 9Router wird von zwei Variablen dominiert: dem Verhalten des Upstream-Providers und dem Overhead durch Übersetzung/Kompression auf Router-Seite. Der Router kann die Prompt-Größe mit RTK reduzieren, aber er kann einen langsamen oder überlasteten Upstream-Provider nicht beschleunigen.

Fallback verbessert die Verfügbarkeit nur, wenn die Fallback-Modelle die Aufgabe tatsächlich bewältigen können. Ein günstiges/kostenloses Modell hält den Stream zwar am Laufen, produziert aber möglicherweise qualitativ minderwertige Code-Änderungen, schwächere Tool-Aufrufe oder inkompatible Funktionsaufruf-Strukturen.

Das beste Kostenmodell ist eine explizite Segmentierung: Premium-Kombination für riskante Änderungen und Reviews, günstigere Kombination für Exploration, lokale/kostenlose Kombination für breite Suchen und Zusammenfassungen sowie medien-spezifische Routen für Bild-/Sprach-/Video-Anfragen.

9. Für wen es geeignet ist

Verwenden, wennÜberspringen, wenn
Sie verwenden mehrere KI-Coding-Clients und möchten einen einzigen lokalen Endpunkt.Sie verwenden nur einen Provider und schätzen Einfachheit gegenüber Routing-Flexibilität.
Sie verwalten aktiv Kontingente, Abonnements, kostenlose Tarife und günstige API-Zugänge.Ihre Organisation untersagt das Proxying von OAuth-/Abonnement-basierten Sitzungen.
Ihre Coding-Agent-Prompts enthalten große Diffs, Logs und Suchergebnisse.Sie benötigen geprüfte Enterprise-Gateway-Kontrollen, bevor Sie Quellcode weiterleiten.
Sie fühlen sich beim Debuggen von sich schnell ändernden Provider-Adaptern wohl.Sie benötigen ein stabiles Gerät mit langsamen, konservativen Releases.

10. Community-Signal

Die GitHub-Issue- und PR-Oberfläche ist extrem aktiv und hochgradig technisch. Die meisten Signale stammen von Benutzern, die Provider-Kombinationen über Claude Code, Antigravity, OpenClaw, MiniMax, Xiaomi, GitHub Gemini, Vertex und benutzerdefinierte kompatible Endpunkte testen.

Das stärkste positive Signal ist praktischer Natur: Menschen verwenden es mit echten Coding-Clients und melden schnell Grenzfälle. Die größte Vorsicht gilt derselben Tatsache im Umkehrschluss: Provider- und Client-Protokolle ändern sich so schnell, dass ein Router kontinuierlich gepatcht werden muss.

Die README des Repos verwendet eine starke Sprache bezüglich kostenloser/unbegrenzter Nutzung, aber der Issue-Tracker erzählt eine eher technisch fundierte Geschichte: Modell-IDs ändern sich, Streaming-Formate unterscheiden sich, OAuth-Pfade brechen ab und Dashboard-Tests müssen modalitätsbewusst sein.

11. Das Urteil: Lohnt sich die Nutzung?

Unsere Einschätzung

Verwenden Sie 9Router, wenn Sie ein lokales, praktisches Gateway für das Routing von KI-Coding-Tools über mehrere Provider hinweg wünschen und bereit sind, das Provider-Risiko sorgfältig zu verwalten. Überspringen Sie es für regulierte Produktions-Codepfade, bis Sie die Anmeldeinformationsspeicherung, Protokollierung, Provider-Bedingungen und das Fallback-Verhalten gemäß Ihren eigenen Richtlinien überprüft haben.

12. Das große Ganze

9Router ist Teil einer umfassenderen Bewegung von Single-Model-Clients hin zu lokaler KI-Infrastruktur. Entwickler wünschen sich zunehmend Modell-Routing, Budgetkontrolle, Kontingentsichtbarkeit, Proxy-Kompatibilität und Provider-Abstraktion, ohne jeden Editor oder Terminal-Agent ändern zu müssen.

Das ungelöste Problem ist Vertrauen. Routing ist einfach zu demonstrieren; sicheres Routing ist schwieriger. Die nächste Generation von Tools wird explizite Richtlinienkontrollen, Trennung von Anmeldeinformationen, Audit-Logs, Schwärzung und reproduzierbare Modell-Routing-Entscheidungen benötigen.

13. Häufig gestellte Fragen

F: Ist 9Router ein KI-Modell-Provider?

Nein. Es ist ein lokaler Router und ein Dashboard, das Anfragen an Upstream-Provider, Konten, kostenlose Tarife, Abonnements oder kompatible Endpunkte sendet, die Sie konfigurieren.

F: Welchen Endpunkt sollte ich in meinem Coding-Tool konfigurieren?

Verwenden Sie `http://localhost:20128/v1` und den API-Schlüssel, der im 9Router-Dashboard angezeigt wird, und wählen Sie dann einen Modell-Alias oder eine Kombination, die innerhalb von 9Router definiert ist.

F: Was ist RTK Token Saver?

RTK komprimiert gängige Ausgaben von Coding-Agent-Tools wie Diffs, grep-Ergebnisse, Dateibäume, Protokolle und nummerierte Lesevorgänge, bevor die Nutzlast übersetzt und an den Upstream gesendet wird.

F: Warum unterscheiden sich die Versionen zwischen npm und GitHub Releases?

Zum Zeitpunkt der Recherche waren npm/tags dem neuesten GitHub-Release-Eintrag voraus. Überprüfen Sie zum Debuggen npm-Metadaten, Tags, Releases und den Standard-Branch gemeinsam.

F: Ist es sicher, OAuth/Abonnement-Konten über einen Router zu verwenden?

Das hängt von den Provider-Bedingungen und Ihrer Risikotoleranz ab. Das Projekt enthält Risikohinweise für einige Provider, betrachten Sie dies also als eine Richtlinienentscheidung, nicht als einen rein technischen Einrichtungsschritt.

F: Wo liegen die lokalen Daten?

Die README beschreibt lokale Daten unter dem konfigurierten Datenverzeichnis, und der aktuelle Quellcode enthält SQLite-Adapter. Schützen Sie dieses Verzeichnis, da es Anmeldeinformationen, Nutzungsprotokolle und Logs enthalten kann.

F: Was geht am häufigsten kaputt?

Aktuelle Probleme deuten auf Schemaänderungen bei Upstream-Providern, Streaming-Assemblierung, Modell-IDs, Token-Parameter, Tests für Medienendpunkte und paketierte Laufzeitabhängigkeiten hin.

14. Glossar

BereichDetailWarum es wichtig ist
GatewayEin lokaler Dienst, der Modellanfragen empfängt und an anderer Stelle weiterleitet.Die Kernrolle von 9Router.
ComboEine konfigurierte Routing-/Fallback-Kette.Wird verwendet, um zwischen Abonnement-, günstigen oder kostenlosen Routen zu wählen.
RTKKompressionsschicht für Tool-Ausgaben.Reduziert umfangreiche Ergebnisse von Agent-Tools vor der Provider-Übersetzung.
OpenAI-compatibleAPI-Struktur, auf die viele Tools verweisen können.9Router stellt kompatible `/v1`-Endpunkte bereit.
OAuth-ProviderProvider, der über eine Benutzersitzung authentifiziert wird.Kann zusätzliche Risiken hinsichtlich der Kontorichtlinien bergen.
Media-EndpunktPfad für Bild, Sprache, Video oder STT.Sollte nicht ausschließlich über Chat-Completions getestet werden.
FallbackRouting zum nächsten Provider/Konto, wenn der erste fehlschlägt.Nützlich, kann aber das Modellverhalten verändern.

15. Alle Quellen und Links

Interne Links

16. Tabelle zur Quellenzuordnung

BereichDetailWarum es wichtig ist
READMEPositionierung, Schnellstart, Endpoint, Provider-Tiers, RTK, Docker, Dashboard-Oberfläche.Primärquelle.
Paket-MetadatenCLI-Paket, Versionsnuance, Node-Anforderung, ausführbarer Einstiegspunkt.Primärquelle.
QuellbaumNext-Routen, Übersetzungskern, Provider-Registry, Datenbank-Adapter.Architekturquelle.
Issues/PRsAnbieterwechsel, Streaming-Ausfälle, Medien-Probes, Vorbehalte bei Laufzeitabhängigkeiten.Aktualitätssignal.
npm und ReleasesVersionsdivergenz zwischen veröffentlichtem Paket, Tags und Release-Einträgen.Aktualitätsquelle.

Related Guides