
Des plugins qui ne marchaient qu'à moitié : Hermes unifie enfin la résolution des noms de plugins
Installation par nom de catalogue, activation par nom de manifeste, correspondance de la moitié desktop par nom de dossier — le même plugin répondait à trois noms, donc `install` réussissait et `enable` répondait « No plugin named … », et un paquet doté d'une moitié desktop ne s'allumait jamais. La PR #135030 a fusionné cinq résolveurs de noms en un seul et a fait de l'activation d'un paquet un seul interrupteur. Voici le symptôme, la cause et le nouvel ordre de résolution, plus le correctif de dev des plugins desktop (#135017).
Lire la suite
v0.21.6 a changé la façon dont les releases sont découpées — vérifiez ce que vous avez réellement installé
v0.21.6 (publiée le 8 octobre 2026) est le premier tag découpé par le nouveau pipeline de releases stables : une ref de tentative, une image Docker testée, et un tag-reçu à la publication. La fenêtre a rassemblé 8 342 fichiers modifiés (+772 490 / −225 600) et 2 106 PR fusionnées depuis v0.21.5, tandis que les notes complètes et éditorialisées arrivent encore avec v0.22.0. Voici comment vérifier ce que vous avez installé, plus les trois groupes de correctifs de sécurité de cette fenêtre.
Lire la suite
Un tour parlé n'a plus besoin du modèle avec lequel vous tapez
Vous dites quelque chose, et le modèle avec lequel vous tapez dépense son budget de réflexion avant de répondre à voix haute — donc les questions-réponses vocales semblent un demi-temps trop lentes et sont facturées à votre modèle principal. Désormais, les tours parlés ont leur propre slot auxiliary.voice_chat et passent par défaut en raisonnement désactivé ; et si vous voulez remplacer toute la chaîne « transcrire, réfléchir, parler », un seul modèle vocal full-duplex peut prendre le relais (voice.voice_chat_mode: gpt-live). Voici comment les trois réglages s'articulent — et quand ne pas les utiliser.
Lire la suite
Vous pensiez que YOLO était encore actif. Le redémarrage l'a désactivé.
Vous tapez /yolo sur une plateforme de messagerie et vous supposez que les approbations sont désactivées. Puis le gateway redémarre — hermes update, un crash, systemd, une réouverture du Desktop — et ce chat est discrètement revenu aux approbations manuelles pendant que vous croyez encore qu'il les contourne. Le correctif stocke /yolo sur la session elle-même (SessionEntry.yolo dans gateway_routing), tandis que /new, /resume et /branch l'effacent définitivement. Voici les deux directions dans lesquelles cela peut vous surprendre, et comment il survit à un redémarrage sans ressusciter un bypass que vous avez abandonné.
Lire la suite
Un plugin peut désormais demander à Hermes de filtrer son propre serveur MCP
Les paquets Portable Agent Plugins v1 peuvent déclarer trust: untrusted pour leurs propres serveurs MCP dans plugin.json, de sorte que chaque appel d'outil capable d'écrire vous demande d'abord votre accord. Hermes n'accepte qu'un resserrement, jamais un élargissement.
Lire la suite
Nous Research lève 90 M$ — et Hermes part à la conquête des entreprises. Voici ce qui change pour vous.
Nous Research a annoncé le 7 octobre 2026 une levée de 90 M$ sur une valorisation de 1,5 Md$, avec NVIDIA, Microsoft M12 et Samsung parmi les investisseurs, plus une nouvelle orientation « Hermes for Businesses ». Ce qui est déclaré par l'entreprise, ce qui est promis, et les deux interrupteurs à surveiller vraiment.
Lire la suite
Pourquoi 90 Go de votre disque ont disparu : l'état de dépendances laissé derrière par les worktrees supprimés
Chaque worktree `hermes -w` ou clone jetable obtient son propre environnement de dépendances d'environ 200 Mo, et supprimer l'arbre ne l'a jamais retiré. Le chemin de prune récupère désormais l'état dont le checkout a disparu de façon prouvable — 92 Go ramenés à 18 Go sur un hôte mesuré.
Lire la suite
Un job cron en bonne santé déclaré « bloqué » à 2h02 — désormais la borne mesure le silence, pas la durée d'exécution
Toute exécution cron de plus de deux heures était récupérée comme si le propriétaire était mort, même lorsqu'elle appelait activement des outils, puis échouait avec « lost its durable fire claim ownership » et perdait la sortie de cette exécution. Le correctif mesure depuis combien de temps le propriétaire est silencieux plutôt que depuis combien de temps il tourne.
Lire la suite
Un modèle économique dans un channel, un modèle frontier dans un autre : comment fonctionne channel_overrides (et le bug de cache qui le rendait cher)
Une seule gateway peut exécuter un modèle et un persona différents dans chaque channel via platforms.<platform>.channel_overrides. Mais un bug P0 évacuait l'agent mis en cache après chaque tour, précisément dans ces chats, ce qui forçait à relire toute la conversation au tarif plein.
Lire la suite
Faire tourner Hermes Agent sur Kubernetes : pas de Helm chart officiel, un seul replica, et un conteneur qui démarre en root
Trois choses dans l'image officielle entrent en conflit avec les valeurs par défaut de Kubernetes : l'état est en single-writer, s6-overlay a besoin de root à l'init, et il n'existe aucun endpoint de rechargement HTTP. Voici ce qui casse réellement, et ce qu'il faut écrire à la place dans votre manifeste.
Lire la suite
Ce que la télémétrie de Hermes enregistre vraiment : deux interrupteurs, tous deux désactivés par défaut, et rien qui ressemble à votre contenu
Sous telemetry.shared_metrics se trouvent deux opt-ins indépendants — enabled collecte en local, send transmet à Nous — et les deux valent false par défaut. Voici ce que contiennent les compteurs bornés, plus les nouvelles classes de raisons d'échec.
Lire la suite
Hermes vient de vous demander de passer un contrôle navigateur ? Voici ce qu'est le challenge 428 sur le free tier
Quand le service de compte Nous décide qu'une plage d'IP a d'abord besoin d'un contrôle navigateur, l'échange de token anonyme répond 428 challenge_required. Hermes implémente une seule primitive : ouvrir le lien du portal, interroger le statut, échanger à nouveau — tandis que les appelants en arrière-plan ne bloquent jamais.
Lire la suite
Votre limite de connexion au tableau de bord était falsifiable avec un seul en-tête
Trois correctifs de durcissement de l'authentification fusionnés le même jour : un X-Forwarded-For forgé réinitialisait la limite de connexion au tableau de bord, un champ d'audit sans borne pouvait remplir votre disque, et les routes d'authentification publiques n'avaient aucune limite de taille du corps de requête.
Lire la suite
Quand Hermes attend un humain, votre plugin peut désormais le savoir
Une nouvelle paire de hooks on_human_input_request / on_human_input_resolved couvre les invites sudo, les questions clarify et les approbations de commandes dangereuses, pour qu'un notificateur n'ait plus besoin d'un hook par type d'invite.
Lire la suite
Le gateway répare toutes les plateformes sauf une — voici pourquoi
Trois correctifs de fiabilité du gateway : une plateforme dont le plugin a échoué au chargement retente désormais son import, les messages Telegram retenus pendant une déconnexion sont livrés après la reconstruction de l'adaptateur, et les exécutions /v1 en cours se terminent à l'arrêt du gateway au lieu d'être tuées après 0 s.
Lire la suite
Les agents écrivent du code plus vite que quiconque ne peut le relire. Voici le cliquet qui empêche la base de code de pourrir
Hermes a ajouté un cliquet : chaque fonction et chaque fichier ne peut que rester au même niveau ou s'améliorer, le nouveau code doit atteindre la cible, et une seule commande locale exécute exactement ce que la CI exécute. Comprend les seuils CC/lignes/imbrication, la porte de sortie et un rejeu de 318 PR.
Lire la suite