OmniRoute Dashboard # πŸš€ 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)
--- ## πŸ€” Why OmniRoute? **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 **OmniRoute solves this:** - βœ… **Maximize subscriptions** - Track quota, use every bit before reset - βœ… **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, OpenClaw, any CLI tool --- ## πŸ”„ How It Works ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Your CLI β”‚ (Claude Code, Codex, Gemini CLI, OpenClaw, Cursor, Cline...) β”‚ Tool β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ http://localhost:20128/v1 ↓ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ OmniRoute (Smart Router) β”‚ β”‚ β€’ Format translation (OpenAI ↔ Claude) β”‚ β”‚ β€’ Quota tracking + Embeddings + Images β”‚ β”‚ β€’ Auto token refresh β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”œβ”€β†’ [Tier 1: SUBSCRIPTION] Claude Code, Codex, Gemini CLI β”‚ ↓ quota exhausted β”œβ”€β†’ [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 └─→ [Tier 4: FREE] iFlow, Qwen, Kiro (unlimited) Result: Never stop coding, minimal cost ``` --- ## ⚑ Quick Start **1. Install globally:** ```bash npm install -g omniroute omniroute ``` πŸŽ‰ Dashboard opens at `http://localhost:20128` | Command | Description | | ----------------------- | --------------------------------- | | `omniroute` | Start server (default port 20128) | | `omniroute --port 3000` | Use custom port | | `omniroute --no-open` | Don't auto-open browser | | `omniroute --help` | Show help | **2. Connect a FREE provider:** Dashboard β†’ Providers β†’ Connect **Claude Code** or **Antigravity** β†’ OAuth login β†’ Done! **3. Use in your CLI tool:** ``` Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings: Endpoint: http://localhost:20128/v1 API Key: [copy from dashboard] Model: if/kimi-k2-thinking ``` **That's it!** Start coding with FREE AI models. **Alternative β€” run from source:** ```bash cp .env.example .env npm install PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev ``` --- ## 🐳 Docker OmniRoute is available as a public Docker image on [Docker Hub](https://hub.docker.com/r/diegosouzapw/omniroute). **Quick run:** ```bash docker run -d \ --name omniroute \ --restart unless-stopped \ -p 20128:20128 \ -v omniroute-data:/app/data \ diegosouzapw/omniroute:latest ``` **With environment file:** ```bash # Copy and edit .env first 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 ``` **Using Docker Compose:** ```bash # Base profile (no CLI tools) docker compose --profile base up -d # CLI profile (Claude Code, Codex, OpenClaw built-in) docker compose --profile cli up -d ``` | Image | Tag | Size | Description | | ------------------------ | -------- | ------ | --------------------- | | `diegosouzapw/omniroute` | `latest` | ~250MB | Latest stable release | | `diegosouzapw/omniroute` | `1.0.3` | ~250MB | Current version | --- ## πŸ’° 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 | Feature | What It Does | | ------------------------------- | ------------------------------------------------------------------------------ | | 🎯 **Smart 4-Tier Fallback** | Auto-route: Subscription β†’ API Key β†’ Cheap β†’ Free | | πŸ“Š **Real-Time Quota Tracking** | Live token count + reset countdown per provider | | πŸ”„ **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro seamless + response sanitization | | πŸ‘₯ **Multi-Account Support** | Multiple accounts per provider with intelligent selection | | πŸ”„ **Auto Token Refresh** | OAuth tokens refresh automatically with retry | | 🎨 **Custom Combos** | 6 strategies: fill-first, round-robin, p2c, random, least-used, cost-optimized | | 🧩 **Custom Models** | Add any model ID to any provider | | 🌐 **Wildcard Router** | Route `provider/*` patterns to any provider dynamically | | 🧠 **Thinking Budget** | Passthrough, auto, custom, and adaptive modes for reasoning models | | πŸ’¬ **System Prompt Injection** | Global system prompt applied across all requests | | πŸ“„ **Responses API** | Full OpenAI Responses API (`/v1/responses`) support for Codex | ### 🎡 Multi-Modal APIs | Feature | What It Does | | -------------------------- | --------------------------------------------------- | | πŸ–ΌοΈ **Image Generation** | `/v1/images/generations` β€” 4 providers, 9+ models | | πŸ“ **Embeddings** | `/v1/embeddings` β€” 6 providers, 9+ models | | 🎀 **Audio Transcription** | `/v1/audio/transcriptions` β€” Whisper-compatible | | πŸ”Š **Text-to-Speech** | `/v1/audio/speech` β€” Multi-provider audio synthesis | | πŸ›‘οΈ **Moderations** | `/v1/moderations` β€” Content safety checks | | πŸ”€ **Reranking** | `/v1/rerank` β€” Document relevance reranking | ### πŸ›‘οΈ Resilience & Security | Feature | What It Does | | ------------------------------- | ------------------------------------------------------------- | | πŸ”Œ **Circuit Breaker** | Auto-open/close per-provider with configurable thresholds | | πŸ›‘οΈ **Anti-Thundering Herd** | Mutex + semaphore rate-limit for API key providers | | 🧠 **Semantic Cache** | Two-tier cache (signature + semantic) reduces cost & latency | | ⚑ **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 | | πŸ“Š **Editable Rate Limits** | Configurable RPM, min gap, and max concurrent at system level | ### πŸ“Š Observability & Analytics | Feature | What It Does | | -------------------------- | ---------------------------------------------------------------------- | | πŸ“ **Request Logging** | Debug mode with full request/response logs | | πŸ’Ύ **SQLite Proxy Logs** | Persistent proxy logs survive server restarts | | πŸ“Š **Analytics Dashboard** | Recharts-powered: stat cards, model usage chart, provider table | | πŸ“ˆ **Progress Tracking** | Opt-in SSE progress events for streaming | | πŸ§ͺ **LLM Evaluations** | Golden set testing with 4 match strategies | | πŸ” **Request Telemetry** | p50/p95/p99 latency aggregation + X-Request-Id tracing | | πŸ“‹ **Logs Dashboard** | Unified 4-tab page: Request Logs, Proxy Logs, Audit Logs, Console | | πŸ–₯️ **Console Log Viewer** | Real-time terminal-style viewer with level filter, search, auto-scroll | | πŸ“‘ **File-Based Logging** | Console interceptor captures all output to JSON log file with rotation | | πŸ₯ **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 | | πŸ§™ **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, restore, export & import 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 - **Response sanitization** β€” Strips non-standard fields for strict OpenAI SDK compatibility - **Role normalization** β€” `developer` β†’ `system` for non-OpenAI; `system` β†’ `user` for GLM/ERNIE models - **Think tag extraction** β€” `` blocks β†’ `reasoning_content` for thinking models - **Structured output** β€” `json_schema` β†’ Gemini's `responseMimeType`/`responseSchema` ### πŸ‘₯ 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 OmniRoute includes a powerful built-in Translator Playground with **4 modes** for debugging, testing, and monitoring API translations: | Mode | Description | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **πŸ’» Playground** | Direct format translation β€” paste any API request body and instantly see how OmniRoute translates it between provider formats (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Includes example templates and format auto-detection. | | **πŸ’¬ Chat Tester** | Send real chat requests through OmniRoute and see the full round-trip: your input, the translated request, the provider response, and the translated response back. Invaluable for validating combo routing. | | **πŸ§ͺ Test Bench** | Batch testing mode β€” define multiple test cases with different inputs and expected outputs, run them all at once, and compare results across providers and models. | | **πŸ“± Live Monitor** | Real-time request monitoring β€” watch incoming requests as they flow through OmniRoute, see format translations happening live, and identify issues instantly. | **Access:** Dashboard β†’ Translator (sidebar) ### πŸ’Ύ 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)
--- ## πŸ§ͺ Evaluations (Evals) OmniRoute includes a built-in evaluation framework to test LLM response quality against a golden set. Access it via **Analytics β†’ Evals** in the dashboard. ### Built-in Golden Set The pre-loaded "OmniRoute Golden Set" contains 10 test cases covering: - Greetings, math, geography, code generation - JSON format compliance, translation, markdown - Safety refusal (harmful content), counting, boolean logic ### Evaluation Strategies | Strategy | Description | Example | | ---------- | ------------------------------------------------ | -------------------------------- | | `exact` | Output must match exactly | `"4"` | | `contains` | Output must contain substring (case-insensitive) | `"Paris"` | | `regex` | Output must match regex pattern | `"1.*2.*3"` | | `custom` | Custom JS function returns true/false | `(output) => output.length > 10` | --- ## πŸ› Troubleshooting
Click to expand troubleshooting guide **"Language model did not provide messages"** - Provider quota exhausted β†’ Check dashboard quota tracker - Solution: Use combo fallback or switch to cheaper tier **Rate limiting** - 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 v1.0.3+ includes fallback validation via chat completions - Ensure base URL includes `/v1` suffix
--- ## πŸ› οΈ Tech Stack - **Runtime**: Node.js 20+ - **Language**: TypeScript 5.9 β€” **100% TypeScript** across `src/` and `open-sse/` (v1.0.3) - **Framework**: Next.js 16 + React 19 + Tailwind CSS 4 - **Database**: LowDB (JSON) + SQLite (domain state + 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 (auto npm publish + Docker Hub on release) - **Website**: [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) - **Resilience**: Circuit breaker, exponential backoff, anti-thundering herd, TLS spoofing --- ## πŸ“– Documentation | Document | Description | | -------------------------------------------- | ---------------------------------------------- | | [User Guide](docs/USER_GUIDE.md) | Providers, combos, CLI integration, deployment | | [API Reference](docs/API_REFERENCE.md) | All endpoints with examples | | [Troubleshooting](docs/TROUBLESHOOTING.md) | Common problems and solutions | | [Architecture](docs/ARCHITECTURE.md) | System architecture and internals | | [Contributing](CONTRIBUTING.md) | Development setup and guidelines | | [OpenAPI Spec](docs/openapi.yaml) | OpenAPI 3.0 specification | | [Security Policy](SECURITY.md) | Vulnerability reporting and security practices | | [VM Deployment](docs/VM_DEPLOYMENT_GUIDE.md) | Complete guide: VM + nginx + Cloudflare setup | | [Features Gallery](docs/FEATURES.md) | Visual dashboard tour with screenshots | ### πŸ“Έ Dashboard Preview
Click to see dashboard screenshots | Page | Screenshot | | -------------- | ------------------------------------------------- | | **Providers** | ![Providers](docs/screenshots/01-providers.png) | | **Combos** | ![Combos](docs/screenshots/02-combos.png) | | **Analytics** | ![Analytics](docs/screenshots/03-analytics.png) | | **Health** | ![Health](docs/screenshots/04-health.png) | | **Translator** | ![Translator](docs/screenshots/05-translator.png) | | **Settings** | ![Settings](docs/screenshots/06-settings.png) | | **CLI Tools** | ![CLI Tools](docs/screenshots/07-cli-tools.png) | | **Usage Logs** | ![Usage](docs/screenshots/08-usage.png) | | **Endpoint** | ![Endpoint](docs/screenshots/09-endpoint.png) |
--- ## πŸ—ΊοΈ Roadmap OmniRoute has **210+ features planned** across multiple development phases. Here are the key areas: | Category | Planned Features | Highlights | | ----------------------------- | ---------------- | -------------------------------------------------------------------------------------- | | 🧠 **Routing & Intelligence** | 25+ | Lowest-latency routing, tag-based routing, quota preflight, P2C account selection | | πŸ”’ **Security & Compliance** | 20+ | SSRF hardening, credential cloaking, rate-limit per endpoint, management key scoping | | πŸ“Š **Observability** | 15+ | OpenTelemetry integration, real-time quota monitoring, cost tracking per model | | πŸ”„ **Provider Integrations** | 20+ | Dynamic model registry, provider cooldowns, multi-account Codex, Copilot quota parsing | | ⚑ **Performance** | 15+ | Dual cache layer, prompt cache, response cache, streaming keepalive, batch API | | 🌐 **Ecosystem** | 10+ | WebSocket API, config hot-reload, distributed config store, commercial mode | ### πŸ”œ Coming Soon - πŸ”— **OpenCode Integration** β€” Native provider support for the OpenCode AI coding IDE - πŸ”— **TRAE Integration** β€” Full support for the TRAE AI development framework - πŸ“¦ **Batch API** β€” Asynchronous batch processing for bulk requests - 🎯 **Tag-Based Routing** β€” Route requests based on custom tags and metadata - πŸ’° **Lowest-Cost Strategy** β€” Automatically select the cheapest available provider > πŸ“ Full feature specifications available in [`docs/new-features/`](docs/new-features/) (217 detailed specs) --- ## πŸ“§ 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) - **Original Project**: [9router by decolua](https://github.com/decolua/9router) --- ## πŸ‘₯ Contributors [![Contributors](https://contrib.rocks/image?repo=diegosouzapw/OmniRoute&max=100&columns=20&anon=1)](https://github.com/diegosouzapw/OmniRoute/graphs/contributors) ### How to Contribute 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines. ### Releasing a New Version ```bash # Create a release β€” npm publish happens automatically gh release create v1.0.3 --title "v1.0.3" --generate-notes ``` --- ## πŸ“Š Star History Star History Chart --- ## πŸ™ Acknowledgments 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. --- ## πŸ“„ License MIT License - see [LICENSE](LICENSE) for details. ---
Built with ❀️ for developers who code 24/7
omniroute.online