🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇧🇦 bs · 🇨🇿 cs · 🇩🇰 da · 🇩🇪 de · 🇬🇷 el · 🇪🇸 es · 🇪🇪 et · 🇮🇷 fa · 🇫🇮 fi · 🇫🇷 fr · 🇮🇪 ga · 🇮🇳 gu · 🇳🇬 ha · 🇮🇱 he · 🇮🇳 hi · 🇭🇷 hr · 🇭🇺 hu · 🇦🇲 hy · 🇮🇩 id · 🇳🇬 ig · 🇮🇹 it · 🇯🇵 ja · 🇬🇪 ka · 🇰🇭 km · 🇮🇳 kn · 🇰🇷 ko · 🇱🇹 lt · 🇱🇻 lv · 🇮🇳 ml · 🇮🇳 mr · 🇲🇾 ms · 🇲🇹 mt · 🇲🇲 my · 🇳🇵 ne · 🇳🇱 nl · 🇳🇴 no · 🇮🇳 or · 🇮🇳 pa · 🇵🇭 phi · 🇵🇱 pl · 🇧🇷 pt-BR · 🇷🇴 ro · 🇷🇺 ru · 🇱🇰 si · 🇸🇰 sk · 🇸🇮 sl · 🇷🇸 sr · 🇸🇪 sv · 🇰🇪 sw · 🇮🇳 ta · 🇮🇳 te · 🇹🇭 th · 🇹🇷 tr · 🇺🇦 uk-UA · 🇵🇰 ur · 🇺🇿 uz · 🇻🇳 vi · 🇳🇬 yo · 🇨🇳 zh-CN · 🇹🇼 zh-TW
Use as suas próprias contas de fornecedores. Este é um total agregado estimado de níveis gratuitos de terceiros, para os quais existe elegibilidade separada, e não uma atribuição de tokens da OmniRoute. Registe-se, obtenha credenciais quando necessário e ligue os fornecedores que pode utilizar; cada fornecedor controla os respetivos limites, disponibilidade e termos.
Combinar manualmente níveis gratuitos é penoso — dezenas de SDKs, dezenas de limites de pedidos e nenhuma noção da quantidade realmente disponível. A OmniRoute cataloga 484 entradas de níveis gratuitos em 34 chaves de pools recorrentes e calcula o total de tokens apresentado a partir dos 17 pools com um orçamento mensal positivo publicado, mais cinco limites da Groq por modelo, com desduplicação por pool partilhado. As quotas que só ficam disponíveis após uma verificação de identidade regional (atualmente: ModelScope) são apresentadas separadamente, +~6M após verificação de identidade regional, e nunca são adicionadas ao total apresentado. O resultado permanece visível no painel (
/dashboard/free-tiers).
Resumo animado da página dinâmica
/dashboard/free-tiers. Metodologia completa (desduplicação de pools, níveis de créditos, termos dos fornecedores): docs/reference/FREE_TIERS.md.Estes valores são novamente auditados a cada duas semanas em comparação com o catálogo em produção e podem variar em ambos os sentidos — se um fornecedor terminar um nível gratuito, o número desce; se surgir um novo, aumenta. Publicamos aquilo que o catálogo realmente calcula, nunca um cenário otimista arredondado por excesso.
⭐ Dê uma estrela ao repositório se a OMNIROUTE o ajudou a poupar dinheiro e a facilitar o seu trabalho.
👋 Siga o responsável pela manutenção — seja o primeiro a receber novidades sobre fornecedores, versões e sugestões:
Perguntas, sugestões de fornecedores, roteiro e apoio → Discord · Telegram · WhatsApp 🌍 Global / 🇧🇷 Brasil / Portal
| v3.8.50 | v3.8.51 | v3.8.53+ |
|
|---|---|---|---|
| Fornecedores 🌐 | 352 | 358 | 380 |
| 🧠 Modelo de chat exclusivo IDs | 1320 | 1374 | 1475 |
| Ponte da modalidade 🖼️ | 🆕 visão + áudio + vídeo | ✓ | ✓ |
| Catálogo gratuito do radar 📡 | aceitação 🆕 | ✓ | ✓ |
| Agendamento com reconhecimento de quota ⚖️ | 🆕 Cota-Partilha | ✓ | ✓ |
| Telemetria de quota 📊 | 🆕 ao vivo | ✓ | ✓ |
| Modo sem cabeça 🧰 | — | — | 🆕 serve --headless |
| infra ferroviária 🛤️ LTS | — | — | canais de lançamento 🆕 |
| 🔎 Descoberta do modelo API | — | — | 🆕 /v1/models/query |
Roteiro→ – apanhar o comboio para v3.9.0 LTS
| 🚀 Começar | 🚀 Início Rápido | 📦 Instalar | 🆓 Ligar um fornecedor |
| 💡 Aprender | 💥 A Promessa | 🤔 Porquê o OmniRoute | 🏆 O Que o Distingue |
| ⚙️ Funcionalidades | 🎯 Combinações | 🌐 Fornecedores | 🔌 CLI e MCP |
| 🗜️ Compressão | 🖥️ Onde Funciona | 🔒 Privado | |
| 👀 Ver | 🎬 Em Ação | ✨ Novidades | 🤖 CLIs Compatíveis |
| 💚 Apoio | 💚 Apoiar / Doar | 💬 Comunidade | 💖 Patrocinadores |
| 📦 Projeto | 🛠️ Tecnologias Utilizadas | 📖 Documentação | 👥 Colaboradores |
# Depois de ligar um fornecedor, copie a sua chave OmniRoute em Dashboard → Endpoints:
curl http://localhost:20128/v1/chat/completions \
-H "Authorization: Bearer YOUR_OMNIROUTE_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'auto precisa de uma rota elegível. Uma instalação nova pode não ter destinos sem chave elegíveis, e um fornecedor sem chave pode rejeitar clientes de terceiros. Os fornecedores marcados como tos: avoid, incluindo o Kiro, são excluídos do encaminhamento automático por predefinição; ligar uma conta não substitui essa definição. Consulte o Guia de Planos Gratuitos antes de escolher um fornecedor.
📦 Scripts de início rápido para copiar e colar em Python, Node.js, PHP e cURL → examples/quickstart/
Quer juntar-se como Amigo de Código Aberto? Estas são as empresas que apoiam o código aberto e ajudam a manter o OmniRoute em movimento — e nós dizemos publicamente para onde vai cada token que nos dão. Contacte-nos: diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
Obrigado à Kimi (Moonshot AI), o nosso Amigo Fundador de Código Aberto, por apoiar este projeto! A Kimi é o laboratório de IA por trás das famílias de modelos de peso aberto K2 e K3 — o Kimi K3 oferece uma janela de contexto de 1M de tokens, visão nativa e codificação de nível de fronteira a uma fração dos preços dos modelos fechados, e funciona de imediato com Claude Code, Codex e todas as ferramentas de codificação que o OmniRoute serve.
O que o apoio da Kimi impulsiona: Os créditos da API da Kimi alimentam o pipeline de lançamento validado por IA do OmniRoute — a fase de validação de fusão impulsionada pelo Kimi K3 que revê cada pull request antes de ser enviada — além do desenvolvimento diário de funcionalidades. O suporte de primeira classe da Kimi é enviado em ambas as vias: a API direta da Kimi ( kimi-k3) e o plano de codificação Kimi Code (OAuth e chave API). O OmniRoute é também o primeiro projeto de código aberto brasileiro no programa de apoio da Kimi. Obtenha uma chave API da Kimi com 15% de créditos extra →
|
|
Cheaper Inference cheaperinference.com |
Obrigado à Cheaper Inference, um Amigo de Código Aberto do OmniRoute, por apoiar este projeto! A Cheaper Inference é um gateway classificado por custo que revende 42 modelos de fronteira — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok e MiniMax — por trás de um único endpoint compatível com OpenAI, encaminhando cada pedido para o fornecedor elegível mais barato sem nunca cobrar acima do preço de tabela do criador do modelo.
Suporte de primeira classe no OmniRoute: Chat Completions, o endpoint nativo /v1/responses, visão, chamada de ferramentas e 3 modelos de imagem (grok-imagine, nano-banana-pro, nano-banana-2, acessíveis como cheaperinference/<model>). Obtenha uma chave API →
|
Os links marcados com aff=omniroute são links de parceiros. Eles financiam o projeto sem custo adicional para si.
🎟️ Promoção de Afiliados — cupões de inscrição gratuitos de fornecedores que não patrocinamos (clique para expandir)
Esta secção destina-se apenas a códigos de referência/cupão. As parcerias patrocinadas encontram-se em 🤝 Apoiado pelos nossos Amigos de Código Aberto acima. O OmniRoute não tem patrocínio ou parceria com os fornecedores aqui listados — estes são cupões públicos que qualquer pessoa pode usar.
|
AgentRouter agentrouter.org |
AgentRouter — inscrição de afiliado · $100 em créditos gratuitos na inscrição (servidor gratuito, espere maior latência — melhor para testes, não para produção). Suporte de primeira classe no OmniRoute desde a v3.8.50: Chat Completions, o formato de comunicação compatível com Anthropic e o caminho compatível com OpenAI. Os modelos disponíveis incluem claude-opus-4-8, claude-opus-5, gpt-5.6-sol e mais. Agarre os seus $100 →
|
Conhece outro fornecedor com um cupão de inscrição gratuito generoso que beneficie os utilizadores do OmniRoute? Abra uma issue e nós adicioná-lo-emos aqui.
Um combo é uma cadeia de modelos entre os quais o OmniRoute encaminha pedidos automaticamente. Se a quota se esgotar, um fornecedor falhar ou os custos dispararem, o combo pode avançar para o modelo elegível e operacional seguinte. 🛡️
Não é necessário criar nenhum combo. Defina o seu modelo como auto (ou uma variante) e o OmniRoute cria um combo virtual a partir dos fornecedores ligados, avaliados em tempo real:
| ID do modelo | O que otimiza |
|---|---|
auto | 🎯 Predefinição equilibrada (LKGP — mantém o último fornecedor que funcionou corretamente) |
auto/coding | 🧑💻 Ponderações que dão prioridade à qualidade na geração de código |
auto/fast | ⚡ Menor latência em primeiro lugar |
auto/cheap | 💰 Menor custo por token em primeiro lugar |
auto/subscription | 🎟️ Apenas a quota da subscrição que já paga — falha de forma fechada, sem nunca recorrer a uma alternativa faturável (guia) |
auto/thrifty | 🪜 Primeiro a quota do plano e, depois, um nível de cada vez até às opções pagas mais baratas — regressa ao plano após a reposição da quota (guia) |
auto/offline | 🔋 Maior margem de quota/limite de pedidos em primeiro lugar |
auto/smart | 🔭 Prioridade à qualidade + 10% de exploração para descobrir modelos melhores |
auto/lkgp | 📌 Afinidade explícita com o último fornecedor que funcionou corretamente |
auto/chaos | 🧪 Distribuição paralela por um painel de modelos (um por fornecedor, 5 por predefinição), devolvendo uma resposta; uma chamada a montante por modelo do painel, não se trata de injeção de falhas |
Todas as 20 estratégias — combine-as livremente em cada etapa do combo:
| # | Estratégia | O que faz |
|---|---|---|
| 1 | priority |
Lista ordenada pelo primeiro destino — esgota cada um antes de avançar para o seguinte 🥇 |
| 2 | fill-first |
Utiliza totalmente a quota de cada destino antes de avançar |
| 3 | weighted |
Seleção aleatória ponderada pelo peso de cada destino |
| 4 | round-robin |
Percorre ciclicamente os destinos por ordem |
| 5 | p2c |
Balanceamento de carga aleatório pelo método de escolha entre duas opções |
| 6 | least-used |
Seleciona o destino com a menor carga atual |
| 7 | random |
Seleção aleatória uniforme (sem duplicados) |
| 8 | strict-random |
Seleção aleatória sem eliminar repetições 🎲 |
| 9 | cost-optimized |
Minimiza o custo por pedido com base nos preços do catálogo em tempo real 💸 |
| 10 | headroom |
Seleciona o destino com a maior quota restante |
| 11 | quota-weighted |
Ignora contas esgotadas e, depois, seleciona proporcionalmente à quota restante ÷ carga em curso — as conversas existentes permanecem fixadas ⚖️ |
| 12 | reset-window |
Prefere o destino cuja janela de quota é reposta mais cedo |
| 13 | reset-aware |
Ordena pela hora de reposição da quota — janelas curtas primeiro 📊 |
| 14 | context-relay |
Transfere o contexto entre destinos em conversas longas 🧠 |
| 15 | context-optimized |
Seleciona a opção mais adequada ao tamanho do contexto atual |
| 16 | cache-optimized |
Fixa cada prefixo reutilizável do pedido à mesma conta — maximiza as correspondências na cache de pedidos 🎯 |
| 17 | lkgp |
Último Caminho Conhecido como Funcional — fixa o último fornecedor bem-sucedido e, depois, recorre às regras como alternativa |
| 18 | auto |
Avaliação em tempo real com 16 fatores para todas as ligações 🤖 |
| 19 | fusion |
Distribui o pedido por um painel de modelos + um avaliador sintetiza uma única resposta 🧬 |
| 20 | pipeline |
Encadeia etapas — a saída de cada destino alimenta o seguinte 🔗 |
O motor Auto-Combo classifica cada candidato com base em 16 fatores (estado, quota, custo, latência, adequação à tarefa, qualidade, disponibilidade da sessão…) — consulte docs/routing/AUTO-COMBO.md.
📖 Motor Auto-Combo · Guia de Resiliência
📊 Metodologia completa e detalhes por funcionalidade face ao 9router, OpenRouter, CLIProxyAPI e LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
O OmniRoute tem licença MIT e é mantido de forma aberta. Se lhe poupar tempo ou dinheiro, veja como pode ajudar a mantê-lo independente — escolha a opção mais adequada para si. O patrocínio nunca afeta a prioridade de encaminhamento; proporciona visibilidade, não uma posição superior.
| ⭐ Dê uma estrela ao repositório | Grátis — ajuda genuinamente a aumentar a visibilidade | Dê uma estrela ao OmniRoute |
| 🐙 GitHub Sponsors | Contribuição única ou mensal · sem comissão da plataforma | github.com/sponsors/diegosouzapw |
| ☕ Ko-fi | Contribuição única e rápida, sem necessidade de registo para o doador | ko-fi.com/diegosouzapw |
| 🧋 Buy Me a Coffee | Pequeno gesto informal | buymeacoffee.com/diegosouzapw |
| 🖐 Liberapay | Recorrente · sem fins lucrativos · código aberto | liberapay.com/diegosouzapw |
| 🇧🇷 PIX (Brasil) | Instantâneo, sem taxas | chave e código QR abaixo |
| ₿ Criptomoedas | BTC · ETH · USDT-TRC20 · USDC-Solana | endereços abaixo |
🇧🇷 PIX — instantâneo, sem taxas (Brasil)
Chave (aleatória): 5d865059-bc44-483a-962d-43ceb80126eb
Pix para copiar e colar:
00020101021126580014br.gov.bcb.pix01365d865059-bc44-483a-962d-43ceb80126eb5204000053039865802BR5922OMNIROUTE CONTRIBUICAO6006BRASIL62070503***630475DD
₿ Criptomoedas — BTC · ETH · USDT-TRC20 · USDC-Solana (clique para expandir)
| ₿ BTC | Bitcoin (SegWit) | bc1qh00smz004sy85wyl28v77tenkt3ckl6eaep7fd |
| Ξ ETH | Ethereum (ERC20) | 0x64Cf6B68A6Ff34288e89172950a2d00102337a84 |
| ₮ USDT | Tron (TRC20) | TKAF41JpuQrHbKTnsQa9svJE2T192Hvsc2 |
| $ USDC | Solana | 2emNNZzVVWQc3FQ2wk9M6qXUQmW8AKdjjL174fXR28Tu |
🐛 Encontrou um erro ou tem algum comentário? Abra uma Discussão.
Notas para programadores: O projeto pode gerar um ficheiro .env local durante npm install/postinstall, para conveniência dos programadores. Este ficheiro é intencionalmente ignorado através de .gitignore (consulte .gitignore) e nunca deve ser incluído num commit — se for incluído acidentalmente, substitua quaisquer segredos expostos e remova o ficheiro do histórico. Consulte docs/DEVELOPER-ENVIRONMENT.md para obter orientações sobre a gestão de ficheiros de ambiente locais e segredos.
O valor principal do nível gratuito continua a ser ~1,62 mil milhões de tokens/mês, com base no catálogo documentado e sem duplicações entre pools apresentado acima. Os créditos temporários de registo dos fornecedores podem aumentar separadamente o total do primeiro mês para ~2,22 mil milhões. O Radar é uma sobreposição opcional e assinada do catálogo, destinada a quem pretende informações mais atualizadas sobre a disponibilidade de modelos gratuitos entre lançamentos do OmniRoute; o catálogo da comunidade e todas as funcionalidades gratuitas existentes continuam a ser gratuitos.
Os apoiantes podem receber o catálogo em tempo real e oportunidades adicionais de fornecedores. O respetivo limite máximo, separado e variável, é de aproximadamente 3 mil milhões de tokens/mês, no máximo, dependendo da disponibilidade dos fornecedores. Este limite máximo não constitui uma garantia: os fornecedores podem alterar as quotas, os critérios de elegibilidade, os modelos ou as regiões a qualquer momento.
O Radar é opcional e utiliza apenas pedidos GET. O cliente OmniRoute não envia prompts, tráfego, configurações de fornecedores, telemetria de utilização nem o estado local relativo à dispensa de anúncios. Saiba mais sobre a elegibilidade e o catálogo atual em radar.omniroute.online/planos.
Destaques recentes da v3.8.20 → v3.8.53. Histórico completo em
CHANGELOG.md.
- ⚖️ Encaminhamento
quota-weighted— a 20.ª estratégia de combo ignora contas esgotadas e depois distribui entre as restantes em proporção à quota restante ÷ carga em curso, mantendo as conversas existentes fixadas. → Auto-Combo - 🧰 Modo headless —
omniroute serve --headless(ouOMNIROUTE_HEADLESS=1) executa apenas o motor de proxy/v1/*, com o dashboard e os subsistemas exclusivos do dashboard desativados. → Headless Mode - 🔎 Descoberta de modelos —
/v1/modelsfiltra por capacidade, contexto, tipo e texto, ePOST /v1/models/querydevolve uma lista curta determinística com a mesma visibilidade por chave. → API Reference - 🔑 Controlo de encaminhamento por chave — fixe uma chave API a um modelo ou combo com
forcedModel, e adicione ou remova modelos e combos de uma chave de forma atómica (/api/keys/{id}/access). → API Reference · OpenAPI - 🛡️ Controlos de PII mais finos — seleção por tipo, até 20 padrões de mascaramento personalizados validados e contadores de deteção por tipo; o mascaramento continua a ser opt-in. → Guardrails
- 🌍 67 idiomas — dashboard, espelhos da documentação e CLI, com
npm run i18n:add-localea adicionar um idioma em todo o lado num único comando. → i18n Guide - 🎛️ OmniConductor — delegação A2A de entrada para a sua frota de agentes, competências do Conductor no Agent Card, e um painel no dashboard com chat por voz push-to-talk do Faro. → A2A Server
- 🛂 Admissão adaptativa e proteção contra sobrecarga — pedidos de chat pesados entram em fila em vez de devolver 503, com leases rotativos de RPM atómicos por ligação. → Resilience Guide
- 🗂️ Ordenação canónica de
/v1/models— um bloco contíguo agrupado por fornecedor por cada fornecedor (combos fixados primeiro), estável em todas as fontes de catálogo. → API Reference - 🗜️ Reforço da compressão — proteção contra inflação ativa por omissão, pacotes Caveman para DE / FR / JA + chinês (wényán), filtros RTK para Gradle e .NET. → Compression
- 💸 Custo fixo honesto — os fornecedores de subscrição / planos de programação aparecem como $0 nas análises de custo; o orçamento, a quota e o encaminhamento continuam a estimar. → API Reference
- ⚖️ Encaminhamento Quota-Share — divide a quota de uma conta partilhada de forma justa pelas chaves em pool, de modo work-conserving, para que as frações inativas sejam emprestadas. → Resilience Guide
- 🤖 Configuração de CLI/agente com um comando — 15 comandos
setup-*registados;omniroute runlança 7 CLIs (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configuresuporta 11 destinos com um seletor interativo de fornecedor+modelo e favoritos por contexto. → CLI Integrations - 🛰️ Modo remoto — controle um OmniRoute remoto com tokens com âmbito (
connect/contexts/tokens) + um auxiliar OAuthantigravitypara instalações em VPS. → Remote Mode - 🧭 Auto-encaminhamento mais inteligente — combos
auto/<category>:<tier>, Fusion (painel de modelos + juiz), encaminhamento consciente da tarefa, substituições por pedido de modelo / modo / orçamento em USD. → Auto-Combo - 🗜️ Compressão plugável — 12 motores composáveis + Compression Studios: LLMLingua-2, Ultra de dois níveis, omniglyph, porta de fidelidade por passo, GCF v3.2, editor com arrastar para reordenar. → Compression
- 🕵️ Desencriptação MITM transparente (TPROXY) — capture CLIs que ignoram as variáveis de ambiente do proxy, com uma AC por SNI + instalador de trust-store. → MITM/TPROXY
- 💸 Telemetria de custos em todo o lado — cabeçalhos de custo/utilização
X-OmniRoute-*em todos os endpoints, cabeçalho de poupança em HIT de cache, quotas de despesa em USD por chave. → API Reference - 🧠 Memória sob o seu controlo — desativada por omissão, quantização vetorial int8 opt-in + decaimento tipado,
x-omniroute-no-memorypor pedido. → Memory - 🛡️ Segurança — proteção contra prompt-injection em todas as rotas de LLM (suite de red-team), guardrail opt-in de mascaramento de credenciais (redige chaves/segredos de API expostos em ambos os sentidos), pesquisa web de último recurso gratuita via DuckDuckGo, e uma porta de login OIDC opcional para o dashboard (o login por palavra-passe permanece sempre disponível). → Guardrails
- 🖼️ Novos endpoints —
/v1/ocr(Mistral OCR) e/v1/audio/translations(estilo Whisper) completam a superfície de media. → API Reference - 🎨 Geração de imagem / vídeo / áudio — uma única API para media: xAI Grok Imagine e vídeo Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind, e fornecedores de fala como ElevenLabs. → API Reference
- 🌍 Implementação e operações —
basePathde proxy reverso, deteção automática do idioma do navegador, rastreio de dispositivos por chave, confiança MITM sem root, localização zh-TW. → Environment - 🤝 Mais fornecedores e agentes — agentes cloud (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) com login por navegador + OAuth, cartão Ollama de primeira classe, Claude Opus 5 e Sonnet 5, parceria oficial Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… e um catálogo de 380 fornecedores renovado. → Providers
- 📡 Transparência no encaminhamento — cada resposta transporta um cabeçalho
X-OmniRoute-Decisionque indica a estratégia/fornecedor/latência que a serviu, uma nova estratégia de combocache-optimized+ fatorcacheAffinitydo Auto-Combo encaminham pedidos repetidos de volta para a ligação que detém o prefixo em cache, e um endpoint só de leitura/v1/auto-combo/{channel}/candidatesexpõe o conjunto de candidatos em direto de um canalauto/*. → Auto-Combo - ⚡ Desempenho e infraestrutura locais — Redis local com um clique, deployers de relay Cloudflare Workers / Deno Deploy, Bifrost e Mux como serviços embebidos supervisionados. → Serviços Embebidos
- 🧩 Também incluído — framework de plugins + marketplace, frameworks de skills Omni/Agent/GitHub, integração com o vault do Obsidian (22 ferramentas MCP), APIs Batch e Files compatíveis com OpenAI, cache semântico de respostas, gamificação com tabelas de classificação, descoberta de agentes ACP (15 agentes incorporados), exportação agendada de logs para BigQuery, fan-out paralelo multi-modelo
auto/chaos, uma ponte de bot do Telegram, um gestor de versões integrado na aplicação e rankings LMArena-ELO de fornecedores gratuitos. → Documentação
Uma configuração —
http://localhost:20128/v1— e** cada** AI IDE ou CLI é executado em modelos gratuitos e de baixo custo.
Claude Código |
Codex CLI |
Cline |
Código do quilo |
Código do jardim zoológico |
Continuar |
Ajudante |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Droid de fábrica |
Copilot CLI |
Cursor CLI |
Cheirado |
Pi |
Grok Construir |
Agente Hermes |
OpenClaw |
Ganso |
Intérprete aberto |
Warp AI |
deyin.ai |
📖 Configuração por ferramenta para todas as 38 ferramentas (27 agentes + 11 CLI do código CLI ) → docs/reference/CLI-TOOLS.md · 🧩 OpenCode plugin → @omniroute/opencode-provider
Inicie qualquer CLI compatível através OmniRoute num comando - nenhum ficheiro de configuração gravado, credenciais injetadas por processo, Qwen/Gemini obtém uma casa isolada descartável:
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # OpenAI Codex CLI
omniroute run aider --model glm/glm-5.2 -- --message "reply OK"
omniroute run goose --model glm/glm-5.2
omniroute run opencode --model glm/glm-5.2 -- run "reply OK"
omniroute run qwen --model glm/glm-5.2 -- -p "reply OK"
omniroute run gemini --model glm/glm-5.2 -- --skip-trust -p "reply OK"
# Or pick provider+model interactively and write the tool's own config:
omniroute configure codex # also: claude opencode qwen aider goose gemini cline continue kilo 5diveCada comando respeita o contexto remoto ativo (omniroute connect <host>), --dry-run visualiza o env/args exato sem ser executado e --api-key-env NAME mantém os segredos fora do seu histórico de shell. CLI → zqf
380 fornecedores registados nas coleções canónicas de chat, multimédia, pesquisa, execução local, agentes na nuvem e sistema, incluindo 153 com metadados de descoberta
hasFree: true. O registo de modelos de chat abrange 239 fornecedores / 3 059 pares distintos de fornecedor-modelo / 1 475 IDs de modelos em bruto; o catálogo separado de orçamentos gratuitos tem 471 entradas por modelo, 34 fundos recorrentes e 52 fornecedores gratuitos para sempre, recorrentes/sem chave. Estes denominadores são diferentes por definição; as definições e os cálculos com fundos desduplicados encontram-se na Referência de Fornecedores e nos Planos Gratuitos.
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…e mais de 350 — cada ícone é obtido em tempo real a partir do catálogo de fornecedores do painel. 📖 Referência de Fornecedores
📖 Catálogo completo legível por máquina → docs/reference/PROVIDER_REFERENCE.md
A mesma aplicação, a sua máquina, as suas regras. De uma instalação npm global para** O seu telefone** através do Termux.
| Plataforma | Instalar | Destaques |
|---|---|---|
| 📦 npm (global) | npm instalar -g omniroute | Um comando, qualquer OS |
| ⚡ Bun (global) | bun add -g omniroute | Mesmo tarball de registo, instalação mais rápida |
| 🐳 Docker | docker executar … diegosouzapw/omniroute | Multi-arco AMD64 + ARM64 |
| 🖥️ Ambiente de trabalho (Electron) | npm executar electrão:construir | Janela nativa bandeja + sistema zqm — Windows / macOS / Linux |
| 🎩 Barra de menu (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | Supervisiona & atualiza automaticamente o servidor — macOS |
| 💪 ARM | nativo arm64 | Raspberry Pi, servidores ARM, Apple Silicon |
| 📱 Android (Termux) | pkg instalar nodejs && npx -y omniroute | Executa no seu telefone , 24/7, sem root |
| 📲 PWA | "Adicionar ao ecrã inicial" | Ecrã completo, offline, instalável a partir do browser |
| 🧩 OpenCode plugin | @omniroute/opencode-provider | Integração OpenCode |
| 🤖 VS Código Copilot Chat | instalar OmniCopilot extensão | Cada modelo OmniRoute no seletor de chat Copilot nativo — estável & Insiders |
| 🛠️ Da fonte | npm install && npm run dev | Hackeie, contribua com |
Docker📖 zqc · Ambiente de trabalho · Bandeja da barra de menus · Termux · PWA · OpenCode
Sem nova barra lateral, sem novo chat UI - cada modelo que OmniRoute serve aparece diretamente no** Seletor de modelo Copilot Chat que já utiliza** . Desde o Código VS 1.122, os modelos de fornecedores funcionam sem login GitHub ou assinatura Copilot – modo de agente, chamada de ferramenta e visão, gratuitamente.
Instale o** OmniCopilot** extensão, aponte-o para o servidor OmniRoute (o predefinido é localhost:20128) e abra Copilot Chat → model picker →** Gerir modelos…** →OmniRoute .
| Loja | Link | Funciona com |
|---|---|---|
| 🧩 VS Code Marketplace | Instalar → | |
| 🔓 Abrir registo VSX | Instalar → |
A partir de dentro do editor: abra o** Extensões** visualizar, pesquisar** "OmniRoute"** , clique** Instalar** — funciona da mesma forma em ambas as lojas. Fonte, problemas e o runbook de publicação ao vivo em diegosouzapw/OmniCopilot.
📖 VS Código Copilot Guia de chat - configuração, o que o selector mostra, painel num separador, resolução de problemas
omniroute servefica mais feliz quando está sempre ligado.** OmniRouteTray** transforma isto numa aplicação de barra de menu do tipo configure e esqueça para macOS: inicia o servidor, mantém-no ativo durante as reinicializações, atualiza-o e coloca o seu orçamento de token ativo a um clique de distância -** sem janela de terminal aberta, semnpm install -g omniroutepara tomar conta.**
Construído com Tauri v2 (um núcleo Rust do tamanho de um erro de arredondamento), vem com o seu próprio tempo de execução Node 24 assinado e gere uma instalação OmniRoute de propriedade da aplicação, para que nunca lute contra o seu node/bun global. Isto** partilha a sua configuração e base de dados ~/.omniroute/ existente** - então é o mesmo OmniRoute que já conduz, só que de chapéu. 🎩
| O que faz | Como |
|---|---|
| 🟢 Supervisiona o servidor | Gera omniroute serve , adopta uma instância já em execução em vez de a duplicar |
| 📊 Visão geral do uso ao vivo | Barras de quota do fornecedor, limites Claude session/weekly com contagem regressiva redefinida, detalhe de custos em 30 dias |
| 🔄 Atualizações automáticas em vigor | Instalação por fases, troca atómica, reversão em caso de falha — sempre na versão mais recente |
| 🚀 Iniciar no login | Lançamento opcional no login; apenas bandeja, sem ícone de encaixe |
| 🩺 Doctor & logs | Diagnóstico com um clique e acesso ao log do servidor |
brew install --cask zoispag/tap/omniroute-tray Prefere um download? Obtenha o .dmg mais recente em
Liberta . Fonte, problemas e construção
documentos ao vivo em zoispag/omniroute-tray.
💛 Um projeto comunitário de @zoispag — não é um lançamento oficial OmniRoute.
📖 Autorização · Proteções · Conformidade
Para além do servidor, o OmniRoute é um cockpit completo de linha de comandos com mais de 80 comandos, além de protocolos de agentes abertos para que um agente de IA o possa controlar de forma autónoma.
omniroute # inicia o gateway + painel (porta 20128)
omniroute chat # cliente de chat TUI interativo (atalhos: /model /combo /skill /memory)
omniroute setup # assistente guiado de primeira execução
omniroute doctor # diagnostica fornecedores, portas e dependências nativasTem o OmniRoute num servidor? Controle-o a partir do seu portátil com a mesma CLI. Inicie sessão uma vez com um token de acesso com âmbito definido; a partir daí, todos os comandos têm como destino o servidor remoto.
omniroute connect 192.168.0.15 # palavra-passe → token com âmbito definido, guardado como contexto
omniroute models # ← executado no servidor REMOTO
omniroute configure codex # ← escolhe um modelo remoto e cria um perfil Codex local
omniroute tokens create --name ci --scope read # emite tokens mais restritos para outras máquinas
omniroute contexts use default # ← volta ao servidor localOs tokens têm os âmbitos read / write / admin; as rotas que iniciam processos continuam limitadas ao loopback.
📖 Modo Remoto
Exponha o OmniRoute através de MCP, A2A, uma API REST, webhooks ou uma CLI remota — qualquer agente compatível (ou o seu próprio código) obtém acesso a todo o gateway: encaminhamento, fornecedores, combinações, cache, compressão e memória — de forma autónoma. Os endpoints HTTP abaixo são disponibilizados em http://localhost:20128.
| Interface | Endpoint / comando | Utilização |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | Integração com o Claude Desktop, Cursor ou qualquer cliente MCP |
| 🌊 MCP (HTTP) | /api/mcp/stream | MCP remoto — 110 ferramentas, 33 âmbitos (aplicação opcional), registo de auditoria completo |
| 📡 MCP (SSE) | /api/mcp/sse | Transporte MCP por streaming |
| 🤝 A2A | /.well-known/agent.json | Agente para agente, JSON-RPC 2.0 + SSE, 6 competências |
| 🌐 API REST | /v1/* | Compatível com OpenAI — chat, embeddings, imagens, áudio e OCR |
| 🔔 Webhooks | /api/webhooks | Envio de eventos de pedidos / quotas para o Slack, Discord, Telegram ou qualquer URL |
| 🛰️ CLI remota | omniroute connect | Controle uma instância remota com tokens de acesso com âmbito definido |
# Dê ao Claude Code o conjunto completo de ferramentas do OmniRoute através de MCP:
claude mcp add-server omniroute --type http --url http://localhost:20128/api/mcp/stream📖 Servidor MCP · Servidor A2A · Protocolos de Agentes
O combo empilhado predefinido executa RTK → Caveman. Quando ambos atuam sobre o mesmo payload de ferramenta/contexto, as poupanças compõem-se:
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%Blocos de código, URLs, JSON e dados estruturados estão sempre protegidos pelo motor de preservação.
Porquê usar muitos tokens quando poucos tokens bastam? Cada pedido passa pelo pipeline de compressão do OmniRoute de forma transparente — sem alterações no cliente. É agora uma pilha de 12 motores combináveis que correm em ordem e se misturam e combinam por combo de encaminhamento — com base em ideias de RTK, Caveman (⭐ 90K+), LLMLingua-2 e Troglodita (PT-BR).
Os motores correm pela ordem do pipeline; cada um é ativável/desativável e configurável de forma independente por combo:
| # | Motor | O que faz |
|---|---|---|
| 1 | Session-Dedup | Descarta conteúdo repetido entre turnos (endereçado por conteúdo, entre turnos) |
| 2 | CCR | Arquiva blocos grandes atrás de marcadores de recuperação, obtidos a pedido |
| 3 | Lite | Aparo de espaços em branco + URLs de imagens (linha de base leve em latência) |
| 4 | RTK | Filtragem inteligente de resultados de ferramentas, deduplicação e truncagem (consciente dos comandos) |
| 5 | Responses Tool Output | JSON sem perdas primeiro + compressão de diagnóstico limitada para saídas de shell/patch/search/build (API Responses) |
| 6 | Headroom | Compactação tabular sem perdas de arrays JSON (~30%) através de um codec GCF incorporado |
| 7 | Relevance | Pontuação extrativa de frases em relação à última consulta do utilizador |
| 8 | Caveman | Compressão de prosa baseada em regras (~65–75% na saída) |
| 9 | Aggressive | Sumarização + envelhecimento progressivo dos turnos antigos |
| 10 | LLMLingua-2 | Poda semântica por ML via MobileBERT ONNX — segura para código, assíncrona |
| 11 | Ultra | Poda heurística de tokens com um nível opcional de modelo pequeno (SLM) |
| 12 | OmniGlyph | Codificação experimental de contexto como imagem para o Claude Fable 5 medido no fio direto da Anthropic; os transformers GPT 5.6 permanecem em fail-closed à espera de confirmações do fornecedor. Quatro perfis de compressão (predefinição agressiva, equilibrado, seguro para código, passthrough) (o mais agressivo; opt-in) |
Blocos de código, URLs e dados estruturados são sempre preservados ao byte. Predefinições com um clique combinam os motores:
| Modo | Poupança | Melhor para |
|---|---|---|
| 🪶 Lite | ~15% | Predefinição segura sempre ativa |
| 🪨 Standard (Caveman) | ~30% | Programação diária |
| ⚡ Aggressive | ~50% | Sessões longas com muita ferramenta |
| 🔥 Ultra | ~75% | Poupança máxima |
| 🧰 RTK | 60–90% | Saída de shell/test/build/git |
| 🔗 Stacked (RTK → Caveman) | 78–95% | Prompts mistos + registos de ferramentas |
Exemplo real — modo Standard:
Antes (69 tokens): "The reason your React component is re-rendering is likely because you're creating a new object reference on each render cycle. When you pass an inline object as a prop, React's shallow comparison sees it as a different object every time, which triggers a re-render. I would recommend using useMemo to memoize the object."
Depois (19 tokens): "New object ref each render. Inline object prop = new ref = re-render. Wrap in useMemo."
Mesma resposta. Menos 72% de tokens. Zero perda de precisão. ✅
Exemplo PT-BR — modo Troglodita:
Antes (42 tokens): "O problema é que o componente está a ser novamente renderizado porque é criada uma nova referência de objeto em cada ciclo de renderização. Recomendaria utilizar useMemo."
Depois (12 tokens): "Nova renderização: nova ref. em cada ciclo (objeto inline recriado). Utilizar
useMemo."Mesma resposta. ~70% menos tokens. Precisão técnica intacta. ✅
Os 12 motores acima reduzem o que entra. Três camadas adicionais determinam como, quando e o que sai:
- 🪄 Estilos de saída (orientação do eixo de saída) — injetam instruções determinísticas e compatíveis com cache para moldar as respostas; são combináveis, cada uma com intensidade
lite/full/ultra. Adicionar um estilo requer apenas uma linha no registo:- Prosa concisa — remove texto supérfluo / artigos / hesitações; mantém a substância técnica exata.
- Menos código — YAGNI de «programador sénior preguiçoso»: a menor alteração funcional, sem estruturas não solicitadas.
- Rabo de cavalo (programador sénior preguiçoso) — sobe a escada YAGNI, corrige a causa principal e produz o menor diff funcional.
- Tenho PHDA (ação primeiro) — começa pela ação seguinte, passos numerados, um próximo passo concreto, sem preâmbulo.
- CJK conciso (文言) — estilo ultraconciso de chinês clássico (limitado à região
zh).
- 🎯 Orçamento de contexto adaptativo (o ajuste) — em vez de um único limiar de tokens para ativar/desativar, aumenta apenas os motores mais económicos e com menor perda, até ser possível caber na janela de contexto do modelo. Política:
reserve-output(predefinição, consciente do modelo) ·percentage·absolute. Modo:floor(garante que cabe) ·replace-autotrigger(prevalece a sua escolha explícita) ·off(limiar antigo). - 🎛️ Onde é decidida a compressão (precedência, da mais alta para a mais baixa) — cabeçalho
x-omniroute-compressionpor pedido › substituição da combinação de encaminhamento › perfil nomeado ativo › adaptativo / acionamento automático › predefinição do painel › desativado. O plano aplicado é devolvido no cabeçalho de respostaX-OmniRoute-Compression: <mode>; source=<source>.
Acione automaticamente através de um limiar de tokens, ative o ajuste adaptativo, fixe um perfil nomeado, defina uma configuração pontual por pedido ou atribua um pipeline por combinação de encaminhamento — consoante o que melhor se adequar à carga de trabalho. Um sistema de avaliação offline opcional (npm run eval:compression) avalia a fidelidade face à poupança num corpus fixo antes de promover uma alteração.
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
1) Instalar e executar
npm install -g omniroute
omniroute💡 Vê
npm warn ERESOLVEou avisos relativos a dependências peer? São inofensivos. Está a utilizar o npm 11 ou posterior? O npm pode bloquear scripts do ciclo de vida dos pacotes, salvo se forem permitidos. Opostinstalldo OmniRoute (node scripts/build/postinstall.mjs) é necessário para preparar os respetivos ficheiros nativos de runtime. Ao instalar globalmente, permita os pacotes indicados no aviso do npm. Para o conjunto de pacotes indicado pelo OmniRoute 3.8.53:npm install -g --allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild omniroutePara reutilizar esta lista de permissões em futuras instalações globais, configure-a uma vez e, em seguida, instale normalmente:
npm config set allow-scripts=omniroute,keytar,onnxruntime-node,@parcel/watcher,@swc/core,protobufjs,esbuild --location=user npm install -g omnirouteA lista de dependências pode mudar entre versões; se o npm indicar uma lista diferente, utilize os nomes dos pacotes presentes nesse aviso. Permitir um pacote autoriza a execução dos respetivos scripts de instalação. Está a utilizar o Gemini Web ou outro fornecedor baseado em cookies da Web? O pacote npm inclui o Playwright, mas não o respetivo binário do Chromium. Consulte a nota sobre a configuração do Chromium para o Playwright antes de efetuar o primeiro pedido ao fornecedor Web.
Painel em http://localhost:20128 · API em http://localhost:20128/v1.
2) Ligar um fornecedor elegível utilizando a sua própria conta
Painel → Fornecedores → escolha um fornecedor cujos termos e quota atuais sejam adequados ao seu caso de utilização → adicione a respetiva chave de API ou conclua o fluxo de conta. Os níveis gratuitos podem exigir registo, aprovação ou um método de pagamento. Consulte o Guia de níveis gratuitos; a disponibilidade sem chave não é garantida e os fornecedores assinalados com tos: avoid são excluídos de auto por predefinição.
3) Configurar a sua ferramenta de programação
URL base: http://localhost:20128/v1
Chave de API: [copiar de Painel → Endpoints]
Modelo: auto (encaminha entre ligações elegíveis — ou escolha fornecedor/modelo)4) Verificar se está a funcionar
curl http://localhost:20128/v1/models -H "Authorization: Bearer YOUR_KEY"Deverá ver os modelos ligados na lista. 🎉 É tudo — comece a programar e o OmniRoute fará automaticamente o encaminhamento e utilizará alternativas quando necessário.
Se o seu cliente não conseguir enviar cabeçalhos personalizados, o OmniRoute também disponibiliza aliases de compatibilidade com tokens:
Catálogo OpenAI: http://localhost:20128/vscode/YOUR_KEY/
Modelos OpenAI: http://localhost:20128/vscode/YOUR_KEY/models
Chat OpenAI: http://localhost:20128/vscode/YOUR_KEY/chat/completions
Respostas OpenAI: http://localhost:20128/vscode/YOUR_KEY/responses
Chat Ollama: http://localhost:20128/vscode/YOUR_KEY/api/chat
Etiquetas Ollama: http://localhost:20128/vscode/YOUR_KEY/api/tagsUtilize-os apenas em clientes que não consigam anexar Authorization: Bearer .... A autenticação por cabeçalho continua a ser o modo preferencial.
🐳 Docker
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latest:latest acompanha a versão SemVer estável publicada mais elevada. Não acompanha o main do git. Fixe :X.Y.Z para GitOps. Consulte Canais de lançamento do Docker. A imagem fixa OMNIROUTE_MEMORY_MB=1024. Isto é suficiente para o painel e uma conversa ligeira. Os agentes de programação (POST /v1/responses do Claude Code, Codex, Grok, …) necessitam de uma heap V8 muito maior, caso contrário o processo termina com FATAL ERROR quando atinge ~12 GiB com dois contextos longos sobrepostos. Dimensione o contentor acima do tamanho da heap (os buffers nativos ficam fora do V8):
| Carga de trabalho | Heap (-e OMNIROUTE_MEMORY_MB) |
Contentor (--memory) |
|---|---|---|
| Painel / conversa ligeira | 1024 (predefinição da imagem) |
≥2 g |
| Um agente de programação | 8192 |
≥10 g |
Dois /v1/responses longos em simultâneo |
10240–12288 |
≥12–16 g |
docker run -d --name omniroute --restart unless-stopped --stop-timeout 40 \
-e OMNIROUTE_MEMORY_MB=8192 --memory=10g \
-p 127.0.0.1:20128:20128 -v omniroute-data:/app/data diegosouzapw/omniroute:latestTabela completa: Guia do Docker — RAM em tempo de execução.
Canal de pré-lançamento do Docker:
diegosouzapw/omniroute:nextediegosouzapw/omniroute:next-webacompanham o branchrelease/v*predefinido atual. Estas etiquetas mutáveis destinam-se apenas a testar correções ainda não lançadas e não são suportadas em produção. Consulte Canais de lançamento do Docker.
🥟 Bun
O bun install padrão e a instalação global (bun install -g omniroute) são suportados através da deteção do ambiente de execução Bun:
bun:sqliteintegrado: o OmniRoute utiliza o controladorbun:sqliteintegrado do Bun quando é executado no Bun, recorrendo aobetter-sqlite3no Node.js ou aosql.jscomo alternativas.- Seleção automática do empacotador Webpack em desenvolvimento: o ambiente de desenvolvimento (
bun run dev) deteta automaticamente o Bun e desativa o Turbopack em favor do Webpack, para evitar incompatibilidades com bindings nativos do V8. As compilações de produção (bun run build) seguemOMNIROUTE_USE_TURBOPACKexatamente como no Node: Turbopack por predefinição,OMNIROUTE_USE_TURBOPACK=0para compilar com Webpack (Dockerfile.bundisponibiliza esta opção como--build-arg). - Dockerfile dedicado ao Bun:
Dockerfile.bunmultifase para implementações de produção nativas do Bun (docker build -f Dockerfile.bun -t omniroute:bun .).
# Instalar e executar com o Bun
bun install
bun run dev🛠️ A partir do código-fonte
cp .env.example .env && npm install
PORT=20128 npm run dev📦 pnpm
pnpm add -g omniroute@latest --allow-build=better-sqlite3 --allow-build=@swc/core && omniroute🐧 Arch Linux (AUR)
yay -S omniroute-bin && systemctl --user enable --now omniroute.service🔧 Nix (Flake)
# Utilizar flakes do Nix
nix develop
npm run dev
# Ou utilizar o devbox
devbox run npm run dev📖 Guia do Docker — perfis do Compose, Caddy HTTPS e túneis do Cloudflare.
🦭 Podman
# 1. Preparar o diretório de dados montado por bind
mkdir -p data
# 2. Apenas Linux + Podman rootless local (nunca um cliente remoto Podman Machine):
podman unshare chown 1000:1000 ./data
# 3. Definir a indicação do ambiente de execução, criar a imagem local do Compose e iniciar
echo "CONTAINER_HOST=podman" >> .env
podman compose --profile base up -d --buildNo macOS ou Windows, o Podman utiliza uma Podman Machine remota: ignore podman unshare e
siga as orientações para o diretório de dados específicas da topologia.
📖 Guia do Podman — compilações do Compose, Podman Machine e configuração do Quadlet com Linux/systemd.
⚡ Instalação mais rápida / leve (ignorar a compilação nativa)
O motor SQLite nativo (better-sqlite3) é uma dependência opcional, pelo que uma instalação
global nunca fica bloqueada a compilar a partir do código-fonte: utiliza um binário pré-compilado quando existe um compatível
com a sua plataforma/Node e, caso contrário, recorre de forma transparente a um motor JavaScript puro
(node:sqlite no Node 22+, ou o WASM sql.js incluído) — sem necessidade de ferramentas de compilação.
Para ignorar completamente a preparação nativa pós-instalação (CI, sistemas sem interface gráfica ou máquinas lentas):
OMNIROUTE_SKIP_POSTINSTALL=1 npm install -g omniroute # CI=1 também a ignoraPara instalações mais rápidas, prefira o pnpm (armazenamento endereçado por conteúdo + hard links — consulte acima).
Para um ambiente de execução sem painel nem interface gráfica, utilize o perfil base do Docker (acima) ou o
guia do Termux. A CLI e o painel Web são disponibilizados pelo
mesmo processo numa única porta, pelo que atualmente não existe um pacote separado apenas para a CLI.
Instantâneo do painel em 2026-10-18 · Catálogo bruto: YT 1.352 | TT 334 | IG 290 · Atualidade (dias): YT 5 | TT 48 | IG 49
Classificação completa (URLs canónicos sem duplicados, v > 0, maior alcance):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | nnapier7 — Instagram — 1,454,535 | Amidia AI & Tech — YouTube — 794,974 | theopenstack — Instagram — 692,419 | migue.baena — TikTok — 685,788 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| milesreevesai — TikTok — 620,400 | nikothetech — TikTok — 610,803 | Vaibhav Sisinty — YouTube — 509,281 | buildwithai.club — Instagram — 347,652 | nivedan.ai — Instagram — 331,973 |
Métricas canónicas em 2026-10-18: 1.976 vídeos únicos · 20.220.289 visualizações conhecidas (v > 0) · 1.210 canais/perfis por rede. O painel bruto contém 1.976 linhas (YouTube 1.352 = 740 vídeos longos + 612 Shorts · TikTok 334 · Instagram 290); não restou qualquer duplicado após a normalização pelo URL canónico, que mantém a maior contagem por vídeo. A recolha do YouTube está suspensa desde 2026-10-13 (quota da API esgotada de 14 a 18/10) e a do TikTok/Instagram desde 2026-09-02 (sem créditos de recolha); 76 vídeos ainda não têm contagem de visualizações.
🎬 Fez um vídeo sobre o OmniRoute? Abra um pedido ou uma discussão com a ligação — iremos destacá-lo aqui.
Tudo num só lugar — siga o responsável pela manutenção, converse com a comunidade ou abra um pedido.
| Canal | Onde / como |
|---|---|
| 💼 LinkedIn — seguir o responsável pela manutenção | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — seguir para novidades e dicas | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| t.me/omnirouteOficial | |
| 🟢 WhatsApp — 🌍 Global | aderir ao grupo |
| 🟢 WhatsApp — 🇧🇷 Brasil | aderir ao grupo |
| 🌍 Site | omniroute.online |
| 🌍 🌍Comunidade StHub OmniRoute (gratuita) | portal da StHub |
| 📦 Código-fonte | github.com/diegosouzapw/OmniRoute |
| 🐛 Comunicar um erro | abrir um problema — anexar o resultado de npm run system-info |
| 🤝 Contribuir | CONTRIBUTING.md · Modelo de ramificação e lançamento · escolher um good first issue |
| 💚 Apoiar o projeto | Formas de apoiar ↑ · Patrocinadores do GitHub |
| Camada | Tecnologia |
|---|---|
| Ambiente de execução | Node.js 22.x / 24.x LTS — >=22.22.2 <23 || >=24.0.0 <27 |
| Linguagem | TypeScript 6.0 — 100% TypeScript em src/ e open-sse/ (zero any no núcleo desde v2.0) |
| Framework | Next.js 16 + React 19 + Tailwind CSS 4 |
| Base de dados | better-sqlite3 (SQLite, jornalização WAL) + LowDB (JSON legado) — 147 módulos de domínio, 219 migrações |
| Memória | SQLite FTS5 de texto integral + embeddings vetoriais quantizados em int8, decaimento tipado |
| Esquemas | Zod 4 — validação de I/O de ferramentas MCP + contratos de API |
| Protocolos | MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE) |
| Streaming | Server-Sent Events (SSE) + ponte WebSocket (/v1/ws) |
| Compressão | pipeline de 12 motores — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph |
| Autenticação e segurança | OAuth 2.0 (PKCE) + JWT + chaves de API + autenticação com âmbito MCP · AES-256-GCM em repouso · DOMPurify |
| Furtividade | wreq-js — impersonação de fingerprint TLS JA3 / JA4, proxy de 3 níveis |
| Resiliência | Circuit breaker, backoff exponencial, anti-thundering-herd, auto-combo com autocura |
| Registo | pino — registos JSON estruturados com contexto do pedido |
| Testes | Node.js test runner + Vitest — 56 000+ declarações estáticas de teste em mais de 7 800 ficheiros de teste monitorizados (unitários, integração, E2E, segurança, ecossistema) |
| Plataformas | Desktop (Electron) · Android (Termux) · PWA (qualquer navegador) |
| CI/CD | GitHub Actions — publicação automática no npm + Docker Hub no lançamento |
| Ligações | Site · npm · Docker Hub |
| Documento | Descrição |
|---|---|
| Guia do Utilizador | Fornecedores, combinações, integração com CLI, implementação |
| Guia de Configuração | Métodos completos de instalação, configurações de ferramentas CLI, configuração de protocolos, ajuste de tempos limite |
| Guia de Ferramentas CLI | Configuração específica para Claude Code, Codex, Cursor, Cline, OpenClaw, Kilo, Copilot |
| Modo Remoto | Controle um OmniRoute remoto (VPS) a partir da CLI do seu portátil através de tokens de acesso com âmbito limitado |
| Configuração do Claude Code | Ligue o Claude Code ao OmniRoute (local/remoto) com launch + perfis por modelo |
| Início Rápido | Instalação em 3 passos → ligação → configuração |
| Documento | Descrição |
|---|---|
| Guia do Docker | Docker run, perfis do Compose, Caddy HTTPS, túneis, etiquetas de imagens |
| Guia do Podman | Integração do Quadlet com systemd, podman-compose, SELinux |
| Implementação em VM | Guia completo: configuração de VM + nginx + Cloudflare |
| Implementação no Fly.io | Implemente no Fly.io com armazenamento persistente |
| Guia do Termux | Execute o OmniRoute no Android através do Termux |
| Guia de PWA | Instalação de Aplicação Web Progressiva, colocação em cache, arquitetura |
| Guia de Desinstalação | Remoção completa para todos os métodos de instalação |
| Configuração do Ambiente | Variáveis e referências completas de .env |
| Documento | Descrição |
|---|---|
| Arquitetura | Arquitetura do sistema, fluxo de dados e funcionamento interno |
| Guia de Compressão | Pipeline de 7 opções: desativado / ligeiro / padrão / agressivo / ultra / RTK / empilhado |
| Compressão RTK | Compressão da saída de comandos, filtros, confiança, verificação, recuperação da saída em bruto |
| Motores de Compressão | Caveman, RTK, pipelines empilhados, interfaces de dashboard/API/MCP |
| Formato das Regras de Compressão | Esquemas de pacotes de regras JSON para filtros Caveman e RTK |
| Pacotes de Idiomas para Compressão | Deteção de idioma e criação de pacotes de regras Caveman |
| Guia de Resiliência | Disjuntores, períodos de espera, fila, prevenção de avalanches de pedidos, falsificação de TLS |
| Motor de Combinação Automática | Pontuação de 16 fatores, pacotes de modos, autorrecuperação |
| Guia de Proxy | Sistema de proxy de 3 níveis, marketplace 1proxy, operações CRUD do registo |
| Planos Gratuitos | Diretório consolidado: 34 conjuntos recorrentes documentados / 484 entradas de planos gratuitos catalogadas |
| Galeria de Funcionalidades | Visita visual ao dashboard com capturas de ecrã |
| Documentação da Base de Código | Apresentação da base de código adequada a principiantes |
| Documento | Descrição |
|---|---|
| Referência da API | Todos os endpoints com exemplos |
| Especificação OpenAPI | Especificação OpenAPI 3.0 |
| Servidor MCP | 110 ferramentas MCP, configurações de IDE, clientes Python/TS/Go |
| Guia do Servidor MCP | Instalação do MCP, transportes e referência de ferramentas |
| Servidor A2A | Protocolo JSON-RPC 2.0, competências, streaming, gestão de tarefas |
| Guia do Servidor A2A | Cartão de agente A2A, tarefas, competências e streaming |
| Documento | Descrição |
|---|---|
| Contribuição | Configuração e diretrizes de desenvolvimento |
| Modelo de Ramificação e Lançamento | Destino dos PRs (release/*) e significado de main e das etiquetas |
| Registo de Alterações | Histórico completo de lançamentos por versão |
| Política de Segurança | Comunicação de vulnerabilidades e práticas de segurança |
| Guia de i18n | Suporte para 67 idiomas, fluxo de trabalho de tradução, RTL |
| Lista de Verificação de Lançamento | Passos de validação prévios ao lançamento |
| Plano de Cobertura | Estratégia de cobertura de testes para mais de 56 000 declarações estáticas de testes em mais de 7 800 ficheiros de teste monitorizados |
O OmniRoute é moldado por uma comunidade de código aberto apaixonada. Estas pessoas fizeram contribuições excecionais que têm um impacto direto na qualidade, estabilidade e alcance do projeto. Obrigado.
| Posição | Contribuidor | PRs integrados | ~Linhas alteradas |
|---|---|---|---|
| 1 | maxmad64bis | 371 | 25,326,561 |
| 2 | HouMinXi | 269 | 13,456,272 |
| 3 | backryun | 210 | 270,562 |
| 4 | oyi77 | 190 | 411,243 |
| 5 | pacocartones | 174 | 78,276 |
| 6 | JxnLexn | 151 | 3,562,936 |
| 6 | KooshaPari | 151 | 5,972,314 |
| 8 | rdself | 145 | 80,663 |
| 9 | RaviTharuma | 123 | 500,065 |
| 10 | herjarsa | 88 | 230,872 |
| 11 | hartmark | 84 | 2,849,554 |
| 12 | jonlwheat2-gif | 67 | 68,548 |
| 13 | artickc | 62 | 43,502 |
| 14 | chirag127 | 52 | 6,661 |
| 15 | xz-dev | 50 | 245,976 |
| 16 | xiaoyaner0201 | 47 | 33,626 |
| 17 | woodsonl | 46 | 809,391 |
| 18 | rqzbeh | 44 | 147,896 |
| 19 | QuangBlue | 43 | 13,112 |
| 20 | MumuTW | 40 | 26,093 |
Levantamento realizado em 2026-10-18 15:09:09 UTC com a ponta ativa de release/v3.8.52 em 656f01cb43. O levantamento paginado através da API GraphQL do GitHub contém 9 191 PRs integrados: 3 834 pelo proprietário do repositório, 229 pelo Dependabot, 6 por outros bots/aplicações e 5 122 PRs externos de 835 contribuidores distintos. «Linhas alteradas» corresponde às adições + eliminações do GitHub e inclui ficheiros gerados, ficheiros de bloqueio, catálogos, traduções e documentação; representa o volume de alterações, não as LOC de autoria própria. 49 PRs apresentam diferenças no GitHub superiores a 500 000 linhas (por exemplo, o #13399, que adiciona um único fornecedor, apresenta 2 347 ficheiros alterados), o que aumenta vários dos totais acima. Os empates partilham a mesma posição.
|
Dizzle 🥇 367 commits atribuídos pelo GitHub |
Bob.Hou 🥈 269 commits atribuídos pelo GitHub |
Paijo 🥉 229 commits atribuídos pelo GitHub |
backryun 🏅 202 commits atribuídos pelo GitHub |
Paco Cartones 🏅 174 commits atribuídos pelo GitHub |
Ravi Tharuma 🏅 126 commits atribuídos pelo GitHub |
|
Markus Hartung 🏅 114 commits atribuídos pelo GitHub |
Randi 🏅 108 commits atribuídos pelo GitHub |
Jan Leon 🏅 87 commits atribuídos pelo GitHub |
Chris 🏅 70 commits atribuídos pelo GitHub |
Koosha Paridehpour 🏅 68 commits atribuídos pelo GitHub |
Verificado novamente em 2026-10-18 14:44:45 UTC: commits atribuídos pelo GitHub, comunicados pela API Contributors do repositório para o ramo predefinido release/v3.8.52. A API devolveu 849 identidades (429 utilizadores, 2 bots e 418 anónimas); esta tabela exclui o responsável pela manutenção, os bots e as identidades anónimas e mantém os empates na classificação. É distinta tanto da classificação de PR integrados acima como do recenseamento de metadados do Git abaixo.
🙏 As funcionalidades, correções de erros e melhorias de infraestrutura destes contribuidores são uma parte essencial do que torna o OmniRoute fiável e rico em funcionalidades. Cada pull request, cada caso de teste e cada ficheiro de tradução i18n é importante. O código aberto é construído por pessoas como estas.
Um agradecimento sincero às pessoas que financiam o OmniRoute do seu próprio bolso — cada contribuição mantém o projeto gratuito, independente e em evolução.
![]() Andrew 💛 Patrocinador mensal ativo |
![]() Vlad I 💛 Patrocinador mensal ativo |
![]() 小妍儿 💛 Patrocinador mensal ativo |
![]() Guilherme Costa 💛 Patrocinador pontual ativo |
![]() Henrique Iurkiv 💛 Patrocinador pontual ativo |
![]() Somesh Ghaturle 💛 Patrocinador pontual ativo |
![]() Kolonie AI 💛 Antigo apoiante pontual |
![]() Prof. Igor Morais 💛 Antigo apoiante pontual |
![]() Pixma 💛 Antigo apoiante pontual |
![]() Paco Cartones 💛 Antigo apoiante pontual |
![]() longtao 💛 Antigo apoiante pontual |
… e outras pessoas que preferem manter-se anónimas 💛
Os Patrocinadores públicos do GitHub foram revalidados em 2026-10-18 através da API GraphQL do GitHub Sponsors: 11 patrocínios públicos (6 ativos, 5 anteriores) de um total de 14. O estado isActive do GitHub determina as etiquetas de atividade acima; os antigos apoiantes públicos pontuais continuam a ser agradecidos e os patrocinadores privados permanecem anónimos. As doações através do Ko-fi, Buy Me a Coffee, Liberapay, PIX e criptomoedas não estão listadas porque não têm um registo público de patrocinador.
💖 Torne-se patrocinador → — cada dólar mantém o OmniRoute gratuito e independente.
Auditado em 2026-10-18 na ponta atual de release/v3.8.52, ad160ab2d1 (6 826 commits): 993 identidades Git humanas normalizadas — 707 aparecem como autores de commits (incluindo o responsável pela manutenção) e 286 apenas em trailers Co-authored-by explícitos. O levantamento aplica o .mailmap, compara endereços de e-mail sem distinção entre maiúsculas e minúsculas, associa endereços noreply numéricos e simples do GitHub apenas quando codificam o mesmo identificador, exclui 26 identidades de bots/agentes/serviços/marcadores de posição e não agrega endereços de e-mail comuns apenas porque os respetivos nomes de apresentação coincidem. A auditoria de 2026-08-24 indicava 639; a repetição deste método sobre a base ac02c5b42f dessa auditoria resulta em 619, pelo que o aumento provém de novos colaboradores, e não de um método menos restritivo.
- Faça um fork do repositório
- Crie um branch a partir da ponta ativa de
release/vX.Y.Z(não demain) — consulte Modelo de Branches e Lançamentos - Crie o seu branch de funcionalidade (
git checkout -b feat/amazing-feature) - Faça commit das suas alterações (
git commit -m 'feat: add amazing feature') - Envie o branch (
git push origin feat/amazing-feature) - Abra um Pull Request com base = esse branch
release/vX.Y.Z
Consulte CONTRIBUTING.md para obter orientações detalhadas.
# Criar um lançamento — a publicação no npm ocorre automaticamente
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notesO OmniRoute apoia-se no trabalho de gigantes. Começou como um fork do 9router e uma conversão para TypeScript do projeto em Go CLIProxyAPI — e, a partir daí, cada subsistema abaixo foi inspirado por um projeto de código aberto que chegou primeiro. Cada um deles moldou uma parte concreta do OmniRoute. Este é o nosso agradecimento a todos eles. 🙏
⭐ contagens de estrelas verificadas através da API REST do GitHub em 18 de outubro de 2026 — dê uma estrela a estes projetos. As contagens são um retrato exato dessa data e mudarão naturalmente.
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| 9router | 31,004 | O projeto original no qual este fork se baseia — aqui ampliado com APIs multimodais e uma reescrita completa em TypeScript. |
| CLIProxyAPI | 55,591 | A implementação em Go que inspirou esta conversão para JavaScript / TypeScript. |
| LiteLLM | 61,482 | O gateway de IA cujo conjunto público de dados de preços alimenta a nossa sincronização de acompanhamento de custos e cujo modelo de normalização de fornecedores orientou o nosso encaminhamento. |
| codex-chatgpt-web | 14,526 | Código-fonte MIT adaptado para a ponte incluída ChatGPT Web → Codex Responses, incluindo adaptadores de sessão do navegador, enquadramento de respostas, utilização e pesquisa na Web. |
| free-claude-code | 61,430 | Padrões convertidos para a recuperação de streams, aliases sem raciocínio, pesquisa de recurso na Web, limites de janela deslizante, ocultação de dados nos registos e fluxos de inicialização reforçados. |
| composer-api | 346 | Padrões de escolha de ferramentas, restrição de resultados e confirmação de ferramentas do Cursor Composer adaptados para o executor nativo do Cursor. |
| codex-multi-auth | 553 | Padrões de início de sessão do zero e de rotação de tokens de atualização convertidos para a reautenticação OAuth do Codex. |
| opencode-anthropic-auth | 558 | Predefinições de transformação compatíveis com o Claude Code e comportamento dos cabeçalhos de faturação generalizados na ponte orientada por configuração do OmniRoute. |
| grok2api-merged | 2 | Os seus mapeamentos de modelos Grok, o gerador Statsig com TypeError simulado, as predefinições de pedidos e dispositivos e o processador de respostas NDJSON foram substancialmente adaptados para o executor Grok Web do OmniRoute. |
| TQZHR/grok2api | 706 | A principal fonte de código transitiva por detrás do grok2api-merged; as suas implementações de modelos, cabeçalhos, payloads, Statsig e processadores são preservadas na linhagem do Grok Web. |
| chenyme/grok2api | 7,819 | O código-fonte MIT subjacente para as predefinições de payloads e dispositivos do Grok, o gerador Statsig e o processador result.response, transmitido através do TQZHR e do grok2api-merged. |
| grok2api-pro | 27 | Uma fonte transitiva creditada pelo grok2api-merged pela sua camada de conjunto de proxies; o OmniRoute preserva essa indicação de linhagem, mas não reivindica uma conversão do conjunto de proxies no seu executor Grok Web de âmbito limitado. |
| GrokProxy | 51 | O seu proxy Grok autenticado por cookies e o padrão de streaming result.response.token influenciaram o transporte Grok Web do OmniRoute. |
| GrokBridge | 5 | A implementação original do Grok Web serviu de referência para a sua conceção de upstream HTTP/navegador; o respetivo caminho HTTP direto deriva do GrokProxy, pelo que não se reivindica qualquer conversão de código independente. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| Caveman | 113,396 | O projeto viral «porquê usar muitos token quando poucos token fazer truque» — a sua filosofia de linguagem de homem das cavernas alimenta o nosso modo de compressão padrão e mais de 30 regras de remoção de redundâncias/condensação. |
| RTK – Rust Token Killer | 83,835 | Compressão de alto desempenho da saída de comandos — inspirou o nosso motor RTK, a DSL de filtros JSON, a recuperação da saída em bruto e o pipeline encadeado RTK → Caveman. |
| headroom | 75,741 | Compressão reversível de contexto (SmartCrusher) — inspirou o nosso motor headroom e o padrão de marcadores de recuperação ccr. |
| LLMLingua | 6,757 | Investigação sobre compressão de prompts (LLMLingua / LLMLingua-2) — inspirou o nosso motor llmlingua assíncrono, seguro para código e com funcionamento em modo aberto em caso de falha. |
| llmlingua-2-js | 32 | O porte para JS/ONNX (MobileBERT / XLM-RoBERTa) utilizado como backend em worker thread para o nosso motor LLMLingua. |
| Troglodita | 50 | Compressão de tokens em pt-BR — alimenta o nosso pacote linguístico pt-BR: redução de pleonasmos e remoção de expressões supérfluas ajustadas à gramática do português do Brasil. |
| ponytail | 166,731 | A competência viral de programação YAGNI do «programador sénior preguiçoso» — inspirou o nosso Estilo de Saída less-code: orientação para a menor alteração funcional, que reduz o código _gerado_ (o equivalente, no eixo da saída, à prosa concisa do Caveman). |
| i-have-adhd | 57,628 | O seu estilo de resposta orientado primeiro para a ação e adaptado a pessoas com PHDA foi incorporado no estilo de saída conciso do OmniRoute em cinco idiomas. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| TOON | 25,509 | Token-Oriented Object Notation — o seu modelo colunar, com cabeçalho e linhas, moldou a nossa etapa de compactação tabular. |
| GCF – Graph Compact Format | 59 | O seu formato compacto de grafos e o design de perfil genérico contribuíram para a compactação tabular e o formato do codec Headroom do OmniRoute. |
| gcf-typescript | 4 | A implementação MIT em TypeScript, integrada diretamente e ampliada como codec de perfil genérico do Headroom. |
| token-optimizer-mcp | 551 | Cache Brotli/SQLite + delta de contexto por sessão — inspirou o nosso motor session-dedup. |
| token-savior | 1,182 | Compactação da saída do Bash + perfis MCP — inspirou a nossa disciplina de desistência da compressão e a redução dos manifestos de ferramentas MCP. |
| token-saver | 154 | Compressão de saída sensível ao conteúdo e específica por tipo de ficheiro, com desistência em caso de falha — validou o nosso encaminhamento por tipo e a omissão quando o ganho é inferior ao mínimo. |
| token-optimizer | 2,595 | «Encontrar os tokens-fantasma» — o seu padrão de descarregamento + identificador recuperável contribuiu para a nossa abordagem ao descarregamento CCR. |
| TokenMizer | 33 | Um modelo de grafo de sessão + desduplicação de linhas entre interações que contribuiu para o nosso design de desduplicação de sessões. |
| OmniCompress | 3 | JSON colunar em Rust + recuperação endereçada por conteúdo + desduplicação entre mensagens — validou o design dos nossos motores headroom/ccr/session-dedup e a invariável, estável para cache, de que «a forma comprimida é independente da posição». |
| mcp-compressor | 133 | Compressão de esquemas/descrições de ferramentas MCP — contribuiu para a nossa redução da cardinalidade dos manifestos de ferramentas MCP. |
| RepoMapper | 217 | Classificação de mapas de repositórios ao estilo do Aider — contribuiu para a nossa exploração de mapas de repositórios/classificação de recuperação. |
| quiet-shell-mcp | 4 | Redução declarativa da saída da shell através de MCP — validou a nossa compactação declarativa da saída do Bash. |
| ts-morph | 6,205 | Kit de ferramentas da API do compilador TypeScript — inspirou a nossa remoção de comentários baseada em parser, que preserva literais de strings, templates e expressões regulares. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| Mem0 | 67,385 | Camada de memória universal — o seu modelo de proxy como fronteira de escrita/leitura moldou a nossa arquitetura de memória. |
| Letta (MemGPT) | 25,179 | Agentes com estado e memória por níveis — inspiraram o nosso modelo por níveis de Controlo e Recuperação de Contexto (CCR). |
| WFGY | 1,800 | A taxonomia ProblemMap de 16 modos de falha recorrentes de RAG/LLM — o vocabulário comum no nosso guia de resolução de problemas. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| llm-interceptor | 79 | A interceção/análise MITM do tráfego entre assistentes de programação e LLM serviu de base aos requisitos iniciais do Inspetor de Tráfego. Quatro módulos anteriormente derivados — combinação de SSE, normalização de conversas, ocultação de segredos e sanitização de cabeçalhos — foram substituídos por implementações independentes de sala limpa, baseadas em normas públicas de protocolos. As duas superfícies de passagem direta do anfitrião (passthrough.ts e _internal/bypass.cjs) continuam a ser implementações internas do OmniRoute classificadas de forma independente; não foram reescritas como parte dessa substituição. |
| ProxyBridge | 6,814 | Encaminhamento de proxy transparente por processo — inspirou o nosso encerramento de MITM resiliente a falhas, os tempos limite de inatividade dos sockets, a atribuição de processos através de /proc e a captura TPROXY. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| models.dev | 7,286 | Base de dados aberta de especificações, preços e capacidades de modelos de IA — sincronizada nativamente com o nosso catálogo de modelos. |
| React Flow / xyflow | 38,705 | A biblioteca de grafos baseada em nós que suporta o nosso Compression Studio e Combo/Routing Studio em tempo real. |
| LangGraph | 43,443 | A visualização em direto do grafo de fluxos de trabalho do LangGraph Studio inspirou a vista em cascata em tempo real dos nossos Studios. |
| Langfuse | 35,990 | O seu modelo de observabilidade de rastreio → intervalo → geração moldou a vista em cascata do nosso Compression Studio. |
| Kiali | 3,645 | Observabilidade da malha de serviços Istio — inspirou os nossos distintivos de disjuntor e os elementos visuais das ligações com erros no Routing/Combo Studio. |
| lobe-icons | 2,615 | Logótipos de marcas de IA/LLM utilizados para apresentar os ícones dos fornecedores em todo o nosso painel. |
| flag-icons | 12,473 | Disponibiliza as bandeiras SVG com licença MIT utilizadas pelo seletor de idioma do README. |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| awesome-secure-defaults | 722 | Uma lista selecionada de bibliotecas seguras por predefinição que orienta as nossas escolhas de segurança (Helmet.js, DOMPurify, ssrf-req-filter, safe-regex, Google Tink). |
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| ClawRouter | 6,628 | Inspirou a desduplicação de pedidos, o recurso de emergência sem custos, as estratégias Auto-Combo extensíveis e a classificação multilingue de intenções. |
| Antigravity-Manager | 32,333 | O seu comportamento de remapeamento de modelos com reconhecimento de contas, validação de caminhos de executáveis e etiquetas de planos serviu de base ao ambiente de execução Antigravity do OmniRoute. |
| vscode-antigravity-cockpit | 4,850 | O seu formato compacto de contagem decrescente para a reposição de quotas inspirou a apresentação correspondente dos limites dos fornecedores no OmniRoute. |
| AionUi | 33,611 | As suas integrações ACP inspiraram a deteção automática, pelo OmniRoute, dos agentes de CLI instalados. |
| CodexBar | 22,616 | Identificou a superfície de quotas do Grok Build; o OmniRoute verificou e corrigiu depois, de forma independente, o formato dos dados transmitidos em tempo real. |
Licença MIT - consulte o ficheiro LICENSE para mais detalhes.
⬆ Voltar ao topo · Criado com ❤️ para a comunidade de IA de código aberto.
OmniRoute v3.8.53 · Node ≥22.22.2 · Licença MIT · omniroute.online












