CodeRouterVisão geral
CodeRouter

CodeRouter

O CodeRouter é o roteador de modelos por trás do cmux. Seus agentes de codificação enviam solicitações ao CodeRouter, e ele encaminha cada uma para uma assinatura ou chave de API que sua equipe adicionou. Quando uma conta está com limite de taxa, é rejeitada ou fica fora do ar, o CodeRouter passa o trabalho para outra conta, e os agentes continuam rodando.

Por que usar

  • Reúna várias assinaturas e chaves de API do ChatGPT, Claude e OpenCode Go e compartilhe com sua equipe.
  • Mantenha um agente trabalhando quando uma conta atinge o limite de uso.
  • Dê acesso a modelos às máquinas do cmux Cloud sem armazenar uma credencial na máquina.
  • Veja o uso de tokens por conta, por chave de API e por máquina do Cloud.

Contas compatíveis

Cada conta atende os agentes que falam a API do seu provedor. Codex e Pi compartilham um grupo de contas; o Claude Code usa um grupo separado de contas Claude.

ContaAtendeComo adicionar
Assinatura do ChatGPT (espaço de trabalho pessoal ou de equipe)Codex, Picr add codex
Chave de API da OpenAICodex, PiPainel do CodeRouter
Chave de API do OpenRouterCodex, PiPainel do CodeRouter
Assinatura do OpenCode GoOpenCodecr add opencode
Claude Max ou Pro (setup token do Claude Code)Claude Codecr add claude
Chave de API da AnthropicClaude Codecmux coderouter claude add api-key
Credenciais do Amazon BedrockClaude Codecmux coderouter claude add bedrock

O painel do CodeRouter também pode adicionar chaves de API, tokens do Claude e credenciais do Bedrock. Ele lista cada conta com seu estado, período de espera e sessões ativas: cmux.com/dashboard/coderouter

Como o roteamento funciona

Cada sessão de agente fica em uma conta enquanto essa conta está saudável, o que mantém o cache de prompts do provedor aquecido. Uma nova sessão vai para a conta com menos sessões ativas.

Quando um provedor retorna um limite de taxa, rejeita uma credencial ou não responde, o CodeRouter coloca essa conta em período de espera e repete a solicitação em outra conta. Ele só repete antes que qualquer saída do modelo chegue ao seu agente, então uma resposta que já começou a ser transmitida nunca é enviada duas vezes.

O serviço hospedado do CodeRouter faz a solicitação ao provedor. Por isso o tráfego para o provedor sai do CodeRouter, e não do seu Mac ou da sua máquina do Cloud.

Início rápido no Mac

  1. Instale a CLI do CodeRouter. Ela é instalada como coderouter e como cr. Você também pode executar cmux cr, que oferece a instalação na primeira vez.
  2. Inicie a sessão com sua conta do cmux. cr login abre o navegador; aprove o código exibido.
  3. Adicione uma assinatura. cr add abre um menu de provedores, e cr add codex inicia a sessão no ChatGPT pelo navegador.
  4. Execute um agente pelo CodeRouter com cr codex, cr opencode ou cr pi. Os argumentos após o nome do agente são repassados a ele.
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codex

Em máquinas do cmux Cloud

Toda máquina do Cloud é conectada ao CodeRouter quando é criada. Claude Code, Codex, OpenCode e Pi na máquina usam as contas da sua equipe sem login e sem configuração.

Como os agentes são configurados nas máquinas do Cloud

Equipes e compartilhamento

As contas pertencem à equipe em que você está com sessão iniciada. cr org list mostra suas equipes, e cr org switch muda a equipe que o cr usa. Os comandos cmux coderouter aceitam --team <id>.

Uma conta adicionada a uma organização é compartilhada com a equipe, então todos os membros e as máquinas do Cloud da equipe podem usá-la. No painel, Tornar privado a restringe a quem a adicionou, e Compartilhar com a equipe desfaz isso.

Na sua equipe pessoal, as novas contas são privadas, e suas contas privadas também atendem às suas próprias máquinas do Cloud. As máquinas do Cloud de uma organização usam apenas contas compartilhadas, então uma conta privada precisa ser compartilhada antes que uma máquina possa usá-la.

Qualquer membro da equipe pode adicionar, renomear, desativar, transferir e remover as contas compartilhadas da equipe. cr transfer move uma conta para outra equipe depois que você confirma.

cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]

Uso e limites

Cada provedor mede a conta que atendeu a solicitação, conforme o plano e os limites dessa conta. O CodeRouter distribui o trabalho entre as contas, mas não aumenta o limite de nenhuma conta individual.

cr mostra o estado da cota de cada assinatura. Adicione --watch para atualizar a cada 30 segundos ou --json para scripts.

cmux coderouter machines mostra o uso de tokens em 30 dias e o valor equivalente em API de cada máquina do Cloud. Dentro de uma máquina, cmux coderouter usage detalha o uso dessa máquina por dia, espaço de trabalho, agente e modelo.

O valor equivalente em API é uma estimativa com base nos preços públicos de tabela. Não é uma cobrança.

cr
cr usage --watch
cmux coderouter machines

Credenciais e privacidade

  • As credenciais dos provedores são criptografadas antes de serem armazenadas. Nenhuma API ou tela do painel do CodeRouter retorna uma credencial armazenada; as contas mostram apenas um rótulo, um e-mail ou uma chave mascarada.
  • cr add e cmux coderouter claude add nunca recebem uma credencial de provedor como argumento de comando, onde ela ficaria no histórico do shell. Eles a leem de uma variável de ambiente, da entrada padrão ou de um prompt oculto.
  • cr add codex e cr add opencode iniciam a sessão no provedor pelo navegador. cr codex passa as configurações do CodeRouter ao Codex apenas naquela execução e não altera seu login e sua configuração normais do Codex.
  • As máquinas do Cloud não guardam credenciais. Os agentes na máquina enviam uma chave pública de espaço reservado para um endereço privado do CodeRouter, e a borda de rede da máquina adiciona uma credencial assinada vinculada a essa máquina. O CodeRouter rejeita essa credencial vinda de qualquer outra máquina e a revoga quando a máquina é excluída.
  • Toda resposta do CodeRouter traz um cabeçalho x-coderouter-request-id que identifica a solicitação.

Próximos passos