Análise profunda de IA

Análise profunda do 9Router: Roteamento de IA gratuito, economia de tokens e fallback de provedores para agentes de codificação

O 9Router é um gateway e painel de IA local que expõe um endpoint OpenAI-compatible, traduz formatos de requisição, rastreia cotas, comprime a saída de ferramentas com RTK e roteia o tráfego de agentes de codificação entre níveis de provedores pagos, baratos e gratuitos.

Atualizado em junho de 2026
Guia do 9Router mostrando um painel de gateway de IA local roteando agentes de codificação através de múltiplos níveis de provedores

A maneira útil de ler este projeto é como uma infraestrutura entre sua ferramenta de codificação e suas contas de modelo. Claude Code, Codex, Cursor, Cline, clientes estilo Copilot, Antigravity, OpenClaw e outras ferramentas OpenAI-compatible podem apontar para `http://localhost:20128/v1`; o 9Router então decide como traduzir, comprimir, rotear, tentar novamente e registrar a requisição.

Get the latest on AI, LLMs & developer tools

New MCP servers, model updates, and guides like this one — delivered weekly.

Assista ao vídeo do 9Router

Prefere ler? O guia escrito abaixo cobre arquitetura, configuração, riscos e o veredito prático.

Nota editorial

Este artigo é baseado no repositório do GitHub, README, metadados do pacote, árvore de origem, metadados do npm, releases/tags, issues recentes, PRs recentes e arquivos de configuração de provedores pesquisados em 3 de junho de 2026. A linguagem sobre gratuidade/ilimitado do README é tratada como posicionamento do projeto, não como conselho de cota verificado independentemente.

1. 9router em uma frase

O 9Router é um gateway de LLM local licenciado sob Apache 2.0 para agentes de codificação que combina APIs OpenAI-compatible, tradução de provedores, fallback de múltiplas contas, rastreamento de cotas, compressão de saída de ferramentas RTK, um painel e implantação via Docker/local.

ÁreaDetalhePor que importa
Repositóriodecolua/9routerhttps://github.com/decolua/9router
Linguagem principalJavaScriptLinguagem principal no GitHub no momento da pesquisa.
LicençaMITVerifique separadamente licenças empacotadas ou binárias quando relevante.
Criado5 de janeiro de 2026Pacote publicado verificado: 0.4.66 em 29 de maio de 2026; última entrada de GitHub Releases verificada: v0.4.63 em 26 de maio de 2026.

2. Por que importa

O projeto é importante porque os fluxos de trabalho de codificação com IA não estão mais vinculados a um único cliente ou provedor de modelo. Desenvolvedores frequentemente usam Claude Code, Codex, Cursor, Cline, Antigravity e ferramentas OpenAI-compatible em paralelo, enquanto o acesso ao modelo vem de assinaturas, chaves de API, níveis gratuitos, provedores regionais e endpoints locais compatíveis.

O 9Router tenta normalizar essa bagunça em um único endpoint e um único painel. Em vez de reconfigurar cada ferramenta de codificação quando um provedor atinge a cota ou altera um formato de evento, você cria contas de provedor, aliases de modelo, combinações e cadeias de fallback no roteador.

O ângulo agressivo de economia de tokens também é prático. Agentes de codificação consomem contexto em diffs, saídas de grep, logs, listagens de arquivos e transcrições repetidas de ferramentas. A compressão RTK é executada antes da tradução de formato, para que o projeto possa reduzir o tamanho da carga útil sem exigir que cada cliente upstream conheça o formato de compressão.

3. Arquitetura e modelo mental

O 9Router é um painel Next.js mais um gateway de API com um pacote CLI publicado separadamente. O aplicativo reescreve rotas OpenAI-compatible em manipuladores de API Next, delega o trabalho de chat para o núcleo de tradução/roteamento `open-sse`, armazena o estado de tempo de execução em armazenamento de dados local e expõe um painel para gerenciamento de provedores, cotas, logs e combinações.

ÁreaDetalhePor que importa
Superfície do cliente`http://localhost:20128/v1`Endpoint OpenAI-compatible usado por Claude Code, Codex, Cursor, Cline, Antigravity e clientes similares.
DashboardApp Next.jsConfiguração de provedor, combos, aliases, cota, uso, logs, configurações de endpoint, sincronização na nuvem e testes de modelo.
Pacote CLI`9router` no npmInicia o runtime local, launcher, hooks orientados a tray e comportamento de app empacotado.
Handlers de requisição`src/app/api/v1/*`Rotas para chat completions, respostas, mensagens, modelos, embeddings, imagens, fala, busca e fetch.
Núcleo de tradução`open-sse/*`Tradução de formato, execução de provedor, helpers de streaming, atualização de token e helpers de fallback.
Registro de provedor`src/shared/constants/providers.js`Provedores OAuth, provedores de API-key, provedores gratuitos/free-tier, tipos de mídia, aliases e metadados de risco.
ArmazenamentoDiretório de dados local e adaptadores SQLiteA fonte atual usa adaptadores de banco de dados, embora documentos de arquitetura mais antigos ainda mencionem armazenamento JSON.

4. Menor configuração ponta a ponta

Os comandos abaixo foram copiados da documentação do repositório e conferidos com o snapshot atual da pesquisa. Trate-os como ponto de partida e leia o README vinculado antes de instalar em produção.

# Global install path
npm install -g 9router
9router

# Source development path
git clone https://github.com/decolua/9router.git
cd 9router
cp .env.example .env
npm install
PORT=20128 NEXT_PUBLIC_BASE_URL=http://localhost:20128 npm run dev

# Docker path
docker run -d \
  --name 9router \
  -p 20128:20128 \
  -v "$HOME/.9router:/app/data" \
  -e DATA_DIR=/app/data \
  decolua/9router:latest

Uma primeira tarefa pequena deve provar a integração antes de conectá-la a dados críticos ou workspaces grandes.

# Configure your coding client with the local router
Endpoint: http://localhost:20128/v1
API key: copy from the 9Router dashboard
Model: choose a 9Router model alias or combo, for example kr/claude-sonnet-4.5

# Local URLs
Dashboard: http://localhost:20128/dashboard
OpenAI-compatible API: http://localhost:20128/v1

5. Deep dive técnico

5.1 É um gateway, não um provedor de modelo

9Router não cria magicamente um novo modelo de fundação. Ele fica entre clientes de codificação e provedores upstream. O router traduz formatos de requisição, atualiza tokens onde suportado, gerencia API keys, roteia para contas e decide o que fazer quando o provedor preferencial falha ou atinge um limite configurado.

Essa distinção é importante para o risco. Se um provedor upstream altera um evento de stream, rejeita um schema, remove um free tier ou limita o uso da conta, 9Router precisa se adaptar rapidamente. Problemas recentes mostram exatamente esse tipo de rotatividade de provedores.

Claude Code / Codex / Cursor / Cline
  -> http://localhost:20128/v1
  -> 9Router endpoint settings
  -> combo / alias / provider account
  -> upstream model API
  -> translated stream back to client

5.2 Combos são a primitiva de roteamento

O README enquadra o fallback como uma cadeia de três níveis: assinatura primeiro, provedores baratos em segundo, provedores gratuitos por último. Na prática, isso se torna uma configuração de combo no dashboard. Um combo é onde você codifica preferências de modelo, ordem de fallback e quais contas têm permissão para atender a uma requisição.

Isso é útil para longos dias de codificação porque a troca manual de provedores gera atrito. Também é perigoso se você não entender os termos, cota, latência e qualidade de modelo de cada provedor. Uma cadeia de fallback pode manter o trabalho em movimento, mas também pode alterar silenciosamente o comportamento do modelo no meio de uma tarefa.

5.3 RTK comprime a saída da ferramenta do agente antes da tradução

O recurso técnico mais concreto é o RTK Token Saver. Os resultados das ferramentas de agentes de codificação costumam ser enormes: diffs, resultados de busca, árvores, logs, leituras numeradas e saída de shell. O 9Router detecta essas estruturas e aplica filtros de compressão especializados antes que a solicitação seja traduzida para Claude, OpenAI, Gemini, Vertex, Kiro ou outro formato de destino.

O README diz que o filtro é seguro por design: se a compressão falhar ou tornar a saída maior, o texto original é mantido. Esse é o padrão correto porque uma compressão com perdas ou corrompida de um diff pode fazer com que um agente edite o código errado.

tool_result: git diff / grep / tree / logs
  -> RTK filter selection
  -> compressed or original payload
  -> format translation
  -> upstream provider request

5.4 A tradução de formato é a parte difícil

O projeto suporta chat completions da OpenAI, OpenAI Responses, mensagens no estilo Claude, Gemini, Cursor, Kiro, Vertex, Antigravity, caminhos no estilo Ollama, embeddings, geração de imagem, fala, busca e rotas de busca na web. Essa é uma grande superfície de compatibilidade.

Bugs recentes mostram o custo: comportamento de prefill do assistente, limitações do Vertex, parâmetros de token específicos do provedor, montagem de stream do GitHub Gemini e testes de modelos de mídia podem falhar de maneiras diferentes. O valor do 9Router vem de absorver essas diferenças, mas isso significa que o repositório precisa rastrear constantemente as mudanças upstream.

5.5 Armazenamento local e logs fazem parte do modelo de ameaças

Um roteador como este armazena ou acessa credenciais de provedores, sessões OAuth, logs de solicitação, registros de uso, aliases de modelo e possivelmente prompts brutos. O código-fonte atual inclui adaptadores de banco de dados local; o README descreve dados locais em um diretório de dados. Trate a máquina que executa o 9Router como infraestrutura que contém credenciais.

Isso não torna o projeto inutilizável. Significa que você deve configurar o log intencionalmente, usar chaves de API com privilégio mínimo sempre que possível, evitar rotear dados confidenciais de clientes através de contas com termos pouco claros e manter a porta do dashboard privada, a menos que você a tenha implantado deliberadamente atrás de autenticação.

6. Padrões reais: errado vs certo

ErradoCertoMotivo
Assuma que o 9Router fornece acesso ilimitado ao modelo por si só.Trate-o como um roteador sobre contas upstream reais, assinaturas e níveis gratuitos.Termos de provedores, cotas e disponibilidade de modelos ainda se aplicam.
Aponte cada ferramenta para uma combinação de fallback sem testar.Crie combinações separadas para codificação, experimentação barata, mídia e trabalho sensível.Diferentes clientes e tarefas precisam de diferentes perfis de latência, qualidade e risco.
Habilite logs detalhados para sempre.Use o log de solicitações para depuração, depois reduza a retenção e proteja o diretório de dados.Logs podem conter prompts, código, chaves e contexto de negócios.
Confie apenas na página de releases do GitHub para atualizações.Verifique o npm, tags e a branch padrão ao depurar comportamentos específicos de versão.O estado do npm/tag do 9Router avançou em relação à última entrada de release do GitHub.

7. Erros comuns e problemas atuais

O issue tracker importa porque estes repositórios são jovens e mudam rápido. O artigo usa issues como sinais de risco, não como prova de que o projeto é inutilizável.

ÁreaDetalhePor que importa
Termos do provedorProvedores baseados em OAuth/assinatura podem acarretar risco de restrição de conta.O código-fonte inclui avisos de risco; não direcione tráfego crítico de negócios cegamente.
Divergência de versãoO npm/tag 0.4.66 estava mais recente do que a entrada de lançamento mais recente no GitHub no momento da pesquisa.Seja preciso ao relatar versões.
Travamentos no streamingRelatórios de problemas indicam travamentos, fluxos vazios, placeholders e comportamento de eco de prompt.O raciocínio longo e os adaptadores de provedor precisam de testes de fumaça.
Endpoints de mídiaPRs recentes direcionam sondas de imagem e STT para endpoints de mídia reais.Não presuma que os testes de chat-completion validam todas as modalidades.
Dependências de tempo de execuçãoUm problema relata a remoção da dependência SQLite em caminhos de tempo de execução empacotados.Instalações empacotadas merecem verificação de inicialização local.
Documentação obsoletaDocumentos de arquitetura mais antigos mencionam armazenamento JSON, enquanto o código-fonte atual inclui adaptadores SQLite.Prefira o código-fonte e o README em vez de notas de arquitetura mais antigas quando houver conflito.

8. Notas de desempenho, escala e custo

O desempenho do 9Router é dominado por duas variáveis: comportamento do provedor upstream e sobrecarga de tradução/compressão no lado do roteador. O roteador pode reduzir o tamanho do prompt com RTK, mas não pode tornar um provedor upstream lento ou sobrecarregado rápido.

O fallback melhora a disponibilidade apenas se os modelos de fallback puderem realmente lidar com a tarefa. Um modelo barato/gratuito pode manter o fluxo ativo, mas produzir edições de código de qualidade inferior, chamadas de ferramenta mais fracas ou estruturas de chamada de função incompatíveis.

O melhor padrão de custo é a segmentação explícita: combinação premium para edições e revisões arriscadas, combinação mais barata para exploração, combinação local/gratuita para busca ampla e resumos, e rotas específicas de mídia para solicitações de imagem/voz/vídeo.

9. Para quem é

Use seEvite se
Você usa vários clientes de codificação AI e deseja um único endpoint local.Você usa apenas um provedor e valoriza a simplicidade em vez da flexibilidade de roteamento.
Você gerencia ativamente cotas, assinaturas, níveis gratuitos e APIs baratas.Sua organização proíbe o proxy de sessões baseadas em OAuth/assinatura.
Seus prompts de agente de codificação incluem diffs grandes, logs e saída de pesquisa.Você precisa de controles de gateway corporativo auditados antes de rotear código-fonte.
Você se sente confortável depurando adaptadores de provedores que mudam rapidamente.Você precisa de um appliance estável com lançamentos lentos e conservadores.

10. Sinal da comunidade

A superfície de issues e PRs no GitHub é extremamente ativa e altamente técnica. A maior parte do sinal vem de usuários testando combinações de provedores entre Claude Code, Antigravity, OpenClaw, MiniMax, Xiaomi, GitHub Gemini, Vertex e endpoints compatíveis personalizados.

O sinal positivo mais forte é prático: as pessoas estão usando com clientes de codificação reais e relatando rapidamente casos extremos. O maior aviso é o mesmo fato ao contrário: os protocolos de provedores e clientes estão mudando rápido o suficiente para que um roteador precise ser corrigido continuamente.

O README do repositório usa uma linguagem forte de gratuito/ilimitado, mas o rastreador de issues conta uma história mais fundamentada na engenharia: IDs de modelos mudam, formatos de streaming diferem, caminhos de OAuth quebram e testes de dashboard devem ser conscientes da modalidade.

11. O veredicto: vale a pena usar?

Nossa opinião

Use o 9Router se você deseja um gateway local e prático para rotear ferramentas de codificação de IA entre vários provedores e estiver disposto a gerenciar o risco do provedor cuidadosamente. Evite-o para caminhos de código de produção regulamentados até que você tenha revisado o armazenamento de credenciais, logs, termos do provedor e comportamento de fallback sob suas próprias políticas.

12. O panorama maior

O 9Router faz parte de um movimento mais amplo de clientes de modelo único para infraestrutura de IA local. Desenvolvedores querem cada vez mais roteamento de modelos, controle de orçamento, visibilidade de cota, compatibilidade de proxy e abstração de provedor sem alterar cada editor ou terminal agent.

O problema não resolvido é a confiança. Roteamento é fácil de demonstrar; roteamento seguro é mais difícil. A próxima geração de ferramentas precisará de controles de política explícitos, separação de credenciais, logs de auditoria, redação e decisões de roteamento de modelo reproduzíveis.

13. Perguntas frequentes

P: O 9Router é um provedor de modelos de IA?

Não. É um roteador e dashboard local que envia solicitações para provedores upstream, contas, níveis gratuitos, assinaturas ou endpoints compatíveis que você configurar.

P: Qual endpoint devo configurar na minha ferramenta de codificação?

Use `http://localhost:20128/v1` e a chave de API mostrada pelo dashboard do 9Router, então escolha um alias de modelo ou combinação definida dentro do 9Router.

P: O que é o RTK Token Saver?

O RTK comprime saídas comuns de ferramentas de agentes de codificação, como diffs, resultados de grep, árvores de arquivos, logs e leituras numeradas antes que o payload seja traduzido e enviado upstream.

P: Por que as versões diferem entre o npm e os GitHub Releases?

No momento da pesquisa, as tags do npm estavam à frente da última entrada de release do GitHub. Para depuração, verifique os metadados do npm, tags, releases e o branch padrão em conjunto.

P: É seguro usar contas OAuth/assinatura através de um roteador?

Isso depende dos termos do provedor e da sua tolerância ao risco. O projeto inclui avisos de risco para alguns provedores, portanto, trate isso como uma decisão de política, não apenas como uma etapa de configuração técnica.

P: Onde ficam os dados locais?

O README descreve os dados locais sob o diretório de dados configurado, e o código-fonte atual inclui adaptadores SQLite. Proteja esse diretório, pois ele pode conter credenciais, registros de uso e logs.

P: O que quebra com mais frequência?

Issues recentes apontam para mudanças de esquema de provedores upstream, montagem de streaming, IDs de modelos, parâmetros de token, testes de endpoint de mídia e dependências de runtime empacotadas.

14. Glossário

ÁreaDetalhePor que importa
GatewayUm serviço local que recebe solicitações de modelo e as encaminha para outro lugar.O papel principal do 9Router.
ComboUma cadeia de roteamento/fallback configurada.Usado para escolher rotas de assinatura, baratas ou gratuitas.
RTKCamada de compressão de saída de ferramenta.Reduz resultados extensos de ferramentas de agente antes da tradução do provedor.
OpenAI-compatibleFormato de API para o qual muitas ferramentas podem apontar.O 9Router expõe endpoints `/v1` compatíveis.
Provedor OAuthProvedor autenticado através de uma sessão de usuário.Pode acarretar risco adicional de política de conta.
Endpoint de mídiaCaminho para imagem, fala, vídeo ou STT.Não deve ser testado apenas através de chat completions.
FallbackRoteamento para o próximo provedor/conta quando o primeiro falha.Útil, mas pode alterar o comportamento do modelo.

15. Todas as fontes e links

Links internos

16. Tabela de atribuição das fontes

ÁreaDetalhePor que importa
READMEPosicionamento, início rápido, endpoint, níveis de provedor, RTK, Docker, superfície do dashboard.Fonte primária.
Metadados do pacotePacote CLI, nuance de versão, requisito do Node, entrada executável.Fonte primária.
Árvore de fontesRotas do Next.js, núcleo de tradução, registro de provedor, adaptadores de banco de dados.Fonte da arquitetura.
Issues/PRsRotatividade de provedores, travamentos de streaming, sondagens de mídia, ressalvas de dependência de tempo de execução.Sinal de atualização.
npm e lançamentosDivergência de versão entre o pacote publicado, tags e entradas de lançamento.Fonte de atualização.

Related Guides

Sponsored AI assistant. Recommendations may be paid.