Second `npm run release:reconcile` pass on `release/v3.8.50..release/v3.8.51` (091589089c..c0f92ec98a, 916 non-merge commits, 877 merged PRs): - fold the 173 changelog.d fragments accumulated since #12971 under `## [3.8.51]` and delete them - generate bullets for the 58 cycle commits that had no fragment (4 features / 42 fixes / 12 maintenance), each with the merged PR link and `— thanks @author` - link 137 fragment bullets to the PR of the commit that added them and credit the author; two prefix/origin mismatches reviewed (#12945→#13392, #13001→#13379, both maintainer rebaselines of other people's PRs) - refresh "Release by the numbers" + Top-25 and regenerate the `### 🙌 Contributors` hall (112 external contributors + maintainer; every non-bot author of the 877 merged PRs present) - closed-PR credit audit for the window: nothing to add (#13215→#13361 and #13059→#13690 are still open, #12998 was independently fixed earlier by #12853); no human co-author trailers, no commits without a PR - resync the 58 i18n CHANGELOG mirrors Gates: check:changelog-integrity OK, check:docs-sync PASS.
README (Português (Portugal))
🌐 Languages: 🇺🇸 English · 🇪🇹 am · 🇸🇦 ar · 🇦🇿 az · 🇧🇬 bg · 🇧🇩 bn · 🇨🇿 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
💰 ~1,47 mil milhões de tokens gratuitos / mês
Combinar manualmente os planos gratuitos é penoso — dezenas de SDKs, dezenas de limites de utilização e nenhuma ideia de quanto tem realmente disponível. O OmniRoute cataloga 452 entradas de planos gratuitos em 34 chaves de pools recorrentes e calcula o total de tokens a partir dos 16 pools com um orçamento mensal positivo publicado, mais cinco limites da Groq por modelo, eliminando duplicações 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 mediante verificação de identidade regional, e nunca são somadas ao total em destaque. O resultado permanece visível no painel (
/dashboard/free-tiers).
Resumo animado da página
/dashboard/free-tiersem tempo real. Metodologia completa (eliminação de duplicações de pools, níveis de crédito, 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 tempo real e variam nos dois sentidos — se um fornecedor terminar um plano gratuito, o número diminui; se surgir um novo, aumenta. Publicamos aquilo que o catálogo realmente calcula, nunca um cenário ideal arredondado por excesso.
⭐ Dê uma estrela ao repositório se o OMNIROUTE o ajudou a poupar dinheiro e a facilitar o seu trabalho.
💬 Junte-se à comunidade
👋 Siga o responsável pelo projeto — seja o primeiro a receber novos fornecedores, lançamentos e sugestões:
Perguntas, sugestões de fornecedores, roteiro e suporte → Discord · Telegram · WhatsApp 🌍 Global / 🇧🇷 Brasil / Portal
📈 O Gateway Continua a Crescer
| v3.8.49 | v3.8.50 | v3.8.51+ |
|
|---|---|---|---|
| 🌐 Fornecedores | 290 | 352 | mais em preparação |
| 🧠 IDs únicos de modelos de chat | 1185 | 1312 | — |
| 🖼️ Ponte de modalidades | — | 🆕 visão + áudio + vídeo | — |
| 📡 Catálogo gratuito Radar | — | 🆕 adesão opcional | — |
| ⚖️ Agendamento ciente das quotas | — | 🆕 Quota-Share | — |
| 📊 Telemetria de quotas | — | 🆕 em direto | — |
→ Roteiro — a caminho da v3.9.0 LTS
🧩 Disponível
| 🚀 Começar | 🚀 Início rápido | 📦 Instalar | 🆓 Sem configuração |
| 💡 Aprender | 💥 A promessa | 🤔 Porquê o OmniRoute | 🏆 O que o distingue |
| ⚙️ Funcionalidades | 🎯 Combos | 🌐 Fornecedores | 🔌 CLI e MCP |
| 🗜️ Compressão | 🖥️ Onde é executado | 🔒 Privado | |
| 👀 Ver | 🎬 Em ação | ✨ Novidades | 🤖 CLIs compatíveis |
| 💚 Apoiar | 💚 Apoiar / Doar | 💬 Comunidade | 💖 Patrocinadores |
| 📦 Projeto | 🛠️ Tecnologias | 📖 Documentação | 👥 Colaboradores |
🆓 Funciona assim que o instala — sem chaves, sem configuração
# Instalação nova, sem credenciais — `auto` já funciona:
curl http://localhost:20128/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"auto","messages":[{"role":"user","content":"Hello!"}]}'
Prefere um backend gratuito específico? Invoque diretamente oc/… (OpenCode Free). Depois, passe para auto e deixe o OmniRoute escolher.
📦 Scripts de início rápido prontos a copiar e colar para Python, Node.js, PHP e cURL → examples/quickstart/
💥 A Promessa
🤔 Porquê o OmniRoute?
🤝 Apoiado pelos nossos Amigos do Código Aberto
Quer juntar-se a nós como Amigo do Código Aberto? Estas são as empresas que apoiam o código aberto e ajudam a manter o OmniRoute em andamento — e indicamos publicamente onde é utilizado cada token que nos oferecem. Entre em contacto: diegosouza.pw@outlook.com
|
Kimi Moonshot AI |
Agradecemos à Kimi (Moonshot AI), o nosso Amigo Fundador do Código Aberto, por apoiar este projeto! A Kimi é o laboratório de IA responsável pelas famílias de modelos de pesos abertos K2 e K3 — o Kimi K3 oferece uma janela de contexto de 1 milhão de tokens, visão nativa e programação ao nível da fronteira por uma fração do preço dos modelos fechados, e funciona de imediato com Claude Code, Codex e todas as ferramentas de programação suportadas pelo OmniRoute.
O que o apoio da Kimi possibilita: os créditos da API da Kimi alimentam o pipeline de lançamento do OmniRoute validado por IA — a fase de validação de integração com tecnologia Kimi K3, que analisa todos os pedidos de integração antes do lançamento — bem como o desenvolvimento diário de funcionalidades. O suporte de primeira classe para a Kimi é disponibilizado através de ambas as vias: a API da Kimi direta ( kimi-k3) e o plano de programação Kimi Code (OAuth e chave de API). O OmniRoute é também o primeiro projeto brasileiro de código aberto a integrar o programa de apoio da Kimi. Obtenha uma chave de API da Kimi com 15% de créditos adicionais →
|
|
Cheaper Inference cheaperinference.com |
Agradecemos à Cheaper Inference, um Amigo do Código Aberto do OmniRoute, por apoiar este projeto! A Cheaper Inference é um gateway ordenado por custo que revende 42 modelos de fronteira — Claude, GPT-5.x, Gemini, Kimi K3, GLM, DeepSeek, Grok e MiniMax — atravé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, chamadas de ferramentas e 3 modelos de imagem (grok-imagine, nano-banana-pro, nano-banana-2, acessíveis como cheaperinference/<model>). Obtenha uma chave de API →
|
As ligações identificadas com aff=omniroute são ligações de parceiros. Estas ajudam a financiar o projeto sem qualquer custo adicional para si.
🎟️ Promoção de Afiliados — cupões de registo gratuitos de fornecedores que não patrocinamos (clique para expandir)
Esta secção destina-se apenas a códigos de recomendação/cupões. As parcerias patrocinadas encontram-se acima, em 🤝 Apoiado pelos nossos Amigos do Código Aberto. O OmniRoute não tem qualquer patrocínio ou parceria com os fornecedores aqui indicados — estes são cupões públicos que qualquer pessoa pode utilizar.
|
AgentRouter agentrouter.org |
AgentRouter — registo de afiliado · $100 em créditos gratuitos no registo (servidor gratuito, conte com maior latência — mais indicado para testes do que 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 outros. Obtenha os seus $100 →
⚠️ Ligação de afiliado — o OmniRoute não tem qualquer patrocínio ou parceria com este fornecedor. |
Conhece outro fornecedor com um cupão de registo gratuito generoso que beneficie os utilizadores do OmniRoute? Abra uma issue e adicioná-lo-emos aqui.
🎯 Combos — O Destaque Principal
Um combo é uma cadeia de modelos pelos quais o OmniRoute encaminha pedidos automaticamente. Se a quota se esgotar, um fornecedor falhar ou os custos dispararem, o combo pode passar para o próximo modelo elegível e operacional. 🛡️
⚡ Configuração zero — basta utilizar auto
Não é necessário criar qualquer 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-se no último fornecedor que funcionou) |
auto/coding | 🧑💻 Ponderações que dão prioridade à qualidade para geração de código |
auto/fast | ⚡ Menor latência primeiro |
auto/cheap | 💰 Menor custo por token primeiro |
auto/offline | 🔋 Maior margem de quota/limite de pedidos primeiro |
auto/smart | 🔭 Prioridade à qualidade + 10% de exploração para descobrir modelos melhores |
auto/lkgp | 📌 Afinidade explícita com o último fornecedor que funcionou |
auto/chaos | 🧪 Ponderações de injeção de falhas para testes de resiliência (engenharia do caos) |
🔀 Ou crie o seu próprio — 19 estratégias de encaminhamento
Todas as 19 estratégias — combine-as livremente em cada passo do combo:
| # | Estratégia | O que faz |
|---|---|---|
| 1 | priority |
Lista ordenada pelo primeiro alvo — esgota cada um antes de passar ao seguinte 🥇 |
| 2 | fill-first |
Utiliza totalmente a quota de cada alvo antes de avançar |
| 3 | weighted |
Seleção aleatória ponderada pelo peso de cada alvo |
| 4 | round-robin |
Percorre os alvos ciclicamente pela ordem definida |
| 5 | p2c |
Balanceamento de carga aleatório com duas opções |
| 6 | least-used |
Seleciona o alvo com a carga atual mais baixa |
| 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 atuais do catálogo 💸 |
| 10 | headroom |
Seleciona o alvo com a maior quota restante |
| 11 | reset-window |
Dá preferência ao alvo cuja janela de quota é reposta mais cedo |
| 12 | reset-aware |
Ordena pela hora de reposição da quota — janelas curtas primeiro 📊 |
| 13 | context-relay |
Transfere o contexto entre alvos em conversas longas 🧠 |
| 14 | context-optimized |
Seleciona o alvo mais adequado ao tamanho atual do contexto |
| 15 | cache-optimized |
Fixa cada prefixo reutilizável do prompt na mesma conta — maximiza os acertos na cache de prompts 🎯 |
| 16 | lkgp |
Último Caminho Conhecido como Bom — fixa o último fornecedor bem-sucedido e, em seguida, recorre às regras |
| 17 | auto |
Avaliação em tempo real com 16 fatores em todas as ligações 🤖 |
| 18 | fusion |
Distribui o pedido por um painel de modelos + um avaliador sintetiza uma única resposta 🧬 |
| 19 | pipeline |
Encadeia passos — a saída de cada alvo alimenta o seguinte 🔗 |
O motor Auto-Combo avalia 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.
🧱 A resiliência está integrada (3 camadas independentes)
📖 Motor de combinação automática · Guia de resiliência
🏆 O Que Distingue o OmniRoute
📊 Metodologia completa e detalhes por funcionalidade face ao 9router, OpenRouter, CLIProxyAPI e LiteLLM → docs/comparison/OMNIROUTE_VS_ALTERNATIVES.md
💚 Apoie o OmniRoute
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 |
⚠️ Envie cada moeda apenas através da rede indicada — o envio através da rede errada pode resultar na perda dos fundos.
🐛 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.
📡 Radar OmniRoute
O principal destaque do nível gratuito continua a ser ~1,47 mil milhões de tokens/mês do catálogo documentado acima, com eliminação de duplicados entre pools. Os créditos temporários de registo nos fornecedores podem aumentar separadamente o primeiro mês para ~2,07 mil milhões. O Radar é uma sobreposição opcional e assinada do catálogo para quem pretende uma disponibilidade mais atualizada 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 seu limite separado e variável é de aproximadamente 3 mil milhões de tokens/mês, no máximo, dependendo da disponibilidade dos fornecedores. Esse limite não é garantido: os fornecedores podem alterar quotas, elegibilidade, modelos ou regiões a qualquer momento.
O Radar é opcional e utiliza apenas pedidos GET. O cliente OmniRoute não carrega prompts, tráfego, configuração dos fornecedores, telemetria de utilização nem o estado local de dispensa de anúncios. Consulte os requisitos de elegibilidade e o catálogo atual em radar.omniroute.online/planos.
✨ Novidades
Destaques recentes de v3.8.20 → v3.8.50. Histórico completo em
CHANGELOG.md.
- 🎛️ OmniConductor — delegação A2A de entrada para a sua frota de agentes, competências do Conductor no Agent Card e um painel de controlo com conversação por voz push-to-talk do Faro. → Servidor A2A
- 🛂 Admissão adaptativa e proteção contra sobrecarga — os pedidos de conversação pesados entram em fila em vez de devolverem 503, com concessões contínuas atómicas de RPM por ligação. → Guia de Resiliência
- 🗂️ Ordenação canónica de
/v1/models— um bloco contíguo agrupado por fornecedor para cada fornecedor (combinações fixadas primeiro), estável em todas as fontes de catálogo. → Referência da API - 🗜️ Reforço da compressão — proteção contra expansão ativa por predefinição, pacotes Caveman para DE / FR / JA + chinês (wényán), filtros RTK para Gradle e .NET. → Compressão
- 💸 Custo fixo transparente — os fornecedores de subscrições/planos de programação apresentam $0 na análise de custos; o orçamento, a quota e o encaminhamento continuam a fazer estimativas. → Referência da API
- ⚖️ Encaminhamento Quota-Share — divide de forma justa a quota de uma conta partilhada entre chaves agrupadas, preservando o trabalho para que as parcelas inativas sejam cedidas. → Guia de Resiliência
- 🤖 Configuração de CLI/agente com um só comando — 13 comandos
setup-*registados;omniroute runinicia 7 CLIs (Claude Code, Codex, Aider, Goose, OpenCode, Qwen Code, Gemini CLI);omniroute configuresuporta 10 destinos, com um seletor interativo de fornecedor+modelo e favoritos por contexto. → Integrações de CLI - 🛰️ Modo remoto — controle remotamente o OmniRoute com tokens de âmbito limitado (
connect/contexts/tokens) + um auxiliar OAuthantigravitypara instalações em VPS. → Modo Remoto - 🧭 Encaminhamento automático mais inteligente — combinações
auto/<category>:<tier>, Fusion (painel de modelos + juiz), encaminhamento sensível à tarefa e substituições por pedido de modelo/modo/orçamento em USD. → Auto-Combo - 🗜️ Compressão extensível — 12 motores combináveis + Compression Studios: LLMLingua-2, Ultra de dois níveis, omniglyph, controlo de fidelidade por etapa, GCF v3.2 e editor com reordenação por arrastar. → Compressão
- 🕵️ Desencriptação MITM transparente (TPROXY) — intercepte CLIs que ignoram variáveis de ambiente de proxy, com uma CA por SNI + instalador no arquivo de confiança. → 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 por acerto de cache e quotas de despesas em USD por chave. → Referência da API - 🧠 Memória sob o seu controlo — desativada por predefinição, quantização vetorial int8 opcional + decaimento tipificado,
x-omniroute-no-memorypor pedido. → Memória - 🛡️ Segurança — proteção contra injeção de prompts em todas as rotas de LLM (conjunto de testes de red team), mecanismo opcional de ocultação de credenciais (censura chaves de API/segredos expostos em ambos os sentidos), pesquisa Web gratuita no DuckDuckGo como último recurso e uma barreira de início de sessão OIDC opcional para o painel de controlo (o início de sessão por palavra-passe permanece sempre disponível). → Mecanismos de Proteção
- 🖼️ Novos endpoints —
/v1/ocr(Mistral OCR) e/v1/audio/translations(ao estilo do Whisper) completam a interface de multimédia. → Referência da API - 🎨 Geração de imagem/vídeo/áudio — uma API para multimédia: xAI Grok Imagine e vídeo da Novita AI, ComfyUI, Magnific, Adobe Firefly, Segmind e fornecedores de voz como a ElevenLabs. → Referência da API
- 🌍 Implementação e operações —
basePathde proxy inverso, deteção automática do idioma do navegador, monitorização de dispositivos por chave, confiança MITM sem privilégios de root e localização zh-TW. → Ambiente - 🤝 Mais fornecedores e agentes — agentes na nuvem (Codex Cloud, Cursor, Devin, Jules), Grok Build (xAI) com navegador + início de sessão OAuth, cartão de primeira classe para Ollama, Claude Opus 5 e Sonnet 5, parceria oficial com a Kimi (Code/Web/Moonshot), Zed, Requesty, SenseNova, Yuanbao, Agnes AI… e um catálogo de 352 fornecedores atualizado. → Fornecedores
- 📡 Transparência de encaminhamento — todas as respostas incluem um cabeçalho
X-OmniRoute-Decisionque identifica a estratégia/o fornecedor/a latência usados, uma nova estratégia de combinaçãocache-optimized+ o 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 ativo de candidatos de um canalauto/*. → Auto-Combo - ⚡ Desempenho local e infraestrutura — Redis local com um clique, ferramentas de implementação de relés para Cloudflare Workers / Deno Deploy, Bifrost e Mux como serviços incorporados supervisionados. → Serviços Incorporados
- 🧩 Também incluído — framework de plugins + marketplace, frameworks de competências Omni/Agent/GitHub, integração com cofres do Obsidian (22 ferramentas MCP), APIs Batch e Files compatíveis com OpenAI, cache semântica de respostas, gamificação com tabelas classificativas, descoberta de agentes ACP (15 agentes incorporados), exportação programada de registos para o BigQuery, injeção de falhas
auto/chaos, uma ponte para bots do Telegram, um gestor de versões na aplicação e classificações de fornecedores gratuitos LMArena-ELO. → Documentação
🤖 CLIs e agentes de programação compatíveis
Uma configuração —
http://localhost:20128/v1— e todos os IDEs ou CLIs de IA funcionam com modelos gratuitos e de baixo custo.
Claude Code |
Codex CLI |
Cline |
Kilo Code |
Zoo Code |
Continue |
Aider |
ForgeCode |
jcode |
DeepSeek TUI |
CodeWhale |
OpenCode |
Factory Droid |
Copilot CLI |
Cursor CLI |
Smelt |
Pi |
Grok Build |
Hermes Agent |
OpenClaw |
Goose |
Open Interpreter |
Warp AI |
Agent Deck |
📖 Configuração por ferramenta para todas as 36 ferramentas (26 CLI de código + 10 agentes CLI) → docs/reference/CLI-TOOLS.md · 🧩 Plugin do OpenCode → @omniroute/opencode-provider
Inicie qualquer CLI suportada através do OmniRoute com um único comando — sem escrever ficheiros de configuração, com credenciais injetadas por processo e um diretório pessoal isolado e descartável para o Qwen/Gemini:
omniroute run claude --model openai/gpt-5.4 # Claude Code
omniroute run codex --model glm/glm-5.2 # CLI OpenAI Codex
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"
# Ou escolha interativamente o fornecedor+modelo e escreva a configuração da própria ferramenta:
omniroute configure codex # também: claude opencode qwen aider goose gemini cline continue kilo
Todos os comandos respeitam o contexto remoto ativo (omniroute connect <host>), --dry-run
pré-visualiza as variáveis de ambiente/argumentos exatos sem executar e --api-key-env NAME mantém os segredos fora
do histórico da shell. → Integrações CLI
🌐 352 fornecedores de IA — 152 assinalados no catálogo como gratuitos
352 fornecedores registados nas coleções canónicas de chat, multimédia, pesquisa, execução local, agentes na nuvem e sistema, incluindo 152 com metadados de descoberta
hasFree: true. O registo de modelos de chat abrange 229 fornecedores / 2.554 pares distintos fornecedor-modelo / 1.283 IDs de modelo em bruto; o catálogo separado de orçamentos gratuitos tem 443 entradas por modelo, 34 pools recorrentes e 53 fornecedores gratuitos para sempre, recorrentes/sem chave. Estes denominadores são diferentes por definição; as definições e os cálculos com eliminação de duplicados entre pools encontram-se na Referência de Fornecedores e nos Planos Gratuitos.
🏢 Todos os principais laboratórios — através de um único endpoint
OpenAI |
Anthropic |
Gemini |
xAI Grok |
DeepSeek |
Mistral |
Qwen |
Meta Llama |
Groq |
NVIDIA |
MiniMax |
Cohere |
Perplexity |
HuggingFace |
Together |
Fireworks |
Cloudflare |
Baidu |
…e mais de 330 — todos os ícones são obtidos em tempo real a partir do catálogo de fornecedores do painel. 📖 Referência de Fornecedores
🆓 Gratuito para sempre — $0, sem cartão
📖 Catálogo completo legível por máquina → docs/reference/PROVIDER_REFERENCE.md
🖥️ Onde o OmniRoute funciona — em qualquer lugar
A mesma aplicação, a sua máquina, as suas regras. Desde uma instalação global via npm até ao seu telemóvel através do Termux.
| Plataforma | Instalação | Destaques |
|---|---|---|
| 📦 npm (global) | npm install -g omniroute | Um comando, qualquer sistema operativo |
| 🐳 Docker | docker run … diegosouzapw/omniroute | Multiarquitetura AMD64 + ARM64 |
| 🖥️ Ambiente de trabalho (Electron) | npm run electron:build | Janela nativa + área de notificação — Windows / macOS / Linux |
| 🎩 Barra de menus (OmniRouteTray) | brew install --cask zoispag/tap/omniroute-tray | Supervisiona e atualiza automaticamente o servidor — macOS |
| 💪 ARM | arm64 nativo | Raspberry Pi, servidores ARM, Apple Silicon |
| 📱 Android (Termux) | pkg install nodejs && npx -y omniroute | Funciona no seu telemóvel, 24 horas por dia, 7 dias por semana, sem root |
| 📲 PWA | "Adicionar ao ecrã principal" | Ecrã inteiro, funcionamento offline, instalável a partir do navegador |
| 🧩 Plugin do OpenCode | @omniroute/opencode-provider | Integração nativa com o OpenCode |
| 🤖 VS Code Copilot Chat | instale a extensão OmniCopilot | Todos os modelos do OmniRoute no seletor nativo do Copilot Chat — versões estável e Insiders |
| 🛠️ A partir do código-fonte | npm install && npm run dev | Modifique-o, contribua |
📖 Guia do Docker · Ambiente de trabalho · Ícone da barra de menus · Termux · PWA · OpenCode
🧩 Novo: OmniRoute integrado no Copilot Chat nativo do VS Code
Sem uma nova barra lateral nem uma nova interface de chat — todos os modelos disponibilizados pelo OmniRoute aparecem diretamente no seletor de modelos do Copilot Chat que já utiliza. Desde o VS Code 1.122, os modelos de fornecedores funcionam sem iniciar sessão no GitHub nem ter uma subscrição do Copilot — modo de agente, chamada de ferramentas e visão, gratuitamente.
Instale a extensão OmniCopilot, configure-a
para utilizar o seu servidor OmniRoute (a predefinição é localhost:20128) e, em seguida, abra o Copilot Chat → seletor de modelos
→ Gerir modelos… → OmniRoute.
| Loja | Ligação | Compatível com |
|---|---|---|
| 🧩 VS Code Marketplace | Instalar → | VS Code — versões estável e Insiders |
| 🔓 Open VSX Registry | Instalar → | Cursor, Windsurf, VSCodium, Theia, code-server, Gitpod, Antigravity, Kiro… |
No editor: abra a vista Extensões, procure "OmniRoute" e clique em Instalar — funciona da mesma forma em ambas as lojas. O código-fonte, as ocorrências e o guia de publicação estão disponíveis em diegosouzapw/OmniCopilot.
📖 Guia do VS Code Copilot Chat — configuração, o que é apresentado no seletor, painel num separador, resolução de problemas
🎩 Novo: OmniRouteTray — o seu gateway, sempre presente na barra de menus
O
omniroute servefunciona melhor quando está sempre ativo. O OmniRouteTray transforma-o numa aplicação para a barra de menus do macOS que basta configurar e esquecer: inicia o servidor, mantém-no em funcionamento após reinícios, atualiza-o localmente e coloca o seu orçamento de tokens em tempo real à distância de um clique — sem deixar uma janela do terminal aberta nem ter de cuidar donpm install -g omniroute.
Desenvolvido com Tauri v2 (um núcleo em Rust com um tamanho praticamente insignificante), inclui
o seu próprio runtime Node 24 assinado e gere uma instalação do OmniRoute pertencente à aplicação, pelo que nunca entra em conflito com o seu
node/bun global. Partilha a configuração e a base de dados existentes em ~/.omniroute/ — portanto, é o
mesmo OmniRoute que já utiliza, mas agora com um chapéu. 🎩
| O que faz | Como |
|---|---|
| 🟢 Supervisiona o servidor | Inicia omniroute serve e adota uma instância que já esteja em execução, em vez de a duplicar |
| 📊 Utilização em tempo real num relance | Barras de quotas dos fornecedores, limites de sessão/semanais do Claude com contagens decrescentes até à reposição e discriminação dos custos de 30 dias |
| 🔄 Atualiza-se automaticamente no local | Instalação faseada, substituição atómica e reversão em caso de falha — sempre na versão mais recente |
| 🚀 Inicia ao iniciar sessão | Arranque opcional ao iniciar sessão; apenas na barra de menus, sem ícone na Dock |
| 🩺 Diagnósticos e registos | Diagnósticos com um clique e acesso aos registos do servidor |
brew install --cask zoispag/tap/omniroute-tray
Prefere uma transferência? Obtenha o ficheiro .dmg mais recente em
Versões. O código-fonte, os problemas e a documentação
de compilação encontram-se em zoispag/omniroute-tray.
💛 Um projeto da comunidade por @zoispag — não é uma versão oficial do OmniRoute.
🔒 Privado e Local em Primeiro Lugar
📖 Autorização · Proteções · Conformidade
🔌 CLI Completa + A2A e MCP
Para além do servidor, o OmniRoute é um painel de controlo completo através da linha de comandos, com mais de 80 comandos, além de protocolos abertos para agentes, permitindo que um agente de IA o controle autonomamente.
⌨️ Uma CLI a sério (não apenas start)
omniroute # disponibilizar o gateway + painel de controlo (porta 20128)
omniroute chat # cliente de chat TUI interativo (atalhos: /model /combo /skill /memory)
omniroute setup # assistente guiado para a primeira execução
omniroute doctor # diagnosticar fornecedores, portas e dependências nativas
🛰️ Modo remoto — execute a CLI aqui e o OmniRoute num VPS
Tem 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; depois, todos os comandos terão como destino o servidor remoto.
omniroute connect 192.168.0.15 # palavra-passe → token com âmbito definido, guardado como contexto
omniroute models list # ← executado no servidor REMOTO
omniroute configure codex # ← seleciona um modelo remoto e cria um perfil Codex local
omniroute tokens create --name ci --scope read # emitir tokens com âmbito mais restrito para outras máquinas
omniroute contexts use default # ← voltar ao servidor local
Os tokens têm os âmbitos read / write / admin; as rotas que iniciam processos permanecem acessíveis apenas através de loopback.
📖 Modo Remoto
🤝 Ligue um agente — e este controla o próprio OmniRoute
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 | Utilize para |
|---|---|---|
| 🧰 MCP (stdio) | omniroute --mcp | Integrar 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 | Enviar eventos de pedidos / quotas para o Slack, Discord, Telegram ou qualquer URL |
| 🛰️ CLI Remota | omniroute connect | Controlar uma instância remota com tokens de acesso com âmbito definido |
# Disponibilizar 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
🗜️ Poupe 15–95% de tokens — Automaticamente
📖 Como funciona — pipeline, arquitetura e cálculo das poupanças
A combinação em cadeia predefinida executa RTK → Caveman. Quando ambos atuam sobre o mesmo payload de ferramentas/contexto, as poupanças acumulam-se:
combined = 1 − (1 − RTK) × (1 − Caveman_input)
average = 1 − (1 − 0.80) × (1 − 0.46) = 89.2%
range = 78.4 – 94.6%
Os blocos de código, URLs, JSON e dados estruturados são sempre protegidos pelo motor de preservação.
Porquê usar muitos tokens quando poucos são suficientes? Todos os pedidos passam pelo pipeline de compressão do OmniRoute de forma transparente — sem alterações no cliente. É agora uma pilha de 12 motores combináveis que são executados por ordem e podem ser combinados para cada combinação de encaminhamento — com base em ideias do RTK, Caveman (⭐ 90K+), LLMLingua-2 e Troglodita (PT-BR).
🧱 A pilha de 12 motores
Os motores são executados pela ordem do pipeline; cada um pode ser ativado ou desativado e configurado independentemente para cada combinação:
| # | Motor | O que faz |
|---|---|---|
| 1 | Session-Dedup | Remove conteúdo repetido entre interações (endereçado por conteúdo, entre interações) |
| 2 | CCR | Arquiva blocos grandes atrás de marcadores de recuperação, obtidos a pedido |
| 3 | Lite | Redução de espaços em branco e URLs de imagens (base de referência com baixa latência) |
| 4 | RTK | Filtragem, desduplicação e truncagem inteligentes dos resultados de ferramentas (com reconhecimento de comandos) |
| 5 | Responses Tool Output | JSON prioritariamente sem perdas + compressão limitada de diagnósticos para resultados de shell/patch/pesquisa/compilação (Responses API) |
| 6 | Headroom | Compactação tabular sem perdas de arrays JSON (~30%) através de um codec GCF integrado |
| 7 | Relevance | Pontuação extrativa de frases relativamente à última consulta do utilizador |
| 8 | Caveman | Compressão de prosa baseada em regras (~65–75% na saída) |
| 9 | Aggressive | Resumo + envelhecimento progressivo de interações antigas |
| 10 | LLMLingua-2 | Poda semântica por ML através do MobileBERT ONNX — segura para código, assíncrona |
| 11 | Ultra | Poda heurística de tokens com um nível opcional baseado num modelo pequeno (SLM) |
| 12 | OmniGlyph | Codificação experimental do contexto como imagem para o Claude Fable 5 medido na ligação direta à Anthropic; os transformadores GPT 5.6 permanecem bloqueados por predefinição enquanto se aguardam comprovativos do fornecedor. Quatro perfis de compressão (agressivo por predefinição, equilibrado, seguro para programação, passagem direta) (o mais agressivo; adesão explícita) |
Os blocos de código, URLs e dados estruturados são sempre preservados byte a byte. As predefinições de um clique combinam os motores:
| Modo | Poupanças | Ideal para |
|---|---|---|
| 🪶 Lite | ~15% | Predefinição segura sempre ativa |
| 🪨 Standard (Caveman) | ~30% | Programação diária |
| ⚡ Aggressive | ~50% | Sessões longas com utilização intensiva de ferramentas |
| 🔥 Ultra | ~75% | Poupança máxima |
| 🧰 RTK | 60–90% | Resultados de shell/testes/compilação/git |
| 🔗 Em cadeia (RTK → Caveman) | 78–95% | Prompts mistos + registos de ferramentas |
Exemplo real — modo Standard:
Antes (69 tokens): "A razão pela qual o seu componente React está a ser novamente renderizado deve-se provavelmente à criação de uma nova referência de objeto em cada ciclo de renderização. Quando passa um objeto inline como prop, a comparação superficial do React considera-o um objeto diferente todas as vezes, o que desencadeia uma nova renderização. Recomendo a utilização de useMemo para memorizar o objeto."
Depois (19 tokens): "Nova referência de objeto em cada renderização. Objeto inline como prop = nova referência = nova renderização. Envolva em useMemo."
A mesma resposta. Menos 72% de tokens. Sem qualquer perda de precisão. ✅
Exemplo em PT-BR — modo Troglodita:
Antes (42 tokens): "O problema é que o componente está a renderizar novamente 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. ✅
🎚️ Para além dos motores — estilos de saída, ajuste adaptativo e controlo por pedido
Os 12 motores acima reduzem o que entra. Mais três camadas definem como, quando e o que sai:
- 🪄 Estilos de saída (controlo 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 — remover texto supérfluo / artigos / ressalvas; manter a substância técnica exata.
- Menos código — YAGNI de «programador sénior preguiçoso»: a menor alteração funcional, sem estrutura não solicitada.
- Ponytail (programador sénior preguiçoso) — subir a escada YAGNI, corrigir a causa principal, produzir o menor diff funcional.
- Tenho PHDA (ação primeiro) — começar pela próxima ação, numerar os passos, indicar 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, intensifica apenas os motores mais económicos e com menos perdas, na medida necessária para caber na janela de contexto do modelo. Política:
reserve-output(predefinida, dependente do modelo) ·percentage·absolute. Modo:floor(garante que cabe) ·replace-autotrigger(a sua escolha explícita prevalece) ·off(limiar legado). - 🎛️ 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 › acionamento adaptativo / automático › predefinição do painel › desativada. O plano aplicado é devolvido no cabeçalho de respostaX-OmniRoute-Compression: <mode>; source=<source>.
Utilize o acionamento automático por limiar de tokens, ative o ajuste adaptativo, fixe um perfil nomeado, defina uma configuração pontual por pedido ou atribua um pipeline a cada combinação de encaminhamento — consoante o que melhor se adequar à carga de trabalho. Um sistema de avaliação offline opcional (npm run eval:compression) classifica a fidelidade face à poupança num corpus fixado antes de promover uma alteração.
📖 COMPRESSION_GUIDE.md · RTK_COMPRESSION.md · COMPRESSION_ENGINES.md
⚡ Início rápido
1) Instalar e executar
npm install -g omniroute
omniroute
💡 Vê
npm warn ERESOLVEou avisos de dependências entre pares? São inofensivos.
Painel em http://localhost:20128 · API em http://localhost:20128/v1.
2) Ligar um fornecedor GRATUITO (sem registo)
Painel → Fornecedores → ligue o Kiro AI (Claude gratuito, ~50 créditos/mês por conta) ou o OpenCode Free (sem autenticação) → concluído.
3) Configurar a sua ferramenta de programação
URL base: http://localhost:20128/v1
Chave da API: [copiar de Painel → Endpoints]
Modelo: auto (encaminhamento inteligente sem configuração — ou qualquer fornecedor/modelo)
4) Confirmar que 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 encarrega-se do encaminhamento automático e da seleção de alternativas.
Se o seu cliente não conseguir enviar cabeçalhos personalizados, o OmniRoute também disponibiliza aliases de compatibilidade com token:
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/tags
Utilize-os apenas para clientes que não consigam anexar Authorization: Bearer .... A autenticação por cabeçalho continua a ser o modo preferencial.
📦 Mais métodos de instalação — Docker, código-fonte, pnpm, Arch
🐳 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:latest
Tabela 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 --build
No 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 ignora
Para 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.
🎬 OmniRoute em ação
📹 Guias em Vídeo
Instantâneo do painel em 2026-08-24 · Catálogo bruto: YT 809 | TT 137 | IG 124 · Atualidade (dias): YT 1 | TT 21 | IG 22
Classificação completa (URLs canónicos sem duplicados, v > 0, maior alcance):
| #1 | #2 | #3 | #4 | #5 |
|---|---|---|---|---|
| nick_saraev — Instagram — 3,042,474 | theopenstack — Instagram — 692,419 | milesreevesai — TikTok — 620,400 | Vaibhav Sisinty — YouTube — 391,109 | buildwithai.club — Instagram — 347,652 |
| #6 | #7 | #8 | #9 | #10 |
|---|---|---|---|---|
| nivedan.ai — Instagram — 331,973 | vaibhavsisinty — Instagram — 263,744 | Nick Automates — YouTube Shorts — 218,174 | theroshankrishna — Instagram — 186,786 | midudev — TikTok — 177,800 |
Métricas canónicas em 2026-08-24: 1.029 vídeos únicos · 11.132.922 visualizações conhecidas (v > 0) · 639 canais/perfis por rede. O painel bruto contém 1.070 linhas; 41 duplicados do Instagram foram normalizados através do URL canónico, mantendo a maior contagem por vídeo.
🎬 Criou um vídeo sobre o OmniRoute? Abra um issue ou uma discussão com a ligação — iremos destacá-lo aqui.
📧 Comunidade e Ajuda
Tudo num único local — siga o responsável pela manutenção, converse com a comunidade ou abra um issue.
| Canal | Onde / como |
|---|---|
| 💼 LinkedIn — siga o responsável pela manutenção | linkedin.com/in/diegosouzapw |
| 🐙 GitHub — siga para novidades e dicas | @diegosouzapw |
| 💬 Discord | discord.gg/U47eFqAXCn |
| ✈️ Telegram | t.me/omnirouteOficial |
| 🟢 WhatsApp — 🌍 Global | aderir ao grupo |
| 🟢 WhatsApp — 🇧🇷 Brasil | aderir ao grupo |
| 🌍 Site | omniroute.online |
| 🌍 🌍Comunidade StHub OmniRoute (gratuita) | portal StHub |
| 📦 Código-fonte | github.com/diegosouzapw/OmniRoute |
| 🐛 Comunicar um erro | abra um problema — anexe o resultado de npm run system-info |
| 🤝 Contribuir | CONTRIBUTING.md · Modelo de ramificação e lançamento · escolha um good first issue |
| 💚 Apoiar o projeto | Formas de apoiar ↑ · Patrocinadores do GitHub |
🛠️ Stack Tecnológica
| 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 ocorrências de any no núcleo desde a v2.0) |
| Framework | Next.js 16 + React 19 + Tailwind CSS 4 |
| Base de dados | better-sqlite3 (SQLite, registo WAL) + LowDB (JSON legado) — 122 módulos de domínio, 176 migrações |
| Memória | Pesquisa de texto integral SQLite FTS5 + embeddings vetoriais quantizados em int8, decaimento tipado |
| Esquemas | Zod 4 — validação de E/S das ferramentas MCP + contratos de API |
| Protocolos | MCP (stdio / HTTP / SSE) + A2A v0.3 (JSON-RPC 2.0 + SSE) |
| Transmissão em fluxo | Server-Sent Events (SSE) + ponte WebSocket (/v1/ws) |
| Compressão | Pipeline de 12 motores — RTK, Caveman, LLMLingua-2 (MobileBERT ONNX), GCF, OmniGlyph |
| Autenticação & segurança | OAuth 2.0 (PKCE) + JWT + chaves de API + autenticação MCP com âmbito definido · AES-256-GCM para dados armazenados · DOMPurify |
| Furtividade | wreq-js — imitação de impressões digitais TLS JA3 / JA4, proxy de 3 níveis |
| Resiliência | Disjuntor, recuo exponencial, prevenção de avalanche de pedidos, autorrecuperação de combinações automáticas |
| Registo | pino — registos JSON estruturados com contexto do pedido |
| Testes | Executor de testes do Node.js + Vitest — mais de 39 000 declarações de testes estáticos em mais de 5 100 ficheiros de teste monitorizados (unitários, integração, E2E, segurança, ecossistema) |
| Plataformas | Computador (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 |
📖 Documentação
📘 Introdução
| 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 por ferramenta 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 → ligar → configurar |
🔧 Operações e Implementaçã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, colocação em cache e arquitetura da aplicação Web progressiva |
| Guia de Desinstalação | Remoção limpa para todos os métodos de instalação |
| Configuração do Ambiente | Variáveis de .env completas e referências |
🧠 Funcionalidades e Arquitetura
| Documento | Descrição |
|---|---|
| Arquitetura | Arquitetura do sistema, fluxo de dados e funcionamento interno |
| Guia de Compressão | Pipeline com 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 bruta |
| Motores de Compressão | Caveman, RTK, pipelines empilhados, interfaces de painel/API/MCP |
| Formato das Regras de Compressão | Esquemas de pacotes de regras JSON para filtros Caveman e RTK |
| Pacotes Linguísticos de Compressão | Deteção de idiomas e criação de pacotes de regras Caveman |
| Guia de Resiliência | Disjuntores, períodos de espera, fila, proteção contra efeito de manada, 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, mercado 1proxy, operações CRUD do registo |
| Níveis Gratuitos | Diretório consolidado: 34 conjuntos recorrentes documentados / 452 entradas de nível gratuito catalogadas |
| Galeria de Funcionalidades | Visita visual ao painel com capturas de ecrã |
| Documentação da Base de Código | Visita guiada à base de código, acessível a principiantes |
🤖 Protocolos e APIs
| 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 das ferramentas |
| Servidor A2A | Protocolo JSON-RPC 2.0, competências, transmissão, gestão de tarefas |
| Guia do Servidor A2A | Cartão de agente A2A, tarefas, competências e transmissão |
📋 Projeto e Qualidade
| Documento | Descrição |
|---|---|
| Contribuir | Configuração e diretrizes de desenvolvimento |
| Modelo de Ramificação e Lançamento | Para onde são direcionados os PRs (release/*) e o que significam main e as 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 42 idiomas, fluxo de trabalho de tradução e RTL |
| Lista de Verificação de Lançamento | Passos de validação antes do lançamento |
| Plano de Cobertura | Estratégia de cobertura de testes para mais de 39 000 declarações de testes estáticos em mais de 5 100 ficheiros de teste monitorizados |
⭐ Principais Colaboradores
O OmniRoute é moldado por uma comunidade de código aberto apaixonada. Estas pessoas deram contributos excecionais que têm um impacto direto na qualidade, estabilidade e alcance do projeto. Obrigado.
Colaboradores externos por pedidos de integração incorporados
| Posição | Colaborador | PRs incorporados | ~Linhas alteradas |
|---|---|---|---|
| 1 | backryun | 190 | 227,977 |
| 2 | oyi77 | 180 | 407,678 |
| 3 | rdself | 145 | 80,663 |
| 4 | JxnLexn | 128 | 387,049 |
| 5 | KooshaPari | 101 | 125,747 |
| 6 | herjarsa | 88 | 230,872 |
| 7 | RaviTharuma | 79 | 55,106 |
| 8 | maxmad64bis | 69 | 394,715 |
| 9 | artickc | 59 | 33,260 |
| 10 | HouMinXi | 51 | 47,334 |
| 10 | chirag127 | 51 | 5,153 |
| 12 | xz-dev | 50 | 245,976 |
| 13 | hartmark | 47 | 52,185 |
| 14 | rqzbeh | 39 | 143,181 |
| 15 | dhaern | 34 | 19,559 |
| 16 | Dingding-leo | 33 | 1,986 |
| 17 | NomenAK | 32 | 13,854 |
| 18 | MumuTW | 30 | 16,953 |
| 19 | benzntech | 29 | 11,641 |
| 20 | pacocartones | 24 | 9,331 |
| 20 | Prudhvivuda | 24 | 6,312 |
Dados fixados na ponta ativa de release/v3.8.50, no commit dafb4ae808, com integrações até 2026-08-24 05:26:03 UTC. O recenseamento paginado da API GraphQL do GitHub contém 5 911 PRs incorporados: 2 707 pelo proprietário do repositório, 179 pelo Dependabot e 3 025 PRs externos de 535 colaboradores 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 criadas. Os empates no limite são mantidos.
Commits atribuídos pelo GitHub
|
backryun 🥇 220 commits atribuídos pelo GitHub |
Paijo 🥈 219 commits atribuídos pelo GitHub |
Randi 🥉 108 commits atribuídos pelo GitHub |
Ravi Tharuma 🏅 81 commits atribuídos pelo GitHub |
Chris 🏅 70 commits atribuídos pelo GitHub |
Markus Hartung 🏅 69 commits atribuídos pelo GitHub · empate no 6.º lugar |
|
Dizzle 🏅 69 commits atribuídos pelo GitHub · empate no 6.º lugar |
Jan Leon 🏅 64 commits atribuídos pelo GitHub |
zenobit 🏅 62 commits atribuídos pelo GitHub |
Bob.Hou 🏅 51 commits atribuídos pelo GitHub · empate no 10.º lugar |
Xiangzhe 🏅 51 commits atribuídos pelo GitHub · empate no 10.º lugar |
Verificado novamente em 2026-08-24 06:14:31 UTC: commits atribuídos pelo GitHub comunicados pela API Contributors do repositório para o ramo predefinido release/v3.8.50. A API devolveu 525 identidades (415 utilizadores, 2 bots e 108 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 por PR integrados acima como do recenseamento de 639 pessoas com base nos 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.
💖 Patrocinadores
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 |
![]() Paco Cartones 💛 Patrocinador pontual ativo |
![]() Prof. Igor Morais 💛 Antigo apoiante pontual |
![]() longtao 💛 Antigo apoiante pontual |
… e outros que preferem manter-se anónimos 💛
Patrocinadores públicos do GitHub revalidados em 2026-08-24. O estado activeOnly do GitHub determina as etiquetas de atividade acima; os apoiantes públicos pontuais anteriormente divulgados continuam a ser reconhecidos, e os patrocinadores privados permanecem anónimos.
💖 Torne-se patrocinador → — cada dólar mantém o OmniRoute gratuito e independente.
👥 Mais de 600 colaboradores
Auditado em 2026-08-24 na base congelada ac02c5b42f e novamente verificado na ponta ativa de release/v3.8.50, dafb4ae808: 639 identidades humanas normalizadas do Git — 407 surgem como autores de commits (incluindo o responsável pela manutenção) e 232 apenas em rodapés explícitos Co-authored-by. O levantamento normaliza os identificadores noreply do GitHub, exclui 26 identidades de bots/agentes/serviços/marcadores de posição e não combina endereços de e-mail comuns apenas porque os respetivos nomes de apresentação coincidem.
Como contribuir
- Crie um fork do repositório
- Crie um ramo a partir da ponta ativa de
release/vX.Y.Z(não demain) — consulte o Modelo de ramificação e lançamento - Crie o seu ramo de funcionalidade (
git checkout -b feat/amazing-feature) - Faça commit das suas alterações (
git commit -m 'feat: add amazing feature') - Envie para o ramo (
git push origin feat/amazing-feature) - Abra um Pull Request com a base = esse ramo
release/vX.Y.Z
Consulte CONTRIBUTING.md para obter orientações detalhadas.
Lançar uma nova versão
# Criar um lançamento — npm publish é executado automaticamente
VERSION=x.y.z
gh release create "v${VERSION}" --title "v${VERSION}" --generate-notes
📊 Estrelas
🙏 Agradecimentos
O OmniRoute apoia-se no trabalho de gigantes. Começou como um fork do 9router e uma adaptação para TypeScript do projeto em Go CLIProxyAPI — e, a partir daí, cada subsistema abaixo foi inspirado por um projeto open source que abriu caminho. Cada um deles deu forma a uma parte concreta do OmniRoute. Esta é a nossa forma de agradecer a todos. 🙏
⭐ contagens de estrelas verificadas através da API REST do GitHub em 24 de agosto de 2026 — dê uma estrela a estes projetos. As contagens representam um retrato exato dessa data e irão naturalmente mudar.
🧬 Linhagem e gateway
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| 9router | 26,161 | O projeto original no qual este fork se baseia — aqui alargado com APIs multimodais e uma reescrita completa em TypeScript. |
| CLIProxyAPI | 48,497 | A implementação em Go que inspirou esta adaptação para JavaScript / TypeScript. |
| LiteLLM | 57,100 | O gateway de IA cujo conjunto público de dados de preços alimenta a nossa sincronização do acompanhamento de custos e cujo modelo de normalização de fornecedores orientou o nosso encaminhamento. |
| codex-chatgpt-web | 1,410 | 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 | 48,112 | Padrões adaptados para recuperação de streams, aliases sem raciocínio, pesquisa na Web de recurso, limites de janela deslizante, ocultação de dados nos registos e fluxos de inicialização reforçados. |
| composer-api | 322 | Padrões de escolha de ferramentas, restrição da saída e confirmação de ferramentas do Cursor Composer adaptados para o executor nativo do Cursor. |
| codex-multi-auth | 457 | Padrões de novo início de sessão e de rotação de tokens de atualização adaptados para a reautenticação OAuth do Codex. |
| opencode-anthropic-auth | 510 | 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 respetivos mapeamentos de modelos Grok, gerador Statsig de TypeError falso, predefinições de pedidos e dispositivos e processador de respostas NDJSON foram substancialmente adaptados para o executor Grok Web do OmniRoute. |
| TQZHR/grok2api | 705 | A principal fonte de código transitiva subjacente ao grok2api-merged; as respetivas implementações de modelos, cabeçalhos, payloads, Statsig e processadores são preservadas na linhagem do Grok Web. |
| chenyme/grok2api | 7,520 | 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 respetiva camada de conjunto de proxies; o OmniRoute preserva essa menção de linhagem, mas não reivindica uma adaptação do conjunto de proxies no seu executor Grok Web de âmbito limitado. |
| GrokProxy | 50 | O respetivo proxy Grok autenticado por cookies e o padrão de streaming result.response.token orientaram o transporte Grok Web do OmniRoute. |
| GrokBridge | 5 | A implementação original do Grok Web consultou a respetiva arquitetura de upstream HTTP/navegador; o seu caminho HTTP direto deriva do GrokProxy, pelo que não é reivindicada qualquer adaptação de código independente. |
| grok-web-api | 14 | Os respetivos esquemas Rust ChatOptions e de envelopes de resposta orientaram os tipos TypeScript de pedidos e respostas em streaming do Grok no OmniRoute. |
🗜️ Compressão de contexto e tokens — motores
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| Caveman | 100,538 | O projeto viral «porquê usar muitos token quando poucos token resolver» — a sua filosofia de fala pré-histórica sustenta o nosso modo de compressão padrão e mais de 30 regras de remoção de conteúdo supérfluo/condensação. |
| RTK – Rust Token Killer | 77,185 | Compressão de alto desempenho da saída de comandos — inspirou o nosso motor RTK, a DSL de filtragem de JSON, a recuperação de saída em bruto e o pipeline encadeado RTK → Caveman. |
| headroom | 67,310 | Compressão reversível de contexto (SmartCrusher) — inspirou o nosso motor headroom e o padrão de marcadores de recuperação ccr. |
| LLMLingua | 6,598 | Investigação sobre compressão de prompts (LLMLingua / LLMLingua-2) — inspirou o nosso motor llmlingua assíncrono, seguro para código e tolerante a falhas. |
| llmlingua-2-js | 31 | O porte para JS/ONNX (MobileBERT / XLM-RoBERTa) utilizado como backend baseado em worker threads pelo nosso motor LLMLingua. |
| Troglodita | 40 | Compressão de tokens em PT-BR — sustenta o nosso pacote linguístico pt-BR: redução de pleonasmos e remoção de conteúdo supérfluo ajustadas à gramática do português do Brasil. |
| ponytail | 108,957 | 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 alteração funcional mais pequena, que reduz o código _gerado_ (o equivalente, no eixo da saída, à prosa concisa do Caveman). |
| i-have-adhd | 23,526 | O seu estilo de resposta orientado para a ação e adaptado a pessoas com PHDA foi incorporado no estilo de saída conciso do OmniRoute em cinco idiomas. |
🧩 Formatos compactos, investigação sobre tokens e ferramentas sensíveis ao código
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| TOON | 25,233 | Notação de objetos orientada para tokens — o seu modelo colunar de cabeçalho e linhas moldou a nossa fase de compactação tabular. |
| GCF – Graph Compact Format | 41 | O seu formato compacto de grafos e a conceção de perfis genéricos contribuíram para a compactação tabular do OmniRoute e para o formato do codec Headroom. |
| gcf-typescript | 4 | A implementação MIT em TypeScript, integrada diretamente e expandida como codec de perfil genérico do Headroom. |
| token-optimizer-mcp | 494 | Cache Brotli/SQLite + delta de contexto por sessão — inspirou o nosso motor session-dedup. |
| token-savior | 1,122 | Compactação da saída de Bash + perfis MCP — inspirou a nossa disciplina de interrupção da compressão e a redução dos manifestos de ferramentas MCP. |
| token-saver | 138 | Compressão de saída sensível ao conteúdo e por tipo de ficheiro, com interrupção em caso de falha — validou o nosso encaminhamento por tipo e a omissão quando o ganho é inferior ao mínimo. |
| token-optimizer | 1,951 | «Encontre os tokens fantasma» — o seu padrão de transferência e identificadores recuperáveis contribuiu para a nossa abordagem à transferência do CCR. |
| TokenMizer | 28 | Um modelo de grafo de sessão + desduplicação de linhas entre interações que contribuiu para a conceção do nosso session-dedup. |
| OmniCompress | 3 | JSON colunar em Rust + recuperação endereçada por conteúdo + desduplicação entre mensagens — validou a conceção dos nossos motores headroom/ccr/session-dedup e a propriedade invariável, estável em cache, de que «a forma comprimida é independente da posição». |
| mcp-compressor | 113 | Compressão de esquemas/descrições de ferramentas MCP — contribuiu para a redução da cardinalidade dos manifestos de ferramentas MCP. |
| RepoMapper | 197 | 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 de Bash. |
| ts-morph | 6,162 | Kit de ferramentas para a API do compilador TypeScript — inspirou a nossa remoção de comentários baseada num analisador sintático, que preserva literais de strings, modelos e expressões regulares. |
🧠 Memória e RAG
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| Mem0 | 63,902 | Camada de memória universal — o seu modelo de proxy como limite de escrita/leitura moldou a nossa arquitetura de memória. |
| Letta (MemGPT) | 24,382 | Agentes com estado e memória hierarquizada — inspiraram o nosso modelo hierarquizado de Controlo e Recuperação de Contexto (CCR). |
| WFGY | 1,781 | A taxonomia ProblemMap de 16 modos de falha recorrentes em RAG/LLM — o vocabulário partilhado no nosso guia de resolução de problemas. |
🛰️ Inspeção de tráfego, MITM e proxy transparente
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| llm-interceptor | 66 | A interceção/análise MITM do tráfego entre assistentes de programação ↔ 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 | 5,995 | Encaminhamento de proxy transparente por processo — inspirou o nosso encerramento MITM resistente a falhas, tempos-limite de inatividade de sockets, atribuição de processos através de /proc e captura TPROXY. |
📚 Dados de modelos, observabilidade e IU
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| models.dev | 6,555 | 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,108 | A biblioteca de grafos baseada em nós que sustenta o nosso Estúdio de Compressão e o Estúdio de Combinação/Encaminhamento em tempo real. |
| LangGraph | 40,314 | A visualização em direto do grafo de fluxos de trabalho do LangGraph Studio inspirou a vista em cascata em tempo real dos nossos Estúdios. |
| Langfuse | 33,592 | O seu modelo de observabilidade rastreio → segmento → geração moldou a vista em cascata do nosso Estúdio de Compressão. |
| Kiali | 3,631 | Observabilidade da malha de serviços Istio — inspirou os nossos indicadores de disjuntor e elementos visuais de ligações com erros no Estúdio de Encaminhamento/Combinação. |
| lobe-icons | 2,428 | Logótipos de marcas de IA/LLM que apresentam os ícones dos fornecedores em todo o nosso painel. |
| flag-icons | 12,354 | Fornece as bandeiras SVG com licença MIT utilizadas pelo seletor de idioma do README. |
🛡️ Segurança
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| awesome-secure-defaults | 721 | 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). |
🧭 Ferramentas complementares
| Projeto | ⭐ | Como inspirou o OmniRoute |
|---|---|---|
| ClawRouter | 6,564 | Inspirou a desduplicação de pedidos, a alternativa de emergência sem custos, as estratégias Auto-Combo modulares e a classificação multilingue de intenções. |
| Antigravity-Manager | 30,652 | O seu remapeamento de modelos com reconhecimento de contas, validação do caminho do executável e comportamento dos rótulos de planos serviram de base ao runtime Antigravity do OmniRoute. |
| vscode-antigravity-cockpit | 4,817 | 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 | 32,230 | As suas integrações ACP inspiraram a deteção automática de agentes CLI instalados no OmniRoute. |
| CodexBar | 20,507 | Identificou a interface de quotas do Grok Build; posteriormente, o OmniRoute verificou e corrigiu de forma independente o formato real dos dados transmitidos. |
📄 Licença
Licença MIT - consulte LICENSE para mais informações.
⬆ Voltar ao topo · Desenvolvido com ❤️ para a comunidade de IA de código aberto.
OmniRoute v3.8.51 · Node ≥22.22.2 · Licença MIT · omniroute.online





