Choisir et configurer votre agent
Chaque box fait tourner un agent : chaque nouvel onglet de terminal le lance. Claude Code, Codex, OpenCode et Gemini CLI sont préinstallés, demandes d’autorisation coupées, à côté de Docker et d’une panoplie complète d’outils de développement.
Choisir l’agent d’une box
Vous choisissez l’agent sous 2. Agent à la création de la box. Pour le changer ensuite :
- Ouvrez la box et restez sur Vue d’ensemble.
- Dans le panneau Agent, choisissez une nouvelle valeur sous Chaque nouvel onglet lance.
- Ouvrez un nouvel onglet. Le changement s’applique aux onglets ouverts à partir de maintenant. Les onglets déjà ouverts gardent leur agent.

| Agent | Comment il se connecte |
|---|---|
| Claude Code | Votre abonnement Claude, connecté dans le tableau de bord, ou une connexion dans la box |
| Codex | Votre abonnement ChatGPT, connecté dans le tableau de bord, ou une connexion dans la box |
| OpenCode | Sa propre connexion, dans la box |
| Gemini CLI | Sa propre connexion, dans la box |
| Claude Code · Z.ai | Votre propre clé d’API Z.ai |
| Claude Code · DeepSeek | Votre propre clé d’API DeepSeek |
| Shell | Un shell de connexion nu. Lancez l’outil de votre choix |
Passer à un agent qui utilise un autre type d’abonnement délie l’ancien abonnement et désactive la rotation. La connexion des abonnements est décrite dans Abonnements.
Ce que contient chaque box
Les nouvelles box tournent sur l’image box-v3 :
- Ubuntu 26.04 LTS, Docker Engine avec compose, Node 24, Python 3.14, git et tmux.
- L’utilisateur
devavecsudosans mot de passe, dans le groupedocker. - CLI d’agents : Claude Code, Codex, OpenCode, Gemini CLI, Happy et DeepSeek Harness (
dsh), plus les wrappersclaude-zaietclaude-deepseek. - Git et GitHub :
gh,glab,git-lfs,delta. - Recherche et données :
ripgrep,fd,fzf,jq,yq,bat,httpie. - Clients de bases de données :
sqlite3,psql,redis-cli,mariadb. - Gestionnaires de paquets :
pipx,uv,mise,bun,pnpm,yarn. - Cloud :
kubectl,helm, OpenTofu (tofu), AWS CLI v2.
Les chaînes d’outils des langages ne sont pas préinstallées : elles ne mangent pas votre disque. Ajoutez-en une avec mise :
mise use -g go@latest
Les CLI vivent dans votre dossier personnel et se mettent donc à jour sans sudo. Une box créée avant box-v3 garde son ancienne image Debian jusqu’à sa réinitialisation. La ligne Image sous Paramètres indique celle que fait tourner une box.
Les demandes d’autorisation sont coupées
Une box est un bac à sable que vous pouvez réinitialiser : chaque agent est donc livré dans son mode sans confirmation. Un agent qui attend un oui à 2 h du matin ne termine rien.
| Agent | Mode |
|---|---|
| Claude Code | bypassPermissions |
| Codex | Politique d’approbation never, accès complet |
| Gemini CLI | --approval-mode=yolo |
| OpenCode | Permission allow |
Les écrans du premier lancement et les questions de confiance sur les dossiers sont déjà passés. Ouvrez un onglet : l’agent est prêt pour une tâche.
Des instructions partagées dans AGENTS.md
/etc/detachbox/AGENTS.md est un fichier d’instructions unique que lit chaque agent. Il explique aux agents comment fonctionnent les URL d’aperçu et comment vous donner une commande SSH pour les ports TCP bruts. Il est lié dans ~/.claude/CLAUDE.md, ~/.codex/AGENTS.md, ~/.config/opencode/AGENTS.md et ~/.gemini/GEMINI.md.
Gardez votre propre fichier à l’un de ces emplacements et il reste le vôtre. detachbox ne fait qu’y ajouter une référence au fichier partagé.
Faire tourner Claude Code sur Z.ai ou DeepSeek
claude-zai et claude-deepseek font tourner Claude Code sur le point d’accès compatible Anthropic du fournisseur, avec votre propre clé d’API. Chacun a son propre dossier de configuration, ~/.claude-zai ou ~/.claude-deepseek : votre connexion Claude dans ~/.claude reste intacte.
Déposez la clé dans la box une fois, et chaque onglet la récupère :
mkdir -p ~/.config/detachbox
read -rs -p 'Key: ' k && printf '%s\n' "$k" > ~/.config/detachbox/zai.key
chmod 600 ~/.config/detachbox/zai.key
Pour DeepSeek, écrivez plutôt ~/.config/detachbox/deepseek.key. Exporter ZHIPU_API_KEY ou DEEPSEEK_API_KEY fonctionne aussi. Sans clé, le wrapper indique où la mettre. Les fournisseurs Z.ai et DeepSeek intégrés à OpenCode s’activent à partir des mêmes fichiers de clé.
Les informations de la box dans box.env
/etc/detachbox/box.env décrit la box à chaque shell et à chaque agent. detachbox le réécrit à la création, à la réinitialisation, au démarrage et au changement de taille : ne le modifiez pas.
| Variable | Valeur |
|---|---|
DETACHBOX_BOX | Le nom de la box |
DETACHBOX_SSH | La commande SSH de cette box |
DETACHBOX_PLAN | Le code de l’offre |
DETACHBOX_CPUS | Nombre de vCPU |
DETACHBOX_RAM_GB | Mémoire en GB |
DETACHBOX_DISK_GB | Disque en GB |
DETACHBOX_URL | La page de la box dans le tableau de bord |
Les variables se chargent dans les shells de connexion, interactifs et non interactifs, y compris ssh <name>@ssh.detachbox.com <command>.
Ouvrir une page dans votre navigateur avec detachbox-open
detachbox-open <url> ouvre un lien http ou https dans le navigateur de la personne devant le terminal de la box. xdg-open, open et $BROWSER pointent tous vers lui. Les connexions lancées par gh, par le webbrowser de Python ou par un agent arrivent ainsi dans votre navigateur.
Un lien vers le localhost:<port> de la box devient son URL d’aperçu. Les autres schémas, comme file:, sont refusés. Le guide du terminal montre ce que fait le tableau de bord quand une page arrive.
Donner un prompt à un agent avec detachbox-say
detachbox-say <tmux session> <text> transmet un texte à l’agent de cet onglet sous forme de nouveau prompt. Il passe par le mécanisme de l’agent lui-même, jamais par des frappes clavier : une ligne que vous êtes en train de taper reste intacte. Il fonctionne avec Claude Code et Codex.
Le serveur s’en sert pour taper « continue » quand une limite se recharge. Le code de sortie 3 signifie que l’onglet n’a pas de Claude Code ou de Codex en marche à qui transmettre le texte.