🤖HermesBlog
Hermes Feature Guides · Partie 108/9/2026

Points de contrôle et `/rollback` — Le filet de sécurité de votre projet

Built-in Plugins — Ready-to-Use Enhancements — easy-to-understand guide based on official docs (updated 2026-08-09)

hermes-feature-10-builtin-plugins

Points de contrôle et /rollback — Le filet de sécurité de votre projet

Vous avez déjà regardé un agent IA faire une modification en pensant : « Attends, ce n’est pas ce que je voulais faire » ? On est tous passés par là. C’est pourquoi Hermes Agent intègre désormais un filet de sécurité intégré : les points de contrôle. Pensez-y comme à des sauvegardes dans un jeu vidéo — des instantanés de votre projet pris avant les opérations risquées, prêts à être restaurés en une seule commande.

Que sont les points de contrôle ?

Les points de contrôle sont des instantanés automatiques de votre projet pris avant les opérations destructrices. Si l’agent s’apprête à supprimer des fichiers, écraser du code ou exécuter des commandes terminal risquées, il enregistre d’abord l’état actuel. Ensuite, vous pouvez revenir à n’importe lequel de ces instantanés.

Le meilleur dans tout ça ? L’historique .git de votre vrai projet n’est jamais touché. Hermes utilise un espace de stockage partagé dans ~/.hermes/checkpoints/store/ — un dépôt git séparé qui garde tout organisé et dédupliqué entre les projets.

Pour commencer : activer les points de contrôle

Les points de contrôle sont optionnels depuis la v2. La plupart des utilisateurs n’en ont jamais besoin, et le stockage peut grossir avec le temps, donc c’est désactivé par défaut.

Activer pour une seule session :

hermes chat --checkpoints

Ou activer globalement dans ~/.hermes/config.yaml :

checkpoints:
  enabled: true

Quand Hermes prend-il un point de contrôle ?

Hermes crée automatiquement un instantané avant :

  • Les outils de fichierswrite_file et patch
  • Les commandes terminal destructricesrm, rmdir, cp, install, mv, sed -i, truncate, dd, shred, les redirections de sortie (>), et git reset/clean/checkout

Pas de panique concernant le spam — l’agent crée au maximum un point de contrôle par dossier et par tour, donc les longues sessions restent propres.

Utiliser /rollback en session

Une fois les points de contrôle activés, vous disposez de puissantes commandes slash directement dans votre chat :

Commande Effet
/rollback Liste tous les points de contrôle avec les statistiques de modifications
/rollback <N> Restaure le point de contrôle N, en conservant vos modifications manuelles
/rollback <N> --all Restauration complète — écrase aussi vos modifications manuelles
/rollback diff <N> Aperçu des changements entre le point de contrôle N et maintenant
/rollback <N> <fichier> Restaure un seul fichier depuis le point de contrôle N

Voici à quoi ressemble la liste des points de contrôle :

📸 Points de contrôle pour /path/to/project :

  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/old/new/ config.py  (1 fichier, +1/-1)

  /rollback <N>             restaure le point de contrôle N (conserve vos modifications manuelles)
  /rollback <N> --all       restauration complète, écrase aussi vos modifications manuelles
  /rollback diff <N>        aperçu des changements depuis le point de contrôle N
  /rollback <N> <fichier>   restaure un seul fichier depuis le point de contrôle N

Gérer le stockage depuis le shell

En dehors d’une session, utilisez la CLI pour inspecter et gérer votre stockage de points de contrôle :

hermes checkpoints              # Affiche la taille, le nombre de projets, la répartition
hermes checkpoints status       # Identique à ci-dessus
hermes checkpoints list         # Alias pour status
hermes checkpoints prune        # Nettoyage forcé : orphelins, données obsolètes, limite de taille
hermes checkpoints clear        # Supprime tout (demande confirmation)
hermes checkpoints clear-legacy # Supprime les anciennes archives de migration v1

Exemple de sortie :

Base des points de contrôle : /home/vous/.hermes/checkpoints
Taille totale :      142.3 Mo
  store/         138.1 Mo
  legacy-*       4.2 Mo
Projets :        12

  WORKDIR                                                       COMMITS    DERNIER ACCÈS  ÉTAT
  /home/vous/code/hermes-agent                                        20       2h ago  actif
  /home/vous/code/experiments/rl-runner                                8       1j ago  actif
  /home/vous/code/old-prototype                                        3       9j ago  orphelin

Options de configuration

Ajustez finement les points de contrôle dans ~/.hermes/config.yaml :

checkpoints:
  enabled: false              # interrupteur principal (défaut : false)
  max_snapshots: 20           # nombre max de points de contrôle par projet
  max_total_size_mb: 500      # plafond strict de la taille totale du stockage
  max_file_size_mb: 10        # ignore les fichiers plus volumineux que ceci

  # Maintenance automatique (activée par défaut)
  auto_prune: true
  retention_days: 7
  min_interval_hours: 24

Vous voulez tout désactiver ?

checkpoints:
  enabled: false
  auto_prune: false

Comment ça fonctionne sous le capot

Quand Hermes détecte qu’un outil s’apprête à modifier des fichiers, il :

  1. Résout la racine du projet pour ce fichier
  2. Initialise ou réutilise le stockage partagé
  3. Met en scène les changements, construit une arborescence et effectue un commit vers une référence par projet (refs/hermes/<hash-du-projet>)

Ces références forment votre historique de points de contrôle, prêt à être inspecté et restauré via /rollback.

Réflexions finales

Les points de contrôle vous offrent la tranquillité d’esprit quand vous laissez l’agent travailler sur votre code. Que vous expérimentiez, refactorisiez ou vouliez simplement un filet de sécurité, /rollback veille sur vous. Activez-le, oubliez-le, et dormez tranquille en sachant que vous pouvez toujours annuler.

Bon code — et rappelez-vous, les points de sauvegarde existent pour une raison !

📖 Documentation officielle

Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › user-guide/features/plugins