Skip to content

Latest commit

 

History

History
1294 lines (935 loc) · 57.9 KB

File metadata and controls

1294 lines (935 loc) · 57.9 KB
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 • Vídeo • Música • Á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 Docker Hub License Website WhatsApp

🌐 Website🚀 Início Rápido💡 Funcionalidades📖 Docs💰 Preços

🌐 Available in: 🇺🇸 English | 🇧🇷 Português (Brasil) | 🇪🇸 Español | 🇫🇷 Français | 🇮🇹 Italiano | 🇷🇺 Русский | 🇨🇳 中文 (简体) | 🇩🇪 Deutsch | 🇮🇳 हिन्दी | 🇹🇭 ไทย | 🇺🇦 Українська | 🇸🇦 العربية | 🇯🇵 日本語 | 🇻🇳 Tiếng Việt | 🇧🇬 Български | 🇩🇰 Dansk | 🇫🇮 Suomi | 🇮🇱 עברית | 🇭🇺 Magyar | 🇮🇩 Bahasa Indonesia | 🇰🇷 한국어 | 🇲🇾 Bahasa Melayu | 🇳🇱 Nederlands | 🇳🇴 Norsk | 🇵🇹 Português (Portugal) | 🇷🇴 Română | 🇵🇱 Polski | 🇸🇰 Slovenčina | 🇸🇪 Svenska | 🇵🇭 Filipino


🤔 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

🎯 What OmniRoute Solves — 16 Real Pain Points

Every developer using AI tools faces these problems daily. OmniRoute was built to solve them all — from cost overruns to regional blocks, from broken OAuth flows to zero observability.

💸 1. "I pay for an expensive subscription but still get interrupted by limits"

Developers pay $20–200/month for Claude Pro, Codex Pro, or GitHub Copilot. Even paying, quota has a ceiling — 5h of usage, weekly limits, or per-minute rate limits. Mid-coding session, the provider stops responding and the developer loses flow and productivity.

How OmniRoute solves it:

  • Smart 4-Tier Fallback — If subscription quota runs out, automatically redirects to API Key → Cheap → Free with zero manual intervention
  • Real-Time Quota Tracking — Shows token consumption in real-time with reset countdown (5h, daily, weekly)
  • Multi-Account Support — Multiple accounts per provider with auto round-robin — when one runs out, switches to the next
  • Custom Combos — Customizable fallback chains with 6 balancing strategies (fill-first, round-robin, P2C, random, least-used, cost-optimized)
  • Codex Business Quotas — Business/Team workspace quota monitoring directly in the dashboard
🔌 2. "I need to use multiple providers but each has a different API"

OpenAI uses one format, Claude (Anthropic) uses another, Gemini yet another. If a dev wants to test models from different providers or fallback between them, they need to reconfigure SDKs, change endpoints, deal with incompatible formats. Custom providers (FriendLI, NIM) have non-standard model endpoints.

How OmniRoute solves it:

  • Unified Endpoint — A single http://localhost:20128/v1 serves as proxy for all 36+ providers
  • Format Translation — Automatic and transparent: OpenAI ↔ Claude ↔ Gemini ↔ Responses API
  • Response Sanitization — Strips non-standard fields (x_groq, usage_breakdown, service_tier) that break OpenAI SDK v1.83+
  • Role Normalization — Converts developersystem for non-OpenAI providers; systemuser for GLM/ERNIE
  • Think Tag Extraction — Extracts <think> blocks from models like DeepSeek R1 into standardized reasoning_content
  • Structured Output for Geminijson_schemaresponseMimeType/responseSchema automatic conversion
  • stream defaults to false — Aligns with OpenAI spec, avoiding unexpected SSE in Python/Rust/Go SDKs
🌐 3. "My AI provider blocks my region/country"

Providers like OpenAI/Codex block access from certain geographic regions. Users get errors like unsupported_country_region_territory during OAuth and API connections. This is especially frustrating for developers from developing countries.

How OmniRoute solves it:

  • 3-Level Proxy Config — Configurable proxy at 3 levels: global (all traffic), per-provider (one provider only), and per-connection/key
  • Color-Coded Proxy Badges — Visual indicators: 🟢 global proxy, 🟡 provider proxy, 🔵 connection proxy, always showing the IP
  • OAuth Token Exchange Through Proxy — OAuth flow also goes through the proxy, solving unsupported_country_region_territory
  • Connection Tests via Proxy — Connection tests use the configured proxy (no more direct bypass)
  • SOCKS5 Support — Full SOCKS5 proxy support for outbound routing
  • TLS Fingerprint Spoofing — Browser-like TLS fingerprint via wreq-js to bypass bot detection
🆓 4. "I want to use AI for coding but I have no money"

Not everyone can pay $20–200/month for AI subscriptions. Students, devs from emerging countries, hobbyists, and freelancers need access to quality models at zero cost.

How OmniRoute solves it:

  • Free Tier Providers Built-in — Native support for 100% free providers: iFlow (8 unlimited models), Qwen (3 unlimited models), Kiro (Claude for free), Gemini CLI (180K/month free)
  • Free-Only Combos — Chain gc/gemini-3-flash → if/kimi-k2-thinking → qw/qwen3-coder-plus = $0/month with zero downtime
  • NVIDIA NIM Free Credits — 1000 free credits integrated
  • Cost Optimized Strategy — Routing strategy that automatically chooses the cheapest available provider
🔒 5. "I need to protect my AI gateway from unauthorized access"

When exposing an AI gateway to the network (LAN, VPS, Docker), anyone with the address can consume the developer's tokens/quota. Without protection, APIs are vulnerable to misuse, prompt injection, and abuse.

How OmniRoute solves it:

  • API Key Management — Generation, rotation, and scoping per provider with a dedicated /dashboard/api-manager page
  • Model-Level Permissions — Restrict API keys to specific models (openai/*, wildcard patterns), with Allow All/Restrict toggle
  • API Endpoint Protection — Require a key for /v1/models and block specific providers from the listing
  • Auth Guard + CSRF Protection — All dashboard routes protected with withAuth middleware + CSRF tokens
  • Rate Limiter — Per-IP rate limiting with configurable windows
  • IP Filtering — Allowlist/blocklist for access control
  • Prompt Injection Guard — Sanitization against malicious prompt patterns
  • AES-256-GCM Encryption — Credentials encrypted at rest
🛑 6. "My provider went down and I lost my coding flow"

AI providers can become unstable, return 5xx errors, or hit temporary rate limits. If a dev depends on a single provider, they're interrupted. Without circuit breakers, repeated retries can crash the application.

How OmniRoute solves it:

  • Circuit Breaker per-provider — Auto-open/close with configurable thresholds and cooldown (Closed/Open/Half-Open)
  • Exponential Backoff — Progressive retry delays
  • Anti-Thundering Herd — Mutex + semaphore protection against concurrent retry storms
  • Combo Fallback Chains — If the primary provider fails, automatically falls through the chain with no intervention
  • Combo Circuit Breaker — Auto-disables failing providers within a combo chain
  • Health Dashboard — Uptime monitoring, circuit breaker states, lockouts, cache stats, p50/p95/p99 latency
🔧 7. "Configuring each AI tool is tedious and repetitive"

Developers use Cursor, Claude Code, Codex CLI, OpenClaw, Gemini CLI, Kilo Code... Each tool needs a different config (API endpoint, key, model). Reconfiguring when switching providers or models is a waste of time.

How OmniRoute solves it:

  • CLI Tools Dashboard — Dedicated page with one-click setup for Claude Code, Codex CLI, OpenClaw, Kilo Code, Antigravity, Cline
  • GitHub Copilot Config Generator — Generates chatLanguageModels.json for VS Code with bulk model selection
  • Onboarding Wizard — Guided 4-step setup for first-time users
  • One endpoint, all models — Configure http://localhost:20128/v1 once, access 36+ providers
🔑 8. "Managing OAuth tokens from multiple providers is hell"

Claude Code, Codex, Gemini CLI, Copilot — all use OAuth 2.0 with expiring tokens. Developers need to re-authenticate constantly, deal with client_secret is missing, redirect_uri_mismatch, and failures on remote servers. OAuth on LAN/VPS is particularly problematic.

How OmniRoute solves it:

  • Auto Token Refresh — OAuth tokens refresh in background before expiration
  • OAuth 2.0 (PKCE) Built-in — Automatic flow for Claude Code, Codex, Gemini CLI, Copilot, Kiro, Qwen, iFlow
  • Multi-Account OAuth — Multiple accounts per provider via JWT/ID token extraction
  • OAuth LAN/Remote Fix — Private IP detection for redirect_uri + manual URL mode for remote servers
  • OAuth Behind Nginx — Uses window.location.origin for reverse proxy compatibility
  • Remote OAuth Guide — Step-by-step guide for Google Cloud credentials on VPS/Docker
📊 9. "I don't know how much I'm spending or where"

Developers use multiple paid providers but have no unified view of spending. Each provider has its own billing dashboard, but there's no consolidated view. Unexpected costs can pile up.

How OmniRoute solves it:

  • Cost Analytics Dashboard — Per-token cost tracking and budget management per provider
  • Budget Limits per Tier — Spending ceiling per tier that triggers automatic fallback
  • Per-Model Pricing Configuration — Configurable prices per model
  • Usage Statistics Per API Key — Request count and last-used timestamp per key
  • Analytics Dashboard — Stat cards, model usage chart, provider table with success rates and latency
🐛 10. "I can't diagnose errors and problems in AI calls"

When a call fails, the dev doesn't know if it was a rate limit, expired token, wrong format, or provider error. Fragmented logs across different terminals. Without observability, debugging is trial-and-error.

How OmniRoute solves it:

  • Unified Logs Dashboard — 4 tabs: Request Logs, Proxy Logs, Audit Logs, Console
  • Console Log Viewer — Real-time terminal-style viewer with color-coded levels, auto-scroll, search, filter
  • SQLite Proxy Logs — Persistent logs that survive server restarts
  • Translator Playground — 4 debugging modes: Playground (format translation), Chat Tester (round-trip), Test Bench (batch), Live Monitor (real-time)
  • Request Telemetry — p50/p95/p99 latency + X-Request-Id tracing
  • File-Based Logging with Rotation — Console interceptor captures everything to JSON log with size-based rotation
🏗️ 11. "Deploying and maintaining the gateway is complex"

Installing, configuring, and maintaining an AI proxy across different environments (local, VPS, Docker, cloud) is labor-intensive. Problems like hardcoded paths, EACCES on directories, port conflicts, and cross-platform builds add friction.

How OmniRoute solves it:

  • npm global installnpm install -g omniroute && omniroute — done
  • Docker Multi-Platform — AMD64 + ARM64 native (Apple Silicon, AWS Graviton, Raspberry Pi)
  • Docker Compose Profilesbase (no CLI tools) and cli (with Claude Code, Codex, OpenClaw)
  • Electron Desktop App — Native app for Windows/macOS/Linux with system tray, auto-start, offline mode
  • Split-Port Mode — API and Dashboard on separate ports for advanced scenarios (reverse proxy, container networking)
  • Cloud Sync — Config synchronization across devices via Cloudflare Workers
  • DB Backups — Automatic backup, restore, export and import of all settings
🌍 12. "The interface is English-only and my team doesn't speak English"

Teams in non-English-speaking countries, especially in Latin America, Asia, and Europe, struggle with English-only interfaces. Language barriers reduce adoption and increase configuration errors.

How OmniRoute solves it:

  • Dashboard i18n — 30 Languages — All 500+ keys translated including Arabic, Bulgarian, Danish, German, Spanish, Finnish, French, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Dutch, Norwegian, Polish, Portuguese (PT/BR), Romanian, Russian, Slovak, Swedish, Thai, Ukrainian, Vietnamese, Chinese, Filipino, English
  • RTL Support — Right-to-left support for Arabic and Hebrew
  • Multi-Language READMEs — 30 complete documentation translations
  • Language Selector — Globe icon in header for real-time switching
🔄 13. "I need more than chat — I need embeddings, images, audio"

AI isn't just chat completion. Devs need to generate images, transcribe audio, create embeddings for RAG, rerank documents, and moderate content. Each API has a different endpoint and format.

How OmniRoute solves it:

  • Embeddings/v1/embeddings with 6 providers and 9+ models
  • Image Generation/v1/images/generations with 10 providers and 20+ models (OpenAI, xAI, Together, Fireworks, Nebius, Hyperbolic, NanoBanana, Antigravity, SD WebUI, ComfyUI)
  • Text-to-Video/v1/videos/generations — ComfyUI (AnimateDiff, SVD) and SD WebUI
  • Text-to-Music/v1/music/generations — ComfyUI (Stable Audio Open, MusicGen)
  • Audio Transcription/v1/audio/transcriptions — Whisper + Nvidia NIM, HuggingFace, Qwen3
  • Text-to-Speech/v1/audio/speech — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3
  • Moderations/v1/moderations — Content safety checks
  • Reranking/v1/rerank — Document relevance reranking
  • Responses API — Full /v1/responses support for Codex
🧪 14. "I have no way to test and compare quality across models"

Developers want to know which model is best for their use case — code, translation, reasoning — but comparing manually is slow. No integrated eval tools exist.

How OmniRoute solves it:

  • LLM Evaluations — Golden set testing with 10 pre-loaded cases covering greetings, math, geography, code generation, JSON compliance, translation, markdown, safety refusal
  • 4 Match Strategiesexact, contains, regex, custom (JS function)
  • Translator Playground Test Bench — Batch testing with multiple inputs and expected outputs, cross-provider comparison
  • Chat Tester — Full round-trip with visual response rendering
  • Live Monitor — Real-time stream of all requests flowing through the proxy
📈 15. "I need to scale without losing performance"

As request volume grows, without caching the same questions generate duplicate costs. Without idempotency, duplicate requests waste processing. Per-provider rate limits must be respected.

How OmniRoute solves it:

  • Semantic Cache — Two-tier cache (signature + semantic) reduces cost and latency
  • Request Idempotency — 5s deduplication window for identical requests
  • Rate Limit Detection — Per-provider RPM, min gap, and max concurrent tracking
  • Editable Rate Limits — Configurable defaults in Settings → Resilience with persistence
  • API Key Validation Cache — 3-tier cache for production performance
  • Health Dashboard with Telemetry — p50/p95/p99 latency, cache stats, uptime
🤖 16. "I want to control model behavior globally"

Developers who want all responses in a specific language, with a specific tone, or want to limit reasoning tokens. Configuring this in every tool/request is impractical.

How OmniRoute solves it:

  • System Prompt Injection — Global prompt applied to all requests
  • Thinking Budget Validation — Reasoning token allocation control per request (passthrough, auto, custom, adaptive)
  • 6 Routing Strategies — Global strategies that determine how requests are distributed
  • Wildcard Routerprovider/* patterns route dynamically to any provider
  • Combo Enable/Disable Toggle — Toggle combos directly from the dashboard
  • Provider Toggle — Enable/disable all connections for a provider with one click
  • Blocked Providers — Exclude specific providers from /v1/models listing

⚡ Início Rápido

1. Instale globalmente:

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:

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.

Execução rápida:

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

Com arquivo de ambiente:

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

# 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 1.0.6 ~250MB Versão atual


🖥️ Aplicativo Desktop — Offline e Sempre Ativo

🆕 NOVO! O OmniRoute agora está disponível como aplicativo desktop nativo para Windows, macOS e Linux.

Execute o OmniRoute como um aplicativo desktop autônomo — sem terminal, sem navegador, sem internet necessária para modelos locais. O app baseado em Electron inclui:

  • 🖥️ Janela Nativa — Janela dedicada com integração à bandeja do sistema
  • 🔄 Iniciar Automaticamente — Inicie o OmniRoute ao fazer login no sistema
  • 🔔 Notificações Nativas — Receba alertas sobre esgotamento de cota ou problemas
  • Instalação com Um Clique — NSIS (Windows), DMG (macOS), AppImage (Linux)
  • 🌐 Modo Offline — Funciona totalmente offline com servidor embarcado

Início Rápido

# Modo desenvolvimento
npm run electron:dev

# Compilar para sua plataforma
npm run electron:build         # Plataforma atual
npm run electron:build:win     # Windows (.exe)
npm run electron:build:mac     # macOS (.dmg) — x64 & arm64
npm run electron:build:linux   # Linux (.AppImage)

Bandeja do Sistema

Quando minimizado, o OmniRoute fica na bandeja do sistema com ações rápidas:

  • Abrir dashboard
  • Alterar porta do servidor
  • Sair do aplicativo

📖 Documentação completa: electron/README.md


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


💡 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
Aliases de Modelo Redireciona IDs de modelos depreciados para substitutos atuais (built-in + custom)
Degradação em Background Redireciona tarefas em background (títulos, resumos) para modelos mais baratos
�💬 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 — 10 provedores, 20+ modelos (cloud + local)
📐 Embeddings /v1/embeddings — 6 provedores, 9+ modelos
🎤 Transcrição de Áudio /v1/audio/transcriptions — Whisper + Nvidia NIM, HuggingFace, Qwen3
🔊 Texto para Fala /v1/audio/speech — ElevenLabs, Nvidia NIM, HuggingFace, Coqui, Tortoise, Qwen3
🎬 Geração de Vídeo /v1/videos/generations — ComfyUI (AnimateDiff, SVD), SD WebUI
🎵 Geração de Música /v1/music/generations — ComfyUI (Stable Audio Open, MusicGen)
🛡️ 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
💾 Persistência de Rate Limits Limites aprendidos persistem via SQLite com debounce de 60s + 24h de validade
🔄 Resiliência de Token Refresh Circuit breaker por provedor (5 falhas→30min) + timeout de 30s por tentativa
🛡 Proteção de Endpoint API Gateway de Auth + bloqueio de provedores para o endpoint /models
🔒 Visibilidade de Proxy Badges coloridos: 🟢 global, 🟡 provedor, 🔵 por-conexão com exibição de IP
🌐 Proxy em 3 Níveis Configure proxies em nível global, por provedor ou por conexão

📊 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, restauração, exportação e importação automática de todas as configurações
🌐 Internacionalização i18n completo com next-intl — suporte a 30 idiomas com RTL
🌍 Seletor de Idioma Ícone de globo no cabeçalho para troca entre 30 idiomas em tempo real
📂 Diretório de Dados Custom Variável DATA_DIR para sobrescrever o caminho padrão ~/.omniroute
📖 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:

  • OpenAIClaudeGeminiOpenAI 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

O OmniRoute inclui um poderoso Playground de Tradução integrado com 4 modos para debug, teste e monitoramento de traduções de API:

Modo Descrição
💻 Playground Tradução direta entre formatos — cole qualquer corpo de requisição e veja instantaneamente como o OmniRoute traduz entre formatos (OpenAI ↔ Claude ↔ Gemini ↔ Responses API). Inclui templates de exemplo e auto-detecção de formato.
💬 Chat Tester Envie requisições reais pelo OmniRoute e veja a viagem completa: sua entrada, a requisição traduzida, a resposta do provedor, e a resposta traduzida de volta. Inestimável para validar roteamento de combos.
🧪 Test Bench Modo de teste em lote — defina múltiplos casos de teste com diferentes entradas e saídas esperadas, execute todos de uma vez, e compare resultados entre provedores e modelos.
📱 Live Monitor Monitoramento de requisições em tempo real — acompanhe requisições entrando conforme fluem pelo OmniRoute, veja traduções de formato acontecendo ao vivo, e identifique problemas instantaneamente.

Acesso: Dashboard → Translator (barra lateral)

💾 Cloud Sync

  • Sincronize provedores, combos e configurações entre dispositivos
  • Sincronização automática em background
  • Armazenamento criptografado seguro

🎯 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...

📖 Guia de Configuração

💳 Provedores por Assinatura

Claude Code (Pro/Max)

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)

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

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

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

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)

Dashboard → Conectar Qwen
→ Autorização por código de dispositivo
→ Uso ilimitado

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

Kiro (Claude GRATUITO)

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

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:

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

🧪 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 v1.0.6+ 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/ (v1.0.6)
  • 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
  • Pacote: npmjs.com/package/omniroute
  • Docker: 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 Provedores, combos, integração CLI, deploy
Referência da API Todos os endpoints com exemplos
Solução de Problemas Problemas comuns e soluções
Arquitetura Arquitetura do sistema e internos
Contribuindo Setup de desenvolvimento e diretrizes
Spec OpenAPI Especificação OpenAPI 3.0
Política de Segurança Reportar vulnerabilidades e práticas de segurança
Deploy em VM Guia completo: VM + nginx + Cloudflare
Galeria de Features Tour visual do dashboard com screenshots

📸 Preview do Dashboard

Clique para ver screenshots do dashboard
Página Screenshot
Provedores Providers
Combos Combos
Analytics Analytics
Saúde Health
Tradutor Translator
Configurações Settings
CLI Tools CLI Tools
Logs de Uso Usage
Endpoint Endpoint

🗺️ Roadmap

O OmniRoute tem 210+ funcionalidades planejadas em múltiplas fases de desenvolvimento. Áreas principais:

Categoria Features Planejadas Destaques
🧠 Roteamento e Inteligência 25+ Roteamento por menor latência, roteamento por tags, pré-verificação de cota
🔒 Segurança e Compliance 20+ Hardening SSRF, cloaking de credenciais, rate-limit por endpoint
📊 Observabilidade 15+ Integração OpenTelemetry, monitoramento de cota em tempo real
🔄 Integrações 20+ Registro dinâmico de modelos, cooldowns de provedor
Performance 15+ Cache dupla camada, prompt cache, response cache, batch API
🌐 Ecossistema 10+ WebSocket API, config hot-reload, modo comercial

🔜 Em Breve

  • 🔗 Integração com OpenCode — Suporte nativo como provider para a IDE OpenCode
  • 🔗 Integração com TRAE — Suporte completo ao framework de desenvolvimento TRAE
  • 📦 Batch API — Processamento assíncrono em lote para requisições em massa
  • 🎯 Roteamento por Tags — Roteamento de requisições baseado em tags personalizadas
  • 💰 Estratégia de Menor Custo — Seleção automática do provedor mais barato

📝 Especificações completas de features disponíveis em docs/new-features/ (217 specs detalhadas)


📧 Suporte

💬 Participe da comunidade! Grupo WhatsApp — Tire dúvidas, compartilhe dicas e fique atualizado.


👥 Contribuidores

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 para diretrizes detalhadas.

Lançando uma Nova Versão

# Crie um release — publicação no npm acontece automaticamente
gh release create v1.0.6 --title "v1.0.6" --generate-notes

📊 Histórico de Stars

Star History Chart

🙏 Agradecimentos

Agradecimento especial a 9router por 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 — a implementação original em Go que inspirou esta adaptação em JavaScript.


📄 Licença

Licença MIT - veja LICENSE para detalhes.


Feito com ❤️ para desenvolvedores que programam 24/7
omniroute.online