Skip to content

Latest commit

 

History

History
1372 lines (984 loc) · 63.3 KB

File metadata and controls

1372 lines (984 loc) · 63.3 KB
OmniRoute Dashboard

🚀 OmniRoute — O gateway de IA gratuito

Nunca pare de codificar. Roteamento inteligente para modelos de IA GRATUITOS e de baixo custo com fallback automático.

Seu proxy de API universal — um endpoint, mais de 36 provedores, tempo de inatividade zero.

Conclusões de bate-papo • Incorporações • Geração de imagem • Áudio • Reclassificação • 100% TypeScript


🤖 Provedor de IA gratuito para seus agentes de codificação favoritos

Conecte qualquer ferramenta IDE ou CLI com tecnologia de IA por meio do OmniRoute - gateway de API gratuito para codificaçã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 ilimitados e cota


npm version Docker Hub License Website WhatsApp

🌐 Website🚀 Quick Start💡 Features📖 Docs💰 Pricing💬 WhatsApp

🌐 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 atingir limites:

  • A cota de assinatura expira sem ser utilizada todos os meses
  • Os limites de taxa impedem você no meio da codificação
  • APIs caras (US$ 20-50/mês por provedor)
  • Troca manual entre provedores

OmniRoute resolve isso:

  • Maximize as assinaturas - Rastreie a cota, use cada bit antes de redefinir
  • Fullback automático - Assinatura → Chave de API → Barato → Gratuito, tempo de inatividade zero
  • Múltiplas contas - Round-robin entre contas por provedor
  • Universal - Funciona com Claude Code, Codex, Gemini CLI, Cursor, Cline, OpenClaw, qualquer ferramenta CLI

🔄 Como funciona

┌─────────────┐
│  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

🎯 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 4 providers and 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
  • 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

🎉 O painel abre às http://localhost:20128

Comando Descrição
omniroute Iniciar servidor (porta padrão 20128)
omniroute --port 3000 Usar porta personalizada
omniroute --no-open Não abra o navegador automaticamente
omniroute --help Mostrar ajuda

2. Conecte um provedor GRATUITO:

Painel → Provedores → Conectar Claude Code ou Antigravidade → Login OAuth → Concluído!

3. Use em sua ferramenta CLI:

Claude Code/Codex/Gemini CLI/OpenClaw/Cursor/Cline Settings:
  Endpoint: http://localhost:20128/v1
  API Key: [copy from dashboard]
  Model: if/kimi-k2-thinking

É isso aí! Comece a codificar com modelos de IA GRATUITOS.

Alternativa – execute a partir da 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 uma imagem pública do Docker em 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:

# 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

Usando 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
Imagem Etiqueta Tamanho Descrição
diegosouzapw/omniroute latest ~250 MB Última versão estável
diegosouzapw/omniroute 1.0.3 ~250 MB Versão atual


🖥️ Desktop App — Offline & Always-On

🆕 NEW! OmniRoute is now available as a native desktop application for Windows, macOS, and Linux.

  • 🖥️ Native Window — Dedicated app window with system tray integration
  • 🔄 Auto-Start — Launch OmniRoute on system login
  • 🔔 Native Notifications — Get alerts for quota exhaustion or provider issues
  • One-Click Install — NSIS (Windows), DMG (macOS), AppImage (Linux)
  • 🌐 Offline Mode — Works fully offline with bundled server
npm run electron:dev           # Development mode
npm run electron:build         # Current platform
npm run electron:build:win     # Windows (.exe)
npm run electron:build:mac     # macOS (.dmg)
npm run electron:build:linux   # Linux (.AppImage)

📖 Full documentation: electron/README.md


💰 Visão geral dos preços

Nível Provedor Custo Redefinição de cota Melhor para
💳 ASSINATURA Código Claude (Pro) $ 20/mês 5h + semanalmente Já inscrito
Códice (Plus/Pro) US$ 20-200/mês 5h + semanalmente Usuários OpenAI
Gêmeos CLI GRÁTIS 180 mil/mês + 1 mil/dia Todos!
Copiloto GitHub US$ 10-19/mês Mensalmente Usuários do GitHub
🔑 CHAVE DE API NVIDIA NIM GRÁTIS (1000 créditos) Único Teste de nível gratuito
DeepSeek Pagamento conforme uso Nenhum Melhor preço/qualidade
Groq Nível gratuito + pago Taxa limitada Inferência ultrarrápida
xAI (Groque) Pagamento conforme uso Nenhum Modelos Grok
Mistral Nível gratuito + pago Taxa limitada IA Europeia
OpenRouter Pagamento conforme uso Nenhum Mais de 100 modelos
💰 BARATO GLM-4.7 US$ 0,6/1 milhão Diariamente 10h Backup de orçamento
MiniMax M2.1 US$ 0,2/1 milhão Rolamento de 5 horas Opção mais barata
Kimi K2 $ 9 / mês fixo 10 milhões de tokens/mês Custo previsível
🆓 GRÁTIS iFlow $0 Ilimitado 8 modelos grátis
Qwen $0 Ilimitado 3 modelos grátis
Kiro $0 Ilimitado Cláudio grátis

💡 Dica profissional: Comece com Gemini CLI (180 mil grátis/mês) + combo iFlow (gratuito ilimitado) = custo de $ 0!


💡 Principais recursos

🧠 Roteamento e inteligência central

Recurso O que faz
🎯 Fullback inteligente de 4 camadas Roteamento automático: Assinatura → Chave de API → Barato → Grátis
📊 Acompanhamento de cotas em tempo real Contagem de tokens ativos + contagem regressiva redefinida por provedor
🔄 Tradução de formato OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro sem costura + higienização de resposta
👥 Suporte para múltiplas contas Múltiplas contas por provedor com seleção inteligente
🔄 Atualização automática de token Os tokens OAuth são atualizados automaticamente com nova tentativa
🎨 Combos Personalizados 6 estratégias: preencher primeiro, round-robin, p2c, aleatório, menos usado, otimizado para custos
🧩 Modelos Personalizados Adicione qualquer ID de modelo a qualquer provedor
🌐 Roteador curinga Rotear padrões provider/* para qualquer provedor dinamicamente
🧠 Pensando no Orçamento Modos de passagem, automático, personalizado e adaptativo para modelos de raciocínio
🔀 Model Aliases Auto-forward deprecated model IDs to current replacements (built-in + custom)
Background Degradation Auto-route background tasks (titles, summaries) to cheaper models
💬 Injeção imediata do sistema Prompt de sistema global aplicado em todas as solicitações
📄 API de respostas Suporte completo à API de respostas OpenAI (/v1/responses) para Codex

🎵 APIs multimodais

Recurso O que faz
🖼️ Geração de imagens /v1/images/generations — 4 provedores, mais de 9 modelos
📐 Incorporações /v1/embeddings — 6 provedores, mais de 9 modelos
🎤 Transcrição de áudio /v1/audio/transcriptions — Compatível com sussurro
🔊 Conversão de texto em fala /v1/audio/speech — Síntese de áudio multiprovedor
🛡️ Moderações /v1/moderations — Verificações de segurança de conteúdo
🔀 Reclassificação /v1/rerank — Reclassificação da relevância dos documentos

🛡️ Resiliência e segurança

Recurso O que faz
🔌 Disjuntor Abertura/fechamento automático por provedor com limites configuráveis ​​
🛡️ Rebanho Anti-Trovão Mutex + limite de taxa de semáforo para provedores de chaves de API
🧠 Cache Semântico Cache de duas camadas (assinatura + semântica) reduz custo e latência
Solicitar Idempotência Janela de desduplicação 5s para solicitações duplicadas
🔒 Falsificação de impressão digital TLS Ignore a detecção de bot baseada em TLS via wreq-js
🌐 Filtragem de IP Lista de permissões/lista de bloqueio para controle de acesso à API
📊 Limites de taxas editáveis RPM configurável, intervalo mínimo e simultâneo máximo no nível do sistema
💾 Rate Limit Persistence Learned limits survive restarts via SQLite with 60s debounce + 24h staleness
🔄 Token Refresh Resilience Per-provider circuit breaker (5 fails→30min) + 30s timeout per attempt
🛡 Proteção de endpoint de API Autenticação + bloqueio de provedor para o endpoint /models
🔒 Visibilidade do proxy Crachás codificados por cores: 🟢 global, 🟡 provedor, 🔵 por conexão com display IP
🌐 Configuração de proxy de 3 níveis Configurar proxies em nível global, por provedor ou por conexão

📊 Observabilidade e análise

Recurso O que faz
📝 Solicitar registro Modo de depuração com logs completos de solicitação/resposta
💾 Logs de proxy SQLite Logs de proxy persistentes sobrevivem às reinicializações do servidor
📊 Painel de análise Alimentado por recargas: cartões de estatísticas, gráfico de uso de modelo, tabela de provedores
📈 Acompanhamento do progresso Eventos de progresso SSE opcionais para streaming
🧪 Avaliações LLM Teste de Golden Set com 4 estratégias de jogo
🔍 Solicitar Telemetria Agregação de latência p50/p95/p99 + rastreamento X-Request-Id
📋 Painel de registros Página unificada de 4 guias: Logs de solicitação, Logs de proxy, Logs de auditoria, Console
🖥️ Visualizador de registros do console Visualizador em estilo terminal em tempo real com filtro de nível, pesquisa, rolagem automática
📑 Registro baseado em arquivo O interceptor do console captura toda a saída para o arquivo de log JSON com rotação
🏥 Painel de saúde Tempo de atividade do sistema, estados de disjuntores, bloqueios, estatísticas de cache
💰 Acompanhamento de custos Gestão orçamentária + configuração de preços por modelo

☁️ Implantação e sincronização

Recurso O que faz
💾 Sincronização na nuvem Sincronize a configuração entre dispositivos por meio do Cloudflare Workers
🌐 Implante em qualquer lugar Localhost, VPS, Docker, Cloudflare Workers
🔑 Gerenciamento de chaves de API Gerar, alternar e definir o escopo de chaves de API por provedor
🧙 Assistente de integração Configuração guiada em 4 etapas para usuários iniciantes
🔧 Painel de Ferramentas CLI Configurar com um clique Claude, Codex, Cline, OpenClaw, Kilo, Antigravity
🔄 Backups de banco de dados Backup, restauração, exportação e importação automáticos para todas as configurações
🌐 Internacionalização i18n completo com next-intl — Suporte Inglês + Português (Brasil)
🌍 Seletor de idioma Ícone de globo no cabeçalho para troca de idioma em tempo real (🇺🇸/🇧🇷)
📂 Diretório de dados personalizado DATA_DIR env var para substituir o caminho de armazenamento padrão ~/.omniroute
📖 Detalhes do recurso

🎯 Fallback inteligente de 4 camadas

Crie combos com fallback automático:

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

📊 Rastreamento de cotas em tempo real

  • Consumo de token por provedor
  • Redefinir contagem regressiva (5 horas, diariamente, semanalmente)
  • Estimativa de custos para níveis pagos
  • Relatórios mensais de gastos

🔄 Tradução de formato

Tradução perfeita entre formatos:

  • OpenAIClaudeGêmeosRespostas OpenAI
  • Sua ferramenta CLI envia o formato OpenAI → OmniRoute traduz → O provedor recebe o formato nativo
  • Funciona com qualquer ferramenta que suporte endpoints OpenAI personalizados
  • Higienização de resposta — Remove campos não padrão para compatibilidade estrita com o OpenAI SDK
  • Normalização de funçõesdevelopersystem para não-OpenAI; systemuser para modelos GLM/ERNIE
  • ** Extração de tags Think ** — <think> blocos → reasoning_content para modelos de pensamento
  • Saída estruturadajson_schemaresponseMimeType/responseSchema de Gêmeos

👥 Suporte para múltiplas contas

  • Adicione várias contas por provedor
  • Round-robin automático ou roteamento baseado em prioridade
  • Fallback para a próxima conta quando alguém atingir a cota

🔄 Atualização automática de token

  • Os tokens OAuth são atualizados automaticamente antes da expiração
  • Não é necessária reautenticação manual
  • Experiência perfeita em todos os provedores

🎨 Combos Personalizados

  • Crie combinações ilimitadas de modelos
  • 6 estratégias: preencher primeiro, round-robin, poder de duas escolhas, aleatório, menos usado, otimizado para custos
  • Compartilhe combos entre dispositivos com Cloud Sync

🏥 Painel de saúde

  • Status do sistema (tempo de atividade, versão, uso de memória)
  • Estados do disjuntor por provedor (Fechado/Aberto/Meio-Aberto)
  • Status do limite de taxa e bloqueios ativos
  • Estatísticas de cache de assinatura
  • Telemetria de latência (p50/p95/p99) + cache de prompt
  • Redefinir o status de saúde com um clique

🔧 Parque do Tradutor

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

Modo Descrição
💻 Parque Infantil Tradução direta de formato — cole qualquer corpo de solicitação de API e veja instantaneamente como o OmniRoute o traduz entre formatos de provedor (OpenAI ↔ Claude ↔ Gemini ↔ API de respostas). Inclui modelos de exemplo e detecção automática de formato.
💬 Testador de bate-papo Envie solicitações de chat reais por meio do OmniRoute e veja o percurso completo: sua entrada, a solicitação traduzida, a resposta do provedor e a resposta traduzida de volta. Inestimável para validar o roteamento combinado.
🧪 Bancada de testes Modo de teste em lote — defina vários casos de teste com diferentes entradas e resultados esperados, execute-os todos de uma vez e compare os resultados entre provedores e modelos.
📱Monitoramento ao vivo Monitoramento de solicitações em tempo real: observe as solicitações recebidas conforme elas fluem pelo OmniRoute, veja as traduções de formato acontecendo ao vivo e identifique problemas instantaneamente.

Acesso: Painel → Tradutor (barra lateral)

💾 Sincronização na nuvem

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

🎯 Casos de uso

Caso 1: "Tenho assinatura do Claude Pro"

Problema: A cota expira sem ser utilizada, limites de taxa durante codificação pesada

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

Caso 2: "Quero custo zero"

Problema: Não posso pagar assinaturas, preciso de codificação de IA confiável

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

Caso 3: "Preciso de codificação 24 horas por dia, 7 dias por semana, sem interrupções"

Problema: Prazos, não podemos arcar com o tempo de inatividade

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

Caso 4: "Quero IA GRATUITA no OpenClaw"

Problema: Precisa de assistente de IA em aplicativos de mensagens, totalmente gratuito

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

📖 Guia de configuração

💳 Provedores de assinatura

Código Claude (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

Dica profissional: Use o Opus para tarefas complexas e o Sonnet para velocidade. OmniRoute rastreia cota por modelo!

Codex OpenAI (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 (GRÁTIS 180K/mês!)

Dashboard → Providers → Connect Gemini CLI
→ Google OAuth
→ 180K completions/month + 1K/day

Models:
  gc/gemini-3-flash-preview
  gc/gemini-2.5-pro

Melhor valor: Grande nível gratuito! Use isso antes dos níveis pagos.

GitHub Copiloto

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
🔑 Provedores de chave de API

NVIDIA NIM (1000 créditos GRÁTIS!)

  1. Inscreva-se: build.nvidia.com
  2. Obtenha uma chave de API gratuita (1.000 créditos de inferência incluídos)
  3. Painel → Adicionar Provedor → NVIDIA NIM:
    • Chave API: nvapi-your-key

Modelos: nvidia/llama-3.3-70b-instruct, nvidia/mistral-7b-instruct e mais de 50

Dica profissional: API compatível com OpenAI — funciona perfeitamente com a tradução de formato do OmniRoute!

DeepSeek

  1. Inscreva-se: platform.deepseek.com
  2. Obtenha a chave API
  3. Painel → Adicionar provedor → DeepSeek

Modelos: deepseek/deepseek-chat, deepseek/deepseek-coder

Groq (nível gratuito disponível!)

  1. Inscreva-se: console.groq.com
  2. Obtenha a chave API (nível gratuito incluído)
  3. Painel → Adicionar Provedor → Groq

Modelos: groq/llama-3.3-70b, groq/mixtral-8x7b

Dica profissional: Inferência ultrarrápida — melhor para codificação em tempo real!

OpenRouter (mais de 100 modelos)

  1. Inscreva-se: openrouter.ai
  2. Obtenha a chave API
  3. Painel → Adicionar Provedor → OpenRouter

Modelos: acesse mais de 100 modelos de todos os principais fornecedores por meio de uma única chave de API.

💰 Provedores baratos (backup)

GLM-4.7 (redefinição diária, US$ 0,6/1 milhão)

  1. Inscreva-se: Zhipu AI
  2. Obtenha a chave API do plano de codificação
  3. Painel → Adicionar chave API:
    • Provedor: glm
    • Chave API: your-key

Usar: glm/glm-4.7

Dica profissional: O plano de codificação oferece cota 3× com custo de 1/7! Redefinir diariamente às 10h.

MiniMax M2.1 (redefinição de 5h, US$ 0,20/1 milhão)

  1. Inscreva-se: MiniMax
  2. Obtenha a chave API
  3. Painel → Adicionar chave API

Usar: minimax/MiniMax-M2.1

Dica profissional: Opção mais barata para contexto longo (1 milhão de tokens)!

Kimi K2 (US$ 9/mês fixo)

  1. Inscreva-se: Moonshot AI
  2. Obtenha a chave API
  3. Painel → Adicionar chave API

Usar: kimi/kimi-latest

Dica profissional: $9 fixos/mês para 10 milhões de tokens = $0,90/custo efetivo de 1 milhão!

🆓 Provedores GRATUITOS (backup de emergência)

iFlow (8 modelos GRATUITOS)

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

Dashboard → Connect Qwen
→ Device code authorization
→ Unlimited usage

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

Kiro (Claude GRÁTIS)

Dashboard → Connect Kiro
→ AWS Builder ID or Google/GitHub
→ Unlimited usage

Models:
  kr/claude-sonnet-4.5
  kr/claude-haiku-4.5
🎨 Criar Combos

Exemplo 1: Maximize a assinatura → Backup barato

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

Exemplo 2: somente gratuito (custo zero)

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!
🔧 Integração CLI

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

Código Cláudio

Use a página Ferramentas CLI no painel para configuração com um clique ou edite ~/.claude/settings.json manualmente.

CLI do Codex

export OPENAI_BASE_URL="http://localhost:20128"
export OPENAI_API_KEY="your-omniroute-api-key"

codex "your prompt"

###OpenClaw

Opção 1 — Painel (recomendado):

Dashboard → CLI Tools → OpenClaw → Select Model → Apply

Opção 2 — Manual: Editar ~/.openclaw/openclaw.json:

{
  "models": {
    "providers": {
      "omniroute": {
        "baseUrl": "http://127.0.0.1:20128/v1",
        "apiKey": "sk_omniroute",
        "api": "openai-completions"
      }
    }
  }
}

Observação: OpenClaw só funciona com OmniRoute local. Use 127.0.0.1 em vez de localhost para evitar problemas de resolução de IPv6.

Cline / Continuar / RooCode

Settings → API Configuration:
  Provider: OpenAI Compatible
  Base URL: http://localhost:20128/v1
  API Key: [from OmniRoute dashboard]
  Model: if/kimi-k2-thinking

🧪 Avaliações (Evals)

OmniRoute inclui uma estrutura de avaliação integrada para testar a qualidade da resposta do LLM em relação a um conjunto dourado. Acesse-o em Analytics → Evals no painel.

Conjunto Dourado 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 com o formato JSON, tradução, remarcação
  • Recusa de segurança (conteúdo prejudicial), contagem, lógica booleana

Estratégias de Avaliação

Estratégia Descrição Exemplo
exact A saída deve corresponder exatamente "4"
contains A saída deve conter substring (sem distinção entre maiúsculas e minúsculas) "Paris"
regex A saída deve corresponder ao padrão regex "1.*2.*3"
custom Função JS personalizada retorna verdadeiro/falso (output) => output.length > 10

🐛 Solução de problemas

Clique para expandir o guia de solução de problemas

"O modelo de linguagem não forneceu mensagens"

  • Cota do provedor esgotada → Verifique o rastreador de cota do painel
  • Solução: use o combo substituto ou mude para um nível mais barato

** Limitação de taxa **

  • Cota de assinatura esgotada → Fallback para GLM/MiniMax
  • Adicionar combinação: cc/claude-opus-4-6 → glm/glm-4.7 → if/kimi-k2-thinking

O token OAuth expirou

  • Atualizado automaticamente pelo OmniRoute
  • Se os problemas persistirem: Painel → Provedor → Reconectar

Custos elevados

  • Verifique as estatísticas de uso em Painel → Custos
  • Mude o modelo primário para GLM/MiniMax
  • Use o nível gratuito (Gemini CLI, iFlow) para tarefas não críticas

Painel abre na porta errada

  • Definir PORT=20128 e NEXT_PUBLIC_BASE_URL=http://localhost:20128

Erros de sincronização na nuvem

  • Verifique BASE_URL aponta para sua instância em execução
  • Verifique os pontos CLOUD_URL para o endpoint de nuvem esperado
  • Mantenha os valores NEXT_PUBLIC_* alinhados com os valores do lado do servidor

Primeiro login não funciona

  • Verifique INITIAL_PASSWORD em .env
  • Se não definida, a senha substituta é 123456

Sem registros de solicitação

  • Definir ENABLE_REQUEST_LOGS=true em .env

O teste de conexão mostra "Inválido" para provedores compatíveis com OpenAI

  • Muitos provedores não expõem um endpoint /models
  • OmniRoute v1.0.6+ inclui validação de fallback por meio de conclusões de chat
  • Certifique-se de que o URL base inclua o sufixo /v1

🔐 OAuth em Servidor Remoto (Remote OAuth Setup)

⚠️ IMPORTANTE para usuários com OmniRoute em VPS/Docker/servidor remoto

Por que o OAuth do Antigravity / Gemini CLI falha em servidores remotos?

Os provedores Antigravity e Gemini CLI usam Google OAuth 2.0 para autenticação. O Google exige que um redirect_uri usado no fluxo OAuth seja exatamente uma das URIs pré-cadastradas no Google Cloud Console do aplicativo.

As credenciais OAuth incorporadas no OmniRoute estão cadastradas apenas para localhost. Quando você acessa o OmniRoute em um servidor remoto (ex: https://omniroute.meuservidor.com), o Google rejeita a autenticação com:

Error 400: redirect_uri_mismatch

Solução: Configure suas próprias credenciais OAuth

Você precisa criar um OAuth 2.0 Client ID no Google Cloud Console com o URI do seu servidor.

####Passo a passo

1. Acesse o Console do Google Cloud

Abra: https://console.cloud.google.com/apis/credentials

2. Crie um novo ID de cliente OAuth 2.0

  • Clique em "+ Criar credenciais""ID do cliente OAuth"
  • Tipo de aplicativo: "Aplicativo Web"
  • Nome: escolha qualquer nome (ex: OmniRoute Remote)

3. Adicionar como URIs de redirecionamento autorizados

No campo "URIs de redirecionamento autorizados", adicionado:

https://seu-servidor.com/callback

Substitua seu-servidor.com pelo domínio ou IP do seu servidor (inclua a porta se necessário, ex: http://45.33.32.156:20128/callback).

4. Salve e copie as credenciais

Após criar, o Google mostrará o Client ID e o Client Secret.

5. Configurar como variáveis de ambiente

No seu .env (ou nas variáveis de ambiente do Docker):

# Para Antigravity:
ANTIGRAVITY_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
ANTIGRAVITY_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

# Para Gemini CLI:
GEMINI_OAUTH_CLIENT_ID=seu-client-id.apps.googleusercontent.com
GEMINI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret
GEMINI_CLI_OAUTH_CLIENT_SECRET=GOCSPX-seu-secret

6. Reinicie o OmniRoute

# Se usando npm:
npm run dev

# Se usando Docker:
docker restart omniroute

7. Tente conectar novamente

Painel → Provedores → Antigravidade (ou Gemini CLI) → OAuth

Agora o Google redirecionará corretamente para https://seu-servidor.com/callback e a autenticação funcionará.


Solução alternativa temporária (sem configurar credenciais próprias)

Se não quiser criar credenciais próprias agora, ainda é possível usar o fluxo manual de URL:

  1. O OmniRoute abrirá uma URL de autorização do Google
  2. Após você autorizar, o Google tentará redirecionar para localhost (que falha no servidor remoto)
  3. Copie a URL completa da barra de endereço do seu navegador (mesmo que a página não carregue)
  4. Cole essa URL no campo que aparece no modal de conexão do OmniRoute
  5. Clique em "Conectar"

Esta solução alternativa funciona porque o código de autorização na URL é válido, independentemente do redirecionamento ter sido carregado ou não.


🛠️ Pilha de tecnologia

  • Tempo de execução: Node.js 18–22 LTS (⚠️ Node.js 24+ não é compatívelbetter-sqlite3 binários nativos são incompatíveis)
  • Idioma: TypeScript 5.9 — 100% TypeScript em src/ e open-sse/ (v1.0.6)
  • Estrutura: Next.js 16 + React 19 + Tailwind CSS 4
  • Banco de dados: LowDB (JSON) + SQLite (estado do domínio + logs de proxy)
  • Streaming: eventos enviados pelo servidor (SSE)
  • Autenticação: OAuth 2.0 (PKCE) + JWT + chaves de API
  • Testes: executor de testes Node.js (mais de 368 testes de unidade)
  • CI/CD: GitHub Actions (publicação automática de npm + Docker Hub no lançamento)
  • Site: omniroute.online
  • Pacote: npmjs.com/package/omniroute
  • Docker: hub.docker.com/r/diegosouzapw/omniroute
  • Resiliência: Disjuntor, espera exponencial, rebanho anti-trovão, falsificação de TLS

📖 Documentação

Documento Descrição
User Guide Provedores, combos, integração CLI, implantação
API Reference Todos os endpoints com exemplos
Troubleshooting Problemas e soluções comuns
Architecture Arquitetura do sistema e componentes internos
Contributing Configuração e diretrizes de desenvolvimento
OpenAPI Spec Especificação OpenAPI 3.0
Security Policy Relatórios de vulnerabilidades e práticas de segurança
VM Deployment Guia completo: configuração de VM + nginx + Cloudflare
Features Gallery Tour visual do painel com capturas de tela

📸 Visualização do painel

Clique para ver as capturas de tela do painel
Página Captura de tela
Fornecedores Providers
Combos Combos
Análise Analytics
Saúde Health
Tradutor Translator
Configurações Settings
Ferramentas CLI CLI Tools
Registros de uso Usage
Ponto final Endpoint

🗺️ Roteiro

OmniRoute tem 210+ recursos planejados em diversas fases de desenvolvimento. Aqui estão as principais áreas:

Categoria Recursos planejados Destaques
🧠 Roteamento e Inteligência 25+ Roteamento de menor latência, roteamento baseado em tags, simulação de cota, seleção de conta P2C
🔒 Segurança e Conformidade 20+ Proteção SSRF, camuflagem de credenciais, limite de taxa por endpoint, escopo de chave de gerenciamento
📊 Observabilidade 15+ Integração OpenTelemetry, monitoramento de cotas em tempo real, rastreamento de custos por modelo
🔄 Integrações com Provedores 20+ Registro de modelo dinâmico, resfriamento de provedor, Codex multicontas, análise de cotas do Copilot
Desempenho 15+ Camada de cache dupla, cache de prompt, cache de resposta, manutenção de atividade de streaming, API em lote
🌐 Ecossistema 10+ API WebSocket, configuração hot-reload, armazenamento de configuração distribuído, modo comercial

🔜 Em breve

  • 🔗 Integração OpenCode — Suporte de provedor nativo para o IDE de codificação OpenCode AI
  • 🔗 Integração TRAE — Suporte total para a estrutura de desenvolvimento TRAE AI
  • 📦 API Batch — Processamento assíncrono em lote para solicitações em massa
  • 🎯 Roteamento baseado em tags — Roteie solicitações com base em tags personalizadas e metadados
  • 💰 Estratégia de custo mais baixo — Selecione automaticamente o provedor mais barato disponível

📝 Especificações completas de recursos disponíveis em link (217 especificações detalhadas)


📧 Suporte

💬 Junte-se à nossa comunidade! WhatsApp Group — Obtenha ajuda, compartilhe dicas e fique atualizado.


👥 Colaboradores

Contributors

Como contribuir

  1. Bifurque o repositório
  2. Crie sua ramificação de recursos (git checkout -b feature/amazing-feature)
  3. Confirme suas alterações (git commit -m 'Add amazing feature')
  4. Envie para a ramificação (git push origin feature/amazing-feature)
  5. Abra uma solicitação pull

Consulte CONTRIBUTING.md para obter diretrizes detalhadas.

Lançando uma nova versão

# Create a release — npm publish happens automatically
gh release create v1.0.6 --title "v1.0.6" --generate-notes

📊 História das Estrelas

Star History Chart

🙏 Agradecimentos

Agradecimentos especiais a 9router de decolua — o projeto original que inspirou este fork. OmniRoute se baseia nessa base incrível com recursos adicionais, APIs multimodais e uma reescrita completa do TypeScript.

Agradecimentos especiais a CLIProxyAPI — a implementação Go original que inspirou esta versão JavaScript.


📄 Licença

Licença MIT - consulte LICENSE para obter detalhes.


Construído com ❤️ para desenvolvedores que codificam 24 horas por dia, 7 dias por semana
omniroute.online