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

Tutoriel 4 : Mise à jour et désinstallation d'Hermes

Tutorial 4: Updating & Uninstalling Hermes — easy-to-understand guide based on official docs

Hermes tutorial

Tutoriel 4 : Mise à jour et désinstallation d’Hermes

Bon retour dans notre série de tutoriels sur l’agent Hermes ! Dans cet épisode, nous allons aborder quelque chose que chaque utilisateur finit par devoir savoir : comment garder Hermes à jour et comment lui dire au revoir quand le moment est venu. Pas d’inquiétude — c’est bien plus simple que ça en a l’air.

Mettre à jour Hermes : une seule commande suffit

Le moyen le plus simple de mettre à jour Hermes est une commande unique :

hermes update

Et voilà. Cette commande fait tout le travail à votre place. Elle récupère le dernier code depuis la branche main, met à jour vos dépendances, et vous interroge même sur les nouvelles options de configuration ajoutées depuis votre dernière mise à jour. Plutôt pratique, non ?

Que se passe-t-il réellement lors d’une mise à jour ?

Vous vous demandez peut-être ce qui se trame en coulisses. Voici le détail :

  1. Instantané pré-mise à jour — Avant tout changement, Hermes enregistre un instantané léger de vos fichiers d’état importants (données d’appairage, tâches cron, config.yaml, .env, etc.). Les fichiers de plus de 1 Gio sont ignorés pour qu’une énorme base de données ne ralentisse pas le processus. Cet instantané est pris pour chaque profil de votre installation, chacun étant stocké dans son propre répertoire state-snapshots/.

  2. Git pull — Hermes récupère le dernier code depuis la branche main et met à jour les sous-modules.

  3. Validation syntaxique post-pull + restauration automatique — Après le pull, Hermes vérifie les neuf fichiers critiques dont chaque commande a besoin au démarrage. Si l’un d’eux échoue à l’analyse (comme un marqueur de conflit de fusion égaré), Hermes restaure automatiquement la version précédente pour que votre shell reste opérationnel. Il vous suffit de relancer hermes update une fois le correctif disponible en amont.

  4. Installation des dépendances — Exécute uv pip install -e ".[all]" pour récupérer les dépendances nouvelles ou modifiées.

  5. Migration de configuration — Détecte les nouvelles options de configuration et vous invite à les définir.

  6. Redémarrage automatique des passerelles — Les passerelles en cours d’exécution sont actualisées pour que le nouveau code prenne effet immédiatement. Les passerelles gérées par un service (systemd sous Linux, launchd sous macOS) redémarrent via le gestionnaire de services, tandis que les passerelles manuelles sont relancées automatiquement.

Vous avez ignoré l’invite de configuration ? Pas de souci !

Si vous avez ignoré l’invite de configuration lors d’une mise à jour, vous pouvez rattraper le retard plus tard :

hermes config check    # voir ce qui manque
hermes config migrate  # les ajouter de manière interactive

Mise à jour depuis une autre branche

Par défaut, hermes update suit origin/main. Mais que faire si vous voulez tester une release candidate ou une branche de fonctionnalité ? Utilisez l’option --branch :

hermes update --branch release-candidate
hermes update --check --branch experimental   # juste prévisualiser votre retard

Si votre copie locale est sur une branche différente, Hermes met automatiquement de côté tout travail non commité, bascule sur la branche cible, puis effectue le pull. Les branches qui n’existent pas localement sont automatiquement suivies depuis origin/<nom>. Si une branche n’existe nulle part, la commande échoue proprement et restaure vos modifications mises de côté.

Et les branches stationnées ?

Si votre copie se trouve sur une branche de fonctionnalité, hermes update gère cela intelligemment :

  • Branche entièrement fusionnée — Hermes vous indique qu’elle est entièrement fusionnée et revient sur main.
  • Commits non fusionnés, arbre propre — Hermes bascule quand même sur main pour que la mise à jour se poursuive (important pour les appelants non interactifs comme l’application de bureau ou les tâches cron). Vos commits restent intacts, et Hermes affiche un avertissement bien visible avec le nom de la branche et comment y revenir.

Si vous maintenez délibérément des correctifs personnalisés sur une branche, définissez ceci dans config.yaml :

updates:
  parked_branch_strategy: update_in_place

Cela fusionne origin/main dans votre branche au lieu de basculer ailleurs. Avance rapide quand c’est possible ; en cas de divergence, cela crée une étiquette de sécurité et s’arrête proprement en cas de conflit.

Modifications locales lors de mises à jour non interactives

Lorsque vous exécutez hermes update dans un terminal, Hermes met de côté les modifications non commitées, effectue le pull, puis demande si vous souhaitez les restaurer. Mais lorsque la mise à jour s’exécute sans terminal (comme depuis l’application de bureau), Hermes ignore la mise à jour si l’arbre est sale — avec un avertissement bien visible indiquant la branche et son retard. Pas de faux succès !

Désinstaller Hermes

Quand il est temps de se séparer, la désinstallation est simple. Assurez-vous de consulter la documentation spécifique à votre plateforme pour les étapes exactes de suppression, mais en général, vous voudrez supprimer le binaire Hermes et nettoyer les répertoires de configuration qu’il a créés.

Pour conclure

Garder Hermes à jour est un jeu d’enfant grâce à hermes update. Les filets de sécurité intégrés — instantanés, restauration automatique et gestion des branches — vous permettent de mettre à jour en toute confiance. Et si vous avez besoin de vous éloigner, la désinstallation est tout aussi simple.

Restez à l’écoute pour le prochain tutoriel de notre série !

📖 Documentation officielle

Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › getting-started/updating