diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c53445602..0b95dee905 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,6 +37,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.8.5] — 2026-02-17 +> ### 🔷 MILESTONE: 100% TypeScript Migration +> +> **OmniRoute is now fully TypeScript.** The entire `src/` directory (API routes, components, services, lib, domain layer) and all 94 files in `open-sse/` have been migrated from JavaScript/JSX to TypeScript/TSX — with zero `@ts-ignore` annotations and zero TypeScript errors. This is a complete rewrite of the type layer across 200+ files. + ### Added - 🔒 **TLS fingerprint spoofing** — Implement browser-like TLS fingerprinting via `wreq-js` to bypass bot detection on providers that enforce TLS client fingerprint checks (`3dd0cc1`, PR #52) diff --git a/README.de.md b/README.de.md new file mode 100644 index 0000000000..c06169317b --- /dev/null +++ b/README.de.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 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._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Alle Agenten verbinden sich über http://localhost:20128/v1 oder http://cloud.omniroute.online/v1 — eine Konfiguration, unbegrenzte Modelle und Kontingent + +--- + +[![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) + +
+ +--- + +## 🤔 Warum OmniRoute? + +**Hör auf, Geld zu verschwenden und an Limits zu stoßen:** + +- Abo-Kontingent verfällt jeden Monat ungenutzt +- Rate-Limits stoppen dich mitten beim Programmieren +- Teure APIs ($20-50/Monat pro Anbieter) +- 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` | `0.8.8` | ~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 | + +
+📖 Funktionsdetails + +### 🎯 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 + +
+ +--- + +## 📖 Einrichtungsanleitung + +
+💳 Abo-Anbieter + +### 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 +``` + +
+ +
+🔑 API-Key-Anbieter + +### 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. + +
+ +
+💰 Günstige Anbieter (Backup) + +### 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! + +
+ +
+🆓 KOSTENLOSE Anbieter (Notfall-Backup) + +### 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 +``` + +
+ +
+🎨 Combos erstellen + +### 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! +``` + +
+ +
+🔧 CLI-Integration + +### 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 +``` + +
+ +--- + +## 📊 Verfügbare Modelle + +
+Alle verfügbaren Modelle anzeigen + +**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) + +
+ +--- + +## 🧪 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 + +
+Klicke zum Erweitern der Fehlerbehebungsanleitung + +**„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 v0.8.8+ enthält Fallback-Validierung via Chat Completions +- Stelle sicher, dass die Base URL den `/v1` Suffix enthält + +
+ +--- + +## 🛠️ Technologie-Stack + +- **Runtime**: Node.js 20+ +- **Sprache**: TypeScript 5.9 — **100% TypeScript** in `src/` und `open-sse/` (v0.8.8) +- **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 v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Star-Verlauf + + + + + + Star History Chart + + + +--- + +## 🙏 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. + +--- + +
+ Mit ❤️ gemacht für Entwickler, die 24/7 programmieren +
+ omniroute.online +
diff --git a/README.es.md b/README.es.md new file mode 100644 index 0000000000..9bf45ab962 --- /dev/null +++ b/README.es.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — El Gateway de IA Gratuito + +### Nunca dejes de programar. Enrutamiento inteligente hacia **modelos de IA GRATUITOS y económicos** con fallback automático. + +_Tu proxy de API universal — un endpoint, 36+ proveedores, cero tiempo de inactividad._ + +**Chat Completions • Embeddings • Generación de Imágenes • Audio • Reranking • 100% TypeScript** + +--- + +### 🤖 Proveedor de IA Gratuito para tus agentes de programación favoritos + +_Conecta cualquier IDE o herramienta CLI con IA a través de OmniRoute — gateway de API gratuito para programación ilimitada._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Todos los agentes se conectan vía http://localhost:20128/v1 o http://cloud.omniroute.online/v1 — una configuración, modelos y cuota ilimitados + +--- + +[![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) • [🚀 Inicio Rápido](#-inicio-rápido) • [💡 Características](#-características-principales) • [📖 Docs](#-documentación) • [💰 Precios](#-precios-resumidos) + +🌐 **Disponible en:** [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) + +
+ +--- + +## 🤔 ¿Por qué OmniRoute? + +**Deja de desperdiciar dinero y chocar con límites:** + +- La cuota de suscripción expira sin usar cada mes +- Los límites de tasa te detienen en medio de la programación +- APIs caras ($20-50/mes por proveedor) +- Cambiar manualmente entre proveedores + +**OmniRoute resuelve esto:** + +- ✅ **Maximiza suscripciones** - Rastrea cuotas, usa cada bit antes del reset +- ✅ **Fallback automático** - Suscripción → API Key → Barato → Gratuito, cero tiempo de inactividad +- ✅ **Multi-cuenta** - Round-robin entre cuentas por proveedor +- ✅ **Universal** - Funciona con Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, cualquier herramienta CLI + +--- + +## 🔄 Cómo Funciona + +``` +┌─────────────┐ +│ Tu CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Enrutador Inteligente) │ +│ • Traducción de formato (OpenAI ↔ Claude) │ +│ • Rastreo de cuota + Embeddings + Imágenes │ +│ • Renovación automática de tokens │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: SUSCRIPCIÓN] Claude Code, Codex, Gemini CLI + │ ↓ cuota agotada + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ límite de presupuesto + ├─→ [Tier 3: BARATO] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ límite de presupuesto + └─→ [Tier 4: GRATUITO] iFlow, Qwen, Kiro (ilimitado) + +Resultado: Nunca dejes de programar, costo mínimo +``` + +--- + +## ⚡ Inicio Rápido + +**1. Instala globalmente:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 El Dashboard se abre en `http://localhost:20128` + +| Comando | Descripción | +| ----------------------- | ---------------------------------------------- | +| `omniroute` | Iniciar servidor (puerto predeterminado 20128) | +| `omniroute --port 3000` | Usar puerto personalizado | +| `omniroute --no-open` | No abrir navegador automáticamente | +| `omniroute --help` | Mostrar ayuda | + +**2. Conecta un proveedor GRATUITO:** + +Dashboard → Proveedores → Conectar **Claude Code** o **Antigravity** → Login OAuth → ¡Listo! + +**3. Usa en tu herramienta CLI:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Configuración: + Endpoint: http://localhost:20128/v1 + API Key: [copiar del dashboard] + Model: if/kimi-k2-thinking +``` + +**¡Eso es todo!** Comienza a programar con modelos de IA GRATUITOS. + +**Alternativa — ejecutar desde código fuente:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute está disponible como imagen Docker pública en [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Ejecución rápida:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Con archivo de entorno:** + +```bash +# Copia y edita el .env primero +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 +``` + +**Usando Docker Compose:** + +```bash +# Perfil base (sin herramientas CLI) +docker compose --profile base up -d + +# Perfil CLI (Claude Code, Codex, OpenClaw integrados) +docker compose --profile cli up -d +``` + +| Imagen | Tag | Tamaño | Descripción | +| ------------------------ | -------- | ------ | ---------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Última versión estable | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Versión actual | + +--- + +## 💰 Precios Resumidos + +| Tier | Proveedor | Costo | Reset de Cuota | Mejor Para | +| ------------------ | ----------------- | ---------------------------- | ----------------- | ----------------------- | +| **💳 SUSCRIPCIÓN** | Claude Code (Pro) | $20/mes | 5h + semanal | Ya suscrito | +| | Codex (Plus/Pro) | $20-200/mes | 5h + semanal | Usuarios OpenAI | +| | Gemini CLI | **GRATUITO** | 180K/mes + 1K/día | ¡Todos! | +| | GitHub Copilot | $10-19/mes | Mensual | Usuarios GitHub | +| **🔑 API KEY** | NVIDIA NIM | **GRATUITO** (1000 créditos) | Único | Pruebas gratuitas | +| | DeepSeek | Por uso | Ninguno | Mejor precio/calidad | +| | Groq | Tier gratuito + pago | Limitado | Inferencia ultra-rápida | +| | xAI (Grok) | Por uso | Ninguno | Modelos Grok | +| | Mistral | Tier gratuito + pago | Limitado | IA Europea | +| | OpenRouter | Por uso | Ninguno | 100+ modelos | +| **💰 BARATO** | GLM-4.7 | $0.6/1M | Diario 10h | Respaldo económico | +| | MiniMax M2.1 | $0.2/1M | Rotativo 5h | Opción más barata | +| | Kimi K2 | $9/mes fijo | 10M tokens/mes | Costo predecible | +| **🆓 GRATUITO** | iFlow | $0 | Ilimitado | 8 modelos gratuitos | +| | Qwen | $0 | Ilimitado | 3 modelos gratuitos | +| | Kiro | $0 | Ilimitado | Claude gratuito | + +**💡 Consejo Pro:** ¡Comienza con Gemini CLI (180K gratis/mes) + iFlow (ilimitado gratis) = $0 de costo! + +--- + +## 🎯 Casos de Uso + +### Caso 1: "Tengo suscripción Claude Pro" + +**Problema:** La cuota expira sin usar, límites de tasa durante programación intensa + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (usar suscripción al máximo) + 2. glm/glm-4.7 (respaldo barato cuando la cuota se agota) + 3. if/kimi-k2-thinking (fallback de emergencia gratuito) + +Costo mensual: $20 (suscripción) + ~$5 (respaldo) = $25 total +vs. $20 + chocar con límites = frustración +``` + +### Caso 2: "Quiero costo cero" + +**Problema:** No puede pagar suscripciones, necesita IA confiable para programar + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K gratis/mes) + 2. if/kimi-k2-thinking (ilimitado gratis) + 3. qw/qwen3-coder-plus (ilimitado gratis) + +Costo mensual: $0 +Calidad: Modelos listos para producción +``` + +### Caso 3: "Necesito programar 24/7, sin interrupciones" + +**Problema:** Plazos ajustados, no puede permitirse tiempo de inactividad + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (mejor calidad) + 2. cx/gpt-5.2-codex (segunda suscripción) + 3. glm/glm-4.7 (barato, reset diario) + 4. minimax/MiniMax-M2.1 (más barato, reset 5h) + 5. if/kimi-k2-thinking (gratuito ilimitado) + +Resultado: 5 capas de fallback = cero tiempo de inactividad +``` + +### Caso 4: "Quiero IA GRATUITA en OpenClaw" + +**Problema:** Necesita asistente de IA en apps de mensajería, completamente gratuito + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (ilimitado gratis) + 2. if/minimax-m2.1 (ilimitado gratis) + 3. if/kimi-k2-thinking (ilimitado gratis) + +Costo mensual: $0 +Acceso vía: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Características Principales + +### 🧠 Enrutamiento e Inteligencia + +| Característica | Qué Hace | +| -------------------------------------- | ------------------------------------------------------------------------------- | +| 🎯 **Fallback Inteligente 4 Tiers** | Auto-enrutamiento: Suscripción → API Key → Barato → Gratuito | +| 📊 **Rastreo de Cuota en Tiempo Real** | Conteo de tokens en vivo + countdown de reset por proveedor | +| 🔄 **Traducción de Formato** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro transparente | +| 👥 **Soporte Multi-Cuenta** | Múltiples cuentas por proveedor con selección inteligente | +| 🔄 **Renovación Automática de Token** | Tokens OAuth se renuevan automáticamente con reintentos | +| 🎨 **Combos Personalizados** | 6 estrategias: fill-first, round-robin, p2c, random, least-used, cost-optimized | +| 🧩 **Modelos Personalizados** | Agrega cualquier ID de modelo a cualquier proveedor | +| 🌐 **Enrutador Wildcard** | Enruta patrones `provider/*` a cualquier proveedor dinámicamente | +| 🧠 **Presupuesto de Razonamiento** | Modos passthrough, auto, custom y adaptativo para modelos de razonamiento | +| 💬 **Inyección de System Prompt** | System prompt global aplicado en todas las solicitudes | +| 📄 **API Responses** | Soporte completo de la API Responses de OpenAI (`/v1/responses`) para Codex | + +### 🎵 APIs Multi-Modal + +| Característica | Qué Hace | +| ----------------------------- | ------------------------------------------------------ | +| 🖼️ **Generación de Imágenes** | `/v1/images/generations` — 4 proveedores, 9+ modelos | +| 📐 **Embeddings** | `/v1/embeddings` — 6 proveedores, 9+ modelos | +| 🎤 **Transcripción de Audio** | `/v1/audio/transcriptions` — Compatible con Whisper | +| 🔊 **Texto a Voz** | `/v1/audio/speech` — Síntesis de audio multi-proveedor | +| 🛡️ **Moderaciones** | `/v1/moderations` — Verificaciones de seguridad | +| 🔀 **Reranking** | `/v1/rerank` — Reranking de relevancia de documentos | + +### 🛡️ Resiliencia y Seguridad + +| Característica | Qué Hace | +| ---------------------------------- | ---------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Auto-apertura/cierre por proveedor con umbrales configurables | +| 🛡️ **Anti-Thundering Herd** | Mutex + semáforo rate-limit para proveedores con API key | +| 🧠 **Caché Semántico** | Caché de dos niveles (firma + semántico) reduce costo y latencia | +| ⚡ **Idempotencia de Solicitud** | Ventana de dedup de 5s para solicitudes duplicadas | +| 🔒 **Spoofing de Fingerprint TLS** | Bypass de detección de bot vía TLS con wreq-js | +| 🌐 **Filtrado de IP** | Allowlist/blocklist para control de acceso a la API | +| 📊 **Rate Limits Editables** | RPM, gap mínimo y concurrencia máxima configurables | + +### 📊 Observabilidad y Analytics + +| Característica | Qué Hace | +| ------------------------------ | --------------------------------------------------------------------- | +| 📝 **Logs de Solicitud** | Modo debug con logs completos de request/response | +| 💾 **Logs SQLite** | Logs de proxy persistentes sobreviven a reinicios | +| 📊 **Dashboard de Analytics** | Recharts: cards de estadísticas, gráfico de uso, tabla de proveedores | +| 📈 **Rastreo de Progreso** | Eventos de progreso SSE opt-in para streaming | +| 🧪 **Evaluaciones de LLM** | Pruebas con conjunto golden y 4 estrategias de match | +| 🔍 **Telemetría de Solicitud** | Agregación de latencia p50/p95/p99 + rastreo X-Request-Id | +| 📋 **Logs + Cuotas** | Páginas dedicadas para navegación de logs y rastreo de cuotas | +| 🏥 **Dashboard de Salud** | Uptime, estados de circuit breaker, lockouts, stats de caché | +| 💰 **Rastreo de Costos** | Gestión de presupuesto + configuración de precios por modelo | + +### ☁️ Deploy y Sincronización + +| Característica | Qué Hace | +| --------------------------------- | ------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Sincroniza configuraciones entre dispositivos vía Cloudflare Workers | +| 🌐 **Deploy en Cualquier Lugar** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **Gestión de API Keys** | Genera, rota y define alcance de API keys por proveedor | +| 🧙 **Asistente de Configuración** | Setup guiado en 4 pasos para nuevos usuarios | +| 🔧 **Dashboard CLI Tools** | Configuración en un clic para Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Backups de DB** | Backup y restauración automáticos de todas las configuraciones | + +
+📖 Detalles de Características + +### 🎯 Fallback Inteligente 4 Tiers + +Crea combos con fallback automático: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (tu suscripción) + 2. nvidia/llama-3.3-70b (API NVIDIA gratuita) + 3. glm/glm-4.7 (respaldo barato, $0.6/1M) + 4. if/kimi-k2-thinking (fallback gratuito) + +→ Cambia automáticamente cuando la cuota se agota o ocurren errores +``` + +### 📊 Rastreo de Cuota en Tiempo Real + +- Consumo de tokens por proveedor +- Countdown de reset (5 horas, diario, semanal) +- Estimación de costo para tiers pagos +- Reportes de gastos mensuales + +### 🔄 Traducción de Formato + +Traducción transparente entre formatos: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Tu herramienta CLI envía formato OpenAI → OmniRoute traduce → El proveedor recibe formato nativo +- Funciona con cualquier herramienta que soporte endpoints OpenAI personalizados + +### 👥 Soporte Multi-Cuenta + +- Agrega múltiples cuentas por proveedor +- Round-robin automático o enrutamiento por prioridad +- Fallback a la siguiente cuenta cuando una alcanza la cuota + +### 🔄 Renovación Automática de Token + +- Los tokens OAuth se renuevan automáticamente antes de expirar +- Sin necesidad de re-autenticación manual +- Experiencia transparente en todos los proveedores + +### 🎨 Combos Personalizados + +- Crea combinaciones ilimitadas de modelos +- 6 estrategias: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Comparte combos entre dispositivos con Cloud Sync + +### 🏥 Dashboard de Salud + +- Estado del sistema (uptime, versión, uso de memoria) +- Estados de circuit breaker por proveedor (Closed/Open/Half-Open) +- Estado de rate limit y lockouts activos +- Estadísticas de caché de firma +- Telemetría de latencia (p50/p95/p99) + caché de prompt +- Reset de salud con un clic + +### 🔧 Playground del Traductor + +- Debug, prueba y visualiza traducciones de formato de API +- Envía solicitudes y ve cómo OmniRoute traduce entre formatos de proveedores +- Invaluable para troubleshooting de problemas de integración + +### 💾 Cloud Sync + +- Sincroniza proveedores, combos y configuraciones entre dispositivos +- Sincronización automática en segundo plano +- Almacenamiento cifrado seguro + +
+ +--- + +## 📖 Guía de Configuración + +
+💳 Proveedores por Suscripción + +### Claude Code (Pro/Max) + +```bash +Dashboard → Proveedores → Conectar Claude Code +→ Login OAuth → Renovación automática de token +→ Rastreo de cuota 5h + semanal + +Modelos: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Consejo Pro:** Usa Opus para tareas complejas, Sonnet para velocidad. ¡OmniRoute rastrea cuota por modelo! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Proveedores → Conectar Codex +→ Login OAuth (puerto 1455) +→ Reset 5h + semanal + +Modelos: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (¡GRATUITO 180K/mes!) + +```bash +Dashboard → Proveedores → Conectar Gemini CLI +→ Google OAuth +→ 180K completions/mes + 1K/día + +Modelos: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Mejor Valor:** ¡Tier gratuito enorme! Úsalo antes de los tiers pagos. + +### GitHub Copilot + +```bash +Dashboard → Proveedores → Conectar GitHub +→ OAuth vía GitHub +→ Reset mensual (1ro del mes) + +Modelos: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Proveedores por API Key + +### NVIDIA NIM (¡GRATUITO 1000 créditos!) + +1. Regístrate: [build.nvidia.com](https://build.nvidia.com) +2. Obtén API key gratuita (1000 créditos de inferencia incluidos) +3. Dashboard → Agregar Proveedor → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Modelos:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, y 50+ más + +**Consejo Pro:** ¡API compatible con OpenAI — funciona perfectamente con la traducción de formato de OmniRoute! + +### DeepSeek + +1. Regístrate: [platform.deepseek.com](https://platform.deepseek.com) +2. Obtén API key +3. Dashboard → Agregar Proveedor → DeepSeek + +**Modelos:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (¡Tier Gratuito Disponible!) + +1. Regístrate: [console.groq.com](https://console.groq.com) +2. Obtén API key (tier gratuito incluido) +3. Dashboard → Agregar Proveedor → Groq + +**Modelos:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Consejo Pro:** ¡Inferencia ultra-rápida — mejor para programación en tiempo real! + +### OpenRouter (100+ Modelos) + +1. Regístrate: [openrouter.ai](https://openrouter.ai) +2. Obtén API key +3. Dashboard → Agregar Proveedor → OpenRouter + +**Modelos:** Accede a 100+ modelos de todos los principales proveedores a través de una única API key. + +
+ +
+💰 Proveedores Baratos (Respaldo) + +### GLM-4.7 (Reset diario, $0.6/1M) + +1. Regístrate: [Zhipu AI](https://open.bigmodel.cn/) +2. Obtén API key del Plan Coding +3. Dashboard → Agregar API Key: + - Proveedor: `glm` + - API Key: `your-key` + +**Usa:** `glm/glm-4.7` + +**Consejo Pro:** ¡El Plan Coding ofrece 3× cuota a 1/7 del costo! Reset diario 10:00 AM. + +### MiniMax M2.1 (Reset 5h, $0.20/1M) + +1. Regístrate: [MiniMax](https://www.minimax.io/) +2. Obtén API key +3. Dashboard → Agregar API Key + +**Usa:** `minimax/MiniMax-M2.1` + +**Consejo Pro:** ¡Opción más barata para contexto largo (1M tokens)! + +### Kimi K2 ($9/mes fijo) + +1. Suscríbete: [Moonshot AI](https://platform.moonshot.ai/) +2. Obtén API key +3. Dashboard → Agregar API Key + +**Usa:** `kimi/kimi-latest` + +**Consejo Pro:** ¡$9/mes fijo por 10M tokens = $0.90/1M de costo efectivo! + +
+ +
+🆓 Proveedores GRATUITOS (Respaldo de Emergencia) + +### iFlow (8 modelos GRATUITOS) + +```bash +Dashboard → Conectar iFlow +→ Login OAuth iFlow +→ Uso ilimitado + +Modelos: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 modelos GRATUITOS) + +```bash +Dashboard → Conectar Qwen +→ Autorización por código de dispositivo +→ Uso ilimitado + +Modelos: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATUITO) + +```bash +Dashboard → Conectar Kiro +→ AWS Builder ID o Google/GitHub +→ Uso ilimitado + +Modelos: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Crear Combos + +### Ejemplo 1: Maximizar Suscripción → Respaldo Barato + +``` +Dashboard → Combos → Crear Nuevo + +Nombre: premium-coding +Modelos: + 1. cc/claude-opus-4-6 (Suscripción primaria) + 2. glm/glm-4.7 (Respaldo barato, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Fallback más barato, $0.20/1M) + +Usa en CLI: premium-coding +``` + +### Ejemplo 2: Solo Gratuito (Costo Cero) + +``` +Nombre: free-combo +Modelos: + 1. gc/gemini-3-flash-preview (180K gratis/mes) + 2. if/kimi-k2-thinking (ilimitado) + 3. qw/qwen3-coder-plus (ilimitado) + +Costo: ¡$0 para siempre! +``` + +
+ +
+🔧 Integración CLI + +### Cursor IDE + +``` +Configuración → Modelos → Avanzado: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [del dashboard OmniRoute] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Usa la página **CLI Tools** en el dashboard para configuración en un clic, o edita `~/.claude/settings.json` manualmente. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Opción 1 — Dashboard (recomendado):** + +``` +Dashboard → CLI Tools → OpenClaw → Seleccionar Modelo → Aplicar +``` + +**Opción 2 — Manual:** Edita `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Nota:** OpenClaw solo funciona con OmniRoute local. Usa `127.0.0.1` en lugar de `localhost` para evitar problemas de resolución IPv6. + +### Cline / Continue / RooCode + +``` +Configuración → Configuración de API: + Proveedor: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [del dashboard OmniRoute] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Modelos Disponibles + +
+Ver todos los modelos disponibles + +**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/`)** - GRATUITO: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Créditos GRATUITOS: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ más modelos en [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/`)** - GRATUITO: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATUITO: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATUITO: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modelos: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Cualquier modelo de [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Evaluaciones (Evals) + +OmniRoute incluye un framework de evaluación integrado para probar la calidad de respuestas de LLM contra un conjunto golden. Accede vía **Analytics → Evals** en el dashboard. + +### Conjunto Golden Integrado + +El "OmniRoute Golden Set" precargado contiene 10 casos de prueba que cubren: + +- Saludos, matemáticas, geografía, generación de código +- Conformidad de formato JSON, traducción, markdown +- Rechazo de seguridad (contenido dañino), conteo, lógica booleana + +### Estrategias de Evaluación + +| Estrategia | Descripción | Ejemplo | +| ---------- | ---------------------------------------------------- | -------------------------------- | +| `exact` | La salida debe coincidir exactamente | `"4"` | +| `contains` | La salida debe contener subcadena (case-insensitive) | `"Paris"` | +| `regex` | La salida debe coincidir con el patrón regex | `"1.*2.*3"` | +| `custom` | Función JS personalizada retorna true/false | `(output) => output.length > 10` | + +--- + +## 🐛 Solución de Problemas + +
+Haz clic para expandir la guía de solución de problemas + +**"Language model did not provide messages"** + +- Cuota del proveedor agotada → Verifica el rastreador de cuota en el dashboard +- Solución: Usa combo con fallback o cambia a tier más barato + +**Rate limiting** + +- Cuota de suscripción agotada → Fallback a GLM/MiniMax +- Agrega combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth expirado** + +- Renovado automáticamente por OmniRoute +- Si persiste: Dashboard → Proveedor → Reconectar + +**Costos altos** + +- Verifica estadísticas de uso en Dashboard → Costos +- Cambia modelo primario a GLM/MiniMax +- Usa tier gratuito (Gemini CLI, iFlow) para tareas no críticas + +**Dashboard se abre en el puerto equivocado** + +- Establece `PORT=20128` y `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Errores de cloud sync** + +- Verifica que `BASE_URL` apunte a tu instancia en ejecución +- Verifica que `CLOUD_URL` apunte a tu endpoint cloud esperado +- Mantén los valores `NEXT_PUBLIC_*` alineados con los valores del servidor + +**Primer login no funciona** + +- Verifica `INITIAL_PASSWORD` en `.env` +- Si no está definido, la contraseña predeterminada es `123456` + +**Sin logs de solicitud** + +- Establece `ENABLE_REQUEST_LOGS=true` en `.env` + +**Prueba de conexión muestra "Invalid" para proveedores compatibles con OpenAI** + +- Muchos proveedores no exponen el endpoint `/models` +- OmniRoute v0.8.8+ incluye validación vía chat completions como fallback +- Asegúrate de que la URL base incluya el sufijo `/v1` + +
+ +--- + +## 🛠️ Stack Tecnológico + +- **Runtime**: Node.js 20+ +- **Lenguaje**: TypeScript 5.9 — **100% TypeScript** en `src/` y `open-sse/` (v0.8.8) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Base de Datos**: LowDB (JSON) + SQLite (estado del dominio + logs de proxy) +- **Streaming**: Server-Sent Events (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys +- **Testing**: Node.js test runner (368+ tests unitarios) +- **CI/CD**: GitHub Actions (publicación automática npm + Docker Hub en release) +- **Website**: [omniroute.online](https://omniroute.online) +- **Paquete**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resiliencia**: Circuit breaker, backoff exponencial, anti-thundering herd, spoofing TLS + +--- + +## 📖 Documentación + +| Documento | Descripción | +| ------------------------------------------------ | -------------------------------------------------- | +| [Guía del Usuario](docs/USER_GUIDE.md) | Proveedores, combos, integración CLI, deploy | +| [Referencia de API](docs/API_REFERENCE.md) | Todos los endpoints con ejemplos | +| [Solución de Problemas](docs/TROUBLESHOOTING.md) | Problemas comunes y soluciones | +| [Arquitectura](docs/ARCHITECTURE.md) | Arquitectura del sistema e internos | +| [Contribuir](CONTRIBUTING.md) | Setup de desarrollo y directrices | +| [Spec OpenAPI](docs/openapi.yaml) | Especificación OpenAPI 3.0 | +| [Política de Seguridad](SECURITY.md) | Reportar vulnerabilidades y prácticas de seguridad | + +--- + +## 📧 Soporte + +- **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) +- **Proyecto Original**: [9router por decolua](https://github.com/decolua/9router) + +--- + +## 👥 Contribuidores + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Cómo Contribuir + +1. Haz fork del repositorio +2. Crea tu rama de funcionalidad (`git checkout -b feature/amazing-feature`) +3. Haz commit de tus cambios (`git commit -m 'Add amazing feature'`) +4. Haz push a la rama (`git push origin feature/amazing-feature`) +5. Abre un Pull Request + +Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para directrices detalladas. + +### Lanzar una Nueva Versión + +```bash +# Crea un release — la publicación en npm ocurre automáticamente +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Historial de Stars + + + + + + Star History Chart + + + +--- + +## 🙏 Agradecimientos + +Agradecimiento especial a **[9router](https://github.com/decolua/9router)** por **[decolua](https://github.com/decolua)** — el proyecto original que inspiró este fork. OmniRoute se construye sobre esa increíble base con características adicionales, APIs multi-modal y una reescritura completa en TypeScript. + +Agradecimiento especial a **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — la implementación original en Go que inspiró esta adaptación a JavaScript. + +--- + +## 📄 Licencia + +Licencia MIT - consulta [LICENSE](LICENSE) para detalles. + +--- + +
+ Hecho con ❤️ para desarrolladores que programan 24/7 +
+ omniroute.online +
diff --git a/README.fr.md b/README.fr.md new file mode 100644 index 0000000000..5e8ba75f55 --- /dev/null +++ b/README.fr.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — La Passerelle IA Gratuite + +### N'arrêtez jamais de coder. Routage intelligent vers des **modèles IA GRATUITS et économiques** avec fallback automatique. + +_Votre proxy API universel — un endpoint, 36+ fournisseurs, zéro temps d'arrêt._ + +**Chat Completions • Embeddings • Génération d'images • Audio • Reranking • 100% TypeScript** + +--- + +### 🤖 Fournisseur IA gratuit pour vos agents de programmation préférés + +_Connectez n'importe quel IDE ou outil CLI alimenté par l'IA via OmniRoute — passerelle API gratuite pour un codage illimité._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Tous les agents se connectent via http://localhost:20128/v1 ou http://cloud.omniroute.online/v1 — une configuration, modèles et quota illimités + +--- + +[![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) + +[🌐 Site web](https://omniroute.online) • [🚀 Démarrage rapide](#-démarrage-rapide) • [💡 Fonctionnalités](#-fonctionnalités-principales) • [📖 Docs](#-documentation) • [💰 Tarifs](#-aperçu-des-tarifs) + +🌐 **Disponible en :** [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) + +
+ +--- + +## 🤔 Pourquoi OmniRoute ? + +**Arrêtez de gaspiller de l'argent et de vous heurter aux limites :** + +- Le quota d'abonnement expire inutilisé chaque mois +- Les limites de débit vous arrêtent en plein codage +- APIs coûteuses (20-50 $/mois par fournisseur) +- Changement manuel entre fournisseurs + +**OmniRoute résout ces problèmes :** + +- ✅ **Maximisez les abonnements** — Suivez les quotas, utilisez chaque bit avant la réinitialisation +- ✅ **Fallback automatique** — Abonnement → Clé API → Économique → Gratuit, zéro temps d'arrêt +- ✅ **Multi-comptes** — Round-robin entre les comptes par fournisseur +- ✅ **Universel** — Fonctionne avec Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, tout outil CLI + +--- + +## 🔄 Comment ça fonctionne + +``` +┌─────────────┐ +│ Votre CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Routeur intelligent) │ +│ • Traduction de format (OpenAI ↔ Claude) │ +│ • Suivi des quotas + Embeddings + Images │ +│ • Renouvellement automatique des tokens │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: ABONNEMENT] Claude Code, Codex, Gemini CLI + │ ↓ quota épuisé + ├─→ [Tier 2: CLÉ API] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ limite de budget + ├─→ [Tier 3: ÉCONOMIQUE] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ limite de budget + └─→ [Tier 4: GRATUIT] iFlow, Qwen, Kiro (illimité) + +Résultat : Ne jamais arrêter de coder, coût minimal +``` + +--- + +## ⚡ Démarrage rapide + +**1. Installer globalement :** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Le tableau de bord s'ouvre sur `http://localhost:20128` + +| Commande | Description | +| ----------------------- | ------------------------------------------- | +| `omniroute` | Démarrer le serveur (port par défaut 20128) | +| `omniroute --port 3000` | Utiliser un port personnalisé | +| `omniroute --no-open` | Ne pas ouvrir le navigateur automatiquement | +| `omniroute --help` | Afficher l'aide | + +**2. Connecter un fournisseur GRATUIT :** + +Tableau de bord → Fournisseurs → Connecter **Claude Code** ou **Antigravity** → Connexion OAuth → Terminé ! + +**3. Utiliser dans votre outil CLI :** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Paramètres : + Endpoint : http://localhost:20128/v1 + API Key : [copier depuis le tableau de bord] + Model : if/kimi-k2-thinking +``` + +**C'est tout !** Commencez à coder avec des modèles IA GRATUITS. + +**Alternative — exécuter depuis le code source :** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute est disponible en tant qu'image Docker publique sur [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Démarrage rapide :** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Avec fichier d'environnement :** + +```bash +# Copier et modifier le .env d'abord +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 +``` + +**Avec Docker Compose :** + +```bash +# Profil de base (sans outils CLI) +docker compose --profile base up -d + +# Profil CLI (Claude Code, Codex, OpenClaw intégrés) +docker compose --profile cli up -d +``` + +| Image | Tag | Taille | Description | +| ------------------------ | -------- | ------ | ----------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Dernière version stable | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Version actuelle | + +--- + +## 💰 Aperçu des tarifs + +| Tier | Fournisseur | Coût | Réinitialisation | Idéal pour | +| ----------------- | ----------------- | -------------------------- | ------------------- | ----------------------------- | +| **💳 ABONNEMENT** | Claude Code (Pro) | 20 $/mois | 5h + hebdomadaire | Déjà abonné | +| | Codex (Plus/Pro) | 20-200 $/mois | 5h + hebdomadaire | Utilisateurs OpenAI | +| | Gemini CLI | **GRATUIT** | 180K/mois + 1K/jour | Tout le monde ! | +| | GitHub Copilot | 10-19 $/mois | Mensuel | Utilisateurs GitHub | +| **🔑 CLÉ API** | NVIDIA NIM | **GRATUIT** (1000 crédits) | Unique | Tests gratuits | +| | DeepSeek | À l'usage | Aucune | Meilleur rapport qualité-prix | +| | Groq | Niveau gratuit + payant | Limité | Inférence ultra-rapide | +| | xAI (Grok) | À l'usage | Aucune | Modèles Grok | +| | Mistral | Niveau gratuit + payant | Limité | IA européenne | +| | OpenRouter | À l'usage | Aucune | 100+ modèles | +| **💰 ÉCONOMIQUE** | GLM-4.7 | 0,6 $/1M | Quotidien 10h | Backup économique | +| | MiniMax M2.1 | 0,2 $/1M | Rotatif 5h | Option la moins chère | +| | Kimi K2 | 9 $/mois fixe | 10M tokens/mois | Coût prévisible | +| **🆓 GRATUIT** | iFlow | 0 $ | Illimité | 8 modèles gratuits | +| | Qwen | 0 $ | Illimité | 3 modèles gratuits | +| | Kiro | 0 $ | Illimité | Claude gratuit | + +**💡 Conseil Pro :** Commencez avec Gemini CLI (180K gratuits/mois) + iFlow (illimité gratuit) = 0 $ de coût ! + +--- + +## 🎯 Cas d'utilisation + +### Cas 1 : « J'ai un abonnement Claude Pro » + +**Problème :** Le quota expire inutilisé, limites de débit pendant le codage intensif + +``` +Combo : "maximize-claude" + 1. cc/claude-opus-4-6 (utiliser l'abonnement au maximum) + 2. glm/glm-4.7 (backup économique quand le quota est épuisé) + 3. if/kimi-k2-thinking (fallback d'urgence gratuit) + +Coût mensuel : 20 $ (abonnement) + ~5 $ (backup) = 25 $ au total +vs. 20 $ + atteindre les limites = frustration +``` + +### Cas 2 : « Je veux zéro coût » + +**Problème :** Impossible de payer des abonnements, besoin d'IA fiable pour coder + +``` +Combo : "free-forever" + 1. gc/gemini-3-flash (180K gratuits/mois) + 2. if/kimi-k2-thinking (illimité gratuit) + 3. qw/qwen3-coder-plus (illimité gratuit) + +Coût mensuel : 0 $ +Qualité : Modèles prêts pour la production +``` + +### Cas 3 : « Je dois coder 24/7, sans interruption » + +**Problème :** Délais serrés, ne peut pas se permettre de temps d'arrêt + +``` +Combo : "always-on" + 1. cc/claude-opus-4-6 (meilleure qualité) + 2. cx/gpt-5.2-codex (deuxième abonnement) + 3. glm/glm-4.7 (économique, reset quotidien) + 4. minimax/MiniMax-M2.1 (le moins cher, reset 5h) + 5. if/kimi-k2-thinking (gratuit illimité) + +Résultat : 5 niveaux de fallback = zéro temps d'arrêt +``` + +### Cas 4 : « Je veux l'IA GRATUITE dans OpenClaw » + +**Problème :** Besoin d'assistant IA dans les apps de messagerie, entièrement gratuit + +``` +Combo : "openclaw-free" + 1. if/glm-4.7 (illimité gratuit) + 2. if/minimax-m2.1 (illimité gratuit) + 3. if/kimi-k2-thinking (illimité gratuit) + +Coût mensuel : 0 $ +Accès via : WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Fonctionnalités principales + +### 🧠 Routage & Intelligence + +| Fonctionnalité | Ce qu'elle fait | +| ------------------------------------- | ------------------------------------------------------------------------------- | +| 🎯 **Fallback intelligent 4 niveaux** | Auto-routage : Abonnement → Clé API → Économique → Gratuit | +| 📊 **Suivi des quotas en temps réel** | Comptage de tokens en direct + compte à rebours de réinitialisation | +| 🔄 **Traduction de format** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro transparent | +| 👥 **Support multi-comptes** | Plusieurs comptes par fournisseur avec sélection intelligente | +| 🔄 **Renouvellement auto des tokens** | Les tokens OAuth se renouvellent automatiquement avec retry | +| 🎨 **Combos personnalisés** | 6 stratégies : fill-first, round-robin, p2c, random, least-used, cost-optimized | +| 🧩 **Modèles personnalisés** | Ajoutez n'importe quel ID de modèle à n'importe quel fournisseur | +| 🌐 **Routeur wildcard** | Routez les patterns `provider/*` vers n'importe quel fournisseur dynamiquement | +| 🧠 **Budget de raisonnement** | Modes passthrough, auto, custom et adaptive pour les modèles de raisonnement | +| 💬 **Injection System Prompt** | System prompt global appliqué à toutes les requêtes | +| 📄 **API Responses** | Support complet de l'API Responses d'OpenAI (`/v1/responses`) pour Codex | + +### 🎵 APIs multi-modales + +| Fonctionnalité | Ce qu'elle fait | +| -------------------------- | ------------------------------------------------------- | +| 🖼️ **Génération d'images** | `/v1/images/generations` — 4 fournisseurs, 9+ modèles | +| 📐 **Embeddings** | `/v1/embeddings` — 6 fournisseurs, 9+ modèles | +| 🎤 **Transcription audio** | `/v1/audio/transcriptions` — compatible Whisper | +| 🔊 **Texte vers parole** | `/v1/audio/speech` — synthèse audio multi-fournisseur | +| 🛡️ **Modérations** | `/v1/moderations` — vérifications de sécurité | +| 🔀 **Reranking** | `/v1/rerank` — reclassement de pertinence des documents | + +### 🛡️ Résilience & Sécurité + +| Fonctionnalité | Ce qu'elle fait | +| ------------------------------- | -------------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Ouverture/fermeture auto par fournisseur avec seuils configurables | +| 🛡️ **Anti-Thundering Herd** | Mutex + sémaphore de rate-limit pour les fournisseurs avec clé API | +| 🧠 **Cache sémantique** | Cache à deux niveaux (signature + sémantique) réduit coût et latence | +| ⚡ **Idempotence des requêtes** | Fenêtre de dédup 5s pour les requêtes dupliquées | +| 🔒 **Spoofing TLS Fingerprint** | Contournement de détection de bot via wreq-js | +| 🌐 **Filtrage IP** | Allowlist/blocklist pour le contrôle d'accès API | +| 📊 **Rate limits éditables** | RPM configurable, intervalle minimum, concurrence max | + +### 📊 Observabilité & Analytique + +| Fonctionnalité | Ce qu'elle fait | +| --------------------------------- | ------------------------------------------------------------------------- | +| 📝 **Logs de requêtes** | Mode debug avec logs complets requête/réponse | +| 💾 **Logs SQLite** | Logs proxy persistants survivant aux redémarrages | +| 📊 **Tableau de bord analytique** | Recharts : cartes de stats, graphique d'utilisation, tableau fournisseurs | +| 📈 **Suivi de progression** | Événements SSE de progression opt-in pour le streaming | +| 🧪 **Évaluations LLM** | Tests avec golden set et 4 stratégies de correspondance | +| 🔍 **Télémétrie des requêtes** | Agrégation de latence p50/p95/p99 + traçage X-Request-Id | +| 📋 **Logs + Quotas** | Pages dédiées pour navigation des logs et suivi des quotas | +| 🏥 **Tableau de bord santé** | Uptime, états circuit breaker, lockouts, stats cache | +| 💰 **Suivi des coûts** | Gestion de budget + configuration des prix par modèle | + +### ☁️ Déploiement & Synchronisation + +| Fonctionnalité | Ce qu'elle fait | +| --------------------------------- | ------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Synchroniser les paramètres entre appareils via Cloudflare Workers | +| 🌐 **Déployer partout** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **Gestion des clés API** | Générer, faire tourner et limiter les clés API par fournisseur | +| 🧙 **Assistant de configuration** | Setup guidé en 4 étapes pour les nouveaux utilisateurs | +| 🔧 **Tableau de bord CLI Tools** | Configuration en un clic pour Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Sauvegardes DB** | Sauvegarde et restauration automatiques de tous les paramètres | + +
+📖 Détails des fonctionnalités + +### 🎯 Fallback intelligent 4 niveaux + +Créez des combos avec fallback automatique : + +``` +Combo : "my-coding-stack" + 1. cc/claude-opus-4-6 (votre abonnement) + 2. nvidia/llama-3.3-70b (API NVIDIA gratuite) + 3. glm/glm-4.7 (backup économique, $0.6/1M) + 4. if/kimi-k2-thinking (fallback gratuit) + +→ Bascule automatiquement lorsque le quota est épuisé ou en cas d'erreurs +``` + +### 📊 Suivi des quotas en temps réel + +- Consommation de tokens par fournisseur +- Compte à rebours de réinitialisation (5 heures, quotidien, hebdomadaire) +- Estimation des coûts pour les niveaux payants +- Rapports de dépenses mensuels + +### 🔄 Traduction de format + +Traduction transparente entre les formats : + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Votre CLI envoie le format OpenAI → OmniRoute traduit → Le fournisseur reçoit le format natif +- Fonctionne avec tout outil supportant les endpoints OpenAI personnalisés + +### 👥 Support multi-comptes + +- Ajouter plusieurs comptes par fournisseur +- Round-robin automatique ou routage par priorité +- Basculement vers le compte suivant lorsqu'un quota est atteint + +### 🔄 Renouvellement automatique des tokens + +- Les tokens OAuth se renouvellent automatiquement avant expiration +- Pas de réauthentification manuelle nécessaire +- Expérience transparente sur tous les fournisseurs + +### 🎨 Combos personnalisés + +- Créer des combinaisons de modèles illimitées +- 6 stratégies : fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Partager les combos entre appareils avec Cloud Sync + +### 🏥 Tableau de bord santé + +- Statut du système (uptime, version, utilisation mémoire) +- États des circuit breakers par fournisseur (Closed/Open/Half-Open) +- Statut des rate limits et lockouts actifs +- Statistiques du cache de signatures +- Télémétrie de latence (p50/p95/p99) + cache de prompt +- Réinitialisation de la santé en un clic + +### 🔧 Playground du traducteur + +- Déboguer, tester et visualiser les traductions de format d'API +- Envoyer des requêtes et voir comment OmniRoute traduit entre les formats des fournisseurs +- Inestimable pour résoudre les problèmes d'intégration + +### 💾 Cloud Sync + +- Synchroniser fournisseurs, combos et paramètres entre appareils +- Synchronisation en arrière-plan automatique +- Stockage chiffré sécurisé + +
+ +--- + +## 📖 Guide de configuration + +
+💳 Fournisseurs par abonnement + +### Claude Code (Pro/Max) + +```bash +Tableau de bord → Fournisseurs → Connecter Claude Code +→ Connexion OAuth → Renouvellement auto des tokens +→ Suivi de quota 5h + hebdomadaire + +Modèles : + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Conseil Pro :** Utilisez Opus pour les tâches complexes, Sonnet pour la vitesse. OmniRoute suit les quotas par modèle ! + +### OpenAI Codex (Plus/Pro) + +```bash +Tableau de bord → Fournisseurs → Connecter Codex +→ Connexion OAuth (port 1455) +→ Reset 5h + hebdomadaire + +Modèles : + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATUIT 180K/mois !) + +```bash +Tableau de bord → Fournisseurs → Connecter Gemini CLI +→ Google OAuth +→ 180K completions/mois + 1K/jour + +Modèles : + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Meilleure valeur :** Niveau gratuit énorme ! Utilisez avant les niveaux payants. + +### GitHub Copilot + +```bash +Tableau de bord → Fournisseurs → Connecter GitHub +→ OAuth via GitHub +→ Reset mensuel (1er du mois) + +Modèles : + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Fournisseurs par clé API + +### NVIDIA NIM (GRATUIT 1000 crédits !) + +1. S'inscrire : [build.nvidia.com](https://build.nvidia.com) +2. Obtenir une clé API gratuite (1000 crédits d'inférence inclus) +3. Tableau de bord → Ajouter fournisseur → NVIDIA NIM : + - API Key : `nvapi-your-key` + +**Modèles :** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` et 50+ autres + +**Conseil Pro :** API compatible OpenAI — fonctionne parfaitement avec la traduction de format d'OmniRoute ! + +### DeepSeek + +1. S'inscrire : [platform.deepseek.com](https://platform.deepseek.com) +2. Obtenir une clé API +3. Tableau de bord → Ajouter fournisseur → DeepSeek + +**Modèles :** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Niveau gratuit disponible !) + +1. S'inscrire : [console.groq.com](https://console.groq.com) +2. Obtenir une clé API (niveau gratuit inclus) +3. Tableau de bord → Ajouter fournisseur → Groq + +**Modèles :** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Conseil Pro :** Inférence ultra-rapide — idéal pour le codage en temps réel ! + +### OpenRouter (100+ modèles) + +1. S'inscrire : [openrouter.ai](https://openrouter.ai) +2. Obtenir une clé API +3. Tableau de bord → Ajouter fournisseur → OpenRouter + +**Modèles :** Accès à 100+ modèles de tous les grands fournisseurs via une seule clé API. + +
+ +
+💰 Fournisseurs économiques (Backup) + +### GLM-4.7 (Reset quotidien, $0.6/1M) + +1. S'inscrire : [Zhipu AI](https://open.bigmodel.cn/) +2. Obtenir une clé API du Coding Plan +3. Tableau de bord → Ajouter clé API : + - Fournisseur : `glm` + - API Key : `your-key` + +**Utilisez :** `glm/glm-4.7` + +**Conseil Pro :** Le Coding Plan offre 3× le quota à 1/7 du coût ! Reset quotidien à 10h. + +### MiniMax M2.1 (Reset 5h, $0.20/1M) + +1. S'inscrire : [MiniMax](https://www.minimax.io/) +2. Obtenir une clé API +3. Tableau de bord → Ajouter clé API + +**Utilisez :** `minimax/MiniMax-M2.1` + +**Conseil Pro :** L'option la moins chère pour le contexte long (1M tokens) ! + +### Kimi K2 (9 $/mois fixe) + +1. S'abonner : [Moonshot AI](https://platform.moonshot.ai/) +2. Obtenir une clé API +3. Tableau de bord → Ajouter clé API + +**Utilisez :** `kimi/kimi-latest` + +**Conseil Pro :** 9 $/mois fixe pour 10M tokens = 0,90 $/1M de coût effectif ! + +
+ +
+🆓 Fournisseurs GRATUITS (Backup d'urgence) + +### iFlow (8 modèles GRATUITS) + +```bash +Tableau de bord → Connecter iFlow +→ Connexion OAuth iFlow +→ Utilisation illimitée + +Modèles : + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 modèles GRATUITS) + +```bash +Tableau de bord → Connecter Qwen +→ Autorisation par code d'appareil +→ Utilisation illimitée + +Modèles : + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATUIT) + +```bash +Tableau de bord → Connecter Kiro +→ AWS Builder ID ou Google/GitHub +→ Utilisation illimitée + +Modèles : + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Créer des combos + +### Exemple 1 : Maximiser l'abonnement → Backup économique + +``` +Tableau de bord → Combos → Créer nouveau + +Nom : premium-coding +Modèles : + 1. cc/claude-opus-4-6 (Abonnement principal) + 2. glm/glm-4.7 (Backup économique, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Fallback le moins cher, $0.20/1M) + +Utilisez en CLI : premium-coding +``` + +### Exemple 2 : Gratuit uniquement (Zéro coût) + +``` +Nom : free-combo +Modèles : + 1. gc/gemini-3-flash-preview (180K gratuits/mois) + 2. if/kimi-k2-thinking (illimité) + 3. qw/qwen3-coder-plus (illimité) + +Coût : 0 $ pour toujours ! +``` + +
+ +
+🔧 Intégration CLI + +### Cursor IDE + +``` +Paramètres → Modèles → Avancé : + OpenAI API Base URL : http://localhost:20128/v1 + OpenAI API Key : [du tableau de bord OmniRoute] + Model : cc/claude-opus-4-6 +``` + +### Claude Code + +Utilisez la page **CLI Tools** dans le tableau de bord pour la configuration en un clic, ou modifiez `~/.claude/settings.json` manuellement. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Option 1 — Tableau de bord (recommandé) :** + +``` +Tableau de bord → CLI Tools → OpenClaw → Sélectionner modèle → Appliquer +``` + +**Option 2 — Manuel :** Modifier `~/.openclaw/openclaw.json` : + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Note :** OpenClaw fonctionne uniquement avec OmniRoute local. Utilisez `127.0.0.1` au lieu de `localhost` pour éviter les problèmes de résolution IPv6. + +### Cline / Continue / RooCode + +``` +Paramètres → Configuration API : + Fournisseur : OpenAI Compatible + Base URL : http://localhost:20128/v1 + API Key : [du tableau de bord OmniRoute] + Model : if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Modèles disponibles + +
+Voir tous les modèles disponibles + +**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/`)** - GRATUIT : + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)** : + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Crédits GRATUITS : + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ modèles sur [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/`)** - GRATUIT : + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATUIT : + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATUIT : + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modèles : + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Tout modèle de [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Évaluations (Evals) + +OmniRoute inclut un framework d'évaluation intégré pour tester la qualité des réponses LLM contre un golden set. Accès via **Analytics → Evals** dans le tableau de bord. + +### Golden Set intégré + +Le « OmniRoute Golden Set » préchargé contient 10 cas de test : + +- Salutations, mathématiques, géographie, génération de code +- Conformité format JSON, traduction, markdown +- Rejet de sécurité (contenu nocif), comptage, logique booléenne + +### Stratégies d'évaluation + +| Stratégie | Description | Exemple | +| ---------- | -------------------------------------------------------------- | -------------------------------- | +| `exact` | La sortie doit correspondre exactement | `"4"` | +| `contains` | La sortie doit contenir la sous-chaîne (insensible à la casse) | `"Paris"` | +| `regex` | La sortie doit correspondre au motif regex | `"1.*2.*3"` | +| `custom` | Fonction JS personnalisée retourne true/false | `(output) => output.length > 10` | + +--- + +## 🐛 Dépannage + +
+Cliquez pour développer le guide de dépannage + +**« Language model did not provide messages »** + +- Quota du fournisseur épuisé → Vérifiez le suivi de quota dans le tableau de bord +- Solution : Utilisez un combo avec fallback ou passez à un niveau moins cher + +**Rate limiting** + +- Quota d'abonnement épuisé → Fallback vers GLM/MiniMax +- Ajoutez un combo : `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth expiré** + +- Renouvelé automatiquement par OmniRoute +- Si le problème persiste : Tableau de bord → Fournisseur → Reconnecter + +**Coûts élevés** + +- Vérifiez les statistiques d'utilisation dans Tableau de bord → Coûts +- Changez le modèle principal pour GLM/MiniMax +- Utilisez le niveau gratuit (Gemini CLI, iFlow) pour les tâches non critiques + +**Le tableau de bord s'ouvre sur le mauvais port** + +- Définissez `PORT=20128` et `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Erreurs de cloud sync** + +- Vérifiez que `BASE_URL` pointe vers votre instance en cours d'exécution +- Vérifiez que `CLOUD_URL` pointe vers le point de terminaison cloud attendu +- Gardez les valeurs `NEXT_PUBLIC_*` alignées avec les valeurs du serveur + +**Le premier login ne fonctionne pas** + +- Vérifiez `INITIAL_PASSWORD` dans `.env` +- Si non défini, le mot de passe par défaut est `123456` + +**Pas de logs de requêtes** + +- Définissez `ENABLE_REQUEST_LOGS=true` dans `.env` + +**Le test de connexion affiche « Invalid » pour les fournisseurs compatibles OpenAI** + +- Beaucoup de fournisseurs n'exposent pas le point de terminaison `/models` +- OmniRoute v0.8.8+ inclut une validation de secours via chat completions +- Assurez-vous que l'URL de base inclut le suffixe `/v1` + +
+ +--- + +## 🛠️ Stack technologique + +- **Runtime** : Node.js 20+ +- **Langage** : TypeScript 5.9 — **100% TypeScript** dans `src/` et `open-sse/` (v0.8.8) +- **Framework** : Next.js 16 + React 19 + Tailwind CSS 4 +- **Base de données** : LowDB (JSON) + SQLite (état du domaine + logs proxy) +- **Streaming** : Server-Sent Events (SSE) +- **Auth** : OAuth 2.0 (PKCE) + JWT + API Keys +- **Tests** : Node.js test runner (368+ tests unitaires) +- **CI/CD** : GitHub Actions (publication automatique npm + Docker Hub lors du release) +- **Site web** : [omniroute.online](https://omniroute.online) +- **Package** : [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker** : [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Résilience** : Circuit breaker, backoff exponentiel, anti-thundering herd, spoofing TLS + +--- + +## 📖 Documentation + +| Document | Description | +| ------------------------------------------ | --------------------------------------------------- | +| [Guide utilisateur](docs/USER_GUIDE.md) | Fournisseurs, combos, intégration CLI, déploiement | +| [Référence API](docs/API_REFERENCE.md) | Tous les endpoints avec exemples | +| [Dépannage](docs/TROUBLESHOOTING.md) | Problèmes courants et solutions | +| [Architecture](docs/ARCHITECTURE.md) | Architecture système et détails internes | +| [Contribuer](CONTRIBUTING.md) | Configuration de développement et directives | +| [Spécification OpenAPI](docs/openapi.yaml) | Spécification OpenAPI 3.0 | +| [Politique de sécurité](SECURITY.md) | Signalement de vulnérabilités et pratiques sécurité | + +--- + +## 📧 Support + +- **Site web** : [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) +- **Projet original** : [9router par decolua](https://github.com/decolua/9router) + +--- + +## 👥 Contributeurs + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Comment contribuer + +1. Forkez le dépôt +2. Créez votre branche de fonctionnalité (`git checkout -b feature/amazing-feature`) +3. Committez vos changements (`git commit -m 'Add amazing feature'`) +4. Poussez vers la branche (`git push origin feature/amazing-feature`) +5. Ouvrez une Pull Request + +Consultez [CONTRIBUTING.md](CONTRIBUTING.md) pour les directives détaillées. + +### Publier une nouvelle version + +```bash +# Créer un release — la publication npm est automatique +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Historique des Stars + + + + + + Star History Chart + + + +--- + +## 🙏 Remerciements + +Remerciements spéciaux à **[9router](https://github.com/decolua/9router)** par **[decolua](https://github.com/decolua)** — le projet original qui a inspiré ce fork. OmniRoute construit sur cette base incroyable avec des fonctionnalités supplémentaires, des APIs multi-modales et une réécriture complète en TypeScript. + +Remerciements spéciaux à **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — l'implémentation originale en Go qui a inspiré ce portage en JavaScript. + +--- + +## 📄 Licence + +Licence MIT — voir [LICENSE](LICENSE) pour les détails. + +--- + +
+ Fait avec ❤️ pour les développeurs qui codent 24/7 +
+ omniroute.online +
diff --git a/README.it.md b/README.it.md new file mode 100644 index 0000000000..7eb0e17a87 --- /dev/null +++ b/README.it.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Il Gateway IA Gratuito + +### Non smettere mai di programmare. Routing intelligente verso **modelli IA GRATUITI e economici** con fallback automatico. + +_Il tuo proxy API universale — un endpoint, 36+ provider, zero downtime._ + +**Chat Completions • Embeddings • Generazione Immagini • Audio • Reranking • 100% TypeScript** + +--- + +### 🤖 Provider IA gratuito per i tuoi agenti di programmazione preferiti + +_Connetti qualsiasi IDE o strumento CLI con IA tramite OmniRoute — gateway API gratuito per programmazione illimitata._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Tutti gli agenti si connettono via http://localhost:20128/v1 o http://cloud.omniroute.online/v1 — una configurazione, modelli e quota illimitati + +--- + +[![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) + +[🌐 Sito Web](https://omniroute.online) • [🚀 Avvio Rapido](#-avvio-rapido) • [💡 Funzionalità](#-funzionalità-principali) • [📖 Docs](#-documentazione) • [💰 Prezzi](#-panoramica-prezzi) + +🌐 **Disponibile 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) + +
+ +--- + +## 🤔 Perché OmniRoute? + +**Smetti di sprecare soldi e di sbattere contro i limiti:** + +- La quota dell'abbonamento scade inutilizzata ogni mese +- I limiti di rate ti fermano nel mezzo della programmazione +- API costose ($20-50/mese per provider) +- Cambio manuale tra provider + +**OmniRoute risolve tutto questo:** + +- ✅ **Massimizza gli abbonamenti** — Traccia le quote, usa tutto prima del reset +- ✅ **Fallback automatico** — Abbonamento → API Key → Economico → Gratuito, zero downtime +- ✅ **Multi-account** — Round-robin tra account per provider +- ✅ **Universale** — Funziona con Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, qualsiasi strumento CLI + +--- + +## 🔄 Come Funziona + +``` +┌─────────────┐ +│ Il tuo CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Router Intelligente) │ +│ • Traduzione formato (OpenAI ↔ Claude) │ +│ • Tracciamento quote + Embeddings + Immagini │ +│ • Rinnovo automatico dei token │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: ABBONAMENTO] Claude Code, Codex, Gemini CLI + │ ↓ quota esaurita + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, ecc. + │ ↓ limite budget + ├─→ [Tier 3: ECONOMICO] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ limite budget + └─→ [Tier 4: GRATUITO] iFlow, Qwen, Kiro (illimitato) + +Risultato: Non smettere mai di programmare, costo minimo +``` + +--- + +## ⚡ Avvio Rapido + +**1. Installa globalmente:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 La Dashboard si apre su `http://localhost:20128` + +| Comando | Descrizione | +| ----------------------- | ------------------------------------------- | +| `omniroute` | Avviare il server (porta predefinita 20128) | +| `omniroute --port 3000` | Usare una porta personalizzata | +| `omniroute --no-open` | Non aprire il browser automaticamente | +| `omniroute --help` | Mostrare l'aiuto | + +**2. Connetti un provider GRATUITO:** + +Dashboard → Provider → Connetti **Claude Code** o **Antigravity** → Login OAuth → Fatto! + +**3. Usa nel tuo strumento CLI:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Impostazioni: + Endpoint: http://localhost:20128/v1 + API Key: [copia dalla dashboard] + Model: if/kimi-k2-thinking +``` + +**Tutto qui!** Inizia a programmare con modelli IA GRATUITI. + +**Alternativa — eseguire dal codice sorgente:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute è disponibile come immagine Docker pubblica su [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Avvio rapido:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Con file di ambiente:** + +```bash +# Copia e modifica il .env prima +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 +``` + +**Con Docker Compose:** + +```bash +# Profilo base (senza strumenti CLI) +docker compose --profile base up -d + +# Profilo CLI (Claude Code, Codex, OpenClaw integrati) +docker compose --profile cli up -d +``` + +| Immagine | Tag | Dimensione | Descrizione | +| ------------------------ | -------- | ---------- | ----------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Ultima versione stabile | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Versione attuale | + +--- + +## 💰 Panoramica Prezzi + +| Tier | Provider | Costo | Reset Quota | Ideale Per | +| ------------------ | ----------------- | ---------------------------- | --------------------- | ------------------------------- | +| **💳 ABBONAMENTO** | Claude Code (Pro) | $20/mese | 5h + settimanale | Già abbonato | +| | Codex (Plus/Pro) | $20-200/mese | 5h + settimanale | Utenti OpenAI | +| | Gemini CLI | **GRATUITO** | 180K/mese + 1K/giorno | Tutti! | +| | GitHub Copilot | $10-19/mese | Mensile | Utenti GitHub | +| **🔑 API KEY** | NVIDIA NIM | **GRATUITO** (1000 crediti) | Una tantum | Test gratuiti | +| | DeepSeek | A consumo | Nessuno | Miglior rapporto qualità-prezzo | +| | Groq | Livello gratis + a pagamento | Limitato | Inferenza ultra-veloce | +| | xAI (Grok) | A consumo | Nessuno | Modelli Grok | +| | Mistral | Livello gratis + a pagamento | Limitato | IA Europea | +| | OpenRouter | A consumo | Nessuno | 100+ modelli | +| **💰 ECONOMICO** | GLM-4.7 | $0.6/1M | Giornaliero 10h | Backup economico | +| | MiniMax M2.1 | $0.2/1M | Rotativo 5h | Opzione più economica | +| | Kimi K2 | $9/mese fisso | 10M token/mese | Costo prevedibile | +| **🆓 GRATUITO** | iFlow | $0 | Illimitato | 8 modelli gratuiti | +| | Qwen | $0 | Illimitato | 3 modelli gratuiti | +| | Kiro | $0 | Illimitato | Claude gratuito | + +**💡 Consiglio Pro:** Inizia con Gemini CLI (180K gratis/mese) + iFlow (illimitato gratis) = $0 di costo! + +--- + +## 🎯 Casi d'Uso + +### Caso 1: "Ho un abbonamento Claude Pro" + +**Problema:** La quota scade inutilizzata, limiti di rate durante la programmazione intensa + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (usa l'abbonamento al massimo) + 2. glm/glm-4.7 (backup economico quando la quota è esaurita) + 3. if/kimi-k2-thinking (fallback d'emergenza gratuito) + +Costo mensile: $20 (abbonamento) + ~$5 (backup) = $25 totale +vs. $20 + sbattere contro i limiti = frustrazione +``` + +### Caso 2: "Voglio costo zero" + +**Problema:** Non può permettersi abbonamenti, ha bisogno di IA affidabile per programmare + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K gratis/mese) + 2. if/kimi-k2-thinking (illimitato gratis) + 3. qw/qwen3-coder-plus (illimitato gratis) + +Costo mensile: $0 +Qualità: Modelli pronti per la produzione +``` + +### Caso 3: "Devo programmare 24/7, senza interruzioni" + +**Problema:** Scadenze strette, non può permettersi downtime + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (migliore qualità) + 2. cx/gpt-5.2-codex (secondo abbonamento) + 3. glm/glm-4.7 (economico, reset giornaliero) + 4. minimax/MiniMax-M2.1 (più economico, reset 5h) + 5. if/kimi-k2-thinking (gratuito illimitato) + +Risultato: 5 livelli di fallback = zero downtime +``` + +### Caso 4: "Voglio IA GRATUITA in OpenClaw" + +**Problema:** Ha bisogno di assistente IA nelle app di messaggistica, completamente gratuito + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (illimitato gratis) + 2. if/minimax-m2.1 (illimitato gratis) + 3. if/kimi-k2-thinking (illimitato gratis) + +Costo mensile: $0 +Accesso via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Funzionalità Principali + +### 🧠 Routing & Intelligenza + +| Funzionalità | Cosa Fa | +| ---------------------------------------- | ----------------------------------------------------------------------------- | +| 🎯 **Fallback intelligente 4 livelli** | Auto-routing: Abbonamento → API Key → Economico → Gratuito | +| 📊 **Tracciamento quote in tempo reale** | Conteggio token live + countdown reset per provider | +| 🔄 **Traduzione di formato** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro trasparente | +| 👥 **Supporto multi-account** | Account multipli per provider con selezione intelligente | +| 🔄 **Rinnovo automatico dei token** | I token OAuth si rinnovano automaticamente con retry | +| 🎨 **Combo personalizzati** | 6 strategie: fill-first, round-robin, p2c, random, least-used, cost-optimized | +| 🧩 **Modelli personalizzati** | Aggiungi qualsiasi ID modello a qualsiasi provider | +| 🌐 **Router wildcard** | Instrada pattern `provider/*` verso qualsiasi provider dinamicamente | +| 🧠 **Budget di ragionamento** | Modalità passthrough, auto, custom e adaptive per modelli di ragionamento | +| 💬 **Iniezione System Prompt** | System prompt globale applicato a tutte le richieste | +| 📄 **API Responses** | Supporto completo per OpenAI Responses API (`/v1/responses`) per Codex | + +### 🎵 API Multi-modali + +| Funzionalità | Cosa Fa | +| --------------------------- | ---------------------------------------------------- | +| 🖼️ **Generazione immagini** | `/v1/images/generations` — 4 provider, 9+ modelli | +| 📐 **Embeddings** | `/v1/embeddings` — 6 provider, 9+ modelli | +| 🎤 **Trascrizione audio** | `/v1/audio/transcriptions` — Compatibile Whisper | +| 🔊 **Testo a voce** | `/v1/audio/speech` — Sintesi audio multi-provider | +| 🛡️ **Moderazioni** | `/v1/moderations` — Controlli di sicurezza | +| 🔀 **Reranking** | `/v1/rerank` — Riclassificazione rilevanza documenti | + +### 🛡️ Resilienza & Sicurezza + +| Funzionalità | Cosa Fa | +| ------------------------------- | -------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Apertura/chiusura auto per provider con soglie configurabili | +| 🛡️ **Anti-Thundering Herd** | Mutex + semaforo rate-limit per provider con API key | +| 🧠 **Cache semantica** | Cache a due livelli (firma + semantica) riduce costi e latenza | +| ⚡ **Idempotenza richieste** | Finestra dedup 5s per richieste duplicate | +| 🔒 **Spoofing TLS Fingerprint** | Bypass rilevamento bot tramite wreq-js | +| 🌐 **Filtro IP** | Allowlist/blocklist per controllo accesso API | +| 📊 **Rate limit modificabili** | RPM, gap minimo e concorrenza massima configurabili | + +### 📊 Osservabilità & Analytics + +| Funzionalità | Cosa Fa | +| ----------------------------- | ------------------------------------------------------------ | +| 📝 **Log richieste** | Modalità debug con log completi richiesta/risposta | +| 💾 **Log SQLite** | Log proxy persistenti che sopravvivono ai riavvii | +| 📊 **Dashboard analytics** | Recharts: card statistiche, grafico uso, tabella provider | +| 📈 **Tracciamento progresso** | Eventi SSE di progresso opt-in per lo streaming | +| 🧪 **Valutazioni LLM** | Test con golden set e 4 strategie di corrispondenza | +| 🔍 **Telemetria richieste** | Aggregazione latenza p50/p95/p99 + tracciamento X-Request-Id | +| 📋 **Log + Quote** | Pagine dedicate per navigazione log e tracciamento quote | +| 🏥 **Dashboard salute** | Uptime, stati circuit breaker, lockout, statistiche cache | +| 💰 **Tracciamento costi** | Gestione budget + configurazione prezzi per modello | + +### ☁️ Deploy & Sincronizzazione + +| Funzionalità | Cosa Fa | +| -------------------------------- | -------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Sincronizza impostazioni tra dispositivi via Cloudflare Workers | +| 🌐 **Deploy ovunque** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **Gestione API Key** | Genera, ruota e limita API key per provider | +| 🧙 **Assistente configurazione** | Setup guidato in 4 passaggi per nuovi utenti | +| 🔧 **Dashboard CLI Tools** | Configurazione con un clic per Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Backup DB** | Backup e ripristino automatici di tutte le impostazioni | + +
+📖 Dettagli funzionalità + +### 🎯 Fallback intelligente 4 livelli + +Crea combo con fallback automatico: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (il tuo abbonamento) + 2. nvidia/llama-3.3-70b (API NVIDIA gratuita) + 3. glm/glm-4.7 (backup economico, $0.6/1M) + 4. if/kimi-k2-thinking (fallback gratuito) + +→ Cambia automaticamente quando la quota si esaurisce o si verificano errori +``` + +### 📊 Tracciamento quote in tempo reale + +- Consumo token per provider +- Countdown reset (5 ore, giornaliero, settimanale) +- Stima dei costi per livelli a pagamento +- Report spese mensili + +### 🔄 Traduzione di formato + +Traduzione trasparente tra formati: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Il tuo CLI invia in formato OpenAI → OmniRoute traduce → Il provider riceve il formato nativo +- Funziona con qualsiasi strumento che supporti endpoint OpenAI personalizzati + +### 👥 Supporto multi-account + +- Aggiungi account multipli per provider +- Round-robin automatico o routing per priorità +- Fallback all'account successivo quando la quota viene raggiunta + +### 🔄 Rinnovo automatico dei token + +- I token OAuth si rinnovano automaticamente prima della scadenza +- Nessuna necessità di ri-autenticazione manuale +- Esperienza trasparente su tutti i provider + +### 🎨 Combo personalizzati + +- Crea combinazioni di modelli illimitate +- 6 strategie: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Condividi combo tra dispositivi con Cloud Sync + +### 🏥 Dashboard salute + +- Stato del sistema (uptime, versione, utilizzo memoria) +- Stati circuit breaker per provider (Closed/Open/Half-Open) +- Stato rate limit e lockout attivi +- Statistiche cache firme +- Telemetria latenza (p50/p95/p99) + cache prompt +- Reset salute con un clic + +### 🔧 Playground del traduttore + +- Debug, test e visualizzazione delle traduzioni di formato API +- Invia richieste e vedi come OmniRoute traduce tra formati dei provider +- Inestimabile per risolvere problemi di integrazione + +### 💾 Cloud Sync + +- Sincronizza provider, combo e impostazioni tra dispositivi +- Sincronizzazione in background automatica +- Archiviazione criptata sicura + +
+ +--- + +## 📖 Guida alla Configurazione + +
+💳 Provider per abbonamento + +### Claude Code (Pro/Max) + +```bash +Dashboard → Provider → Connetti Claude Code +→ Login OAuth → Rinnovo automatico token +→ Tracciamento quota 5h + settimanale + +Modelli: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Consiglio Pro:** Usa Opus per compiti complessi, Sonnet per velocità. OmniRoute traccia la quota per modello! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Provider → Connetti Codex +→ Login OAuth (porta 1455) +→ Reset 5h + settimanale + +Modelli: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATUITO 180K/mese!) + +```bash +Dashboard → Provider → Connetti Gemini CLI +→ Google OAuth +→ 180K completions/mese + 1K/giorno + +Modelli: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Miglior valore:** Livello gratuito enorme! Usa prima dei livelli a pagamento. + +### GitHub Copilot + +```bash +Dashboard → Provider → Connetti GitHub +→ OAuth via GitHub +→ Reset mensile (1° del mese) + +Modelli: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Provider per API Key + +### NVIDIA NIM (GRATUITO 1000 crediti!) + +1. Registrati: [build.nvidia.com](https://build.nvidia.com) +2. Ottieni una API key gratuita (1000 crediti di inferenza inclusi) +3. Dashboard → Aggiungi Provider → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Modelli:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` e 50+ altri + +**Consiglio Pro:** API compatibile OpenAI — funziona perfettamente con la traduzione di formato di OmniRoute! + +### DeepSeek + +1. Registrati: [platform.deepseek.com](https://platform.deepseek.com) +2. Ottieni una API key +3. Dashboard → Aggiungi Provider → DeepSeek + +**Modelli:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Livello gratuito disponibile!) + +1. Registrati: [console.groq.com](https://console.groq.com) +2. Ottieni una API key (livello gratuito incluso) +3. Dashboard → Aggiungi Provider → Groq + +**Modelli:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Consiglio Pro:** Inferenza ultra-veloce — ideale per programmazione in tempo reale! + +### OpenRouter (100+ modelli) + +1. Registrati: [openrouter.ai](https://openrouter.ai) +2. Ottieni una API key +3. Dashboard → Aggiungi Provider → OpenRouter + +**Modelli:** Accesso a 100+ modelli da tutti i principali provider tramite una singola API key. + +
+ +
+💰 Provider economici (Backup) + +### GLM-4.7 (Reset giornaliero, $0.6/1M) + +1. Registrati: [Zhipu AI](https://open.bigmodel.cn/) +2. Ottieni la API key dal Coding Plan +3. Dashboard → Aggiungi API Key: + - Provider: `glm` + - API Key: `your-key` + +**Usa:** `glm/glm-4.7` + +**Consiglio Pro:** Il Coding Plan offre 3× quota a 1/7 del costo! Reset giornaliero alle 10:00. + +### MiniMax M2.1 (Reset 5h, $0.20/1M) + +1. Registrati: [MiniMax](https://www.minimax.io/) +2. Ottieni una API key +3. Dashboard → Aggiungi API Key + +**Usa:** `minimax/MiniMax-M2.1` + +**Consiglio Pro:** L'opzione più economica per contesto lungo (1M token)! + +### Kimi K2 ($9/mese fisso) + +1. Abbonati: [Moonshot AI](https://platform.moonshot.ai/) +2. Ottieni una API key +3. Dashboard → Aggiungi API Key + +**Usa:** `kimi/kimi-latest` + +**Consiglio Pro:** $9/mese fisso per 10M token = $0.90/1M di costo effettivo! + +
+ +
+🆓 Provider GRATUITI (Backup d'emergenza) + +### iFlow (8 modelli GRATUITI) + +```bash +Dashboard → Connetti iFlow +→ Login OAuth iFlow +→ Utilizzo illimitato + +Modelli: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 modelli GRATUITI) + +```bash +Dashboard → Connetti Qwen +→ Autorizzazione con codice dispositivo +→ Utilizzo illimitato + +Modelli: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATUITO) + +```bash +Dashboard → Connetti Kiro +→ AWS Builder ID o Google/GitHub +→ Utilizzo illimitato + +Modelli: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Creare combo + +### Esempio 1: Massimizzare abbonamento → Backup economico + +``` +Dashboard → Combo → Crea nuovo + +Nome: premium-coding +Modelli: + 1. cc/claude-opus-4-6 (Abbonamento principale) + 2. glm/glm-4.7 (Backup economico, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Fallback più economico, $0.20/1M) + +Usa nel CLI: premium-coding +``` + +### Esempio 2: Solo gratuiti (Costo zero) + +``` +Nome: free-combo +Modelli: + 1. gc/gemini-3-flash-preview (180K gratis/mese) + 2. if/kimi-k2-thinking (illimitato) + 3. qw/qwen3-coder-plus (illimitato) + +Costo: $0 per sempre! +``` + +
+ +
+🔧 Integrazione CLI + +### Cursor IDE + +``` +Impostazioni → Modelli → Avanzato: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [dalla dashboard OmniRoute] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Usa la pagina **CLI Tools** nella dashboard per la configurazione con un clic, o modifica `~/.claude/settings.json` manualmente. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Opzione 1 — Dashboard (consigliato):** + +``` +Dashboard → CLI Tools → OpenClaw → Seleziona Modello → Applica +``` + +**Opzione 2 — Manuale:** Modifica `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Nota:** OpenClaw funziona solo con OmniRoute locale. Usa `127.0.0.1` invece di `localhost` per evitare problemi di risoluzione IPv6. + +### Cline / Continue / RooCode + +``` +Impostazioni → Configurazione API: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [dalla dashboard OmniRoute] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Modelli Disponibili + +
+Vedi tutti i modelli disponibili + +**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/`)** - GRATUITO: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Crediti GRATUITI: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ modelli su [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/`)** - GRATUITO: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATUITO: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATUITO: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modelli: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Qualsiasi modello da [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Valutazioni (Evals) + +OmniRoute include un framework di valutazione integrato per testare la qualità delle risposte LLM contro un golden set. Accesso via **Analytics → Evals** nella dashboard. + +### Golden Set integrato + +Il "OmniRoute Golden Set" precaricato contiene 10 casi di test: + +- Saluti, matematica, geografia, generazione codice +- Conformità formato JSON, traduzione, markdown +- Rifiuto sicurezza (contenuto nocivo), conteggio, logica booleana + +### Strategie di valutazione + +| Strategia | Descrizione | Esempio | +| ---------- | ---------------------------------------------------------- | -------------------------------- | +| `exact` | L'output deve corrispondere esattamente | `"4"` | +| `contains` | L'output deve contenere la sottostringa (case-insensitive) | `"Paris"` | +| `regex` | L'output deve corrispondere al pattern regex | `"1.*2.*3"` | +| `custom` | Funzione JS personalizzata restituisce true/false | `(output) => output.length > 10` | + +--- + +## 🐛 Risoluzione Problemi + +
+Clicca per espandere la guida alla risoluzione problemi + +**"Language model did not provide messages"** + +- Quota del provider esaurita → Controlla il tracker quote nella dashboard +- Soluzione: Usa un combo con fallback o passa a un livello più economico + +**Rate limiting** + +- Quota abbonamento esaurita → Fallback a GLM/MiniMax +- Aggiungi combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth scaduto** + +- Rinnovato automaticamente da OmniRoute +- Se il problema persiste: Dashboard → Provider → Riconnetti + +**Costi elevati** + +- Controlla le statistiche di utilizzo in Dashboard → Costi +- Cambia il modello principale a GLM/MiniMax +- Usa il livello gratuito (Gemini CLI, iFlow) per compiti non critici + +**La dashboard si apre sulla porta sbagliata** + +- Imposta `PORT=20128` e `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Errori cloud sync** + +- Verifica che `BASE_URL` punti alla tua istanza in esecuzione +- Verifica che `CLOUD_URL` punti all'endpoint cloud previsto +- Mantieni i valori `NEXT_PUBLIC_*` allineati con i valori del server + +**Il primo login non funziona** + +- Controlla `INITIAL_PASSWORD` nel `.env` +- Se non impostata, la password predefinita è `123456` + +**Nessun log delle richieste** + +- Imposta `ENABLE_REQUEST_LOGS=true` nel `.env` + +**Il test di connessione mostra "Invalid" per provider compatibili OpenAI** + +- Molti provider non espongono l'endpoint `/models` +- OmniRoute v0.8.8+ include validazione fallback tramite chat completions +- Assicurati che la URL base includa il suffisso `/v1` + +
+ +--- + +## 🛠️ Stack Tecnologico + +- **Runtime**: Node.js 20+ +- **Linguaggio**: TypeScript 5.9 — **100% TypeScript** in `src/` e `open-sse/` (v0.8.8) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Database**: LowDB (JSON) + SQLite (stato dominio + log proxy) +- **Streaming**: Server-Sent Events (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys +- **Testing**: Node.js test runner (368+ test unitari) +- **CI/CD**: GitHub Actions (pubblicazione automatica npm + Docker Hub al rilascio) +- **Sito Web**: [omniroute.online](https://omniroute.online) +- **Pacchetto**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resilienza**: Circuit breaker, backoff esponenziale, anti-thundering herd, TLS spoofing + +--- + +## 📖 Documentazione + +| Documento | Descrizione | +| ----------------------------------------------- | -------------------------------------------------- | +| [Guida Utente](docs/USER_GUIDE.md) | Provider, combo, integrazione CLI, deploy | +| [Riferimento API](docs/API_REFERENCE.md) | Tutti gli endpoint con esempi | +| [Risoluzione Problemi](docs/TROUBLESHOOTING.md) | Problemi comuni e soluzioni | +| [Architettura](docs/ARCHITECTURE.md) | Architettura del sistema e dettagli interni | +| [Come Contribuire](CONTRIBUTING.md) | Setup di sviluppo e linee guida | +| [Spec OpenAPI](docs/openapi.yaml) | Specifica OpenAPI 3.0 | +| [Politica di Sicurezza](SECURITY.md) | Segnalazione vulnerabilità e pratiche di sicurezza | + +--- + +## 📧 Supporto + +- **Sito Web**: [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) +- **Progetto Originale**: [9router di decolua](https://github.com/decolua/9router) + +--- + +## 👥 Contributori + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Come Contribuire + +1. Fai il fork del repository +2. Crea il tuo branch di funzionalità (`git checkout -b feature/amazing-feature`) +3. Fai il commit delle modifiche (`git commit -m 'Add amazing feature'`) +4. Fai il push al branch (`git push origin feature/amazing-feature`) +5. Apri una Pull Request + +Consulta [CONTRIBUTING.md](CONTRIBUTING.md) per le linee guida dettagliate. + +### Rilasciare una nuova versione + +```bash +# Crea un rilascio — la pubblicazione npm avviene automaticamente +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Cronologia Stelle + + + + + + Star History Chart + + + +--- + +## 🙏 Ringraziamenti + +Un ringraziamento speciale a **[9router](https://github.com/decolua/9router)** di **[decolua](https://github.com/decolua)** — il progetto originale che ha ispirato questo fork. OmniRoute si costruisce su quell'incredibile base con funzionalità aggiuntive, API multi-modali e una riscrittura completa in TypeScript. + +Un ringraziamento speciale a **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — l'implementazione originale in Go che ha ispirato questo porting in JavaScript. + +--- + +## 📄 Licenza + +Licenza MIT — vedi [LICENSE](LICENSE) per i dettagli. + +--- + +
+ Fatto con ❤️ per gli sviluppatori che programmano 24/7 +
+ omniroute.online +
diff --git a/README.md b/README.md index f619fc9be6..771ab344db 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,110 @@
OmniRoute Dashboard - # OmniRoute - Free AI Router - - **Never stop coding. Auto-route to FREE & cheap AI models with smart fallback.** - - **36+ Providers • Embeddings • Image Generation • Audio • Reranking • Full TypeScript** - - **Free AI Provider for OpenClaw.** - -

- OpenClaw -

- - > *This project is inspired by and originally forked from [9router](https://github.com/decolua/9router) by [decolua](https://github.com/decolua). Thank you for the incredible foundation!* - - [![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) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) + # 🚀 OmniRoute — The Free AI Gateway + +### Never stop coding. Smart routing to **FREE & low-cost AI models** with automatic fallback. + +_Your universal API proxy — one endpoint, 36+ providers, zero downtime._ + +**Chat Completions • Embeddings • Image Generation • Audio • Reranking • 100% TypeScript** + +--- + +### 🤖 Free AI Provider for your favorite coding agents + +_Connect any AI-powered IDE or CLI tool through OmniRoute — free API gateway for unlimited coding._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 All agents connect via http://localhost:20128/v1 or http://cloud.omniroute.online/v1 — one config, unlimited models and quota + +--- + +[![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) • [🚀 Quick Start](#-quick-start) • [💡 Features](#-key-features) • [📖 Docs](#-documentation) • [💰 Pricing](#-pricing-at-a-glance) + +🌐 **Available 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) +
--- @@ -29,17 +113,17 @@ **Stop wasting money and hitting limits:** -- ❌ Subscription quota expires unused every month -- ❌ Rate limits stop you mid-coding -- ❌ Expensive APIs ($20-50/month per provider) -- ❌ Manual switching between providers +- Subscription quota expires unused every month +- Rate limits stop you mid-coding +- Expensive APIs ($20-50/month per provider) +- Manual switching between providers **OmniRoute solves this:** - ✅ **Maximize subscriptions** - Track quota, use every bit before reset -- ✅ **Auto fallback** - Subscription → Cheap → Free, zero downtime +- ✅ **Auto fallback** - Subscription → API Key → Cheap → Free, zero downtime - ✅ **Multi-account** - Round-robin between accounts per provider -- ✅ **Universal** - Works with Claude Code, Codex, Gemini CLI, Cursor, Cline, any CLI tool +- ✅ **Universal** - Works with Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, any CLI tool --- @@ -61,7 +145,7 @@ │ ├─→ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI │ ↓ quota exhausted - ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, Together, etc. + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. │ ↓ budget limit ├─→ [Tier 3: CHEAP] GLM ($0.6/1M), MiniMax ($0.2/1M) │ ↓ budget limit @@ -162,6 +246,92 @@ docker compose --profile cli up -d --- +## 💰 Pricing at a Glance + +| Tier | Provider | Cost | Quota Reset | Best For | +| ------------------- | ----------------- | ----------------------- | ---------------- | -------------------- | +| **💳 SUBSCRIPTION** | Claude Code (Pro) | $20/mo | 5h + weekly | Already subscribed | +| | Codex (Plus/Pro) | $20-200/mo | 5h + weekly | OpenAI users | +| | Gemini CLI | **FREE** | 180K/mo + 1K/day | Everyone! | +| | GitHub Copilot | $10-19/mo | Monthly | GitHub users | +| **🔑 API KEY** | NVIDIA NIM | **FREE** (1000 credits) | One-time | Free tier testing | +| | DeepSeek | Pay-per-use | None | Best price/quality | +| | Groq | Free tier + paid | Rate limited | Ultra-fast inference | +| | xAI (Grok) | Pay-per-use | None | Grok models | +| | Mistral | Free tier + paid | Rate limited | European AI | +| | OpenRouter | Pay-per-use | None | 100+ models | +| **💰 CHEAP** | GLM-4.7 | $0.6/1M | Daily 10AM | Budget backup | +| | MiniMax M2.1 | $0.2/1M | 5-hour rolling | Cheapest option | +| | Kimi K2 | $9/mo flat | 10M tokens/mo | Predictable cost | +| **🆓 FREE** | iFlow | $0 | Unlimited | 8 models free | +| | Qwen | $0 | Unlimited | 3 models free | +| | Kiro | $0 | Unlimited | Claude free | + +**💡 Pro Tip:** Start with Gemini CLI (180K free/month) + iFlow (unlimited free) combo = $0 cost! + +--- + +## 🎯 Use Cases + +### Case 1: "I have Claude Pro subscription" + +**Problem:** Quota expires unused, rate limits during heavy coding + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (use subscription fully) + 2. glm/glm-4.7 (cheap backup when quota out) + 3. if/kimi-k2-thinking (free emergency fallback) + +Monthly cost: $20 (subscription) + ~$5 (backup) = $25 total +vs. $20 + hitting limits = frustration +``` + +### Case 2: "I want zero cost" + +**Problem:** Can't afford subscriptions, need reliable AI coding + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K free/month) + 2. if/kimi-k2-thinking (unlimited free) + 3. qw/qwen3-coder-plus (unlimited free) + +Monthly cost: $0 +Quality: Production-ready models +``` + +### Case 3: "I need 24/7 coding, no interruptions" + +**Problem:** Deadlines, can't afford downtime + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (best quality) + 2. cx/gpt-5.2-codex (second subscription) + 3. glm/glm-4.7 (cheap, resets daily) + 4. minimax/MiniMax-M2.1 (cheapest, 5h reset) + 5. if/kimi-k2-thinking (free unlimited) + +Result: 5 layers of fallback = zero downtime +``` + +### Case 4: "I want FREE AI in OpenClaw" + +**Problem:** Need AI assistant in messaging apps, completely free + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (unlimited free) + 2. if/minimax-m2.1 (unlimited free) + 3. if/kimi-k2-thinking (unlimited free) + +Monthly cost: $0 +Access via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + ## 💡 Key Features ### 🧠 Core Routing & Intelligence @@ -201,7 +371,6 @@ docker compose --profile cli up -d | ⚡ **Request Idempotency** | 5s dedup window for duplicate requests | | 🔒 **TLS Fingerprint Spoofing** | Bypass TLS-based bot detection via wreq-js | | 🌐 **IP Filtering** | Allowlist/blocklist for API access control | -| 📋 **Compliance Audit Log** | Tamper-proof request logs with opt-out per API key | | 📊 **Editable Rate Limits** | Configurable RPM, min gap, and max concurrent at system level | ### 📊 Observability & Analytics @@ -215,14 +384,440 @@ docker compose --profile cli up -d | 🧪 **LLM Evaluations** | Golden set testing with 4 match strategies | | 🔍 **Request Telemetry** | p50/p95/p99 latency aggregation + X-Request-Id tracing | | 📋 **Request Logs + Quotas** | Dedicated pages for log browsing and limits/quotas tracking | +| 🏥 **Health Dashboard** | System uptime, circuit breaker states, lockouts, cache stats | +| 💰 **Cost Tracking** | Budget management + per-model pricing configuration | ### ☁️ Deployment & Sync -| Feature | What It Does | -| ------------------------- | ------------------------------------------------- | -| 💾 **Cloud Sync** | Sync config across devices via Cloudflare Workers | -| 🌐 **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers | -| 🔑 **API Key Management** | Generate, rotate, and scope API keys per provider | +| Feature | What It Does | +| -------------------------- | --------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Sync config across devices via Cloudflare Workers | +| 🌐 **Deploy Anywhere** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **API Key Management** | Generate, rotate, and scope API keys per provider | +| 🧙 **Onboarding Wizard** | 4-step guided setup for first-time users | +| 🔧 **CLI Tools Dashboard** | One-click configure Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **DB Backups** | Automatic backup and restore for all settings | + +
+📖 Feature Details + +### 🎯 Smart 4-Tier Fallback + +Create combos with automatic fallback: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (your subscription) + 2. nvidia/llama-3.3-70b (free NVIDIA API) + 3. glm/glm-4.7 (cheap backup, $0.6/1M) + 4. if/kimi-k2-thinking (free fallback) + +→ Auto switches when quota runs out or errors occur +``` + +### 📊 Real-Time Quota Tracking + +- Token consumption per provider +- Reset countdown (5-hour, daily, weekly) +- Cost estimation for paid tiers +- Monthly spending reports + +### 🔄 Format Translation + +Seamless translation between formats: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Your CLI tool sends OpenAI format → OmniRoute translates → Provider receives native format +- Works with any tool that supports custom OpenAI endpoints + +### 👥 Multi-Account Support + +- Add multiple accounts per provider +- Auto round-robin or priority-based routing +- Fallback to next account when one hits quota + +### 🔄 Auto Token Refresh + +- OAuth tokens automatically refresh before expiration +- No manual re-authentication needed +- Seamless experience across all providers + +### 🎨 Custom Combos + +- Create unlimited model combinations +- 6 strategies: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Share combos across devices with Cloud Sync + +### 🏥 Health Dashboard + +- System status (uptime, version, memory usage) +- Circuit breaker states per provider (Closed/Open/Half-Open) +- Rate limit status and active lockouts +- Signature cache statistics +- Latency telemetry (p50/p95/p99) + prompt cache +- Reset health status with one click + +### 🔧 Translator Playground + +- Debug, test, and visualize API format translations +- Send requests and see how OmniRoute translates between provider formats +- Invaluable for troubleshooting integration issues + +### 💾 Cloud Sync + +- Sync providers, combos, and settings across devices +- Automatic background sync +- Secure encrypted storage + +
+ +--- + +## 📖 Setup Guide + +
+💳 Subscription Providers + +### Claude Code (Pro/Max) + +```bash +Dashboard → Providers → Connect Claude Code +→ OAuth login → Auto token refresh +→ 5-hour + weekly quota tracking + +Models: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Pro Tip:** Use Opus for complex tasks, Sonnet for speed. OmniRoute tracks quota per model! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Providers → Connect Codex +→ OAuth login (port 1455) +→ 5-hour + weekly reset + +Models: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (FREE 180K/month!) + +```bash +Dashboard → Providers → Connect Gemini CLI +→ Google OAuth +→ 180K completions/month + 1K/day + +Models: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Best Value:** Huge free tier! Use this before paid tiers. + +### GitHub Copilot + +```bash +Dashboard → Providers → Connect GitHub +→ OAuth via GitHub +→ Monthly reset (1st of month) + +Models: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API Key Providers + +### NVIDIA NIM (FREE 1000 credits!) + +1. Sign up: [build.nvidia.com](https://build.nvidia.com) +2. Get free API key (1000 inference credits included) +3. Dashboard → Add Provider → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Models:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, and 50+ more + +**Pro Tip:** OpenAI-compatible API — works seamlessly with OmniRoute's format translation! + +### DeepSeek + +1. Sign up: [platform.deepseek.com](https://platform.deepseek.com) +2. Get API key +3. Dashboard → Add Provider → DeepSeek + +**Models:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Free Tier Available!) + +1. Sign up: [console.groq.com](https://console.groq.com) +2. Get API key (free tier included) +3. Dashboard → Add Provider → Groq + +**Models:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Pro Tip:** Ultra-fast inference — best for real-time coding! + +### OpenRouter (100+ Models) + +1. Sign up: [openrouter.ai](https://openrouter.ai) +2. Get API key +3. Dashboard → Add Provider → OpenRouter + +**Models:** Access 100+ models from all major providers through a single API key. + +
+ +
+💰 Cheap Providers (Backup) + +### GLM-4.7 (Daily reset, $0.6/1M) + +1. Sign up: [Zhipu AI](https://open.bigmodel.cn/) +2. Get API key from Coding Plan +3. Dashboard → Add API Key: + - Provider: `glm` + - API Key: `your-key` + +**Use:** `glm/glm-4.7` + +**Pro Tip:** Coding Plan offers 3× quota at 1/7 cost! Reset daily 10:00 AM. + +### MiniMax M2.1 (5h reset, $0.20/1M) + +1. Sign up: [MiniMax](https://www.minimax.io/) +2. Get API key +3. Dashboard → Add API Key + +**Use:** `minimax/MiniMax-M2.1` + +**Pro Tip:** Cheapest option for long context (1M tokens)! + +### Kimi K2 ($9/month flat) + +1. Subscribe: [Moonshot AI](https://platform.moonshot.ai/) +2. Get API key +3. Dashboard → Add API Key + +**Use:** `kimi/kimi-latest` + +**Pro Tip:** Fixed $9/month for 10M tokens = $0.90/1M effective cost! + +
+ +
+🆓 FREE Providers (Emergency Backup) + +### iFlow (8 FREE models) + +```bash +Dashboard → Connect iFlow +→ iFlow OAuth login +→ Unlimited usage + +Models: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 FREE models) + +```bash +Dashboard → Connect Qwen +→ Device code authorization +→ Unlimited usage + +Models: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude FREE) + +```bash +Dashboard → Connect Kiro +→ AWS Builder ID or Google/GitHub +→ Unlimited usage + +Models: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Create Combos + +### Example 1: Maximize Subscription → Cheap Backup + +``` +Dashboard → Combos → Create New + +Name: premium-coding +Models: + 1. cc/claude-opus-4-6 (Subscription primary) + 2. glm/glm-4.7 (Cheap backup, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Cheapest fallback, $0.20/1M) + +Use in CLI: premium-coding +``` + +### Example 2: Free-Only (Zero Cost) + +``` +Name: free-combo +Models: + 1. gc/gemini-3-flash-preview (180K free/month) + 2. if/kimi-k2-thinking (unlimited) + 3. qw/qwen3-coder-plus (unlimited) + +Cost: $0 forever! +``` + +
+ +
+🔧 CLI Integration + +### Cursor IDE + +``` +Settings → Models → Advanced: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [from OmniRoute dashboard] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Use the **CLI Tools** page in the dashboard for one-click configuration, or edit `~/.claude/settings.json` manually. + +### 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 (recommended):** + +``` +Dashboard → CLI Tools → OpenClaw → Select Model → Apply +``` + +**Option 2 — Manual:** Edit `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Note:** OpenClaw only works with local OmniRoute. Use `127.0.0.1` instead of `localhost` to avoid IPv6 resolution issues. + +### Cline / Continue / RooCode + +``` +Settings → API Configuration: + Provider: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [from OmniRoute dashboard] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Available Models + +
+View all available models + +**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/`)** - FREE: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - FREE credits: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ more models on [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/`)** - FREE: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - FREE: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - FREE: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ models: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Any model from [openrouter.ai/models](https://openrouter.ai/models) + +
--- @@ -238,13 +833,6 @@ The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering: - JSON format compliance, translation, markdown - Safety refusal (harmful content), counting, boolean logic -### How It Works - -1. Click **"Run Eval"** on a suite in the dashboard -2. Each test case is sent to your proxy endpoint (`/v1/chat/completions`) -3. Real LLM responses are collected and evaluated against expected criteria -4. Results show pass/fail status, latency per case, and overall pass rate - ### Evaluation Strategies | Strategy | Description | Example | @@ -254,40 +842,60 @@ The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering: | `regex` | Output must match regex pattern | `"1.*2.*3"` | | `custom` | Custom JS function returns true/false | `(output) => output.length > 10` | -### API Usage +--- -```bash -# List all eval suites -curl http://localhost:20128/api/evals +## 🐛 Troubleshooting -# Run a suite with pre-collected outputs -curl -X POST http://localhost:20128/api/evals \ - -H 'Content-Type: application/json' \ - -d '{"suiteId": "golden-set", "outputs": {"gs-01": "Hello there!", "gs-02": "4"}}' +
+Click to expand troubleshooting guide -# Get suite details -curl http://localhost:20128/api/evals/golden-set -``` +**"Language model did not provide messages"** -### Custom Suites +- Provider quota exhausted → Check dashboard quota tracker +- Solution: Use combo fallback or switch to cheaper tier -Register custom suites programmatically via `registerSuite()` in `src/lib/evals/evalRunner.ts`: +**Rate limiting** -```typescript -registerSuite({ - id: "my-suite", - name: "Custom Eval Suite", - cases: [ - { - id: "c-01", - name: "API response", - model: "gpt-4o", - input: { messages: [{ role: "user", content: "Say OK" }] }, - expected: { strategy: "contains", value: "OK" }, - }, - ], -}); -``` +- Subscription quota out → Fallback to GLM/MiniMax +- Add combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth token expired** + +- Auto-refreshed by OmniRoute +- If issues persist: Dashboard → Provider → Reconnect + +**High costs** + +- Check usage stats in Dashboard → Costs +- Switch primary model to GLM/MiniMax +- Use free tier (Gemini CLI, iFlow) for non-critical tasks + +**Dashboard opens on wrong port** + +- Set `PORT=20128` and `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Cloud sync errors** + +- Verify `BASE_URL` points to your running instance +- Verify `CLOUD_URL` points to your expected cloud endpoint +- Keep `NEXT_PUBLIC_*` values aligned with server-side values + +**First login not working** + +- Check `INITIAL_PASSWORD` in `.env` +- If unset, fallback password is `123456` + +**No request logs** + +- Set `ENABLE_REQUEST_LOGS=true` in `.env` + +**Connection test shows "Invalid" for OpenAI-compatible providers** + +- Many providers don't expose a `/models` endpoint +- OmniRoute v0.8.8+ includes fallback validation via chat completions +- Ensure base URL includes `/v1` suffix + +
--- @@ -354,9 +962,23 @@ gh release create v0.8.8 --title "v0.8.8" --generate-notes --- +## 📊 Star History + + + + + + Star History Chart + + + +--- + ## 🙏 Acknowledgments -Special thanks to **CLIProxyAPI** - the original Go implementation that inspired this JavaScript port. +Special thanks to **[9router](https://github.com/decolua/9router)** by **[decolua](https://github.com/decolua)** — the original project that inspired this fork. OmniRoute builds upon that incredible foundation with additional features, multi-modal APIs, and a full TypeScript rewrite. + +Special thanks to **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — the original Go implementation that inspired this JavaScript port. --- diff --git a/README.pt-BR.md b/README.pt-BR.md new file mode 100644 index 0000000000..6513c18aee --- /dev/null +++ b/README.pt-BR.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — O Gateway de IA Gratuito + +### Nunca pare de programar. Roteamento inteligente para **modelos de IA GRATUITOS e baratos** com fallback automático. + +_Seu proxy de API universal — um endpoint, 36+ provedores, zero tempo de inatividade._ + +**Chat Completions • Embeddings • Geração de Imagem • Áudio • Reranking • 100% TypeScript** + +--- + +### 🤖 Provedor de IA Gratuito para seus agentes de programação favoritos + +_Conecte qualquer IDE ou ferramenta CLI com IA através do OmniRoute — gateway de API gratuito para programação ilimitada._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Todos os agentes se conectam via http://localhost:20128/v1 ou http://cloud.omniroute.online/v1 — uma configuração, modelos e cota ilimitados + +--- + +[![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) • [🚀 Início Rápido](#-início-rápido) • [💡 Funcionalidades](#-funcionalidades-principais) • [📖 Docs](#-documentação) • [💰 Preços](#-preços-resumidos) + +🌐 **Disponível em:** [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) + +
+ +--- + +## 🤔 Por que OmniRoute? + +**Pare de desperdiçar dinheiro e bater em limites:** + +- Cota de assinatura expira sem uso todo mês +- Limites de taxa param você no meio da programação +- APIs caras ($20-50/mês por provedor) +- Trocar manualmente entre provedores + +**OmniRoute resolve isso:** + +- ✅ **Maximize assinaturas** - Rastreie cotas, use tudo antes do reset +- ✅ **Fallback automático** - Assinatura → API Key → Barato → Gratuito, zero tempo de inatividade +- ✅ **Multi-conta** - Round-robin entre contas por provedor +- ✅ **Universal** - Funciona com Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, qualquer ferramenta CLI + +--- + +## 🔄 Como Funciona + +``` +┌─────────────┐ +│ Sua CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Roteador Inteligente) │ +│ • Tradução de formato (OpenAI ↔ Claude) │ +│ • Rastreamento de cota + Embeddings + Imagens │ +│ • Renovação automática de tokens │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: ASSINATURA] Claude Code, Codex, Gemini CLI + │ ↓ cota esgotada + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM, etc. + │ ↓ limite de orçamento + ├─→ [Tier 3: BARATO] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ limite de orçamento + └─→ [Tier 4: GRATUITO] iFlow, Qwen, Kiro (ilimitado) + +Resultado: Nunca pare de programar, custo mínimo +``` + +--- + +## ⚡ Início Rápido + +**1. Instale globalmente:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dashboard abre em `http://localhost:20128` + +| Comando | Descrição | +| ----------------------- | ------------------------------------- | +| `omniroute` | Iniciar servidor (porta padrão 20128) | +| `omniroute --port 3000` | Usar porta personalizada | +| `omniroute --no-open` | Não abrir navegador automaticamente | +| `omniroute --help` | Mostrar ajuda | + +**2. Conecte um provedor GRATUITO:** + +Dashboard → Provedores → Conectar **Claude Code** ou **Antigravity** → Login OAuth → Pronto! + +**3. Use na sua ferramenta CLI:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Configurações: + Endpoint: http://localhost:20128/v1 + API Key: [copie do dashboard] + Model: if/kimi-k2-thinking +``` + +**Pronto!** Comece a programar com modelos de IA GRATUITOS. + +**Alternativa — rodar a partir do código-fonte:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute está disponível como imagem Docker pública no [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Execução rápida:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**Com arquivo de ambiente:** + +```bash +# Copie e edite o .env primeiro +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 +``` + +**Usando Docker Compose:** + +```bash +# Perfil base (sem ferramentas CLI) +docker compose --profile base up -d + +# Perfil CLI (Claude Code, Codex, OpenClaw integrados) +docker compose --profile cli up -d +``` + +| Imagem | Tag | Tamanho | Descrição | +| ------------------------ | -------- | ------- | --------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Última versão estável | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Versão atual | + +--- + +## 💰 Preços Resumidos + +| Tier | Provedor | Custo | Reset de Cota | Melhor Para | +| ----------------- | ----------------- | ---------------------------- | ----------------- | ----------------------- | +| **💳 ASSINATURA** | Claude Code (Pro) | $20/mês | 5h + semanal | Já é assinante | +| | Codex (Plus/Pro) | $20-200/mês | 5h + semanal | Usuários OpenAI | +| | Gemini CLI | **GRATUITO** | 180K/mês + 1K/dia | Todos! | +| | GitHub Copilot | $10-19/mês | Mensal | Usuários GitHub | +| **🔑 API KEY** | NVIDIA NIM | **GRATUITO** (1000 créditos) | Único | Testes gratuitos | +| | DeepSeek | Por uso | Nenhum | Melhor preço/qualidade | +| | Groq | Tier gratuito + pago | Limitado | Inferência ultra-rápida | +| | xAI (Grok) | Por uso | Nenhum | Modelos Grok | +| | Mistral | Tier gratuito + pago | Limitado | IA Europeia | +| | OpenRouter | Por uso | Nenhum | 100+ modelos | +| **💰 BARATO** | GLM-4.7 | $0.6/1M | Diário 10h | Backup econômico | +| | MiniMax M2.1 | $0.2/1M | Rotativo 5h | Opção mais barata | +| | Kimi K2 | $9/mês fixo | 10M tokens/mês | Custo previsível | +| **🆓 GRATUITO** | iFlow | $0 | Ilimitado | 8 modelos gratuitos | +| | Qwen | $0 | Ilimitado | 3 modelos gratuitos | +| | Kiro | $0 | Ilimitado | Claude gratuito | + +**💡 Dica Pro:** Comece com Gemini CLI (180K grátis/mês) + iFlow (ilimitado grátis) = $0 de custo! + +--- + +## 🎯 Casos de Uso + +### Caso 1: "Tenho assinatura Claude Pro" + +**Problema:** Cota expira sem uso, limites de taxa durante programação intensa + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (usar assinatura ao máximo) + 2. glm/glm-4.7 (backup barato quando a cota acabar) + 3. if/kimi-k2-thinking (fallback de emergência gratuito) + +Custo mensal: $20 (assinatura) + ~$5 (backup) = $25 total +vs. $20 + bater em limites = frustração +``` + +### Caso 2: "Quero custo zero" + +**Problema:** Não pode pagar assinaturas, precisa de IA confiável para programar + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K grátis/mês) + 2. if/kimi-k2-thinking (ilimitado grátis) + 3. qw/qwen3-coder-plus (ilimitado grátis) + +Custo mensal: $0 +Qualidade: Modelos prontos para produção +``` + +### Caso 3: "Preciso programar 24/7, sem interrupções" + +**Problema:** Prazos apertados, não pode ter tempo de inatividade + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (melhor qualidade) + 2. cx/gpt-5.2-codex (segunda assinatura) + 3. glm/glm-4.7 (barato, reset diário) + 4. minimax/MiniMax-M2.1 (mais barato, reset 5h) + 5. if/kimi-k2-thinking (gratuito ilimitado) + +Resultado: 5 camadas de fallback = zero tempo de inatividade +``` + +### Caso 4: "Quero IA GRATUITA no OpenClaw" + +**Problema:** Precisa de assistente de IA em aplicativos de mensagens, completamente gratuito + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (ilimitado grátis) + 2. if/minimax-m2.1 (ilimitado grátis) + 3. if/kimi-k2-thinking (ilimitado grátis) + +Custo mensal: $0 +Acesso via: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Funcionalidades Principais + +### 🧠 Roteamento e Inteligência + +| Funcionalidade | O que Faz | +| ----------------------------------------- | ------------------------------------------------------------------------------- | +| 🎯 **Fallback Inteligente 4 Tiers** | Auto-roteamento: Assinatura → API Key → Barato → Gratuito | +| 📊 **Rastreamento de Cota em Tempo Real** | Contagem de tokens ao vivo + countdown de reset por provedor | +| 🔄 **Tradução de Formato** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro transparente | +| 👥 **Suporte Multi-Conta** | Múltiplas contas por provedor com seleção inteligente | +| 🔄 **Renovação Automática de Token** | Tokens OAuth renovam automaticamente com retry | +| 🎨 **Combos Personalizados** | 6 estratégias: fill-first, round-robin, p2c, random, least-used, cost-optimized | +| 🧩 **Modelos Personalizados** | Adicione qualquer ID de modelo a qualquer provedor | +| 🌐 **Roteador Wildcard** | Roteie padrões `provider/*` para qualquer provedor dinamicamente | +| 🧠 **Budget de Raciocínio** | Modos passthrough, auto, custom e adaptativo para modelos de raciocínio | +| 💬 **Injeção de System Prompt** | System prompt global aplicado em todas as requisições | +| 📄 **API Responses** | Suporte completo à API Responses da OpenAI (`/v1/responses`) para Codex | + +### 🎵 APIs Multi-Modal + +| Funcionalidade | O que Faz | +| --------------------------- | ---------------------------------------------------- | +| 🖼️ **Geração de Imagem** | `/v1/images/generations` — 4 provedores, 9+ modelos | +| 📐 **Embeddings** | `/v1/embeddings` — 6 provedores, 9+ modelos | +| 🎤 **Transcrição de Áudio** | `/v1/audio/transcriptions` — Compatível com Whisper | +| 🔊 **Texto para Fala** | `/v1/audio/speech` — Síntese de áudio multi-provedor | +| 🛡️ **Moderações** | `/v1/moderations` — Verificações de segurança | +| 🔀 **Reranking** | `/v1/rerank` — Reranking de relevância de documentos | + +### 🛡️ Resiliência e Segurança + +| Funcionalidade | O que Faz | +| ---------------------------------- | --------------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Auto-abertura/fechamento por provedor com limites configuráveis | +| 🛡️ **Anti-Thundering Herd** | Mutex + semáforo rate-limit para provedores com API key | +| 🧠 **Cache Semântico** | Cache de duas camadas (assinatura + semântico) reduz custo e latência | +| ⚡ **Idempotência de Requisição** | Janela de dedup de 5s para requisições duplicadas | +| 🔒 **Spoofing de Fingerprint TLS** | Bypass de detecção de bot via TLS com wreq-js | +| 🌐 **Filtragem de IP** | Allowlist/blocklist para controle de acesso à API | +| 📊 **Rate Limits Editáveis** | RPM, gap mínimo e concorrência máxima configuráveis | + +### 📊 Observabilidade e Analytics + +| Funcionalidade | O que Faz | +| -------------------------------- | --------------------------------------------------------------------- | +| 📝 **Logs de Requisição** | Modo debug com logs completos de request/response | +| 💾 **Logs SQLite** | Logs de proxy persistentes sobrevivem a reinicializações | +| 📊 **Dashboard de Analytics** | Recharts: cards de estatísticas, gráfico de uso, tabela de provedores | +| 📈 **Rastreamento de Progresso** | Eventos de progresso SSE opt-in para streaming | +| 🧪 **Avaliações de LLM** | Testes com conjunto golden e 4 estratégias de match | +| 🔍 **Telemetria de Requisição** | Agregação de latência p50/p95/p99 + rastreamento X-Request-Id | +| 📋 **Logs + Cotas** | Páginas dedicadas para navegação de logs e rastreamento de cotas | +| 🏥 **Dashboard de Saúde** | Uptime, estados de circuit breaker, lockouts, stats de cache | +| 💰 **Rastreamento de Custo** | Gestão de orçamento + configuração de preços por modelo | + +### ☁️ Deploy e Sincronização + +| Funcionalidade | O que Faz | +| --------------------------------- | -------------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Sincronize configurações entre dispositivos via Cloudflare Workers | +| 🌐 **Deploy em Qualquer Lugar** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **Gestão de API Keys** | Gere, rotacione e defina escopo de API keys por provedor | +| 🧙 **Assistente de Configuração** | Setup guiado em 4 etapas para novos usuários | +| 🔧 **Dashboard CLI Tools** | Configuração em um clique para Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Backups de DB** | Backup e restauração automáticos de todas as configurações | + +
+📖 Detalhes das Funcionalidades + +### 🎯 Fallback Inteligente 4 Tiers + +Crie combos com fallback automático: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (sua assinatura) + 2. nvidia/llama-3.3-70b (API NVIDIA gratuita) + 3. glm/glm-4.7 (backup barato, $0.6/1M) + 4. if/kimi-k2-thinking (fallback gratuito) + +→ Troca automaticamente quando a cota acaba ou erros ocorrem +``` + +### 📊 Rastreamento de Cota em Tempo Real + +- Consumo de tokens por provedor +- Countdown de reset (5 horas, diário, semanal) +- Estimativa de custo para tiers pagos +- Relatórios de gastos mensais + +### 🔄 Tradução de Formato + +Tradução transparente entre formatos: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Sua ferramenta CLI envia formato OpenAI → OmniRoute traduz → Provedor recebe formato nativo +- Funciona com qualquer ferramenta que suporte endpoints OpenAI customizados + +### 👥 Suporte Multi-Conta + +- Adicione múltiplas contas por provedor +- Round-robin automático ou roteamento por prioridade +- Fallback para próxima conta quando uma atinge a cota + +### 🔄 Renovação Automática de Token + +- Tokens OAuth renovam automaticamente antes de expirar +- Sem necessidade de re-autenticação manual +- Experiência transparente em todos os provedores + +### 🎨 Combos Personalizados + +- Crie combinações ilimitadas de modelos +- 6 estratégias: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Compartilhe combos entre dispositivos com Cloud Sync + +### 🏥 Dashboard de Saúde + +- Status do sistema (uptime, versão, uso de memória) +- Estados de circuit breaker por provedor (Closed/Open/Half-Open) +- Status de rate limit e lockouts ativos +- Estatísticas de cache de assinatura +- Telemetria de latência (p50/p95/p99) + cache de prompt +- Reset de saúde com um clique + +### 🔧 Playground do Tradutor + +- Debug, teste e visualize traduções de formato de API +- Envie requisições e veja como o OmniRoute traduz entre formatos de provedores +- Inestimável para troubleshooting de problemas de integração + +### 💾 Cloud Sync + +- Sincronize provedores, combos e configurações entre dispositivos +- Sincronização automática em background +- Armazenamento criptografado seguro + +
+ +--- + +## 📖 Guia de Configuração + +
+💳 Provedores por Assinatura + +### Claude Code (Pro/Max) + +```bash +Dashboard → Provedores → Conectar Claude Code +→ Login OAuth → Renovação automática de token +→ Rastreamento de cota 5h + semanal + +Modelos: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Dica Pro:** Use Opus para tarefas complexas, Sonnet para velocidade. OmniRoute rastreia cota por modelo! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Provedores → Conectar Codex +→ Login OAuth (porta 1455) +→ Reset 5h + semanal + +Modelos: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (GRATUITO 180K/mês!) + +```bash +Dashboard → Provedores → Conectar Gemini CLI +→ Google OAuth +→ 180K completions/mês + 1K/dia + +Modelos: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Melhor Valor:** Tier gratuito enorme! Use antes dos tiers pagos. + +### GitHub Copilot + +```bash +Dashboard → Provedores → Conectar GitHub +→ OAuth via GitHub +→ Reset mensal (1º do mês) + +Modelos: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Provedores por API Key + +### NVIDIA NIM (GRATUITO 1000 créditos!) + +1. Cadastre-se: [build.nvidia.com](https://build.nvidia.com) +2. Obtenha API key gratuita (1000 créditos de inferência incluídos) +3. Dashboard → Adicionar Provedor → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Modelos:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct`, e 50+ mais + +**Dica Pro:** API compatível com OpenAI — funciona perfeitamente com a tradução de formato do OmniRoute! + +### DeepSeek + +1. Cadastre-se: [platform.deepseek.com](https://platform.deepseek.com) +2. Obtenha API key +3. Dashboard → Adicionar Provedor → DeepSeek + +**Modelos:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Tier Gratuito Disponível!) + +1. Cadastre-se: [console.groq.com](https://console.groq.com) +2. Obtenha API key (tier gratuito incluído) +3. Dashboard → Adicionar Provedor → Groq + +**Modelos:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Dica Pro:** Inferência ultra-rápida — melhor para programação em tempo real! + +### OpenRouter (100+ Modelos) + +1. Cadastre-se: [openrouter.ai](https://openrouter.ai) +2. Obtenha API key +3. Dashboard → Adicionar Provedor → OpenRouter + +**Modelos:** Acesse 100+ modelos de todos os principais provedores através de uma única API key. + +
+ +
+💰 Provedores Baratos (Backup) + +### GLM-4.7 (Reset diário, $0.6/1M) + +1. Cadastre-se: [Zhipu AI](https://open.bigmodel.cn/) +2. Obtenha API key do Plano Coding +3. Dashboard → Adicionar API Key: + - Provedor: `glm` + - API Key: `your-key` + +**Use:** `glm/glm-4.7` + +**Dica Pro:** Plano Coding oferece 3× cota a 1/7 do custo! Reset diário 10:00 AM. + +### MiniMax M2.1 (Reset 5h, $0.20/1M) + +1. Cadastre-se: [MiniMax](https://www.minimax.io/) +2. Obtenha API key +3. Dashboard → Adicionar API Key + +**Use:** `minimax/MiniMax-M2.1` + +**Dica Pro:** Opção mais barata para contexto longo (1M tokens)! + +### Kimi K2 ($9/mês fixo) + +1. Assine: [Moonshot AI](https://platform.moonshot.ai/) +2. Obtenha API key +3. Dashboard → Adicionar API Key + +**Use:** `kimi/kimi-latest` + +**Dica Pro:** $9/mês fixo por 10M tokens = $0.90/1M de custo efetivo! + +
+ +
+🆓 Provedores GRATUITOS (Backup de Emergência) + +### iFlow (8 modelos GRATUITOS) + +```bash +Dashboard → Conectar iFlow +→ Login OAuth iFlow +→ Uso ilimitado + +Modelos: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 modelos GRATUITOS) + +```bash +Dashboard → Conectar Qwen +→ Autorização por código de dispositivo +→ Uso ilimitado + +Modelos: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude GRATUITO) + +```bash +Dashboard → Conectar Kiro +→ AWS Builder ID ou Google/GitHub +→ Uso ilimitado + +Modelos: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Criar Combos + +### Exemplo 1: Maximizar Assinatura → Backup Barato + +``` +Dashboard → Combos → Criar Novo + +Nome: premium-coding +Modelos: + 1. cc/claude-opus-4-6 (Assinatura primária) + 2. glm/glm-4.7 (Backup barato, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Fallback mais barato, $0.20/1M) + +Use na CLI: premium-coding +``` + +### Exemplo 2: Somente Gratuito (Custo Zero) + +``` +Nome: free-combo +Modelos: + 1. gc/gemini-3-flash-preview (180K grátis/mês) + 2. if/kimi-k2-thinking (ilimitado) + 3. qw/qwen3-coder-plus (ilimitado) + +Custo: $0 para sempre! +``` + +
+ +
+🔧 Integração CLI + +### Cursor IDE + +``` +Configurações → Modelos → Avançado: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [do dashboard OmniRoute] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Use a página **CLI Tools** no dashboard para configuração em um clique, ou edite `~/.claude/settings.json` manualmente. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Opção 1 — Dashboard (recomendado):** + +``` +Dashboard → CLI Tools → OpenClaw → Selecionar Modelo → Aplicar +``` + +**Opção 2 — Manual:** Edite `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Nota:** OpenClaw funciona apenas com OmniRoute local. Use `127.0.0.1` em vez de `localhost` para evitar problemas de resolução IPv6. + +### Cline / Continue / RooCode + +``` +Configurações → Configuração de API: + Provedor: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [do dashboard OmniRoute] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Modelos Disponíveis + +
+Ver todos os modelos disponíveis + +**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/`)** - GRATUITO: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - Créditos GRATUITOS: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ mais modelos em [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/`)** - GRATUITO: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - GRATUITO: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - GRATUITO: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ modelos: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Qualquer modelo de [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Avaliações (Evals) + +OmniRoute inclui um framework de avaliação integrado para testar a qualidade de respostas de LLM contra um conjunto golden. Acesse via **Analytics → Evals** no dashboard. + +### Conjunto Golden Integrado + +O "OmniRoute Golden Set" pré-carregado contém 10 casos de teste cobrindo: + +- Saudações, matemática, geografia, geração de código +- Conformidade de formato JSON, tradução, markdown +- Recusa de segurança (conteúdo prejudicial), contagem, lógica booleana + +### Estratégias de Avaliação + +| Estratégia | Descrição | Exemplo | +| ---------- | ---------------------------------------------- | -------------------------------- | +| `exact` | Saída deve corresponder exatamente | `"4"` | +| `contains` | Saída deve conter substring (case-insensitive) | `"Paris"` | +| `regex` | Saída deve corresponder ao padrão regex | `"1.*2.*3"` | +| `custom` | Função JS customizada retorna true/false | `(output) => output.length > 10` | + +--- + +## 🐛 Solução de Problemas + +
+Clique para expandir o guia de solução de problemas + +**"Language model did not provide messages"** + +- Cota do provedor esgotada → Verifique o rastreador de cota no dashboard +- Solução: Use combo com fallback ou mude para tier mais barato + +**Rate limiting** + +- Cota de assinatura esgotada → Fallback para GLM/MiniMax +- Adicione combo: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**Token OAuth expirado** + +- Renovado automaticamente pelo OmniRoute +- Se persistir: Dashboard → Provedor → Reconectar + +**Custos altos** + +- Verifique estatísticas de uso em Dashboard → Custos +- Mude modelo primário para GLM/MiniMax +- Use tier gratuito (Gemini CLI, iFlow) para tarefas não-críticas + +**Dashboard abre na porta errada** + +- Defina `PORT=20128` e `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Erros de cloud sync** + +- Verifique se `BASE_URL` aponta para sua instância em execução +- Verifique se `CLOUD_URL` aponta para seu endpoint cloud esperado +- Mantenha valores `NEXT_PUBLIC_*` alinhados com valores do servidor + +**Primeiro login não funciona** + +- Verifique `INITIAL_PASSWORD` no `.env` +- Se não definido, senha padrão é `123456` + +**Sem logs de requisição** + +- Defina `ENABLE_REQUEST_LOGS=true` no `.env` + +**Teste de conexão mostra "Invalid" para provedores compatíveis com OpenAI** + +- Muitos provedores não expõem endpoint `/models` +- OmniRoute v0.8.8+ inclui validação via chat completions como fallback +- Certifique-se de que a base URL inclui sufixo `/v1` + +
+ +--- + +## 🛠️ Stack Tecnológico + +- **Runtime**: Node.js 20+ +- **Linguagem**: TypeScript 5.9 — **100% TypeScript** em `src/` e `open-sse/` (v0.8.8) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **Banco de Dados**: LowDB (JSON) + SQLite (estado do domínio + logs de proxy) +- **Streaming**: Server-Sent Events (SSE) +- **Auth**: OAuth 2.0 (PKCE) + JWT + API Keys +- **Testes**: Node.js test runner (368+ testes unitários) +- **CI/CD**: GitHub Actions (publicação automática npm + Docker Hub no release) +- **Website**: [omniroute.online](https://omniroute.online) +- **Pacote**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Resiliência**: Circuit breaker, backoff exponencial, anti-thundering herd, spoofing TLS + +--- + +## 📖 Documentação + +| Documento | Descrição | +| ----------------------------------------------- | ------------------------------------------------- | +| [Guia do Usuário](docs/USER_GUIDE.md) | Provedores, combos, integração CLI, deploy | +| [Referência da API](docs/API_REFERENCE.md) | Todos os endpoints com exemplos | +| [Solução de Problemas](docs/TROUBLESHOOTING.md) | Problemas comuns e soluções | +| [Arquitetura](docs/ARCHITECTURE.md) | Arquitetura do sistema e internos | +| [Contribuindo](CONTRIBUTING.md) | Setup de desenvolvimento e diretrizes | +| [Spec OpenAPI](docs/openapi.yaml) | Especificação OpenAPI 3.0 | +| [Política de Segurança](SECURITY.md) | Reportar vulnerabilidades e práticas de segurança | + +--- + +## 📧 Suporte + +- **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) +- **Projeto Original**: [9router por decolua](https://github.com/decolua/9router) + +--- + +## 👥 Contribuidores + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Como Contribuir + +1. Faça fork do repositório +2. Crie sua branch de funcionalidade (`git checkout -b feature/amazing-feature`) +3. Faça commit das suas alterações (`git commit -m 'Add amazing feature'`) +4. Faça push para a branch (`git push origin feature/amazing-feature`) +5. Abra um Pull Request + +Veja [CONTRIBUTING.md](CONTRIBUTING.md) para diretrizes detalhadas. + +### Lançando uma Nova Versão + +```bash +# Crie um release — publicação no npm acontece automaticamente +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Histórico de Stars + + + + + + Star History Chart + + + +--- + +## 🙏 Agradecimentos + +Agradecimento especial a **[9router](https://github.com/decolua/9router)** por **[decolua](https://github.com/decolua)** — o projeto original que inspirou este fork. OmniRoute se baseia nessa fundação incrível com funcionalidades adicionais, APIs multi-modal e uma reescrita completa em TypeScript. + +Agradecimento especial a **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — a implementação original em Go que inspirou esta adaptação em JavaScript. + +--- + +## 📄 Licença + +Licença MIT - veja [LICENSE](LICENSE) para detalhes. + +--- + +
+ Feito com ❤️ para desenvolvedores que programam 24/7 +
+ omniroute.online +
diff --git a/README.ru.md b/README.ru.md new file mode 100644 index 0000000000..0b3c467490 --- /dev/null +++ b/README.ru.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — Бесплатный AI Gateway + +### Никогда не прекращайте программировать. Умная маршрутизация к **БЕСПЛАТНЫМ и дешёвым AI-моделям** с автоматическим fallback. + +_Ваш универсальный API-прокси — одна точка доступа, 36+ провайдеров, нулевой простой._ + +**Chat Completions • Embeddings • Генерация изображений • Аудио • Reranking • 100% TypeScript** + +--- + +### 🤖 Бесплатный AI-провайдер для ваших любимых агентов программирования + +_Подключайте любую IDE или CLI-инструмент с AI через OmniRoute — бесплатный API gateway для неограниченного программирования._ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 Все агенты подключаются через http://localhost:20128/v1 или http://cloud.omniroute.online/v1 — одна конфигурация, неограниченные модели и квота + +--- + +[![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) + +[🌐 Сайт](https://omniroute.online) • [🚀 Быстрый старт](#-быстрый-старт) • [💡 Функции](#-основные-функции) • [📖 Документация](#-документация) • [💰 Цены](#-обзор-цен) + +🌐 **Доступно на:** [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) + +
+ +--- + +## 🤔 Почему OmniRoute? + +**Перестаньте тратить деньги и упираться в лимиты:** + +- Квота подписки истекает неиспользованной каждый месяц +- Лимиты скорости останавливают вас посреди программирования +- Дорогие API ($20-50/месяц за провайдера) +- Ручное переключение между провайдерами + +**OmniRoute решает это:** + +- ✅ **Максимизируйте подписки** — Отслеживайте квоты, используйте всё до сброса +- ✅ **Автоматический fallback** — Подписка → API Key → Дешёвый → Бесплатный, нулевой простой +- ✅ **Мульти-аккаунт** — Round-robin между аккаунтами каждого провайдера +- ✅ **Универсальный** — Работает с Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, любым CLI-инструментом + +--- + +## 🔄 Как это работает + +``` +┌─────────────┐ +│ Ваш CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ Tool │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute (Умный маршрутизатор) │ +│ • Трансляция формата (OpenAI ↔ Claude) │ +│ • Отслеживание квот + Embeddings + Изображения │ +│ • Автообновление токенов │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [Tier 1: ПОДПИСКА] Claude Code, Codex, Gemini CLI + │ ↓ квота исчерпана + ├─→ [Tier 2: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM и др. + │ ↓ лимит бюджета + ├─→ [Tier 3: ДЕШЁВЫЙ] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ лимит бюджета + └─→ [Tier 4: БЕСПЛАТНЫЙ] iFlow, Qwen, Kiro (неограниченно) + +Результат: Никогда не прекращайте программировать, минимальные затраты +``` + +--- + +## ⚡ Быстрый старт + +**1. Установите глобально:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 Dashboard открывается на `http://localhost:20128` + +| Команда | Описание | +| ----------------------- | ------------------------------------------ | +| `omniroute` | Запустить сервер (порт по умолчанию 20128) | +| `omniroute --port 3000` | Использовать другой порт | +| `omniroute --no-open` | Не открывать браузер автоматически | +| `omniroute --help` | Показать справку | + +**2. Подключите БЕСПЛАТНОГО провайдера:** + +Dashboard → Провайдеры → Подключить **Claude Code** или **Antigravity** → OAuth вход → Готово! + +**3. Используйте в CLI-инструменте:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Настройки: + Endpoint: http://localhost:20128/v1 + API Key: [скопируйте из dashboard] + Model: if/kimi-k2-thinking +``` + +**Готово!** Начните программировать с БЕСПЛАТНЫМИ AI-моделями. + +**Альтернатива — запуск из исходного кода:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute доступен как публичный Docker-образ на [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). + +**Быстрый запуск:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**С файлом окружения:** + +```bash +# Скопируйте и отредактируйте .env +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 +``` + +**Используя Docker Compose:** + +```bash +# Базовый профиль (без CLI-инструментов) +docker compose --profile base up -d + +# CLI-профиль (Claude Code, Codex, OpenClaw встроены) +docker compose --profile cli up -d +``` + +| Образ | Тег | Размер | Описание | +| ------------------------ | -------- | ------ | -------------------------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | Последний стабильный релиз | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | Текущая версия | + +--- + +## 💰 Обзор цен + +| Tier | Провайдер | Стоимость | Сброс квоты | Лучше всего для | +| ----------------- | ----------------- | ----------------------------- | ------------------ | -------------------------------- | +| **💳 ПОДПИСКА** | Claude Code (Pro) | $20/мес | 5ч + еженедельно | Уже подписан | +| | Codex (Plus/Pro) | $20-200/мес | 5ч + еженедельно | Пользователи OpenAI | +| | Gemini CLI | **БЕСПЛАТНО** | 180K/мес + 1K/день | Все! | +| | GitHub Copilot | $10-19/мес | Ежемесячно | Пользователи GitHub | +| **🔑 API KEY** | NVIDIA NIM | **БЕСПЛАТНО** (1000 кредитов) | Одноразово | Бесплатное тестирование | +| | DeepSeek | По использованию | Нет | Лучшее соотношение цена/качество | +| | Groq | Беспл. уровень + платный | Ограничено | Сверхбыстрый вывод | +| | xAI (Grok) | По использованию | Нет | Модели Grok | +| | Mistral | Беспл. уровень + платный | Ограничено | Европейский AI | +| | OpenRouter | По использованию | Нет | 100+ моделей | +| **💰 ДЕШЁВЫЙ** | GLM-4.7 | $0.6/1M | Ежедневно 10ч | Бюджетный бэкап | +| | MiniMax M2.1 | $0.2/1M | 5ч ротация | Самый дешёвый вариант | +| | Kimi K2 | $9/мес фикс | 10M токенов/мес | Предсказуемая цена | +| **🆓 БЕСПЛАТНЫЙ** | iFlow | $0 | Неограниченно | 8 бесплатных моделей | +| | Qwen | $0 | Неограниченно | 3 бесплатные модели | +| | Kiro | $0 | Неограниченно | Claude бесплатно | + +**💡 Совет:** Начните с Gemini CLI (180K бесплатно/мес) + iFlow (неограниченно бесплатно) = $0! + +--- + +## 🎯 Сценарии использования + +### Сценарий 1: «У меня подписка Claude Pro» + +**Проблема:** Квота истекает неиспользованной, лимиты скорости во время интенсивного программирования + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (используйте подписку полностью) + 2. glm/glm-4.7 (дешёвый бэкап при исчерпании квоты) + 3. if/kimi-k2-thinking (бесплатный аварийный fallback) + +Месячная стоимость: $20 (подписка) + ~$5 (бэкап) = $25 итого +vs. $20 + упирание в лимиты = разочарование +``` + +### Сценарий 2: «Хочу нулевую стоимость» + +**Проблема:** Не может позволить подписки, нужен надёжный AI для программирования + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (180K бесплатно/мес) + 2. if/kimi-k2-thinking (неограниченно бесплатно) + 3. qw/qwen3-coder-plus (неограниченно бесплатно) + +Месячная стоимость: $0 +Качество: Модели готовые к продакшену +``` + +### Сценарий 3: «Мне нужно программировать 24/7, без перерывов» + +**Проблема:** Дедлайны, не может позволить простой + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (лучшее качество) + 2. cx/gpt-5.2-codex (вторая подписка) + 3. glm/glm-4.7 (дешёвый, ежедневный сброс) + 4. minimax/MiniMax-M2.1 (самый дешёвый, сброс 5ч) + 5. if/kimi-k2-thinking (бесплатно неограниченно) + +Результат: 5 уровней fallback = нулевой простой +``` + +### Сценарий 4: «Хочу БЕСПЛАТНЫЙ AI в OpenClaw» + +**Проблема:** Нужен AI-ассистент в мессенджерах, полностью бесплатно + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (неограниченно бесплатно) + 2. if/minimax-m2.1 (неограниченно бесплатно) + 3. if/kimi-k2-thinking (неограниченно бесплатно) + +Месячная стоимость: $0 +Доступ через: WhatsApp, Telegram, Slack, Discord, iMessage, Signal... +``` + +--- + +## 💡 Основные функции + +### 🧠 Маршрутизация и интеллект + +| Функция | Что делает | +| ------------------------------------------- | ----------------------------------------------------------------------------- | +| 🎯 **Умный 4-уровневый Fallback** | Авто-маршрутизация: Подписка → API Key → Дешёвый → Бесплатный | +| 📊 **Отслеживание квот в реальном времени** | Счётчик токенов в реальном времени + обратный отсчёт до сброса | +| 🔄 **Трансляция формата** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro бесшовно | +| 👥 **Мульти-аккаунт** | Несколько аккаунтов на провайдера с интеллектуальным выбором | +| 🔄 **Автообновление токенов** | OAuth-токены обновляются автоматически с повторами | +| 🎨 **Пользовательские комбо** | 6 стратегий: fill-first, round-robin, p2c, random, least-used, cost-optimized | +| 🧩 **Пользовательские модели** | Добавьте любой ID модели к любому провайдеру | +| 🌐 **Wildcard-маршрутизатор** | Маршрутизируйте паттерны `provider/*` к любому провайдеру динамически | +| 🧠 **Бюджет рассуждений** | Режимы passthrough, auto, custom и adaptive для моделей рассуждений | +| 💬 **Инъекция System Prompt** | Глобальный system prompt для всех запросов | +| 📄 **API Responses** | Полная поддержка OpenAI Responses API (`/v1/responses`) для Codex | + +### 🎵 Мультимодальные API + +| Функция | Что делает | +| ---------------------------- | --------------------------------------------------- | +| 🖼️ **Генерация изображений** | `/v1/images/generations` — 4 провайдера, 9+ моделей | +| 📐 **Embeddings** | `/v1/embeddings` — 6 провайдеров, 9+ моделей | +| 🎤 **Транскрипция аудио** | `/v1/audio/transcriptions` — Совместимо с Whisper | +| 🔊 **Текст в речь** | `/v1/audio/speech` — Мульти-провайдерный синтез | +| 🛡️ **Модерация** | `/v1/moderations` — Проверки безопасности контента | +| 🔀 **Reranking** | `/v1/rerank` — Переранжирование релевантности | + +### 🛡️ Устойчивость и безопасность + +| Функция | Что делает | +| -------------------------------- | -------------------------------------------------------------- | +| 🔌 **Circuit Breaker** | Авто-открытие/закрытие по провайдеру с настраиваемыми порогами | +| 🛡️ **Anti-Thundering Herd** | Mutex + семафор для API key провайдеров | +| 🧠 **Семантический кеш** | Двухуровневый кеш (сигнатура + семантика) снижает стоимость | +| ⚡ **Идемпотентность запросов** | 5с окно дедупликации для дублирующихся запросов | +| 🔒 **Спуфинг TLS Fingerprint** | Обход обнаружения ботов через wreq-js | +| 🌐 **Фильтрация IP** | Allowlist/blocklist для контроля доступа к API | +| 📊 **Настраиваемые Rate Limits** | Настраиваемые RPM, минимальный интервал, макс. конкуррентность | + +### 📊 Наблюдаемость и аналитика + +| Функция | Что делает | +| ----------------------------- | ------------------------------------------------------------------------ | +| 📝 **Логи запросов** | Режим debug с полными логами запросов/ответов | +| 💾 **Логи SQLite** | Постоянные proxy-логи переживают перезапуски | +| 📊 **Dashboard аналитики** | Recharts: карточки статистики, график использования, таблица провайдеров | +| 📈 **Отслеживание прогресса** | Opt-in SSE-события прогресса для стриминга | +| 🧪 **Оценки LLM** | Тестирование с golden set и 4 стратегиями сравнения | +| 🔍 **Телеметрия запросов** | Агрегация латентности p50/p95/p99 + трекинг X-Request-Id | +| 📋 **Логи + Квоты** | Отдельные страницы для просмотра логов и отслеживания квот | +| 🏥 **Dashboard здоровья** | Uptime, состояния circuit breaker, блокировки, статистика кеша | +| 💰 **Отслеживание стоимости** | Управление бюджетом + настройка цен по моделям | + +### ☁️ Деплой и синхронизация + +| Функция | Что делает | +| -------------------------- | --------------------------------------------------------------------------- | +| 💾 **Cloud Sync** | Синхронизация настроек между устройствами через Cloudflare Workers | +| 🌐 **Деплой куда угодно** | Localhost, VPS, Docker, Cloudflare Workers | +| 🔑 **Управление API Keys** | Генерация, ротация и настройка scope API keys по провайдерам | +| 🧙 **Мастер настройки** | 4-шаговая настройка для новых пользователей | +| 🔧 **Dashboard CLI Tools** | Настройка в один клик для Claude, Codex, Cline, OpenClaw, Kilo, Antigravity | +| 🔄 **Бэкапы БД** | Автоматическое резервное копирование и восстановление всех настроек | + +
+📖 Подробности функций + +### 🎯 Умный 4-уровневый Fallback + +Создавайте комбо с автоматическим fallback: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (ваша подписка) + 2. nvidia/llama-3.3-70b (бесплатный NVIDIA API) + 3. glm/glm-4.7 (дешёвый бэкап, $0.6/1M) + 4. if/kimi-k2-thinking (бесплатный fallback) + +→ Автоматически переключается при исчерпании квоты или ошибках +``` + +### 📊 Отслеживание квот в реальном времени + +- Потребление токенов по провайдерам +- Обратный отсчёт до сброса (5 часов, ежедневно, еженедельно) +- Оценка стоимости для платных уровней +- Ежемесячные отчёты о расходах + +### 🔄 Трансляция формата + +Бесшовная трансляция между форматами: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- Ваш CLI отправляет формат OpenAI → OmniRoute транслирует → Провайдер получает нативный формат +- Работает с любым инструментом, поддерживающим пользовательские OpenAI endpoints + +### 👥 Мульти-аккаунт + +- Добавляйте несколько аккаунтов на провайдера +- Автоматический round-robin или маршрутизация по приоритету +- Fallback на следующий аккаунт при исчерпании квоты + +### 🔄 Автообновление токенов + +- OAuth-токены обновляются автоматически до истечения +- Без необходимости ручной повторной аутентификации +- Бесшовный опыт по всем провайдерам + +### 🎨 Пользовательские комбо + +- Создавайте неограниченные комбинации моделей +- 6 стратегий: fill-first, round-robin, power-of-two-choices, random, least-used, cost-optimized +- Делитесь комбо между устройствами с Cloud Sync + +### 🏥 Dashboard здоровья + +- Статус системы (uptime, версия, использование памяти) +- Состояния circuit breaker по провайдерам (Closed/Open/Half-Open) +- Статус rate limit и активные блокировки +- Статистика кеша сигнатур +- Телеметрия латентности (p50/p95/p99) + кеш промптов +- Сброс состояния здоровья одним кликом + +### 🔧 Playground транслятора + +- Отладка, тестирование и визуализация трансляции форматов API +- Отправляйте запросы и смотрите, как OmniRoute транслирует между форматами провайдеров +- Бесценно для устранения проблем интеграции + +### 💾 Cloud Sync + +- Синхронизация провайдеров, комбо и настроек между устройствами +- Автоматическая фоновая синхронизация +- Безопасное шифрованное хранилище + +
+ +--- + +## 📖 Руководство по настройке + +
+💳 Провайдеры по подписке + +### Claude Code (Pro/Max) + +```bash +Dashboard → Провайдеры → Подключить Claude Code +→ OAuth вход → Автообновление токенов +→ Отслеживание квоты 5ч + еженедельно + +Модели: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**Совет:** Используйте Opus для сложных задач, Sonnet для скорости. OmniRoute отслеживает квоту по моделям! + +### OpenAI Codex (Plus/Pro) + +```bash +Dashboard → Провайдеры → Подключить Codex +→ OAuth вход (порт 1455) +→ Сброс 5ч + еженедельно + +Модели: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI (БЕСПЛАТНО 180K/мес!) + +```bash +Dashboard → Провайдеры → Подключить Gemini CLI +→ Google OAuth +→ 180K completions/мес + 1K/день + +Модели: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**Лучшая ценность:** Огромный бесплатный уровень! Используйте перед платными. + +### GitHub Copilot + +```bash +Dashboard → Провайдеры → Подключить GitHub +→ OAuth через GitHub +→ Ежемесячный сброс (1-е число) + +Модели: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 Провайдеры по API Key + +### NVIDIA NIM (БЕСПЛАТНО 1000 кредитов!) + +1. Регистрация: [build.nvidia.com](https://build.nvidia.com) +2. Получите бесплатный API key (1000 кредитов включены) +3. Dashboard → Добавить провайдера → NVIDIA NIM: + - API Key: `nvapi-your-key` + +**Модели:** `nvidia/llama-3.3-70b-instruct`, `nvidia/mistral-7b-instruct` и 50+ других + +**Совет:** OpenAI-совместимый API — работает идеально с трансляцией форматов OmniRoute! + +### DeepSeek + +1. Регистрация: [platform.deepseek.com](https://platform.deepseek.com) +2. Получите API key +3. Dashboard → Добавить провайдера → DeepSeek + +**Модели:** `deepseek/deepseek-chat`, `deepseek/deepseek-coder` + +### Groq (Бесплатный уровень доступен!) + +1. Регистрация: [console.groq.com](https://console.groq.com) +2. Получите API key (бесплатный уровень включён) +3. Dashboard → Добавить провайдера → Groq + +**Модели:** `groq/llama-3.3-70b`, `groq/mixtral-8x7b` + +**Совет:** Сверхбыстрый вывод — лучший для программирования в реальном времени! + +### OpenRouter (100+ моделей) + +1. Регистрация: [openrouter.ai](https://openrouter.ai) +2. Получите API key +3. Dashboard → Добавить провайдера → OpenRouter + +**Модели:** Доступ к 100+ моделям от всех основных провайдеров через один API key. + +
+ +
+💰 Дешёвые провайдеры (Бэкап) + +### GLM-4.7 (Ежедневный сброс, $0.6/1M) + +1. Регистрация: [Zhipu AI](https://open.bigmodel.cn/) +2. Получите API key из Coding Plan +3. Dashboard → Добавить API Key: + - Провайдер: `glm` + - API Key: `your-key` + +**Используйте:** `glm/glm-4.7` + +**Совет:** Coding Plan предлагает 3× квоту по цене 1/7! Ежедневный сброс в 10:00. + +### MiniMax M2.1 (Сброс 5ч, $0.20/1M) + +1. Регистрация: [MiniMax](https://www.minimax.io/) +2. Получите API key +3. Dashboard → Добавить API Key + +**Используйте:** `minimax/MiniMax-M2.1` + +**Совет:** Самый дешёвый вариант для длинного контекста (1M токенов)! + +### Kimi K2 ($9/мес фикс) + +1. Подпишитесь: [Moonshot AI](https://platform.moonshot.ai/) +2. Получите API key +3. Dashboard → Добавить API Key + +**Используйте:** `kimi/kimi-latest` + +**Совет:** Фикс $9/мес за 10M токенов = $0.90/1M эффективная стоимость! + +
+ +
+🆓 БЕСПЛАТНЫЕ провайдеры (Аварийный бэкап) + +### iFlow (8 БЕСПЛАТНЫХ моделей) + +```bash +Dashboard → Подключить iFlow +→ OAuth вход iFlow +→ Неограниченное использование + +Модели: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen (3 БЕСПЛАТНЫЕ модели) + +```bash +Dashboard → Подключить Qwen +→ Авторизация по коду устройства +→ Неограниченное использование + +Модели: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro (Claude БЕСПЛАТНО) + +```bash +Dashboard → Подключить Kiro +→ AWS Builder ID или Google/GitHub +→ Неограниченное использование + +Модели: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 Создание комбо + +### Пример 1: Максимизация подписки → Дешёвый бэкап + +``` +Dashboard → Комбо → Создать новое + +Название: premium-coding +Модели: + 1. cc/claude-opus-4-6 (Основная подписка) + 2. glm/glm-4.7 (Дешёвый бэкап, $0.6/1M) + 3. minimax/MiniMax-M2.1 (Самый дешёвый fallback, $0.20/1M) + +Используйте в CLI: premium-coding +``` + +### Пример 2: Только бесплатные (Нулевая стоимость) + +``` +Название: free-combo +Модели: + 1. gc/gemini-3-flash-preview (180K бесплатно/мес) + 2. if/kimi-k2-thinking (неограниченно) + 3. qw/qwen3-coder-plus (неограниченно) + +Стоимость: $0 навсегда! +``` + +
+ +
+🔧 Интеграция с CLI + +### Cursor IDE + +``` +Настройки → Модели → Расширенные: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [из dashboard OmniRoute] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +Используйте страницу **CLI Tools** в dashboard для настройки в один клик, или редактируйте `~/.claude/settings.json` вручную. + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**Вариант 1 — Dashboard (рекомендуется):** + +``` +Dashboard → CLI Tools → OpenClaw → Выбрать модель → Применить +``` + +**Вариант 2 — Вручную:** Редактируйте `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **Примечание:** OpenClaw работает только с локальным OmniRoute. Используйте `127.0.0.1` вместо `localhost` для избежания проблем с IPv6. + +### Cline / Continue / RooCode + +``` +Настройки → Конфигурация API: + Провайдер: OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [из dashboard OmniRoute] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 Доступные модели + +
+Посмотреть все доступные модели + +**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/`)** - БЕСПЛАТНО: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - БЕСПЛАТНЫЕ кредиты: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ моделей на [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/`)** - БЕСПЛАТНО: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - БЕСПЛАТНО: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - БЕСПЛАТНО: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ моделей: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- Любая модель с [openrouter.ai/models](https://openrouter.ai/models) + +
+ +--- + +## 🧪 Оценки (Evals) + +OmniRoute включает встроенный фреймворк оценки для тестирования качества ответов LLM по golden set. Доступ через **Analytics → Evals** в dashboard. + +### Встроенный Golden Set + +Предзагруженный «OmniRoute Golden Set» содержит 10 тестов: + +- Приветствия, математика, география, генерация кода +- Соответствие формату JSON, перевод, markdown +- Отказ от небезопасного контента, подсчёт, булева логика + +### Стратегии оценки + +| Стратегия | Описание | Пример | +| ---------- | ----------------------------------------------------- | -------------------------------- | +| `exact` | Вывод должен совпадать точно | `"4"` | +| `contains` | Вывод должен содержать подстроку (без учёта регистра) | `"Paris"` | +| `regex` | Вывод должен соответствовать regex-паттерну | `"1.*2.*3"` | +| `custom` | Пользовательская JS-функция возвращает true/false | `(output) => output.length > 10` | + +--- + +## 🐛 Устранение неполадок + +
+Нажмите для раскрытия руководства + +**«Language model did not provide messages»** + +- Квота провайдера исчерпана → Проверьте трекер квот в dashboard +- Решение: Используйте комбо с fallback или переключитесь на более дешёвый уровень + +**Rate limiting** + +- Квота подписки исчерпана → Fallback на GLM/MiniMax +- Добавьте комбо: `cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth-токен истёк** + +- Обновляется автоматически OmniRoute +- Если проблема сохраняется: Dashboard → Провайдер → Переподключить + +**Высокие расходы** + +- Проверьте статистику в Dashboard → Расходы +- Переключите основную модель на GLM/MiniMax +- Используйте бесплатный уровень (Gemini CLI, iFlow) для некритичных задач + +**Dashboard открывается на неправильном порту** + +- Установите `PORT=20128` и `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Ошибки cloud sync** + +- Проверьте что `BASE_URL` указывает на ваш запущенный экземпляр +- Проверьте что `CLOUD_URL` указывает на правильный облачный endpoint +- Держите значения `NEXT_PUBLIC_*` синхронизированными с серверными значениями + +**Первый вход не работает** + +- Проверьте `INITIAL_PASSWORD` в `.env` +- Если не задан, пароль по умолчанию `123456` + +**Нет логов запросов** + +- Установите `ENABLE_REQUEST_LOGS=true` в `.env` + +**Тест подключения показывает «Invalid» для OpenAI-совместимых провайдеров** + +- Многие провайдеры не предоставляют endpoint `/models` +- OmniRoute v0.8.8+ включает fallback-валидацию через chat completions +- Убедитесь что base URL содержит суффикс `/v1` + +
+ +--- + +## 🛠️ Технологический стек + +- **Runtime**: Node.js 20+ +- **Язык**: TypeScript 5.9 — **100% TypeScript** в `src/` и `open-sse/` (v0.8.8) +- **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 +- **База данных**: LowDB (JSON) + SQLite (состояние домена + proxy-логи) +- **Стриминг**: Server-Sent Events (SSE) +- **Аутентификация**: OAuth 2.0 (PKCE) + JWT + API Keys +- **Тестирование**: Node.js test runner (368+ юнит-тестов) +- **CI/CD**: GitHub Actions (авто-публикация npm + Docker Hub при релизе) +- **Сайт**: [omniroute.online](https://omniroute.online) +- **Пакет**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **Устойчивость**: Circuit breaker, экспоненциальный backoff, anti-thundering herd, TLS-спуфинг + +--- + +## 📖 Документация + +| Документ | Описание | +| ----------------------------------------------- | ------------------------------------------------ | +| [Руководство пользователя](docs/USER_GUIDE.md) | Провайдеры, комбо, интеграция CLI, деплой | +| [Справка API](docs/API_REFERENCE.md) | Все endpoints с примерами | +| [Устранение неполадок](docs/TROUBLESHOOTING.md) | Частые проблемы и решения | +| [Архитектура](docs/ARCHITECTURE.md) | Архитектура системы и внутреннее устройство | +| [Как внести вклад](CONTRIBUTING.md) | Настройка разработки и руководящие принципы | +| [Спецификация OpenAPI](docs/openapi.yaml) | Спецификация OpenAPI 3.0 | +| [Политика безопасности](SECURITY.md) | Сообщение об уязвимостях и практики безопасности | + +--- + +## 📧 Поддержка + +- **Сайт**: [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) +- **Оригинальный проект**: [9router от decolua](https://github.com/decolua/9router) + +--- + +## 👥 Участники + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### Как внести вклад + +1. Сделайте fork репозитория +2. Создайте ветку функции (`git checkout -b feature/amazing-feature`) +3. Зафиксируйте изменения (`git commit -m 'Add amazing feature'`) +4. Отправьте в ветку (`git push origin feature/amazing-feature`) +5. Откройте Pull Request + +См. [CONTRIBUTING.md](CONTRIBUTING.md) для подробных рекомендаций. + +### Выпуск новой версии + +```bash +# Создайте релиз — публикация в npm происходит автоматически +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 История звёзд + + + + + + Star History Chart + + + +--- + +## 🙏 Благодарности + +Особая благодарность **[9router](https://github.com/decolua/9router)** от **[decolua](https://github.com/decolua)** — оригинальному проекту, вдохновившему этот форк. OmniRoute строится на этом невероятном фундаменте с дополнительными функциями, мультимодальными API и полной переписью на TypeScript. + +Особая благодарность **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — оригинальной реализации на Go, вдохновившей этот порт на JavaScript. + +--- + +## 📄 Лицензия + +Лицензия MIT — см. [LICENSE](LICENSE) для подробностей. + +--- + +
+ Сделано с ❤️ для разработчиков, которые программируют 24/7 +
+ omniroute.online +
diff --git a/README.zh-CN.md b/README.zh-CN.md new file mode 100644 index 0000000000..0827eab927 --- /dev/null +++ b/README.zh-CN.md @@ -0,0 +1,995 @@ +
+ OmniRoute Dashboard + + # 🚀 OmniRoute — 免费 AI 网关 + +### 永不停止编程。智能路由至**免费和低成本 AI 模型**,自动故障转移。 + +_您的通用 API 代理 — 一个端点,36+ 提供商,零停机时间。_ + +**Chat Completions • Embeddings • 图像生成 • 音频 • Reranking • 100% TypeScript** + +--- + +### 🤖 为您最爱的编程代理提供免费 AI + +_通过 OmniRoute 连接任何 AI 驱动的 IDE 或 CLI 工具 — 免费 API 网关,无限编程。_ + + + + + + + + + + + + + + + + +
+ + OpenClaw
+ OpenClaw +

+ ⭐ 205K +
+ + NanoBot
+ NanoBot +

+ ⭐ 20.9K +
+ + PicoClaw
+ PicoClaw +

+ ⭐ 14.6K +
+ + ZeroClaw
+ ZeroClaw +

+ ⭐ 9.9K +
+ + IronClaw
+ IronClaw +

+ ⭐ 2.1K +
+ + OpenCode
+ OpenCode +

+ ⭐ 106K +
+ + Codex CLI
+ Codex CLI +

+ ⭐ 60.8K +
+ + Claude Code
+ Claude Code +

+ ⭐ 67.3K +
+ + Gemini CLI
+ Gemini CLI +

+ ⭐ 94.7K +
+ + Kilo Code
+ Kilo Code +

+ ⭐ 15.5K +
+ +📡 所有代理通过 http://localhost:20128/v1http://cloud.omniroute.online/v1 连接 — 一个配置,无限模型和配额 + +--- + +[![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) + +[🌐 网站](https://omniroute.online) • [🚀 快速开始](#-快速开始) • [💡 功能特性](#-核心功能) • [📖 文档](#-文档) • [💰 定价](#-定价概览) + +🌐 **多语言版本:** [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) + +
+ +--- + +## 🤔 为什么选择 OmniRoute? + +**停止浪费金钱和遭遇限制:** + +- 订阅配额每月未使用就过期 +- 速率限制在编程中途停止你 +- 昂贵的 API(每个提供商 $20-50/月) +- 手动在提供商间切换 + +**OmniRoute 解决这些问题:** + +- ✅ **最大化订阅** — 追踪配额,在重置前用完每一点 +- ✅ **自动故障转移** — 订阅 → API Key → 低价 → 免费,零停机 +- ✅ **多账号** — 每个提供商的账号轮询 +- ✅ **通用** — 适用于 Claude Code、Codex、Gemini CLI、Cursor、Cline、OpenClaw、任何 CLI 工具 + +--- + +## 🔄 工作原理 + +``` +┌─────────────┐ +│ 您的 CLI │ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) +│ 工具 │ +└──────┬──────┘ + │ http://localhost:20128/v1 + ↓ +┌─────────────────────────────────────────┐ +│ OmniRoute(智能路由器) │ +│ • 格式转换(OpenAI ↔ Claude) │ +│ • 配额追踪 + Embeddings + 图像 │ +│ • 自动令牌刷新 │ +└──────┬──────────────────────────────────┘ + │ + ├─→ [第1层: 订阅] Claude Code, Codex, Gemini CLI + │ ↓ 配额用完 + ├─→ [第2层: API KEY] DeepSeek, Groq, xAI, Mistral, NVIDIA NIM 等 + │ ↓ 预算限制 + ├─→ [第3层: 低价] GLM ($0.6/1M), MiniMax ($0.2/1M) + │ ↓ 预算限制 + └─→ [第4层: 免费] iFlow, Qwen, Kiro(无限制) + +结果:永不停止编程,成本最低 +``` + +--- + +## ⚡ 快速开始 + +**1. 全局安装:** + +```bash +npm install -g omniroute +omniroute +``` + +🎉 仪表板在 `http://localhost:20128` 打开 + +| 命令 | 描述 | +| ----------------------- | ---------------------------- | +| `omniroute` | 启动服务器(默认端口 20128) | +| `omniroute --port 3000` | 使用自定义端口 | +| `omniroute --no-open` | 不自动打开浏览器 | +| `omniroute --help` | 显示帮助 | + +**2. 连接免费提供商:** + +仪表板 → 提供商 → 连接 **Claude Code** 或 **Antigravity** → OAuth 登录 → 完成! + +**3. 在 CLI 工具中使用:** + +``` +Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline 设置: + Endpoint: http://localhost:20128/v1 + API Key: [从仪表板复制] + Model: if/kimi-k2-thinking +``` + +**完成!** 开始使用免费 AI 模型编程。 + +**替代方案 — 从源代码运行:** + +```bash +cp .env.example .env +npm install +PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev +``` + +--- + +## 🐳 Docker + +OmniRoute 作为公共 Docker 镜像在 [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute) 上可用。 + +**快速运行:** + +```bash +docker run -d \ + --name omniroute \ + --restart unless-stopped \ + -p 20128:20128 \ + -v omniroute-data:/app/data \ + diegosouzapw/omniroute:latest +``` + +**使用环境文件:** + +```bash +# 先复制并编辑 .env +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 +``` + +**使用 Docker Compose:** + +```bash +# 基础配置(无 CLI 工具) +docker compose --profile base up -d + +# CLI 配置(内置 Claude Code、Codex、OpenClaw) +docker compose --profile cli up -d +``` + +| 镜像 | 标签 | 大小 | 描述 | +| ------------------------ | -------- | ------ | ---------- | +| `diegosouzapw/omniroute` | `latest` | ~250MB | 最新稳定版 | +| `diegosouzapw/omniroute` | `0.8.8` | ~250MB | 当前版本 | + +--- + +## 💰 定价概览 + +| 层级 | 提供商 | 费用 | 配额重置 | 最适合 | +| -------------- | ----------------- | --------------------- | --------------- | ------------ | +| **💳 订阅** | Claude Code (Pro) | $20/月 | 5小时 + 每周 | 已订阅用户 | +| | Codex (Plus/Pro) | $20-200/月 | 5小时 + 每周 | OpenAI 用户 | +| | Gemini CLI | **免费** | 180K/月 + 1K/天 | 所有人! | +| | GitHub Copilot | $10-19/月 | 每月 | GitHub 用户 | +| **🔑 API KEY** | NVIDIA NIM | **免费**(1000 积分) | 一次性 | 免费测试 | +| | DeepSeek | 按使用量 | 无 | 最佳性价比 | +| | Groq | 免费层 + 付费 | 限速 | 超快推理 | +| | xAI (Grok) | 按使用量 | 无 | Grok 模型 | +| | Mistral | 免费层 + 付费 | 限速 | 欧洲 AI | +| | OpenRouter | 按使用量 | 无 | 100+ 模型 | +| **💰 低价** | GLM-4.7 | $0.6/1M | 每日 10时 | 经济备用 | +| | MiniMax M2.1 | $0.2/1M | 5小时滚动 | 最便宜选项 | +| | Kimi K2 | $9/月固定 | 每月 10M Token | 可预测成本 | +| **🆓 免费** | iFlow | $0 | 无限制 | 8 个免费模型 | +| | Qwen | $0 | 无限制 | 3 个免费模型 | +| | Kiro | $0 | 无限制 | 免费 Claude | + +**💡 专业建议:** 从 Gemini CLI(每月 180K 免费)+ iFlow(无限免费)开始 = $0 成本! + +--- + +## 🎯 使用场景 + +### 场景 1:"我有 Claude Pro 订阅" + +**问题:** 配额未使用就过期,编程高峰期遇到速率限制 + +``` +Combo: "maximize-claude" + 1. cc/claude-opus-4-6 (充分使用订阅) + 2. glm/glm-4.7 (配额用完时的便宜备用) + 3. if/kimi-k2-thinking (免费应急后备) + +每月成本:$20(订阅)+ ~$5(备用)= $25 总计 +对比:$20 + 遇到限制 = 受挫 +``` + +### 场景 2:"我想要零成本" + +**问题:** 无法承担订阅费用,需要可靠的 AI 编程 + +``` +Combo: "free-forever" + 1. gc/gemini-3-flash (每月 180K 免费) + 2. if/kimi-k2-thinking (无限免费) + 3. qw/qwen3-coder-plus (无限免费) + +每月成本:$0 +质量:生产级模型 +``` + +### 场景 3:"我需要 24/7 编程,不中断" + +**问题:** 截止日期紧迫,不能有停机时间 + +``` +Combo: "always-on" + 1. cc/claude-opus-4-6 (最佳质量) + 2. cx/gpt-5.2-codex (第二个订阅) + 3. glm/glm-4.7 (便宜,每日重置) + 4. minimax/MiniMax-M2.1 (最便宜,5小时重置) + 5. if/kimi-k2-thinking (免费无限制) + +结果:5 层故障转移 = 零停机 +``` + +### 场景 4:"我想在 OpenClaw 中使用免费 AI" + +**问题:** 需要在消息应用中使用 AI 助手,完全免费 + +``` +Combo: "openclaw-free" + 1. if/glm-4.7 (无限免费) + 2. if/minimax-m2.1 (无限免费) + 3. if/kimi-k2-thinking (无限免费) + +每月成本:$0 +访问方式:WhatsApp、Telegram、Slack、Discord、iMessage、Signal... +``` + +--- + +## 💡 核心功能 + +### 🧠 路由与智能 + +| 功能 | 功能描述 | +| ------------------------- | -------------------------------------------------------------------------- | +| 🎯 **智能 4 层故障转移** | 自动路由:订阅 → API Key → 低价 → 免费 | +| 📊 **实时配额追踪** | 实时 Token 计数 + 每个提供商的重置倒计时 | +| 🔄 **格式转换** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro 无缝切换 | +| 👥 **多账号支持** | 每个提供商多个账号,智能选择 | +| 🔄 **自动令牌刷新** | OAuth 令牌自动刷新并重试 | +| 🎨 **自定义组合** | 6 种策略:fill-first、round-robin、p2c、random、least-used、cost-optimized | +| 🧩 **自定义模型** | 为任何提供商添加任何模型 ID | +| 🌐 **通配符路由** | 动态路由 `provider/*` 模式到任何提供商 | +| 🧠 **推理预算** | passthrough、auto、custom 和 adaptive 模式用于推理模型 | +| 💬 **System Prompt 注入** | 全局 System Prompt 应用于所有请求 | +| 📄 **Responses API** | 完整支持 OpenAI Responses API (`/v1/responses`) 用于 Codex | + +### 🎵 多模态 API + +| 功能 | 功能描述 | +| ----------------- | ---------------------------------------------- | +| 🖼️ **图像生成** | `/v1/images/generations` — 4 个提供商,9+ 模型 | +| 📐 **Embeddings** | `/v1/embeddings` — 6 个提供商,9+ 模型 | +| 🎤 **音频转录** | `/v1/audio/transcriptions` — Whisper 兼容 | +| 🔊 **文字转语音** | `/v1/audio/speech` — 多提供商音频合成 | +| 🛡️ **内容审核** | `/v1/moderations` — 内容安全检查 | +| 🔀 **重排序** | `/v1/rerank` — 文档相关性重排序 | + +### 🛡️ 弹性与安全 + +| 功能 | 功能描述 | +| --------------------- | -------------------------------------- | +| 🔌 **断路器** | 每个提供商自动打开/关闭,可配置阈值 | +| 🛡️ **反惊群** | Mutex + 信号量限速用于 API Key 提供商 | +| 🧠 **语义缓存** | 两层缓存(签名 + 语义)降低成本和延迟 | +| ⚡ **请求幂等性** | 5 秒去重窗口防止重复请求 | +| 🔒 **TLS 指纹伪装** | 通过 wreq-js 绕过基于 TLS 的机器人检测 | +| 🌐 **IP 过滤** | 白名单/黑名单用于 API 访问控制 | +| 📊 **可编辑速率限制** | 可配置的 RPM、最小间隔和最大并发 | + +### 📊 可观察性与分析 + +| 功能 | 功能描述 | +| ------------------ | ------------------------------------------ | +| 📝 **请求日志** | 调试模式,完整的请求/响应日志 | +| 💾 **SQLite 日志** | 持久化代理日志,服务器重启后仍然保留 | +| 📊 **分析仪表板** | Recharts:统计卡片、使用量图表、提供商表格 | +| 📈 **进度追踪** | 流式传输的 SSE 进度事件(可选) | +| 🧪 **LLM 评估** | 黄金集测试,4 种匹配策略 | +| 🔍 **请求遥测** | p50/p95/p99 延迟聚合 + X-Request-Id 追踪 | +| 📋 **日志 + 配额** | 专用页面用于日志浏览和配额追踪 | +| 🏥 **健康仪表板** | 运行时间、断路器状态、锁定、缓存统计 | +| 💰 **成本追踪** | 预算管理 + 每模型定价配置 | + +### ☁️ 部署与同步 + +| 功能 | 功能描述 | +| --------------------- | ---------------------------------------------------------- | +| 💾 **Cloud Sync** | 通过 Cloudflare Workers 在设备间同步配置 | +| 🌐 **随处部署** | Localhost、VPS、Docker、Cloudflare Workers | +| 🔑 **API Key 管理** | 按提供商生成、轮换和设定 API Key 范围 | +| 🧙 **配置向导** | 4 步引导式设置,面向新用户 | +| 🔧 **CLI 工具仪表板** | 一键配置 Claude、Codex、Cline、OpenClaw、Kilo、Antigravity | +| 🔄 **数据库备份** | 自动备份和恢复所有设置 | + +
+📖 功能详情 + +### 🎯 智能 4 层故障转移 + +创建带自动故障转移的组合: + +``` +Combo: "my-coding-stack" + 1. cc/claude-opus-4-6 (您的订阅) + 2. nvidia/llama-3.3-70b (免费 NVIDIA API) + 3. glm/glm-4.7 (便宜备用,$0.6/1M) + 4. if/kimi-k2-thinking (免费后备) + +→ 配额用完或出错时自动切换 +``` + +### 📊 实时配额追踪 + +- 每个提供商的 Token 消耗 +- 重置倒计时(5 小时、每日、每周) +- 付费层级的成本估算 +- 月度支出报告 + +### 🔄 格式转换 + +格式间的无缝转换: + +- **OpenAI** ↔ **Claude** ↔ **Gemini** ↔ **OpenAI Responses** +- 您的 CLI 发送 OpenAI 格式 → OmniRoute 转换 → 提供商接收原生格式 +- 适用于任何支持自定义 OpenAI 端点的工具 + +### 👥 多账号支持 + +- 每个提供商添加多个账号 +- 自动轮询或基于优先级的路由 +- 当一个账号达到配额时自动切换到下一个 + +### 🔄 自动令牌刷新 + +- OAuth 令牌在过期前自动刷新 +- 无需手动重新认证 +- 所有提供商的无缝体验 + +### 🎨 自定义组合 + +- 创建无限模型组合 +- 6 种策略:fill-first、round-robin、power-of-two-choices、random、least-used、cost-optimized +- 通过 Cloud Sync 在设备间共享组合 + +### 🏥 健康仪表板 + +- 系统状态(运行时间、版本、内存使用) +- 每个提供商的断路器状态(Closed/Open/Half-Open) +- 速率限制状态和活动锁定 +- 签名缓存统计 +- 延迟遥测(p50/p95/p99)+ 提示缓存 +- 一键重置健康状态 + +### 🔧 翻译器 Playground + +- 调试、测试和可视化 API 格式转换 +- 发送请求并查看 OmniRoute 如何在提供商格式间转换 +- 对排查集成问题非常有价值 + +### 💾 Cloud Sync + +- 在设备间同步提供商、组合和设置 +- 自动后台同步 +- 安全加密存储 + +
+ +--- + +## 📖 设置指南 + +
+💳 订阅提供商 + +### Claude Code (Pro/Max) + +```bash +仪表板 → 提供商 → 连接 Claude Code +→ OAuth 登录 → 自动令牌刷新 +→ 5 小时 + 每周配额追踪 + +模型: + cc/claude-opus-4-6 + cc/claude-sonnet-4-5-20250929 + cc/claude-haiku-4-5-20251001 +``` + +**专业建议:** 复杂任务用 Opus,追求速度用 Sonnet。OmniRoute 按模型追踪配额! + +### OpenAI Codex (Plus/Pro) + +```bash +仪表板 → 提供商 → 连接 Codex +→ OAuth 登录(端口 1455) +→ 5 小时 + 每周重置 + +模型: + cx/gpt-5.2-codex + cx/gpt-5.1-codex-max +``` + +### Gemini CLI(免费 180K/月!) + +```bash +仪表板 → 提供商 → 连接 Gemini CLI +→ Google OAuth +→ 每月 180K completions + 每天 1K + +模型: + gc/gemini-3-flash-preview + gc/gemini-2.5-pro +``` + +**最佳价值:** 巨大的免费额度!在付费层级之前使用。 + +### GitHub Copilot + +```bash +仪表板 → 提供商 → 连接 GitHub +→ 通过 GitHub OAuth +→ 每月重置(每月 1 日) + +模型: + gh/gpt-5 + gh/claude-4.5-sonnet + gh/gemini-3-pro +``` + +
+ +
+🔑 API Key 提供商 + +### NVIDIA NIM(免费 1000 积分!) + +1. 注册:[build.nvidia.com](https://build.nvidia.com) +2. 获取免费 API key(包含 1000 推理积分) +3. 仪表板 → 添加提供商 → NVIDIA NIM: + - API Key:`nvapi-your-key` + +**模型:** `nvidia/llama-3.3-70b-instruct`、`nvidia/mistral-7b-instruct` 及 50+ 更多 + +**专业建议:** OpenAI 兼容的 API — 与 OmniRoute 的格式转换完美配合! + +### DeepSeek + +1. 注册:[platform.deepseek.com](https://platform.deepseek.com) +2. 获取 API key +3. 仪表板 → 添加提供商 → DeepSeek + +**模型:** `deepseek/deepseek-chat`、`deepseek/deepseek-coder` + +### Groq(免费层可用!) + +1. 注册:[console.groq.com](https://console.groq.com) +2. 获取 API key(包含免费层) +3. 仪表板 → 添加提供商 → Groq + +**模型:** `groq/llama-3.3-70b`、`groq/mixtral-8x7b` + +**专业建议:** 超快推理 — 最适合实时编程! + +### OpenRouter(100+ 模型) + +1. 注册:[openrouter.ai](https://openrouter.ai) +2. 获取 API key +3. 仪表板 → 添加提供商 → OpenRouter + +**模型:** 通过一个 API key 访问所有主要提供商的 100+ 模型。 + +
+ +
+💰 低价提供商(备用) + +### GLM-4.7(每日重置,$0.6/1M) + +1. 注册:[Zhipu AI](https://open.bigmodel.cn/) +2. 从 Coding Plan 获取 API key +3. 仪表板 → 添加 API Key: + - 提供商:`glm` + - API Key:`your-key` + +**使用:** `glm/glm-4.7` + +**专业建议:** Coding Plan 以 1/7 的价格提供 3 倍配额!每日 10:00 AM 重置。 + +### MiniMax M2.1(5 小时重置,$0.20/1M) + +1. 注册:[MiniMax](https://www.minimax.io/) +2. 获取 API key +3. 仪表板 → 添加 API Key + +**使用:** `minimax/MiniMax-M2.1` + +**专业建议:** 长上下文(1M Token)最便宜的选项! + +### Kimi K2($9/月固定) + +1. 订阅:[Moonshot AI](https://platform.moonshot.ai/) +2. 获取 API key +3. 仪表板 → 添加 API Key + +**使用:** `kimi/kimi-latest` + +**专业建议:** 固定 $9/月 10M Token = $0.90/1M 有效成本! + +
+ +
+🆓 免费提供商(应急备用) + +### iFlow(8 个免费模型) + +```bash +仪表板 → 连接 iFlow +→ iFlow OAuth 登录 +→ 无限使用 + +模型: + if/kimi-k2-thinking + if/qwen3-coder-plus + if/glm-4.7 + if/minimax-m2 + if/deepseek-r1 +``` + +### Qwen(3 个免费模型) + +```bash +仪表板 → 连接 Qwen +→ 设备码授权 +→ 无限使用 + +模型: + qw/qwen3-coder-plus + qw/qwen3-coder-flash +``` + +### Kiro(免费 Claude) + +```bash +仪表板 → 连接 Kiro +→ AWS Builder ID 或 Google/GitHub +→ 无限使用 + +模型: + kr/claude-sonnet-4.5 + kr/claude-haiku-4.5 +``` + +
+ +
+🎨 创建组合 + +### 示例 1:最大化订阅 → 便宜备用 + +``` +仪表板 → 组合 → 创建新的 + +名称:premium-coding +模型: + 1. cc/claude-opus-4-6(订阅主力) + 2. glm/glm-4.7(便宜备用,$0.6/1M) + 3. minimax/MiniMax-M2.1(最便宜的后备,$0.20/1M) + +在 CLI 中使用:premium-coding +``` + +### 示例 2:仅免费(零成本) + +``` +名称:free-combo +模型: + 1. gc/gemini-3-flash-preview(每月 180K 免费) + 2. if/kimi-k2-thinking(无限制) + 3. qw/qwen3-coder-plus(无限制) + +成本:永远 $0! +``` + +
+ +
+🔧 CLI 集成 + +### Cursor IDE + +``` +设置 → 模型 → 高级: + OpenAI API Base URL: http://localhost:20128/v1 + OpenAI API Key: [从 OmniRoute 仪表板获取] + Model: cc/claude-opus-4-6 +``` + +### Claude Code + +使用仪表板中的 **CLI Tools** 页面一键配置,或手动编辑 `~/.claude/settings.json`。 + +### Codex CLI + +```bash +export OPENAI_BASE_URL="http://localhost:20128" +export OPENAI_API_KEY="your-omniroute-api-key" + +codex "your prompt" +``` + +### OpenClaw + +**选项 1 — 仪表板(推荐):** + +``` +仪表板 → CLI Tools → OpenClaw → 选择模型 → 应用 +``` + +**选项 2 — 手动:** 编辑 `~/.openclaw/openclaw.json`: + +```json +{ + "models": { + "providers": { + "omniroute": { + "baseUrl": "http://127.0.0.1:20128/v1", + "apiKey": "sk_omniroute", + "api": "openai-completions" + } + } + } +} +``` + +> **注意:** OpenClaw 仅支持本地 OmniRoute。使用 `127.0.0.1` 而非 `localhost` 以避免 IPv6 解析问题。 + +### Cline / Continue / RooCode + +``` +设置 → API 配置: + 提供商:OpenAI Compatible + Base URL: http://localhost:20128/v1 + API Key: [从 OmniRoute 仪表板获取] + Model: if/kimi-k2-thinking +``` + +
+ +--- + +## 📊 可用模型 + +
+查看所有可用模型 + +**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/`)** - 免费: + +- `gc/gemini-3-flash-preview` +- `gc/gemini-2.5-pro` + +**GitHub Copilot (`gh/`)**: + +- `gh/gpt-5` +- `gh/claude-4.5-sonnet` + +**NVIDIA NIM (`nvidia/`)** - 免费积分: + +- `nvidia/llama-3.3-70b-instruct` +- `nvidia/mistral-7b-instruct` +- 50+ 更多模型在 [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/`)** - 免费: + +- `if/kimi-k2-thinking` +- `if/qwen3-coder-plus` +- `if/deepseek-r1` +- `if/glm-4.7` +- `if/minimax-m2` + +**Qwen (`qw/`)** - 免费: + +- `qw/qwen3-coder-plus` +- `qw/qwen3-coder-flash` + +**Kiro (`kr/`)** - 免费: + +- `kr/claude-sonnet-4.5` +- `kr/claude-haiku-4.5` + +**OpenRouter (`or/`)** - 100+ 模型: + +- `or/anthropic/claude-4-sonnet` +- `or/google/gemini-2.5-pro` +- [openrouter.ai/models](https://openrouter.ai/models) 上的任何模型 + +
+ +--- + +## 🧪 评估 (Evals) + +OmniRoute 包含内置评估框架,用于针对黄金集测试 LLM 响应质量。通过仪表板中的 **Analytics → Evals** 访问。 + +### 内置黄金集 + +预加载的「OmniRoute Golden Set」包含 10 个测试用例: + +- 问候、数学、地理、代码生成 +- JSON 格式合规性、翻译、markdown +- 安全拒绝(有害内容)、计数、布尔逻辑 + +### 评估策略 + +| 策略 | 描述 | 示例 | +| ---------- | -------------------------------- | -------------------------------- | +| `exact` | 输出必须完全匹配 | `"4"` | +| `contains` | 输出必须包含子串(不区分大小写) | `"Paris"` | +| `regex` | 输出必须匹配正则表达式模式 | `"1.*2.*3"` | +| `custom` | 自定义 JS 函数返回 true/false | `(output) => output.length > 10` | + +--- + +## 🐛 故障排除 + +
+点击展开故障排除指南 + +**"Language model did not provide messages"** + +- 提供商配额已耗尽 → 检查仪表板配额追踪器 +- 解决方案:使用组合故障转移或切换到更便宜的层级 + +**速率限制** + +- 订阅配额耗尽 → 回退到 GLM/MiniMax +- 添加组合:`cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking` + +**OAuth 令牌过期** + +- OmniRoute 自动刷新 +- 如果问题持续:仪表板 → 提供商 → 重新连接 + +**高成本** + +- 在仪表板 → 成本中检查使用统计 +- 将主要模型切换为 GLM/MiniMax +- 对非关键任务使用免费层(Gemini CLI、iFlow) + +**仪表板在错误端口打开** + +- 设置 `PORT=20128` 和 `NEXT_PUBLIC_BASE_URL=http://localhost:20128` + +**Cloud sync 错误** + +- 验证 `BASE_URL` 指向您正在运行的实例 +- 验证 `CLOUD_URL` 指向预期的云端点 +- 保持 `NEXT_PUBLIC_*` 值与服务器端值一致 + +**首次登录不工作** + +- 检查 `.env` 中的 `INITIAL_PASSWORD` +- 如未设置,默认密码为 `123456` + +**没有请求日志** + +- 在 `.env` 中设置 `ENABLE_REQUEST_LOGS=true` + +**兼容 OpenAI 的提供商连接测试显示 "Invalid"** + +- 许多提供商不暴露 `/models` 端点 +- OmniRoute v0.8.8+ 包含通过 chat completions 的回退验证 +- 确保 base URL 包含 `/v1` 后缀 + +
+ +--- + +## 🛠️ 技术栈 + +- **运行时**: Node.js 20+ +- **语言**: TypeScript 5.9 — `src/` 和 `open-sse/` 中 **100% TypeScript**(v0.8.8) +- **框架**: Next.js 16 + React 19 + Tailwind CSS 4 +- **数据库**: LowDB (JSON) + SQLite(领域状态 + 代理日志) +- **流式传输**: Server-Sent Events (SSE) +- **认证**: OAuth 2.0 (PKCE) + JWT + API Keys +- **测试**: Node.js test runner(368+ 单元测试) +- **CI/CD**: GitHub Actions(发布时自动 npm 发布 + Docker Hub) +- **网站**: [omniroute.online](https://omniroute.online) +- **包**: [npmjs.com/package/omniroute](https://www.npmjs.com/package/omniroute) +- **Docker**: [hub.docker.com/r/diegosouzapw/omniroute](https://hub.docker.com/r/diegosouzapw/omniroute) +- **弹性**: 断路器、指数退避、反惊群、TLS 伪装 + +--- + +## 📖 文档 + +| 文档 | 描述 | +| ----------------------------------- | ---------------------------- | +| [用户指南](docs/USER_GUIDE.md) | 提供商、组合、CLI 集成、部署 | +| [API 参考](docs/API_REFERENCE.md) | 所有端点及示例 | +| [故障排除](docs/TROUBLESHOOTING.md) | 常见问题和解决方案 | +| [架构](docs/ARCHITECTURE.md) | 系统架构和内部机制 | +| [贡献指南](CONTRIBUTING.md) | 开发设置和指南 | +| [OpenAPI 规范](docs/openapi.yaml) | OpenAPI 3.0 规范 | +| [安全策略](SECURITY.md) | 漏洞报告和安全实践 | + +--- + +## 📧 支持 + +- **网站**: [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) +- **原始项目**: [decolua 的 9router](https://github.com/decolua/9router) + +--- + +## 👥 贡献者 + +[![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) + +### 如何贡献 + +1. Fork 仓库 +2. 创建功能分支(`git checkout -b feature/amazing-feature`) +3. 提交更改(`git commit -m 'Add amazing feature'`) +4. 推送到分支(`git push origin feature/amazing-feature`) +5. 打开 Pull Request + +详细指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 + +### 发布新版本 + +```bash +# 创建发布 — npm 发布自动完成 +gh release create v0.8.8 --title "v0.8.8" --generate-notes +``` + +--- + +## 📊 Star 历史 + + + + + + Star History Chart + + + +--- + +## 🙏 致谢 + +特别感谢 **[decolua](https://github.com/decolua)** 的 **[9router](https://github.com/decolua/9router)** — 启发了本 fork 的原始项目。OmniRoute 在这个令人难以置信的基础上添加了额外功能、多模态 API 和完整的 TypeScript 重写。 + +特别感谢 **[CLIProxyAPI](https://github.com/router-for-me/CLIProxyAPI)** — 启发了本 JavaScript 移植的原始 Go 实现。 + +--- + +## 📄 许可证 + +MIT 许可证 — 详见 [LICENSE](LICENSE)。 + +--- + +
+ 用 ❤️ 为 24/7 编程的开发者打造 +
+ omniroute.online +
diff --git a/public/providers/ironclaw.png b/public/providers/ironclaw.png new file mode 100644 index 0000000000..8a91954969 Binary files /dev/null and b/public/providers/ironclaw.png differ diff --git a/public/providers/nanobot.png b/public/providers/nanobot.png new file mode 100644 index 0000000000..01055d15cb Binary files /dev/null and b/public/providers/nanobot.png differ diff --git a/public/providers/opencode.svg b/public/providers/opencode.svg new file mode 100644 index 0000000000..a158273242 --- /dev/null +++ b/public/providers/opencode.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/public/providers/picoclaw.jpg b/public/providers/picoclaw.jpg new file mode 100644 index 0000000000..7f1a7c2b78 Binary files /dev/null and b/public/providers/picoclaw.jpg differ diff --git a/public/providers/zeroclaw.png b/public/providers/zeroclaw.png new file mode 100644 index 0000000000..2e12fcd8c2 Binary files /dev/null and b/public/providers/zeroclaw.png differ