
Les plugins desktop peuvent enfin appuyer sur les propres boutons de l'application : ctx.runAction et ctx.pet.say
Les plugins desktop déclenchaient autrefois les fonctionnalités intégrées en simulant un événement clavier — l'utilisateur rebinde le raccourci et le bouton meurt en silence. Désormais ctx.runAction(id) exécute le même handler que le raccourci et la palette de commandes, n'expose que les actions de vue et de navigation, et renvoie toujours une valeur au lieu de lever une exception. À ses côtés, ctx.pet.say permet à un plugin de parler via la bulle pet du core sans toucher au DOM de l'application.
Lire la suite
Les invités du palier gratuit ne reçoivent plus le défi du navigateur pour les connecteurs : le guest token à portée limitée
Un changement fusionné dans la fenêtre v0.21.7 fait qu'un invité du palier gratuit qui n'utilise que des connecteurs ou des outils managés n'affronte plus le défi du navigateur. Hermes émet désormais un token dont la seule portée est connectors:invoke — les barrières de défi et de PoW sont levées pour lui, et le gateway d'inférence le refuse. Voici comment les deux tokens diffèrent, comment un slot est choisi, et quels chemins d'arrière-plan émettaient de l'inférence par accident.
Lire la suite
Les défauts d'image des abonnés changent : Krea 2 Medium Turbo, avec FAL juste derrière
Une installation payante qui n'a jamais ouvert hermes tools obtenait le FLUX 2 Klein 9B de FAL. Les comptes payants passent désormais par défaut à Krea 2 Medium Turbo — écrit uniquement lorsque la section image n'a jamais été configurée, ne contient aucun modèle stocké et que le compte a bien droit à Krea. Les images de référence sont désormais décrites comme copiant un rendu plutôt que comme éditant une image, et un refus de Krea qui n'a prouvablement créé aucune tâche est relancé sur FAL, le résultat indiquant qui a réellement exécuté.
Lire la suite
Le modèle n'oublie plus ce qu'il a pensé : le raisonnement est rejoué d'un tour à l'autre, après un rechargement et après compaction
Une table de transport du raisonnement par route, un enregistrement privé hermes.native_assistant et un fallback « consigner le rejet et réessayer une fois » : Hermes rejoue désormais le raisonnement par défaut sur tous les providers capables de le lire, et la compaction comme le branchement cessent de supprimer le raisonnement des tours précédents. Voici quel champ chaque route reçoit, et où regarder quand cela se comporte mal.
Lire la suite
Après v0.21.7, `hermes update` ne suit plus que les releases taguées — sachez sur quel canal vous êtes
v0.21.7 (11 octobre 2026) change la façon dont les installations depuis les sources se mettent à jour : par défaut, vous ne passez qu'à la dernière release publiée, et suivre main devient un choix explicite. La même fenêtre corrige aussi le raisonnement perdu au resume et les échecs de mise à jour derrière certains pare-feux régionaux. Voici ce qui change, comment basculer, et ce qui n'arrivera pas à votre installation.
Lire la suite
Un clic sur Regenerate, et 107 messages avaient disparu
Dans Hermes Desktop, regenerate pouvait rejouer un turn vieux de quatre heures et archiver en silence 107 messages plus récents. Désormais, un rewind qui ferait disparaître un turn utilisateur ultérieur demande d'abord confirmation — avec le comptage des turns côté serveur, le refus 4033 et l'interrupteur d'application de la prochaine version.
Lire la suite
Quand un sous-agent terminait, il s'emparait du chat
Un processus d'arrière-plan lancé dans un enfant de delegate_task enregistrait cet enfant comme propriétaire de sa complétion ; le gateway a donc déplacé la route du chat vers l'enfant et abandonné le résultat de délégation du parent. Voici la chaîne, le correctif et les frontières qui n'ont pas bougé.
Lire la suite
Un navigateur cloud bridé ne tue plus browser_exec
Quand le fournisseur de navigateur cloud renvoie un 429 ou tombe en panne, browser_exec bascule désormais sur le Chromium local embarqué au lieu d'échouer, et les pages localhost ou LAN s'ouvrent sur un sidecar local pour que les URL privées n'atteignent jamais le cloud.
Lire la suite
Deux Gmails, un seul Hermes : les comptes des connectors ont enfin un nom
Les connectors Hermes gèrent désormais plusieurs comptes de la même app avec un alias court (boulot, perso), indiquent sous quel compte chaque appel a tourné et réparent un compte à la fois. Couvre le CLI hermes connectors, l'overlay /connectors du TUI et l'interface de bureau.
Lire la suite
Le Hermes dans Docker a perdu la moitié de son arbre de dépendances — l'image n'avait jamais enregistré de baseline
Vous ouvrez le Hermes qui tourne dans Docker et le serveur API annonce que aiohttp n'est pas installé. Les adaptateurs de messagerie et les serveurs MCP ont disparu, les agents hébergés sont signalés comme dégradés. Vous n'avez rien changé. La cause : depuis la v0.21.6, les huit extras intégrés à l'image n'ont jamais été enregistrés comme baseline de dépendances, si bien que la première génération que le conteneur a construite lui-même est devenue la nouvelle baseline. L'image l'enregistre désormais, et chaque démarrage restaure ce qui a disparu — les volumes déjà cassés se réparent d'eux-mêmes.
Lire la suite
hermes update a discrètement changé sa valeur par défaut : fini le suivi de chaque commit
Vous lancez hermes update le mercredi matin et il vous annonce qu'il n'y a pas de release plus récente — tout en vous précisant que vous avez des centaines de commits de retard sur main. Vous n'avez rien changé. Le canal de mise à jour par défaut d'une installation officielle depuis les sources est passé de main à stable, qui ne bouge qu'entre les releases publiées vX.Y.Z. Voici ce que stable signifie, où le canal est stocké, la différence entre --set-channel et --channel, et la règle qui surprend : la valeur par défaut ne va que de l'avant.
Lire la suite
Hermes a conseillé à une machine de 16 GB de faire tourner un modèle 27B : maintenant, il dit non
Une GTX 1080 avec 16 GB de RAM s'est vu dire que Qwen3.8 27B tient sur cette machine, et un GPU intégré s'est vu allouer toute la RAM système. Hermes a corrigé trois bugs empilés derrière une mauvaise recommandation de modèle local.
Lire la suite
Le recall de votre provider de mémoire était tronqué : spill opt-in et deux autres échecs silencieux
Le recall d'une mémoire externe était remplacé par un aperçu tête/queue avant même d'atteindre le modèle. Hermes le garde désormais intact par défaut (memory.prefetch_spill_enabled), et corrige une limite de découverte de 8 KB ainsi qu'une boucle de nouvelle tentative d'installation au démarrage.
Lire la suite
Fermez le portable et votre /loop meurt : pourquoi les planifications détachées survivent désormais
Un /loop ou /heartbeat défini dans l'application desktop, le dashboard ou la TUI était démonté dès que le client se déconnectait. Hermes exempte désormais une session qui possède encore une planification vivante, si bien que les réveils continuent de se déclencher en arrière-plan.
Lire la suite
Un appel TTS échoué a supprimé le fichier d'un utilisateur : au cœur du correctif P0 du chemin de sortie d'Hermes
Pointez text_to_speech vers un fichier existant : une synthèse échouée emportait ce fichier avec sa propre sortie temporaire. Hermes synthétise désormais vers un fichier frère caché et ne remplace la cible qu'en cas de succès.
Lire la suite
Un serveur MCP a envoyé une capture d'écran et votre modèle n'a vu qu'un chemin de fichier
Configurez un serveur MCP qui capture l'écran, demandez à l'agent de le lire, et il vous dit qu'il ne voit qu'un chemin — l'image était mise en cache, mais le modèle n'a jamais reçu les pixels. Le correctif a fusionné « cette image peut-elle atteindre le modèle » en un seul point de contrôle (vision_tools._native_tool_result_images), partagé par MCP ImageContent, les captures d'écran du navigateur, les captures computer_use et vision_analyze. Voici ce que font réellement auto / native / text, plus deux détails de sécurité faciles à manquer.
Lire la suite