🤖HermesBlog
Hermes Official Tutorials · Partie 308/9/2026

Pourquoi vous devriez vous intéresser aux points de restauration

Tutorial 30: Checkpoints & Rollback — easy-to-understand guide based on official docs

Hermes tutorial

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 fichierswrite_file et patch
  • Les commandes terminal dangereusesrm, rmdir, cp, mv, sed -i, truncate, dd, shred, les redirections de sortie (>), et git 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