Pourquoi vous devriez vous intéresser aux points de restauration
Tutorial 30: Checkpoints & Rollback — easy-to-understand guide based on official docs
Pourquoi vous devriez vous intéresser aux points de restauration
Imaginez que vous demandiez à Hermes de refactoriser un gros morceau de votre code et qu’à mi-parcours, vous réalisiez que la nouvelle approche est une catastrophe. Sans points de restauration, vous seriez coincé à annuler manuellement les modifications ou à fouiller dans l’historique git. Avec les points de restauration, il vous suffit de taper /rollback et de choisir un point de restauration. C’est comme une machine à remonter le temps pour votre projet.
Le meilleur dans tout ça ? Les points de restauration sont totalement optionnels. Ils sont désactivés par défaut dans v2, donc si vous ne les utilisez jamais, vous ne remarquerez même pas leur existence. Mais quand vous en avez besoin, ils vous sauvent la vie.
Activer les points de restauration
Vous avez deux façons d’activer ce filet de sécurité :
Par session (juste pour cette conversation) :
hermes chat --checkpoints
Globalement (toutes les sessions) — modifiez ~/.hermes/config.yaml :
checkpoints:
enabled: true
Qu’est-ce qui déclenche un point de restauration ?
Hermes prend automatiquement un instantané de votre projet avant toute opération destructive, notamment :
- Les outils de fichiers —
write_fileetpatch - Les commandes terminal dangereuses —
rm,rmdir,cp,mv,sed -i,truncate,dd,shred, les redirections de sortie (>), etgit reset/clean/checkout
Pour éviter le spam, Hermes crée au maximum un point de restauration par dossier et par tour. Une longue session ne remplira donc pas votre disque avec des centaines d’instantanés.
La magie en coulisses
Voici la partie astucieuse : Hermes utilise un dépôt git fantôme partagé unique stocké dans ~/.hermes/checkpoints/store/. Le dossier .git de votre vrai projet n’est jamais touché. Tous les projets partagent ce même dépôt, et le système d’adressage par contenu de git déduplique automatiquement les fichiers entre les projets. Ainsi, si deux projets ont des fichiers similaires, ils ne sont stockés qu’une seule fois.
Utiliser /rollback en session
Une fois les points de restauration activés, vous pouvez utiliser ces commandes slash pendant une conversation :
| Commande | Effet |
|---|---|
/rollback |
Liste tous les points de restauration avec les statistiques de modifications |
/rollback <N> |
Restaure le point N, en conservant vos modifications manuelles (annule aussi le dernier tour de conversation) |
/rollback <N> --all |
Restauration complète — écrase aussi vos modifications manuelles |
/rollback diff <N> |
Affiche un aperçu des différences entre le point N et l’état actuel |
/rollback <N> <file> |
Restaure uniquement un fichier depuis le point N |
Quand vous tapez /rollback, vous verrez quelque chose comme :
📸 Points de restauration pour /chemin/vers/projet :
1. 4270a8c 2026-03-16 04:36 avant patch (1 fichier, +1/-0)
2. eaf4c1f 2026-03-16 04:35 avant write_file
3. b3f9d2e 2026-03-16 04:34 avant terminal: sed -i s/ancien/nouveau/ config.py (1 fichier, +1/-1)
Gérer le dépôt depuis le shell
En dehors d’une session, vous pouvez inspecter et nettoyer le dépôt de points de restauration :
hermes checkpoints # Affiche la taille totale, le nombre de projets, le détail
hermes checkpoints status # Identique à la commande ci-dessus
hermes checkpoints list # Alias de status
hermes checkpoints prune # Nettoyage forcé : supprime les orphelins, GC, applique la limite de taille
hermes checkpoints clear # Supprime toute la base de points de restauration (demande confirmation)
hermes checkpoints clear-legacy # Supprime uniquement les archives de migration v1
Régler la configuration
Vous pouvez tout contrôler dans ~/.hermes/config.yaml :
checkpoints:
enabled: false # interrupteur principal (défaut : false)
max_snapshots: 20 # nombre max de points de restauration par projet
max_total_size_mb: 500 # limite dure sur la taille totale du dépôt
max_file_size_mb: 10 # ignore les fichiers plus volumineux que cette taille
auto_prune: true # nettoie automatiquement les anciennes entrées au démarrage
retention_days: 7 # conserve les entrées modifiées dans ce nombre de jours
min_interval_hours: 24 # nettoie au maximum une fois par cet intervalle
Un détail malin : l’auto-nettoyage ne supprime jamais les entrées orphelines (les projets dont le répertoire de travail n’existe plus). C’est parce qu’un dossier manquant pourrait simplement signifier un disque externe non monté ou un VPN pas encore connecté. Le nettoyage des orphelins ne se fait que via la commande explicite hermes checkpoints prune, qui demande confirmation au préalable.
Quand devriez-vous l’activer ?
Si vous faites du travail expérimental, de grosses refactorisations, ou si vous apprenez à utiliser Hermes, activez les points de restauration. Le coût en stockage est modeste (grâce à la déduplication), et la tranquillité d’esprit est énorme. Si vous faites simplement des tâches simples et sûres, laissez-les désactivés et économisez de l’espace disque.
Les points de restauration font partie de ces fonctionnalités que vous oublierez — jusqu’au moment où vous en aurez désespérément besoin. Et quand ce moment arrivera, vous serez content qu’ils soient là.
📖 Documentation officielle
Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/checkpoints-and-rollback