Ändern Sie in Claude Code, Cursor oder Ihrem eigenen Agent eine base_url, und Sie wechseln zwischen Claude, GPT, Gemini, DeepSeek, Kimi und Hunderten weiteren Modellen über eine einzige OpenAI-kompatible API—das ist nicht exklusiv für OpenRouter. OmniRoute zählt 2026 zu den am schnellsten wachsenden Open-Source-AI-Gateways auf GitHub: MIT-Lizenz, Self-Hosted, Katalog mit 290+ Anbietern und 500+ Modellen (90+ mit Free Tier). Dieser Leitfaden deckt Überblick, ersten erfolgreichen API-Call, Claude-Code-Anbindung und eine Produktions-Sicherheitscheckliste ab.
Was OmniRoute ist und was es löst
Kurz gesagt: OmniRoute ist ein LLM-Reverse-Proxy auf Ihrer eigenen Maschine. Es stellt upstream einheitliche /v1/chat/completions (plus Anthropic /v1/messages, Gemini /v1beta/models und mehr) bereit und verbindet downstream Ihre Anbieter-API-Keys, OAuth-Abos oder Free Pools.
Typische Anwendungsfälle
- Multi-Key-Fallback, wenn ein Claude-Abo Limits erreicht
- Ein Agent-Einstieg für Claude Code, Cursor und Cline mit gemeinsamen Audit-Logs
- Daten bleiben intern—kein Drittanbieter-Proxy im Request-Pfad
- Budgets & Quotas—siehe unseren Auto-Combo-Budget-Routing-Leitfaden
OmniRoute vs. OpenRouter vs. LiteLLM
| Dimension | OmniRoute | OpenRouter | LiteLLM Proxy |
|---|---|---|---|
| Hosting | Self-Hosted | Cloud-SaaS | Self-Hosted (Python) |
| Abrechnung | Anbieterpreise + Ihre Infrastruktur | Prepaid-Tokens + ~5,5 % Aufladegebühr | Anbieterpreise + Ihre Infrastruktur |
| Katalog | 290+ Anbieter / 500+ Modelle | 300+ gehostete Modelle | Was Sie konfigurieren |
| Am besten für | Lokales Gateway, gemischte Abos, Budgets | Schnelle Experimente, kein Betrieb | Minimaler Python-Proxy |
Für Token-Preistabellen lesen Sie unseren OpenRouter-Preisvergleich. Für Agent-Request-Budgets auf OmniRoute siehe Auto-Combo-Budget-Routing.
Installation & Start (Docker / npm)
Docker (empfohlen)
docker run -d --name omniroute \
-p 20128:20128 \
-v omniroute-data:/data \
diegosouzapw/omniroute
Öffnen Sie http://localhost:20128 → /dashboard.
npm (schneller lokaler Test)
npm install -g omniroute
omniroute
Cloud-Mac-Tipp
Führen Sie OmniRoute auf einem Zilmac Cloud Mac für stabile IP und SSH-Zugriff aus—LLM-Gateway mit xcodebuild auf demselben oder einem Nachbar-Host kombinieren.
Dashboard in vier Schritten
- API-Key erstellen—alle Clients nutzen
Authorization: Bearer <key>. - Anbieter verbinden—OAuth, API-Keys einfügen oder kostenlose No-Auth-Pools aktivieren (nur Test).
- Clients ausrichten auf
http://<host>:20128/v1. - Nutzung überwachen—Management-Routen ohne Key müssen
401zurückgeben.
Alle Modelle: GET /v1/models
export OMNI_KEY="your-omniroute-api-key"
curl -s http://localhost:20128/v1/models \
-H "Authorization: Bearer $OMNI_KEY" | jq '.data | length'
Erster API-Call (curl / Python / Node)
Verwenden Sie provider/model-IDs. Fehlendes Präfix kann automatisch ergänzt werden; Abweichungen liefern 400.
curl
curl -s http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer $OMNI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"anthropic/claude-sonnet-4-6","messages":[{"role":"user","content":"Explain OmniRoute in one sentence"}],"max_tokens":256}'
Python
from openai import OpenAI
client = OpenAI(api_key="your-key", base_url="http://localhost:20128/v1")
print(client.chat.completions.create(
model="openai/gpt-5.4",
messages=[{"role": "user", "content": "Hello"}],
).choices[0].message.content)
Streaming
curl -N http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer $OMNI_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"deepseek/deepseek-chat","messages":[{"role":"user","content":"Count to 5"}],"stream":true}'
Anthropic Messages
Native Anthropic-Clients können POST /v1/messages nutzen. Vollständige Endpunktliste: API Reference.
auto/*-Intent-Aliase & Fallback
Aliase wie auto/best-coding wählen ein gesundes Modell unter Quota—keine Client-Änderung beim Anbieterwechsel. Nutzen Sie in Produktion Budget-Routing, um unerwünschten Free-Tier-Fallback zu vermeiden.
curl -s http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer $OMNI_KEY" -H "Content-Type: application/json" \
-d '{"model":"auto/best-coding","messages":[{"role":"user","content":"quicksort"}]}'
Claude Code, Cursor & Copilot
| Client | Konfiguration | Hinweise |
|---|---|---|
| Claude Code | ANTHROPIC_BASE_URL=http://host:20128 | OAuth oder API-Routing |
| Cursor | OpenAI Base URL überschreiben → /v1 | OmniRoute-Key als API-Key |
| Cline / Continue | OpenAI-kompatibler Anbieter | auto/best-coding ausprobieren |
Produktion & Sicherheitscheckliste
- Auf neuestes Release upgraden (v3.8.50+); Standardpasswörter entfernen;
- Port
20128niemals ohne TLS ins öffentliche Internet stellen; - API-Keys pro Mitglied, Token-Limits, IP-Allowlists;
- Free Pools nur als Fallback;
/data-Volume sichern.
FAQ
400 model not found?
provider/model-Schreibweise und Anbieterverbindung im Dashboard prüfen. Mit auto/best-free die Kette validieren.
Ollama lokal?
Ja—POST /v1/api/chat integriert lokale Modelle in dieselbe Routing-Tabelle.
Mit OpenRouter nutzen?
Ja—OmniRoute kann OpenRouter als Downstream-Anbieter für ein Hybrid-Setup behandeln.
Gateway für Modelle, Cloud Mac für Builds
OmniRoute wählt das LLM; iOS/macOS-Pipelines brauchen weiterhin Xcode. Zilmac Cloud Mac übernimmt Signierung, Notarisierung und TestFlight neben Agent-Workflows.