Installer Hermes Agent : le guide complet et les 6 pièges qui font perdre une demi-journée
Service indépendant — non affilié à Nous Research (éditeur du logiciel Hermes Agent) ni à Hermès International.
Installer Hermes Agent prend en réalité 3 à 4 heures, pas 5 minutes. Testé le 1er août 2026 sur WSL2 : script postinstall bloqué 30 minutes, build qui échoue sous Node 20, gateway en échec silencieux. Voici les 6 pièges exacts rencontrés, et comment les éviter un par un.
- Combien de temps prend vraiment l'installation ?
- Piège n°1 : pourquoi le script postinstall reste-t-il bloqué 30 minutes ?
- Faut-il utiliser le wizard interactif ou la configuration en ligne de commande ?
- Pourquoi le build du dashboard échoue-t-il avec npm run build ?
- Pourquoi hermes dashboard --host 0.0.0.0 est-il refusé ?
- Pourquoi le dashboard affiche « GATEWAY START STARTED » alors que rien ne démarre ?
- Pourquoi un service lancé dans le sandbox est-il invisible depuis l'hôte ?
- Combien de temps prévoir, concrètement ?
Vous voulez ce résultat sans passer par ces 6 pièges ? On installe et on gère votre agent pour vous.
Combien de temps prend vraiment l'installation ?
Les tutoriels annoncent cinq minutes. curl | bash, deux ou trois questions, et c'est fini — c'est en tout cas ce que promet la documentation officielle. Nous avons chronométré une installation réelle le 1er août 2026, sur une machine Windows avec WSL2 (Ubuntu 22.04), Hermes Agent en version 0.19.1 (build du 2026.7.30). Résultat : 3 heures et 40 minutes, dont plus de la moitié perdue sur des blocages qu'aucune documentation ne mentionne.
Ce n'est pas qu'Hermes Agent soit mal conçu. Le logiciel, une fois en route, tourne très bien — 67 skills et une petite soixante-dizaine d'outils disponibles nativement, c'est du sérieux. Le problème, c'est le chemin entre git clone et un agent qui répond réellement sur Telegram. Ce guide documente ce chemin tel qu'il est, avec les messages d'erreur exacts copiés du terminal, pas une version arrangée après coup.
Si vous êtes sur Windows, sachez tout de suite que WSL2 n'est pas une option parmi d'autres : c'est la seule voie fiable. Nous détaillons pourquoi dans notre guide dédié à l'installation sur Windows. Et si vous découvrez Hermes Agent à l'instant, notre guide complet — ce que c'est, combien ça coûte, ce qu'il ne sait pas faire répond aux questions qu'on nous pose le plus souvent avant même de parler installation.
Piège n°1 : pourquoi le script postinstall reste-t-il bloqué 30 minutes ?
Premier arrêt, à peine deux minutes après le lancement de install.sh. Le script enchaîne une série de tâches post-installation, et l'une d'entre elles s'appelle unicode-animations. Sur le papier, c'est anodin : une bannière ASCII animée qui s'affiche au démarrage, rien de plus. En pratique, lancée en mode non interactif (ce qui est le cas par défaut dans un terminal WSL2 sans TTY complet), cette étape ne se termine jamais. Le curseur clignote, aucune erreur ne remonte, et rien ne se passe.
Nous avons laissé tourner 30 minutes avant de couper. Pas de timeout, pas de message, rien. Un Ctrl+C suffit à débloquer la suite de l'installation — l'animation n'est pas une dépendance bloquante, juste un script mal isolé qui ne détecte pas l'absence de terminal interactif.
Ce qu'il faut faire : si l'installation semble figée sur une étape qui mentionne des animations, une bannière ou un logo, n'attendez pas. Interrompez avec Ctrl+C et relancez le script suivant — dans nos tests, l'interruption de cette étape précise n'a jamais cassé la suite de l'installation.
Faut-il utiliser le wizard interactif ou la configuration en ligne de commande ?
Une fois l'installation des dépendances terminée, install.sh enchaîne automatiquement sur hermes setup, un assistant interactif : nom de l'agent, fournisseur de modèle, clé API, canal préféré. Pratique si vous êtes devant votre écran et disponible pour répondre à sept ou huit questions à la suite. Beaucoup moins pratique si vous scriptez l'installation, si vous l'exécutez dans un pipeline, ou simplement si vous voulez configurer par étapes sans rester bloqué devant le wizard.
L'alternative existe mais n'est documentée nulle part de façon visible : hermes config set. Cette commande permet de fixer chaque paramètre individuellement, sans passer par le wizard :
hermes config set model.provider openrouter
hermes config set model.name anthropic/claude-sonnet-4.5
hermes config set channels.telegram.enabled true
Un détail qui a son importance au moment de choisir un fournisseur de modèle : sur un modèle gratuit (nous avons testé poolside/laguna-s-2.1:free), l'agent a purement et simplement inventé une installation qu'il n'avait pas faite, et l'a annoncée comme réussie. Aucune alerte, aucun message d'erreur — juste une affirmation fausse présentée avec assurance. Ce n'est pas un bug isolé : c'est le genre de comportement qu'on retrouve régulièrement sur les modèles gratuits ou très légers, moins fiables sur le suivi d'instructions longues. Pour un agent censé gérer de vraies tâches (e-mails, rendez-vous, paiements), ce n'est pas un détail.
Sur les 32 canaux disponibles (Telegram, WhatsApp, Microsoft Teams, Google Chat, e-mail IMAP/SMTP…), Telegram reste de loin le plus rapide à activer : un appairage par QR code, moins de deux minutes, sans configuration réseau particulière. WhatsApp fonctionne aussi, mais via un pont non officiel — plus fragile qu'une intégration Cloud API officielle, et à réserver à un usage secondaire tant que ce point n'est pas stabilisé.
Si vous arrivez d'un autre agent — OpenClaw notamment — sachez que le wizard hermes setup propose une migration automatique des données depuis ~/.openclaw : nous détaillons ce qui se transfère réellement, et ce qui ne se transfère pas, dans notre comparatif Hermes Agent vs OpenClaw.
La configuration complète vit dans deux fichiers : ~/.hermes/config.yaml pour les réglages, et ~/.hermes/.env pour les secrets (clés API, tokens). Un point qui nous a fait perdre vingt minutes : la clé container_persistent, qui contrôle la persistance du bac à sable Docker, doit être imbriquée sous la section terminal: — pas placée à la racine du fichier :
terminal:
container_persistent: true
Placée au mauvais niveau, elle est silencieusement ignorée. Pas d'erreur de syntaxe, pas d'avertissement : le conteneur repart simplement de zéro à chaque session.
Piège fréquent
Une clé de configuration mal indentée dans un fichier YAML ne provoque presque jamais d'erreur visible. Elle est juste ignorée. Si un réglage ne semble "pas pris en compte", vérifiez l'indentation avant de chercher plus loin.Pourquoi le build du dashboard échoue-t-il avec npm run build ?
Le dashboard web d'Hermes Agent n'est pas livré pré-compilé : il faut le construire vous-même avec npm run build. Sous Node.js 20 (la version LTS installée par défaut sur la plupart des images WSL2 récentes), le build échoue avec une pile d'erreurs liées à des dépendances qui attendent une API plus récente — rien d'exotique, juste une incompatibilité de version.
Nous avons reproduit l'erreur, changé uniquement la version de Node, et relancé : succès immédiat sous Node 22. Aucune autre modification.
| Version de Node.js | Résultat de npm run build |
Temps de build |
|---|---|---|
| Node 18 | Échec — erreurs de dépendances | — |
| Node 20 (LTS par défaut) | Échec — erreurs de dépendances | — |
| Node 22 | Succès | 52 secondes |
Avec nvm déjà installé, le changement de version prend dix secondes :
nvm install 22
nvm use 22
npm run build
Sans nvm, comptez plutôt quinze minutes pour installer une version récente de Node proprement sur Ubuntu, le temps de configurer le dépôt NodeSource.
Pourquoi hermes dashboard --host 0.0.0.0 est-il refusé ?
Une fois le dashboard construit, l'envie logique est de l'exposer sur toutes les interfaces réseau pour y accéder depuis une autre machine : hermes dashboard --host 0.0.0.0. Résultat : la commande est refusée, sans lancer le service.
La raison est en fait une bonne nouvelle de sécurité : Hermes Agent refuse d'exposer le dashboard sur une interface publique tant qu'aucune authentification n'est configurée. Le dashboard donne accès à la configuration de l'agent, à ses journaux, parfois à ses secrets — l'exposer sans mot de passe sur 0.0.0.0 serait une faille ouverte à quiconque atteint le port.
La correction se fait dans ~/.hermes/config.yaml, sous la section dashboard: :
dashboard:
basic_auth:
username: votre_utilisateur
password: un_mot_de_passe_solide
Une fois cette section renseignée, --host 0.0.0.0 est accepté normalement. À l'usage, mieux vaut de toute façon garder le dashboard sur 127.0.0.1 et passer par un tunnel SSH si vous devez y accéder à distance — l'exposer publiquement, même protégé par mot de passe, reste une surface d'attaque supplémentaire.
Pourquoi le dashboard affiche « GATEWAY START STARTED » alors que rien ne démarre ?
C'est le piège le plus déroutant des six, et de loin celui qui coûte le plus de temps. Le gateway est le composant qui relie l'agent aux canaux externes — Telegram, WhatsApp, e-mail. Lancer hermes gateway start sans avoir installé le service au préalable renvoie ce message, mot pour mot :
Gateway service is not installed
Run: hermes gateway install
Jusque-là, rien d'anormal — l'erreur est claire et dit exactement quoi faire. Le problème apparaît si vous passez par le dashboard web plutôt que par le terminal : l'interface affiche « GATEWAY START STARTED », comme si tout se déroulait normalement, puis rien ne se passe. Aucun message d'échec, aucune bascule vers un état d'erreur visible. Le statut reste bloqué sur un intitulé qui laisse croire que le démarrage est en cours, indéfiniment.
Nous avons perdu 40 minutes sur ce seul piège, à vérifier les ports, les logs Docker, la configuration réseau — avant de relancer la même commande directement dans le terminal et de voir enfin le vrai message d'erreur que le dashboard avalait silencieusement.
La séquence correcte, dans l'ordre, ne souffre aucune exception :
hermes gateway install
hermes gateway start
On a perdu 40 minutes sur ce seul piège.
Ce genre d'erreur silencieuse, c'est exactement ce qu'on évite à nos clients : votre agent est installé, configuré et surveillé par notre équipe, sur un serveur privé, du premier jour à la résiliation.
Avoir mon agent sans l'installer moi-même →Pourquoi un service lancé dans le sandbox est-il invisible depuis l'hôte ?
Hermes Agent exécute son bac à sable (le "sandbox" où l'agent peut lancer des commandes, des scripts, des serveurs de test) dans un conteneur Docker basé sur l'image nikolaik/python-nodejs:python3.11-nodejs20. Tant qu'on reste dans le paradigme "l'agent exécute du code et vous récupérez le résultat en texte", tout va bien. Les complications commencent dès qu'on demande à l'agent de démarrer un service réseau — un serveur de développement, une API de test.
Le conteneur reçoit une adresse IP interne au réseau Docker, typiquement dans la plage 172.18.x.x. Un service lancé à l'intérieur écoute bien sur cette IP, mais les ports ne sont pas publiés vers l'hôte par défaut. Résultat : depuis votre machine, curl 172.18.0.5:3000 ou même curl localhost:3000 ne renvoient rien — le service tourne, mais il est injoignable de l'extérieur du conteneur.
Ce n'est pas un bug : c'est le comportement standard de Docker sans mapping de ports explicite. Mais ce n'est documenté nulle part dans le contexte d'Hermes Agent, et l'erreur ressemble à un service qui ne démarre pas alors qu'il tourne très bien — juste invisible.
| Piège | Symptôme observé | Solution | Temps perdu |
|---|---|---|---|
| 1. Postinstall animations | Terminal figé, aucune erreur | Ctrl+C puis continuer | 30 min |
| 2. Wizard automatique | Bloqué devant 7-8 questions | hermes config set | 15 min |
| 3. Build du dashboard | Erreurs npm sous Node 20 | Passer à Node 22 | 20 min |
| 4. Dashboard refusé sur 0.0.0.0 | Commande rejetée | Configurer basic_auth | 10 min |
| 5. Gateway silencieux | « GATEWAY START STARTED » figé | install puis start | 40 min |
| 6. Ports non publiés | Service invisible depuis l'hôte | Publier les ports Docker | 25 min |
Combien de temps prévoir, concrètement ?
En comptant large : une heure pour l'installation des dépendances et le clonage, une heure quarante pour les six pièges ci-dessus si vous les rencontrez sans les connaître à l'avance, et le reste pour la configuration fine (canaux, priorités, premiers tests). Si vous suivez ce guide en connaissant déjà les six pièges, comptez plutôt 45 minutes à une heure de bout en bout.
Si votre objectif est un serveur dédié plutôt qu'une installation locale, la question du choix de VPS et de son coût réel (hébergement + inférence du modèle) mérite un calcul à part — nous l'avons détaillé dans notre comparatif des offres VPS pour Hermes Agent.
À retenir
- L'installation réelle prend 3 à 4 heures, pas 5 minutes — comptez large la première fois.
- Le blocage sur
unicode-animationsse débloque avec un simpleCtrl+C. hermes config setévite le wizard interactif pour une installation scriptée.- Le build du dashboard exige Node 22 : Node 20 échoue systématiquement.
- La séquence gateway est stricte :
installpuisstart, jamais l'inverse — le dashboard web masque l'erreur si vous ne respectez pas cet ordre.
Envie de garder votre propre clé OpenRouter, sans gérer le serveur vous-même ? Hermes hébergé, à partir de 9,99 €/mois.
Vous préférez qu'on s'en charge ?
Trois formules sans engagement, facture plafonnée — jamais de dépassement, quoi que fasse votre agent.
Questions fréquentes
Combien de temps faut-il vraiment pour installer Hermes Agent ?
Comptez 3 à 4 heures pour une première installation sur WSL2 en découvrant les pièges au fur et à mesure, contre 45 minutes à 1 heure si vous suivez ce guide en les connaissant à l'avance. La documentation officielle annonce 5 minutes, ce qui correspond au temps du script principal seul, sans les six blocages détaillés dans cet article.
Le script d'installation est bloqué, que faire ?
Si le blocage survient sur une étape liée à une bannière ou une animation (unicode-animations), interrompez avec Ctrl+C et relancez le script suivant : ce n'est pas une dépendance bloquante. Si le blocage survient ailleurs, vérifiez d'abord les journaux avant d'interrompre quoi que ce soit.
Pourquoi mon build du dashboard échoue-t-il ?
Dans la quasi-totalité des cas, c'est une version de Node.js trop ancienne. Node 20 échoue systématiquement dans nos tests, Node 22 fonctionne à chaque fois. Vérifiez votre version avec node -v avant de chercher plus loin.
Faut-il installer Hermes Agent sur Windows directement ou via WSL2 ?
Via WSL2, sans hésitation. Le support Windows natif est explicitement décrit comme expérimental par l'équipe du projet ; WSL2 avec une distribution Ubuntu est la configuration réellement testée et stable.
Peut-on installer Hermes Agent sans passer par le terminal ?
Non, pas pour l'installation initiale : il n'existe pas d'installeur graphique. Une fois l'agent en service, en revanche, toute la configuration quotidienne (priorités, canal, rappels) se fait en langage naturel directement avec l'agent.
Que se passe-t-il si je ne configure pas l'authentification du dashboard ?
Hermes Agent refuse tout simplement d'exposer le dashboard sur une interface autre que 127.0.0.1 tant qu'un identifiant et un mot de passe ne sont pas définis sous dashboard.basic_auth dans config.yaml. C'est une protection volontaire, pas un bug.