Files
OmniRoute/README.de.md
diegosouzapw 1e332babd6 feat(logs): add Logs Dashboard with real-time Console Viewer
- Consolidated 4-tab Logs page: Request Logs, Proxy Logs, Audit Logs, Console
- Terminal-style Console Log Viewer with level filter, search, auto-scroll
- Console interceptor captures all console.log/warn/error to JSON log file
- Integrated in Next.js instrumentation.ts for both dev and prod
- Log rotation by size + retention-based cleanup
- Fixed pino logger file transport (pino/file targets only)
- Moved initAuditLog() to instrumentation.ts for proper initialization
- Bumped version to 1.0.3
- Updated CHANGELOG, all 8 README translations, and .env.example
2026-02-19 04:38:04 -03:00

996 lines
34 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<div align="center">
<img src="./docs/screenshots/MainOmniRoute.png" alt="OmniRoute Dashboard" width="800"/>
# 🚀 OmniRoute — Das kostenlose AI-Gateway
### Höre nie auf zu programmieren. Intelligentes Routing zu **KOSTENLOSEN und günstigen KI-Modellen** mit automatischem Fallback.
_Dein universeller API-Proxy — ein Endpoint, 36+ Anbieter, null Ausfallzeit._
**Chat Completions • Embeddings • Bildgenerierung • Audio • Reranking • 100% TypeScript**
---
### 🤖 Kostenloser KI-Anbieter für deine Lieblings-Coding-Agenten
_Verbinde jedes KI-gesteuerte IDE- oder CLI-Tool über OmniRoute — kostenloses API-Gateway für unbegrenztes Programmieren._
<table>
<tr>
<td align="center" width="110">
<a href="https://github.com/cline/cline">
<img src="./public/providers/openclaw.png" alt="OpenClaw" width="48"/><br/>
<b>OpenClaw</b>
</a><br/>
<sub>⭐ 205K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/HKUDS/nanobot">
<img src="./public/providers/nanobot.png" alt="NanoBot" width="48"/><br/>
<b>NanoBot</b>
</a><br/>
<sub>⭐ 20.9K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/sipeed/picoclaw">
<img src="./public/providers/picoclaw.jpg" alt="PicoClaw" width="48"/><br/>
<b>PicoClaw</b>
</a><br/>
<sub>⭐ 14.6K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/zeroclaw-labs/zeroclaw">
<img src="./public/providers/zeroclaw.png" alt="ZeroClaw" width="48"/><br/>
<b>ZeroClaw</b>
</a><br/>
<sub>⭐ 9.9K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/nearai/ironclaw">
<img src="./public/providers/ironclaw.png" alt="IronClaw" width="48"/><br/>
<b>IronClaw</b>
</a><br/>
<sub>⭐ 2.1K</sub>
</td>
</tr>
<tr>
<td align="center" width="110">
<a href="https://github.com/anomalyco/opencode">
<img src="./public/providers/opencode.svg" alt="OpenCode" width="48"/><br/>
<b>OpenCode</b>
</a><br/>
<sub>⭐ 106K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/openai/codex">
<img src="./public/providers/codex.png" alt="Codex CLI" width="48"/><br/>
<b>Codex CLI</b>
</a><br/>
<sub>⭐ 60.8K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/anthropics/claude-code">
<img src="./public/providers/claude.png" alt="Claude Code" width="48"/><br/>
<b>Claude Code</b>
</a><br/>
<sub>⭐ 67.3K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/google-gemini/gemini-cli">
<img src="./public/providers/gemini-cli.png" alt="Gemini CLI" width="48"/><br/>
<b>Gemini CLI</b>
</a><br/>
<sub>⭐ 94.7K</sub>
</td>
<td align="center" width="110">
<a href="https://github.com/Kilo-Org/kilocode">
<img src="./public/providers/kilocode.png" alt="Kilo Code" width="48"/><br/>
<b>Kilo Code</b>
</a><br/>
<sub>⭐ 15.5K</sub>
</td>
</tr>
</table>
<sub>📡 Alle Agenten verbinden sich über <code>http://localhost:20128/v1</code> oder <code>http://cloud.omniroute.online/v1</code> — eine Konfiguration, unbegrenzte Modelle und Kontingent</sub>
---
[![npm version](https://img.shields.io/npm/v/omniroute?color=cb3837&logo=npm)](https://www.npmjs.com/package/omniroute)
[![Docker Hub](https://img.shields.io/docker/v/diegosouzapw/omniroute?label=Docker%20Hub&logo=docker&color=2496ED)](https://hub.docker.com/r/diegosouzapw/omniroute)
[![License](https://img.shields.io/github/license/diegosouzapw/OmniRoute)](https://github.com/diegosouzapw/OmniRoute/blob/main/LICENSE)
[![Website](https://img.shields.io/badge/Website-omniroute.online-blue?logo=google-chrome&logoColor=white)](https://omniroute.online)
[🌐 Website](https://omniroute.online) • [🚀 Schnellstart](#-schnellstart) • [💡 Funktionen](#-hauptfunktionen) • [📖 Doku](#-dokumentation) • [💰 Preise](#-preisübersicht)
🌐 **Verfügbar in:** [English](README.md) | [Português](README.pt-BR.md) | [Español](README.es.md) | [Русский](README.ru.md) | [中文](README.zh-CN.md) | [Deutsch](README.de.md) | [Français](README.fr.md) | [Italiano](README.it.md)
</div>
---
## 🤔 Warum OmniRoute?
**Hör auf, Geld zu verschwenden und an Limits zu stoßen:**
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Abo-Kontingent verfällt jeden Monat ungenutzt
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Rate-Limits stoppen dich mitten beim Programmieren
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Teure APIs ($20-50/Monat pro Anbieter)
- <img src="https://img.shields.io/badge/✗-e74c3c?style=flat-square" height="16"/> Manuelles Wechseln zwischen Anbietern
**OmniRoute löst das:**
-**Abos maximieren** — Kontingente tracken, alles vor dem Reset nutzen
-**Automatischer Fallback** — Abo → API Key → Günstig → Kostenlos, null Ausfallzeit
-**Multi-Account** — Round-Robin zwischen Konten pro Anbieter
-**Universal** — Funktioniert mit Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, jedem CLI-Tool
---
## 🔄 So funktioniert's
```
┌─────────────┐
│ Dein CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...)
│ Tool │
└──────┬──────┘
│ http://localhost:20128/v1
┌─────────────────────────────────────────┐
│ OmniRoute (Smart Router) │
│ • Format-Übersetzung (OpenAI ↔ Claude) │
│ • Kontingent-Tracking + Embeddings + Bilder │
│ • Automatische Token-Erneuerung │
└──────┬──────────────────────────────────┘
├─→ [Tier 1: ABO] Claude Code, Codex, Gemini CLI
│ ↓ Kontingent erschöpft
├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM usw.
│ ↓ Budget-Limit
├─→ [Tier 3: GÜNSTIG] GLM ($0.6/1M), MiniMax ($0.2/1M)
│ ↓ Budget-Limit
└─→ [Tier 4: KOSTENLOS] iFlow, Qwen, Kiro (unbegrenzt)
Ergebnis: Nie aufhören zu programmieren, minimale Kosten
```
---
## ⚡ Schnellstart
**1. Global installieren:**
```bash
npm install -g omniroute
omniroute
```
🎉 Das Dashboard öffnet sich unter `http://localhost:20128`
| Befehl | Beschreibung |
| ----------------------- | ----------------------------------- |
| `omniroute` | Server starten (Standardport 20128) |
| `omniroute --port 3000` | Benutzerdefinierten Port verwenden |
| `omniroute --no-open` | Browser nicht automatisch öffnen |
| `omniroute --help` | Hilfe anzeigen |
**2. KOSTENLOSEN Anbieter verbinden:**
Dashboard → Anbieter → **Claude Code** oder **Antigravity** verbinden → OAuth Login → Fertig!
**3. In deinem CLI-Tool verwenden:**
```
Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Einstellungen:
Endpoint: http://localhost:20128/v1
API Key: [vom Dashboard kopieren]
Model: if/kimi-k2-thinking
```
**Das war's!** Beginne mit KOSTENLOSEN KI-Modellen zu programmieren.
**Alternative — aus Quellcode ausführen:**
```bash
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev
```
---
## 🐳 Docker
OmniRoute ist als öffentliches Docker-Image auf [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) verfügbar.
**Schnellstart:**
```bash
docker run -d \
--name omniroute \
--restart unless-stopped \
-p 20128:20128 \
-v omniroute-data:/app/data \
diegosouzapw/omniroute:latest
```
**Mit Umgebungsdatei:**
```bash
# .env kopieren und bearbeiten
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
```
**Mit Docker Compose:**
```bash
# Basisprofil (ohne CLI-Tools)
docker compose --profile base up -d
# CLI-Profil (Claude Code, Codex, OpenClaw integriert)
docker compose --profile cli up -d
```
| Image | Tag | Größe | Beschreibung |
| ------------------------ | -------- | ------ | ------------------------ |
| `diegosouzapw/omniroute` | `latest` | ~250MB | Letztes stabiles Release |
| `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Aktuelle Version |
---
## 💰 Preisübersicht
| Tier | Anbieter | Kosten | Kontingent-Reset | 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-Nutzer |
| | Gemini CLI | **KOSTENLOS** | 180K/Monat + 1K/Tag | Alle! |
| | GitHub Copilot | $10-19/Monat | Monatlich | GitHub-Nutzer |
| **🔑 API KEY** | NVIDIA NIM | **KOSTENLOS** (1000 Credits) | Einmalig | Kostenloses Testen |
| | DeepSeek | Nach Verbrauch | Keiner | Bestes Preis-Leistung |
| | Groq | Gratis-Stufe + bezahlt | Begrenzt | Ultra-schnelle Inferenz |
| | xAI (Grok) | Nach Verbrauch | Keiner | Grok-Modelle |
| | Mistral | Gratis-Stufe + bezahlt | Begrenzt | Europäische KI |
| | OpenRouter | Nach Verbrauch | Keiner | 100+ Modelle |
| **💰 GÜNSTIG** | GLM-4.7 | $0.6/1M | Täglich 10h | Budget-Backup |
| | MiniMax M2.1 | $0.2/1M | 5h rotierend | Günstigste Option |
| | Kimi K2 | $9/Monat fest | 10M Token/Monat | Vorhersagbare Kosten |
| **🆓 KOSTENLOS** | iFlow | $0 | Unbegrenzt | 8 kostenlose Modelle |
| | Qwen | $0 | Unbegrenzt | 3 kostenlose Modelle |
| | Kiro | $0 | Unbegrenzt | Kostenloses Claude |
**💡 Profi-Tipp:** Starte mit Gemini CLI (180K gratis/Monat) + iFlow (unbegrenzt gratis) = $0 Kosten!
---
## 🎯 Anwendungsfälle
### Fall 1: „Ich habe ein Claude Pro Abo"
**Problem:** Kontingent verfällt ungenutzt, Rate-Limits während intensivem Programmieren
```
Combo: "maximize-claude"
1. cc/claude-opus-4-6 (Abo voll ausnutzen)
2. glm/glm-4.7 (günstiges Backup bei erschöpftem Kontingent)
3. if/kimi-k2-thinking (kostenloser Notfall-Fallback)
Monatliche Kosten: $20 (Abo) + ~$5 (Backup) = $25 gesamt
vs. $20 + an Limits stoßen = Frustration
```
### Fall 2: „Ich will null Kosten"
**Problem:** Kann sich Abos nicht leisten, braucht zuverlässige KI zum Programmieren
```
Combo: "free-forever"
1. gc/gemini-3-flash (180K gratis/Monat)
2. if/kimi-k2-thinking (unbegrenzt gratis)
3. qw/qwen3-coder-plus (unbegrenzt gratis)
Monatliche Kosten: $0
Qualität: Produktionsreife Modelle
```
### Fall 3: „Ich muss 24/7 programmieren, ohne Unterbrechungen"
**Problem:** Enge Deadlines, kann sich keine Ausfallzeit leisten
```
Combo: "always-on"
1. cc/claude-opus-4-6 (beste Qualität)
2. cx/gpt-5.2-codex (zweites Abo)
3. glm/glm-4.7 (günstig, täglicher Reset)
4. minimax/MiniMax-M2.1 (günstigste, 5h Reset)
5. if/kimi-k2-thinking (unbegrenzt kostenlos)
Ergebnis: 5 Fallback-Ebenen = null Ausfallzeit
```
### Fall 4: „Ich will KOSTENLOSE KI in OpenClaw"
**Problem:** Braucht KI-Assistenz in Messaging-Apps, komplett kostenlos
```
Combo: "openclaw-free"
1. if/glm-4.7 (unbegrenzt kostenlos)
2. if/minimax-m2.1 (unbegrenzt kostenlos)
3. if/kimi-k2-thinking (unbegrenzt kostenlos)
Monatliche Kosten: $0
Zugang über: WhatsApp, Telegram, Slack, Discord, iMessage, Signal...
```
---
## 💡 Hauptfunktionen
### 🧠 Routing & Intelligenz
| Funktion | Was es macht |
| ------------------------------------ | ------------------------------------------------------------------------------ |
| 🎯 **Intelligenter 4-Tier-Fallback** | Auto-Routing: Abo → API Key → Günstig → Kostenlos |
| 📊 **Echtzeit-Kontingent-Tracking** | Live Token-Zählung + Reset-Countdown pro Anbieter |
| 🔄 **Format-Übersetzung** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro nahtlos |
| 👥 **Multi-Account-Unterstützung** | Mehrere Konten pro Anbieter mit intelligenter Auswahl |
| 🔄 **Auto-Token-Erneuerung** | OAuth-Token werden automatisch mit Wiederholungen erneuert |
| 🎨 **Benutzerdefinierte Combos** | 6 Strategien: fill-first, round-robin, p2c, random, least-used, cost-optimized |
| 🧩 **Benutzerdefinierte Modelle** | Jede Modell-ID zu jedem Anbieter hinzufügen |
| 🌐 **Wildcard-Router** | `provider/*` Muster dynamisch an jeden Anbieter routen |
| 🧠 **Reasoning-Budget** | Passthrough, auto, custom und adaptive Modi für Reasoning-Modelle |
| 💬 **System Prompt Injection** | Globaler System Prompt für alle Anfragen |
| 📄 **API Responses** | Volle Unterstützung der OpenAI Responses API (`/v1/responses`) für Codex |
### 🎵 Multi-Modale APIs
| Funktion | Was es macht |
| -------------------------- | ------------------------------------------------- |
| 🖼️ **Bildgenerierung** | `/v1/images/generations` — 4 Anbieter, 9+ Modelle |
| 📐 **Embeddings** | `/v1/embeddings` — 6 Anbieter, 9+ Modelle |
| 🎤 **Audio-Transkription** | `/v1/audio/transcriptions` — Whisper-kompatibel |
| 🔊 **Text-zu-Sprache** | `/v1/audio/speech` — Multi-Anbieter Audiosynthese |
| 🛡️ **Moderationen** | `/v1/moderations` — Sicherheitsüberprüfungen |
| 🔀 **Reranking** | `/v1/rerank` — Dokumenten-Relevanz-Neuordnung |
### 🛡️ Resilienz & Sicherheit
| Funktion | Was es macht |
| ------------------------------- | -------------------------------------------------------------------- |
| 🔌 **Circuit Breaker** | Auto-Öffnung/-Schließung pro Anbieter mit konfigurierbaren Schwellen |
| 🛡️ **Anti-Thundering Herd** | Mutex + Semaphor Rate-Limit für API-Key-Anbieter |
| 🧠 **Semantischer Cache** | Zwei-Ebenen-Cache (Signatur + Semantik) senkt Kosten und Latenz |
| ⚡ **Anfrage-Idempotenz** | 5s Dedup-Fenster für doppelte Anfragen |
| 🔒 **TLS-Fingerprint-Spoofing** | Bot-Erkennung umgehen via wreq-js |
| 🌐 **IP-Filterung** | Allowlist/Blocklist für API-Zugriffskontrolle |
| 📊 **Editierbare Rate-Limits** | Konfigurierbare RPM, minimaler Abstand, max. Konkurrenz |
### 📊 Observability & Analytics
| Funktion | Was es macht |
| ---------------------------- | -------------------------------------------------------------- |
| 📝 **Anfrage-Logs** | Debug-Modus mit vollständigen Request/Response-Logs |
| 💾 **SQLite-Logs** | Persistente Proxy-Logs überleben Neustarts |
| 📊 **Analytics-Dashboard** | Recharts: Statistik-Karten, Nutzungsdiagramm, Anbieter-Tabelle |
| 📈 **Fortschritts-Tracking** | Opt-in SSE-Fortschrittsereignisse für Streaming |
| 🧪 **LLM-Evaluierungen** | Testen mit Golden Set und 4 Match-Strategien |
| 🔍 **Anfrage-Telemetrie** | p50/p95/p99 Latenz-Aggregation + X-Request-Id Tracking |
| 📋 **Logs + Kontingente** | Dedizierte Seiten für Log-Browsing und Kontingent-Tracking |
| 🏥 **Health Dashboard** | Uptime, Circuit-Breaker-Status, Lockouts, Cache-Statistiken |
| 💰 **Kosten-Tracking** | Budget-Management + Preiseinstellung pro Modell |
### ☁️ Deployment & Sync
| Funktion | Was es macht |
| -------------------------- | ----------------------------------------------------------------------------- |
| 💾 **Cloud Sync** | Einstellungen zwischen Geräten via Cloudflare Workers synchronisieren |
| 🌐 **Überall deployen** | Localhost, VPS, Docker, Cloudflare Workers |
| 🔑 **API-Key-Verwaltung** | API-Keys pro Anbieter generieren, rotieren und einschränken |
| 🧙 **Setup-Assistent** | 4-Schritte geführtes Setup für neue Nutzer |
| 🔧 **CLI Tools Dashboard** | Ein-Klick-Konfiguration für Claude, Codex, Cline, OpenClaw, Kilo, Antigravity |
| 🔄 **DB-Backups** | Automatisches Backup und Wiederherstellung aller Einstellungen |
<details>
<summary><b>📖 Funktionsdetails</b></summary>
### 🎯 Intelligenter 4-Tier-Fallback
Erstelle Combos mit automatischem Fallback:
```
Combo: "my-coding-stack"
1. cc/claude-opus-4-6 (dein Abo)
2. nvidia/llama-3.3-70b (kostenlose NVIDIA API)
3. glm/glm-4.7 (günstiges Backup, $0.6/1M)
4. if/kimi-k2-thinking (kostenloser Fallback)
→ Wechselt automatisch bei erschöpftem Kontingent oder Fehlern
```
### 📊 Echtzeit-Kontingent-Tracking
- Token-Verbrauch pro Anbieter
- Reset-Countdown (5 Stunden, täglich, wöchentlich)
- Kostenabschätzung für bezahlte Stufen
- Monatliche Ausgabenberichte
### 🔄 Format-Übersetzung
Nahtlose Übersetzung zwischen Formaten:
- **OpenAI** ↔ **Claude****Gemini****OpenAI Responses**
- Dein CLI sendet OpenAI-Format → OmniRoute übersetzt → Anbieter empfängt natives Format
- Funktioniert mit jedem Tool, das benutzerdefinierte OpenAI-Endpoints unterstützt
### 👥 Multi-Account-Unterstützung
- Mehrere Konten pro Anbieter hinzufügen
- Automatisches Round-Robin oder prioritätsbasiertes Routing
- Fallback zum nächsten Konto bei Kontingent-Erschöpfung
### 🔄 Auto-Token-Erneuerung
- OAuth-Token werden automatisch vor Ablauf erneuert
- Keine manuelle Neuauthentifizierung nötig
- Nahtlose Erfahrung über alle Anbieter
### 🎨 Benutzerdefinierte Combos
- Unbegrenzte Modell-Kombinationen erstellen
- 6 Strategien: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized
- Combos zwischen Geräten mit Cloud Sync teilen
### 🏥 Health Dashboard
- Systemstatus (Uptime, Version, Speichernutzung)
- Circuit-Breaker-Status pro Anbieter (Closed/Open/Half-Open)
- Rate-Limit-Status und aktive Lockouts
- Signatur-Cache-Statistiken
- Latenz-Telemetrie (p50/p95/p99) + Prompt-Cache
- Gesundheitsstatus mit einem Klick zurücksetzen
### 🔧 Übersetzer-Playground
- Debug, Test und Visualisierung von API-Format-Übersetzungen
- Anfragen senden und sehen, wie OmniRoute zwischen Anbieter-Formaten übersetzt
- Unschätzbar für Integrationsprobleme
### 💾 Cloud Sync
- Anbieter, Combos und Einstellungen zwischen Geräten synchronisieren
- Automatische Hintergrundsynchronisierung
- Sichere verschlüsselte Speicherung
</details>
---
## 📖 Einrichtungsanleitung
<details>
<summary><b>💳 Abo-Anbieter</b></summary>
### Claude Code (Pro/Max)
```bash
Dashboard → Anbieter → Claude Code verbinden
→ OAuth Login → Automatische Token-Erneuerung
→ 5h + wöchentliches Kontingent-Tracking
Modelle:
cc/claude-opus-4-6
cc/claude-sonnet-4-5-20250929
cc/claude-haiku-4-5-20251001
```
**Profi-Tipp:** Opus für komplexe Aufgaben, Sonnet für Geschwindigkeit. OmniRoute trackt Kontingent pro Modell!
### OpenAI Codex (Plus/Pro)
```bash
Dashboard → Anbieter → Codex verbinden
→ OAuth Login (Port 1455)
→ 5h + wöchentlicher Reset
Modelle:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-max
```
### Gemini CLI (KOSTENLOS 180K/Monat!)
```bash
Dashboard → Anbieter → Gemini CLI verbinden
→ Google OAuth
→ 180K Completions/Monat + 1K/Tag
Modelle:
gc/gemini-3-flash-preview
gc/gemini-2.5-pro
```
**Bester Wert:** Riesiger Gratis-Tarif! Vor bezahlten Stufen nutzen.
### GitHub Copilot
```bash
Dashboard → Anbieter → GitHub verbinden
→ OAuth via GitHub
→ Monatlicher Reset (1. des Monats)
Modelle:
gh/gpt-5
gh/claude-4.5-sonnet
gh/gemini-3-pro
```
</details>
<details>
<summary><b>🔑 API-Key-Anbieter</b></summary>
### NVIDIA NIM (KOSTENLOS 1000 Credits!)
1. Registrieren: [build.nvidia.com](https://build.nvidia.com)
2. Kostenlosen API-Key holen (1000 Inferenz-Credits inklusive)
3. Dashboard → Anbieter hinzufügen → NVIDIA NIM:
- API Key: `nvapi-your-key`
**Modelle:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` und 50+ weitere
**Profi-Tipp:** OpenAI-kompatible API — funktioniert perfekt mit OmniRoutes Format-Übersetzung!
### DeepSeek
1. Registrieren: [platform.deepseek.com](https://platform.deepseek.com)
2. API-Key holen
3. Dashboard → Anbieter hinzufügen → DeepSeek
**Modelle:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder`
### Groq (Gratis-Stufe verfügbar!)
1. Registrieren: [console.groq.com](https://console.groq.com)
2. API-Key holen (Gratis-Stufe inklusive)
3. Dashboard → Anbieter hinzufügen → Groq
**Modelle:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b`
**Profi-Tipp:** Ultra-schnelle Inferenz — am besten für Echtzeit-Programmierung!
### OpenRouter (100+ Modelle)
1. Registrieren: [openrouter.ai](https://openrouter.ai)
2. API-Key holen
3. Dashboard → Anbieter hinzufügen → OpenRouter
**Modelle:** Zugang zu 100+ Modellen aller großen Anbieter über einen einzigen API-Key.
</details>
<details>
<summary><b>💰 Günstige Anbieter (Backup)</b></summary>
### GLM-4.7 (Täglicher Reset, $0.6/1M)
1. Registrieren: [Zhipu AI](https://open.bigmodel.cn/)
2. API-Key aus dem Coding Plan holen
3. Dashboard → API Key hinzufügen:
- Anbieter: `glm`
- API Key: `your-key`
**Nutze:** `glm/glm-4.7`
**Profi-Tipp:** Der Coding Plan bietet 3× Kontingent zu 1/7 der Kosten! Täglicher Reset um 10:00.
### MiniMax M2.1 (5h Reset, $0.20/1M)
1. Registrieren: [MiniMax](https://www.minimax.io/)
2. API-Key holen
3. Dashboard → API Key hinzufügen
**Nutze:** `minimax/MiniMax-M2.1`
**Profi-Tipp:** Günstigste Option für langen Kontext (1M Token)!
### Kimi K2 ($9/Monat fest)
1. Abonnieren: [Moonshot AI](https://platform.moonshot.ai/)
2. API-Key holen
3. Dashboard → API Key hinzufügen
**Nutze:** `kimi/kimi-latest`
**Profi-Tipp:** Feste $9/Monat für 10M Token = $0.90/1M effektive Kosten!
</details>
<details>
<summary><b>🆓 KOSTENLOSE Anbieter (Notfall-Backup)</b></summary>
### iFlow (8 KOSTENLOSE Modelle)
```bash
Dashboard → iFlow verbinden
→ iFlow OAuth Login
→ Unbegrenzte Nutzung
Modelle:
if/kimi-k2-thinking
if/qwen3-coder-plus
if/glm-4.7
if/minimax-m2
if/deepseek-r1
```
### Qwen (3 KOSTENLOSE Modelle)
```bash
Dashboard → Qwen verbinden
→ Geräte-Code-Autorisierung
→ Unbegrenzte Nutzung
Modelle:
qw/qwen3-coder-plus
qw/qwen3-coder-flash
```
### Kiro (Kostenloses Claude)
```bash
Dashboard → Kiro verbinden
→ AWS Builder ID oder Google/GitHub
→ Unbegrenzte Nutzung
Modelle:
kr/claude-sonnet-4.5
kr/claude-haiku-4.5
```
</details>
<details>
<summary><b>🎨 Combos erstellen</b></summary>
### Beispiel 1: Abo maximieren → Günstiges Backup
```
Dashboard → Combos → Neues erstellen
Name: premium-coding
Modelle:
1. cc/claude-opus-4-6 (Primäres Abo)
2. glm/glm-4.7 (Günstiges Backup, $0.6/1M)
3. minimax/MiniMax-M2.1 (Günstigster Fallback, $0.20/1M)
Im CLI nutzen: premium-coding
```
### Beispiel 2: Nur Kostenlos (Null Kosten)
```
Name: free-combo
Modelle:
1. gc/gemini-3-flash-preview (180K gratis/Monat)
2. if/kimi-k2-thinking (unbegrenzt)
3. qw/qwen3-coder-plus (unbegrenzt)
Kosten: Für immer $0!
```
</details>
<details>
<summary><b>🔧 CLI-Integration</b></summary>
### Cursor IDE
```
Einstellungen → Modelle → Erweitert:
OpenAI API Base URL: http://localhost:20128/v1
OpenAI API Key: [aus OmniRoute Dashboard]
Model: cc/claude-opus-4-6
```
### Claude Code
Nutze die **CLI Tools** Seite im Dashboard für Ein-Klick-Konfiguration, oder bearbeite `~/.claude/settings.json` manuell.
### Codex CLI
```bash
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 → Modell wählen → Anwenden
```
**Option 2 — Manuell:** `~/.openclaw/openclaw.json` bearbeiten:
```json
{
"models": {
"providers": {
"omniroute": {
"baseUrl": "http://127.0.0.1:20128/v1",
"apiKey": "sk_omniroute",
"api": "openai-completions"
}
}
}
}
```
> **Hinweis:** OpenClaw funktioniert nur mit lokalem OmniRoute. Verwende `127.0.0.1` statt `localhost` um IPv6-Auflösungsprobleme zu vermeiden.
### Cline / Continue / RooCode
```
Einstellungen → API-Konfiguration:
Anbieter: OpenAI Compatible
Base URL: http://localhost:20128/v1
API Key: [aus OmniRoute Dashboard]
Model: if/kimi-k2-thinking
```
</details>
---
## 📊 Verfügbare Modelle
<details>
<summary><b>Alle verfügbaren Modelle anzeigen</b></summary>
**Claude Code (`cc/`)** - Pro/Max:
- `cc/claude-opus-4-6`
- `cc/claude-sonnet-4-5-20250929`
- `cc/claude-haiku-4-5-20251001`
**Codex (`cx/`)** - Plus/Pro:
- `cx/gpt-5.2-codex`
- `cx/gpt-5.1-codex-max`
**Gemini CLI (`gc/`)** - KOSTENLOS:
- `gc/gemini-3-flash-preview`
- `gc/gemini-2.5-pro`
**GitHub Copilot (`gh/`)**:
- `gh/gpt-5`
- `gh/claude-4.5-sonnet`
**NVIDIA NIM (`nvidia/`)** - KOSTENLOSE Credits:
- `nvidia/llama-3.3-70b-instruct`
- `nvidia/mistral-7b-instruct`
- 50+ weitere Modelle auf [build.nvidia.com](https://build.nvidia.com)
**GLM (`glm/`)** - $0.6/1M:
- `glm/glm-4.7`
**MiniMax (`minimax/`)** - $0.2/1M:
- `minimax/MiniMax-M2.1`
**iFlow (`if/`)** - KOSTENLOS:
- `if/kimi-k2-thinking`
- `if/qwen3-coder-plus`
- `if/deepseek-r1`
- `if/glm-4.7`
- `if/minimax-m2`
**Qwen (`qw/`)** - KOSTENLOS:
- `qw/qwen3-coder-plus`
- `qw/qwen3-coder-flash`
**Kiro (`kr/`)** - KOSTENLOS:
- `kr/claude-sonnet-4.5`
- `kr/claude-haiku-4.5`
**OpenRouter (`or/`)** - 100+ Modelle:
- `or/anthropic/claude-4-sonnet`
- `or/google/gemini-2.5-pro`
- Jedes Modell von [openrouter.ai/models](https://openrouter.ai/models)
</details>
---
## 🧪 Evaluierungen (Evals)
OmniRoute enthält ein integriertes Evaluierungs-Framework zum Testen der LLM-Antwortqualität gegen ein Golden Set. Zugang über **Analytics → Evals** im Dashboard.
### Integriertes Golden Set
Das vorgeladene „OmniRoute Golden Set" enthält 10 Testfälle:
- Begrüßungen, Mathematik, Geographie, Code-Generierung
- JSON-Formatkonformität, Übersetzung, Markdown
- Sicherheitsablehnung (schädlicher Inhalt), Zählung, Boolesche Logik
### Evaluierungsstrategien
| Strategie | Beschreibung | Beispiel |
| ---------- | ---------------------------------------------------------- | -------------------------------- |
| `exact` | Ausgabe muss exakt übereinstimmen | `"4"` |
| `contains` | Ausgabe muss Teilzeichenfolge enthalten (case-insensitive) | `"Paris"` |
| `regex` | Ausgabe muss Regex-Muster entsprechen | `"1.*2.*3"` |
| `custom` | Benutzerdefinierte JS-Funktion gibt true/false zurück | `(output) => output.length > 10` |
---
## 🐛 Fehlerbehebung
<details>
<summary><b>Klicke zum Erweitern der Fehlerbehebungsanleitung</b></summary>
**„Language model did not provide messages"**
- Anbieter-Kontingent erschöpft → Kontingent-Tracker im Dashboard prüfen
- Lösung: Combo mit Fallback nutzen oder zu günstigerer Stufe wechseln
**Rate Limiting**
- Abo-Kontingent erschöpft → Fallback zu GLM/MiniMax
- Combo hinzufügen: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking`
**OAuth-Token abgelaufen**
- Wird automatisch von OmniRoute erneuert
- Falls Problem bestehen bleibt: Dashboard → Anbieter → Neu verbinden
**Hohe Kosten**
- Nutzungsstatistiken unter Dashboard → Kosten prüfen
- Primärmodell auf GLM/MiniMax umstellen
- Gratis-Stufe (Gemini CLI, iFlow) für unkritische Aufgaben nutzen
**Dashboard öffnet sich auf falschem Port**
- `PORT=20128` und `NEXT_PUBLIC_BASE_URL=http://localhost:20128` setzen
**Cloud-Sync-Fehler**
- Prüfe dass `BASE_URL` auf deine laufende Instanz zeigt
- Prüfe dass `CLOUD_URL` auf den erwarteten Cloud-Endpoint zeigt
- `NEXT_PUBLIC_*` Werte mit Serverwerten synchron halten
**Erster Login funktioniert nicht**
- `INITIAL_PASSWORD` in `.env` prüfen
- Falls nicht gesetzt, Standard-Passwort ist `123456`
**Keine Anfrage-Logs**
- `ENABLE_REQUEST_LOGS=true` in `.env` setzen
**Verbindungstest zeigt „Invalid" für OpenAI-kompatible Anbieter**
- Viele Anbieter stellen den `/models` Endpoint nicht bereit
- OmniRoute v1.0.3+ enthält Fallback-Validierung via Chat Completions
- Stelle sicher, dass die Base URL den `/v1` Suffix enthält
</details>
---
## 🛠️ Technologie-Stack
- **Runtime**: Node.js 20+
- **Sprache**: TypeScript 5.9 — **100% TypeScript** in `src/` und `open-sse/` (v1.0.3)
- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4
- **Datenbank**: LowDB (JSON) + SQLite (Domain-Status + Proxy-Logs)
- **Streaming**: Server-Sent Events (SSE)
- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys
- **Testing**: Node.js Test Runner (368+ Unit-Tests)
- **CI/CD**: GitHub Actions (automatische npm + Docker Hub Veröffentlichung bei Release)
- **Website**: [omniroute.online](https://omniroute.online)
- **Paket**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute)
- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute)
- **Resilienz**: Circuit Breaker, exponentieller Backoff, Anti-Thundering Herd, TLS-Spoofing
---
## 📖 Dokumentation
| Dokument | Beschreibung |
| ------------------------------------------ | ---------------------------------------------- |
| [Benutzerhandbuch](docs/USER_GUIDE.md) | Anbieter, Combos, CLI-Integration, Deploy |
| [API-Referenz](docs/API_REFERENCE.md) | Alle Endpoints mit Beispielen |
| [Fehlerbehebung](docs/TROUBLESHOOTING.md) | Häufige Probleme und Lösungen |
| [Architektur](docs/ARCHITECTURE.md) | Systemarchitektur und Interna |
| [Mitwirken](CONTRIBUTING.md) | Entwicklungs-Setup und Richtlinien |
| [OpenAPI-Spezifikation](docs/openapi.yaml) | OpenAPI 3.0 Spezifikation |
| [Sicherheitsrichtlinie](SECURITY.md) | Schwachstellen melden und Sicherheitspraktiken |
---
## 📧 Support
- **Website**: [omniroute.online](https://omniroute.online)
- **GitHub**: [github.com/diegosouzapw/OmniRoute](https://github.com/diegosouzapw/OmniRoute)
- **Issues**: [github.com/diegosouzapw/OmniRoute/issues](https://github.com/diegosouzapw/OmniRoute/issues)
- **Originalprojekt**: [9router von decolua](https://github.com/decolua/9router)
---
## 👥 Mitwirkende
[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors)
### Wie du mitwirken kannst
1. Repository forken
2. Feature-Branch erstellen (`git checkout -b feature/amazing-feature`)
3. Änderungen committen (`git commit -m 'Add amazing feature'`)
4. Branch pushen (`git push origin feature/amazing-feature`)
5. Pull Request öffnen
Siehe [CONTRIBUTING.md](CONTRIBUTING.md) für detaillierte Richtlinien.
### Neue Version veröffentlichen
```bash
# Release erstellen — npm-Veröffentlichung erfolgt automatisch
gh release create v1.0.3 --title "v1.0.3" --generate-notes
```
---
## 📊 Star-Verlauf
<a href="https://star-history.com/#diegosouzapw/OmniRoute&Date">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date&theme=dark" />
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=diegosouzapw/OmniRoute&type=Date" />
</picture>
</a>
---
## 🙏 Danksagungen
Besonderer Dank an **[9router](https://github.com/decolua/9router)** von **[decolua](https://github.com/decolua)** — das Originalprojekt, das diesen Fork inspiriert hat. OmniRoute baut auf diesem unglaublichen Fundament auf mit zusätzlichen Funktionen, Multi-Modalen APIs und einem vollständigen TypeScript-Rewrite.
Besonderer Dank an **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — die ursprüngliche Go-Implementierung, die diese JavaScript-Portierung inspiriert hat.
---
## 📄 Lizenz
MIT-Lizenz — siehe [LICENSE](LICENSE) für Details.
---
<div align="center">
<sub>Mit ❤️ gemacht für Entwickler, die 24/7 programmieren</sub>
<br/>
<sub><a href="https://omniroute.online">omniroute.online</a></sub>
</div>