CodeRouter
CodeRouter est le routeur de modèles derrière cmux. Vos agents de code envoient leurs requêtes à CodeRouter, qui transmet chacune à un abonnement ou une clé API ajouté par votre équipe. Quand un compte est limité en débit, refusé ou indisponible, CodeRouter déplace le travail vers un autre compte, et les agents continuent de tourner.
Pourquoi l'utiliser
- Regroupez plusieurs abonnements ChatGPT, Claude et OpenCode Go et clés API, et partagez-les avec votre équipe.
- Gardez un agent actif quand un compte atteint sa limite d'utilisation.
- Donnez aux machines cmux Cloud l'accès aux modèles sans stocker d'identifiant sur la machine.
- Consultez l'utilisation de tokens par compte, par clé API et par machine Cloud.
Comptes pris en charge
Chaque compte sert les agents qui parlent l'API de son fournisseur. Codex et Pi partagent un pool ; Claude Code utilise un pool distinct de comptes Claude.
| Compte | Sert | Comment l'ajouter |
|---|---|---|
| Abonnement ChatGPT (espace de travail personnel ou d'équipe) | Codex, Pi | cr add codex |
| Clé API OpenAI | Codex, Pi | Tableau de bord CodeRouter |
| Clé API OpenRouter | Codex, Pi | Tableau de bord CodeRouter |
| Abonnement OpenCode Go | OpenCode | cr add opencode |
| Claude Max ou Pro (token de configuration Claude Code) | Claude Code | cr add claude |
| Clé API Anthropic | Claude Code | cmux coderouter claude add api-key |
| Identifiants Amazon Bedrock | Claude Code | cmux coderouter claude add bedrock |
Le tableau de bord CodeRouter permet aussi d'ajouter des clés API, des tokens Claude et des identifiants Bedrock. Il liste chaque compte avec son état, son temps de repos et ses sessions actives : cmux.com/dashboard/coderouter
Fonctionnement du routage
Chaque session d'agent reste sur un compte tant que ce compte fonctionne bien, ce qui garde le cache de prompts du fournisseur chaud. Une nouvelle session va au compte qui a le moins de sessions actives.
Quand un fournisseur renvoie une limite de débit, refuse un identifiant ou ne répond pas, CodeRouter met ce compte en repos et relance la requête sur un autre compte. Il ne relance qu'avant qu'une sortie du modèle atteigne votre agent : une réponse dont le streaming a commencé n'est jamais envoyée deux fois.
Le service hébergé de CodeRouter effectue la requête auprès du fournisseur. Le trafic vers le fournisseur provient donc de CodeRouter, et non de votre Mac ou de votre machine Cloud.
Démarrage rapide sur un Mac
- Installez le CLI CodeRouter. Il s'installe sous les noms coderouter et cr. Vous pouvez aussi lancer cmux cr, qui propose de l'installer la première fois.
- Connectez-vous avec votre compte cmux. cr login ouvre votre navigateur ; approuvez le code qu'il affiche.
- Ajoutez un abonnement. cr add ouvre un menu de fournisseurs, et cr add codex vous connecte à ChatGPT dans votre navigateur.
- Lancez un agent via CodeRouter avec cr codex, cr opencode ou cr pi. Les arguments après le nom de l'agent lui sont transmis.
curl -fsSL https://cmux.com/coderouter/install.sh | sh
cr login
cr add codex
cr codexSur les machines cmux Cloud
Chaque machine Cloud est connectée à CodeRouter dès sa création. Claude Code, Codex, OpenCode et Pi sur la machine utilisent les comptes de votre équipe, sans connexion ni configuration.
Configuration des agents sur les machines Cloud
Équipes et partage
Les comptes appartiennent à l'équipe à laquelle vous êtes connecté. cr org list affiche vos équipes, et cr org switch change l'équipe utilisée par cr. Les commandes cmux coderouter acceptent --team <id>.
Un compte ajouté à une organisation est partagé avec l’équipe : tous les membres et les machines Cloud de l’équipe peuvent l’utiliser. Dans le tableau de bord, Rendre privé le réserve à la personne qui l’a ajouté, et Partager avec l’équipe annule cela.
Dans votre équipe personnelle, les nouveaux comptes sont privés, et vos comptes privés servent aussi vos propres machines Cloud. Les machines Cloud d’une organisation n’utilisent que des comptes partagés : un compte privé doit donc être partagé avant qu’une machine puisse l’utiliser.
Tout membre de l'équipe peut ajouter, renommer, désactiver, transférer et supprimer les comptes partagés de l'équipe. cr transfer déplace un compte vers une autre équipe après votre confirmation.
cr org list
cr org switch <name-or-id>
cr accounts
cr transfer [account] [--to <team>]
cr remove [account]Utilisation et limites
Chaque fournisseur décompte l'utilisation du compte qui a servi une requête, selon le forfait et les limites de ce compte. CodeRouter répartit le travail entre les comptes mais n'augmente la limite d'aucun compte.
cr affiche l'état du quota de chaque abonnement. Ajoutez --watch pour l'actualiser toutes les 30 secondes, ou --json pour les scripts.
cmux coderouter machines affiche l'utilisation de tokens sur 30 jours et la valeur équivalente en API de chaque machine Cloud. Dans une machine, cmux coderouter usage détaille l'utilisation de cette machine par jour, espace de travail, agent et modèle.
La valeur équivalente en API est une estimation aux prix publics. Ce n'est pas une facture.
cr
cr usage --watch
cmux coderouter machinesIdentifiants et confidentialité
- Les identifiants des fournisseurs sont chiffrés avant d'être stockés. Aucune API ni vue du tableau de bord CodeRouter ne renvoie un identifiant stocké ; les comptes affichent seulement un libellé, un e-mail ou une clé masquée.
- cr add et cmux coderouter claude add n'acceptent jamais un identifiant de fournisseur comme argument de commande, où il finirait dans l'historique du shell. Ils le lisent depuis une variable d'environnement, l'entrée standard ou une invite masquée.
- cr add codex et cr add opencode vous connectent au fournisseur dans votre navigateur. cr codex transmet les paramètres CodeRouter à Codex pour cette exécution uniquement et ne modifie ni votre connexion ni votre configuration Codex habituelles.
- Les machines Cloud ne détiennent aucun identifiant. Les agents d'une machine envoient une clé factice publique à une adresse CodeRouter privée, et la périphérie réseau de la machine ajoute un identifiant signé lié à cette machine. CodeRouter refuse cet identifiant depuis toute autre machine et le révoque quand la machine est supprimée.
- Chaque réponse de CodeRouter contient un en-tête x-coderouter-request-id qui identifie la requête.