Skip to content

shinmentakezo07/OmniRoute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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 Docker Hub License Website

🌐 Website β€’ πŸš€ Quick Start β€’ πŸ’‘ Features β€’ πŸ“– Docs β€’ πŸ’° Pricing

🌐 Available in: English | PortuguΓͺs | EspaΓ±ol | Русский | δΈ­ζ–‡ | Deutsch | FranΓ§ais | Italiano


πŸ€” 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:

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:

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.

Quick run:

docker run -d \
  --name omniroute \
  --restart unless-stopped \
  -p 20128:20128 \
  -v omniroute-data:/app/data \
  diegosouzapw/omniroute:latest

With environment file:

# 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:

# 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.0 ~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
πŸ“‹ 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
πŸ§™ 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 β€” <think> 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)

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)

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!)

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

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
  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
  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
  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
  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
  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
  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
  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)

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)

Dashboard β†’ Connect Qwen
β†’ Device code authorization
β†’ Unlimited usage

Models:
  qw/qwen3-coder-plus
  qw/qwen3-coder-flash

Kiro (Claude FREE)

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

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:

{
  "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

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:


πŸ§ͺ 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.0+ 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.0)
  • 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
  • Package: npmjs.com/package/omniroute
  • Docker: hub.docker.com/r/diegosouzapw/omniroute
  • Resilience: Circuit breaker, exponential backoff, anti-thundering herd, TLS spoofing

πŸ“– Documentation

Document Description
User Guide Providers, combos, CLI integration, deployment
API Reference All endpoints with examples
Troubleshooting Common problems and solutions
Architecture System architecture and internals
Contributing Development setup and guidelines
OpenAPI Spec OpenAPI 3.0 specification
Security Policy Vulnerability reporting and security practices
VM Deployment Complete guide: VM + nginx + Cloudflare setup
Features Gallery Visual dashboard tour with screenshots

πŸ“Έ Dashboard Preview

Click to see dashboard screenshots
Page Screenshot
Providers Providers
Combos Combos
Analytics Analytics
Health Health
Translator Translator
Settings Settings
CLI Tools CLI Tools
Usage Logs Usage
Endpoint Endpoint

πŸ—ΊοΈ 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/ (217 detailed specs)


πŸ“§ Support


πŸ‘₯ Contributors

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 for detailed guidelines.

Releasing a New Version

# Create a release β€” npm publish happens automatically
gh release create v1.0.0 --title "v1.0.0" --generate-notes

πŸ“Š Star History

Star History Chart

πŸ™ Acknowledgments

Special thanks to 9router by 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 β€” the original Go implementation that inspired this JavaScript port.


πŸ“„ License

MIT License - see LICENSE for details.


Built with ❀️ for developers who code 24/7
omniroute.online

About

OmniRoute is an AI gateway for multi-provider LLMs: an OpenAI-compatible endpoint with smart routing, load balancing, retries, and fallbacks. Add policies, rate limits, caching, and observability for reliable, cost-aware inference.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 89.0%
  • JavaScript 10.0%
  • Other 1.0%