24 h/24

Faire tourner des agents de code 24 h/24 sur votre propre serveur

Un agent de code toujours actif a besoin de trois choses : une machine qui ne dort pas, un processus qui survit à votre connexion, et un moyen de remarquer quand il a besoin de vous. Voici comment obtenir chacune, de tmux à systemd en passant par un daemon de sessions, plus les limites que fixe votre abonnement.

Faire tourner des agents de code 24 h/24 sur votre propre serveur

En bref

Placez l'agent sur une machine qui ne dort jamais (un VPS ou une machine toujours allumée à la maison). Faites-le tourner sous quelque chose qui survit à votre session SSH : tmux pour l'usage interactif, un service utilisateur systemd (avec le lingering activé) pour relancer tmux au démarrage, ou un daemon qui possède les sessions. Donnez à chaque session parallèle son propre worktree git. Ce sont les limites d'usage de votre forfait, pas le matériel, qui arrêtent généralement un agent 24 h/24 : les forfaits Claude se réinitialisent toutes les cinq heures et ont aussi des limites hebdomadaires.

Un agent de code sur votre portable s'arrête quand vous rabattez l'écran. Le déplacer sur une machine qui reste allumée, c'est la partie facile. Les parties que l'on néglige : la supervision (ce qui maintient le processus en vie et le relance après un redémarrage), l'isolation entre sessions parallèles, et les limites d'usage qui arrêteront l'agent bien avant le matériel. Ce guide traite de chacune, pour Claude Code, Codex et les autres agents en terminal.

Le cloud ou votre propre machine

Décidez d'abord si vous avez besoin d'une machine tout court. Les éditeurs font désormais tourner les agents pour vous :

Cloud de l'éditeur (par ex. sessions cloud de Claude Code, tâches cloud de Codex)Votre propre serveur ou machine à la maison
InstallationConnecter GitHub (Claude peut aussi envoyer une archive d'un dépôt local)Un VPS ou une machine toujours allumée, plus installation et authentification
EnvironnementUne VM isolée par session, configurée par un script ; récupérée après inactivitéVotre chaîne d'outils, vos bases de données, vos secrets, de façon persistante
Réseau et services privésLimité par défaut (liste de domaines autorisés) ; votre réseau privé est hors de portéeTout ce que la machine peut joindre : VPN, tailnet, bases de préproduction
AgentsCeux d'un seul éditeurN'importe quelle CLI : Claude Code, Codex, OpenCode, Grok Build, agy
CoûtL'usage de votre forfait (Anthropic : pas de facturation de calcul séparée)L'usage de votre forfait plus quelques euros par mois pour la machine

Si votre projet est sur GitHub et se construit à partir d'un script d'installation, le cloud de l'éditeur demande le moins de travail. La documentation des sessions cloud d'Anthropic est le point de départ ; claude --cloud "…" en lance une depuis votre terminal. Choisissez votre propre machine quand l'agent a besoin de choses que seule votre machine possède, ou quand vous voulez les agents de plusieurs éditeurs côte à côte. Le guide d'achat de VPS couvre le dimensionnement et les prix actuels. Un Mac mini à la maison fonctionne aussi, du moment que vous désactivez la veille.

La supervision des processus

Les agents interactifs sont des programmes en terminal. Ils meurent avec le terminal, sauf si autre chose le tient. Vous avez quatre options, de la plus simple à la plus robuste.

1. tmux

tmux new -A -s main
cd ~/src/api && claude        # detach: Ctrl-b d · re-attach: tmux attach -t main

tmux survit aux déconnexions, pas aux redémarrages. C'est le bon outil pour le travail interactif, et c'est ce que suggère la documentation d'Anthropic pour garder une session Remote Control en vie sur une machine distante. Notre guide tmux, mosh et Tailscale donne la configuration dont les agents ont besoin.

2. systemd + tmux, pour revenir après un redémarrage

Vous ne pouvez pas faire tourner une TUI interactive directement comme service, car elle a besoin d'un terminal. Vous pouvez en revanche demander à systemd de lancer une session tmux détachée au démarrage. Avec votre utilisateur normal, créez ~/.config/systemd/user/agents.service :

[Unit]
Description=tmux session for coding agents

[Service]
Type=forking
ExecStart=/usr/bin/tmux new-session -d -s main
ExecStop=/usr/bin/tmux kill-session -t main

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now agents.service
sudo loginctl enable-linger "$USER"     # start user services at boot, without a login

Cela relance une session vide, pas vos conversations. Les reprendre est une étape distincte (voir Ce qui se passe au redémarrage ci-dessous).

3. Des exécutions headless planifiées

Pour les tâches récurrentes, comme les mises à jour nocturnes de dépendances, le tri des nouvelles issues ou la régénération de la documentation, passez-vous de la TUI. Lancez claude -p "…" ou codex exec "…" depuis cron ou un timer systemd. Personne n'est là pour valider quoi que ce soit, donc réglez le mode d'autorisation et la liste d'autorisations délibérément. Faire tourner des agents avec toutes les autorisations, en sécurité explique comment.

4. Un daemon de sessions

L'option la plus robuste est un processus qui possède les sessions d'agents : il les lance, conserve leurs transcriptions et vous permet de vous y rattacher de n'importe où. Le mode serveur de Remote Control de Claude Code (claude remote-control) en est un. Il sert jusqu'à 32 sessions simultanées par défaut, configurable avec --capacity, mais vous le faites quand même tourner dans tmux ou un service. agy remote-control start enregistre le daemon d'Antigravity comme service système. Des outils tiers, dont Maude, déploient leur propre daemon qui gère plusieurs agents.

Sessions parallèles et worktrees

Deux agents qui modifient la même copie de travail écraseront mutuellement leurs changements. Donnez à chaque session son propre worktree git, un dossier de travail et une branche distincts qui partagent l'historique du dépôt :

git worktree add ../api-auth -b feature/auth
git worktree add ../api-billing -b fix/billing
# one tmux window per worktree, one agent per window

Claude Code peut le faire pour vous : claude --worktree feature-auth (ou -w) crée un worktree sous .claude/worktrees/ sur une nouvelle branche et y démarre la session. Voir la documentation des worktrees.

Le nombre de sessions qu'une machine supporte dépend de ce qu'elles exécutent, pas des agents eux-mêmes. Une règle empirique utile : 4 Go pour la première session plus 1 à 2 Go pour chaque session supplémentaire qui compile ou teste, et davantage si chaque worktree fait tourner son propre serveur de développement ou sa base de données. Surveillez free -h pendant une heure chargée avant d'en ajouter une. Le disque se remplit aussi, car chaque worktree a son propre node_modules.

Quotas et limites de débit

Une machine 24 h/24 n'est utile que si votre forfait laisse l'agent continuer à travailler, donc lisez les limites avant de vous organiser autour :

  • Claude (Pro, Max). Les limites d'usage se réinitialisent toutes les cinq heures, et il y a aussi une limite hebdomadaire, selon l'article sur les limites d'usage d'Anthropic. Plusieurs sessions parallèles puisent dans le même quota. Vous pouvez vérifier où vous en êtes sous Settings → Usage.
  • Codex (forfaits ChatGPT). Plus et les paliers similaires utilisent des fenêtres glissantes de cinq heures, et des limites hebdomadaires peuvent aussi s'appliquer. L'usage local de la CLI et les tâches cloud partagent un même quota. Voir la page des tarifs de Codex d'OpenAI pour votre forfait.
  • Clés API. Pas de fenêtre de forfait, mais vous payez au token : une boucle qui s'emballe coûte de l'argent au lieu de s'arrêter. Définissez des plafonds de dépenses dans la console du fournisseur.

En pratique, « 24 h/24 » signifie que l'agent peut travailler dès qu'il y a du travail et du quota, pas qu'il tourne à plein régime toute la journée. Programmez les longues tâches pour vos absences, et attendez-vous à ce qu'il s'arrête jusqu'à la prochaine réinitialisation.

Ce qui se passe au redémarrage

Mises à jour du noyau, maintenance de l'hébergeur et arrêts pour manque de mémoire redémarrent tous des choses. Les conversations des agents sont enregistrées sur le disque, donc rien n'est perdu, mais rien ne redémarre tout seul :

  • Claude Code : claude --continue reprend la conversation la plus récente du dossier courant, et claude --resume vous permet d'en choisir une.
  • Codex : codex resume --last, ou codex resume pour un sélecteur.
  • tmux : le serveur a disparu, et avec lui la disposition de vos fenêtres. L'unité systemd ci-dessus recrée la session. Des plugins comme tmux-resurrect peuvent aussi restaurer les dispositions.

Tout ce qui était en cours quand la machine est tombée, comme une modification à moitié faite ou un test en cours, doit être vérifié à la main. Raison de plus pour que l'agent committe souvent.

Suivre depuis votre téléphone

Un agent toujours actif aura besoin de vous à des moments improbables : une demande d'autorisation, une question, une tâche terminée à relire. Vos options : une app SSH rattachée à tmux, gratuite mais sans notifications ; les apps Remote Control des éditeurs, qui fonctionnent agent par agent ; des hooks ntfy pour le push, traités dans valider les demandes depuis votre téléphone ; ou une app qui fait tout cela.

Maude est conçu pour cette configuration. Il déploie via SSH un daemon qui fait tourner vos sessions sur le serveur 24 h/24, les maintient quand l'app est fermée, et gère Claude Code, Codex, OpenCode, Grok Build et Antigravity sur autant de serveurs que vous en ajoutez. Vous avez des notifications push avec Autoriser/Refuser, une boîte de réception de ce qui vous attend, et pour chaque session des worktrees git, une relecture des diffs et un terminal. Quand un agent arrive au bout de son quota, vous pouvez passer la session à un autre agent avec un brief du travail déjà fait. Il vous faut toujours le forfait ou la clé API de chaque agent. L'app coûte $2.99 par semaine après un essai de 3 jours, ou $59.99 par an après un essai de 7 jours.

Questions fréquentes

Mon abonnement permet-il un usage 24 h/24 ?
Le matériel peut tourner toute la journée ; ce sont les limites de votre forfait qui décident de la quantité de travail accomplie. Les forfaits Claude se réinitialisent toutes les cinq heures et ont aussi des limites hebdomadaires ; les forfaits ChatGPT donnent à Codex des fenêtres glissantes de cinq heures, avec d'éventuelles limites hebdomadaires. Les clés API n'ont pas de fenêtre mais sont facturées au token.
Combien de sessions d'agents un VPS peut-il gérer ?
Cela dépend de ce que les sessions exécutent. Un point de départ approximatif : 4 Go pour la première session plus 1 à 2 Go pour chaque session supplémentaire qui compile ou lance des tests. Donnez à chaque session son propre worktree git, et surveillez la mémoire avec free -h avant d'en ajouter.
Qu'arrive-t-il à mes agents quand le serveur redémarre ?
Les processus et les sessions tmux disparaissent, mais les conversations sont enregistrées sur le disque. Reprenez-les avec claude --continue ou claude --resume, et codex resume --last. Un service utilisateur systemd avec le lingering activé peut relancer votre session tmux au démarrage.
Puis-je faire tourner Claude Code sur un Mac mini à la maison 24 h/24 ?
Oui. Désactivez la veille du système (par exemple sudo pmset -a sleep 0), utilisez une connexion filaire, et joignez-le via Tailscale ou une app qui se connecte vers l'extérieur. Remote Control et tmux y fonctionnent tous les deux ; un Mac qui se met en veille met tout en pause.
Puis-je faire tourner Claude Code et Codex sur le même serveur ?
Oui. Ce sont des CLI indépendantes avec des connexions et des dossiers de configuration séparés (~/.claude et ~/.codex). Faites-les tourner dans des fenêtres tmux ou des worktrees séparés pour qu'ils ne modifient pas les mêmes fichiers.

Vos agents, toujours actifs

Les sessions tournent sur votre serveur jour et nuit ; votre téléphone vous prévient quand elles ont besoin de vous. iOS et Android.

Download Maude on the App Store Get Maude on Google Play