
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
Votre export de profil expédiait vos identifiants cloud
Un tar.gz produit par hermes profile export est censé permettre à un collègue de reproduire votre configuration — mais il transportait aussi les stockages d'identifiants .docker, .azure, .config/gh et .config/gcloud. Deux PR ont comblé la brèche.
Lire la suite
Home Assistant quitte le cœur : ce qui arrive à votre installation
La plateforme de passerelle Home Assistant et ses outils ont quitté le cœur d'Hermes pour un plugin officiel du catalogue — avec une migration automatique qui l'installe par profil, sans toucher aux clés de configuration, variables d'environnement ni noms d'outils.
Lire la suite
Hermes a cessé de croire au dmarc=pass de l'expéditeur lui-même
Un en-tête Authentication-Results est du texte que l'expéditeur peut écrire. Hermes exige désormais un épinglage d'authserv-id et rejette le courrier tant qu'il n'est pas défini — un changement de comportement délibéré avec un correctif d'une ligne.
Lire la suite
La mémoire a un budget : pourquoi elle finit par cesser de se souvenir
La mémoire à long terme d'Hermes a une limite de caractères, et quand elle est pleine les écritures sont ignorées en silence. Le plugin hermes-dreaming ajoute une passe nocturne déterministe qui consigne ce qui compte et met à la retraite ce qui ne compte pas.
Lire la suite
Les plugins tiers sortent du processus principal : dans les coulisses de plugins.isolation: host
Un plugin que vous installiez partageait un seul processus Python avec chaque session, chaque secret et chaque clé en mémoire que vous possédez. Le nouveau plugins.isolation: host donne à chaque profile son propre processus hôte de plugins : aucun changement de code côté plugin, et une courte liste documentée de ce qui ne peut pas déménager.
Lire la suite
Votre agent a écrit dans votre vraie crontab à 2 h du matin : isoler HOME et cron
Un sandbox qui isole HERMES_HOME laisse quand même l'agent écrire dans le vrai répertoire home, la vraie crontab et le vrai bus utilisateur systemd. Trois tâches cron fantômes laissées par un seul run d'eval montrent quelles sorties une histoire d'isolation doit couvrir.
Lire la suite
Faire tourner Hermes dans Codex : une extension MCP communautaire
Éditer du code dans Codex pendant que Hermes exécute vos automatisations implique en général deux fenêtres et une idée perdue en route. Cette extension MCP communautaire intègre les chats, les profiles, le changement de modèle et l'ordonnanceur de Hermes directement dans Codex, les identifiants restant dans le processus bridge local.
Lire la suite
Pourquoi votre export /save perdait des tours — et le plafond derrière cela
La même session pouvait s'exporter entièrement en ligne de commande et se retrouver incomplète dans l'application de bureau, perdant des tours que la compaction sur place avait archivés ; une session très volumineuse pouvait en outre épuiser la mémoire. Le correctif unifie les trois surfaces sur un seul chemin de code et applique le plafond d'export propre à chaque profil.
Lire la suite
Pourquoi les embeds tiers dans l'application Desktop doivent être sandboxés
Comment Hermes isole les embeds X, Instagram et YouTube dans l'application desktop, un problème de sécurité déjà public et son correctif, et l'état des versions aujourd'hui.
Lire la suite
Trois outils dans un seul tool_call : ce n'est plus une erreur, Hermes découpe le lot
Quand un modèle regroupait trois outils MCP dans un seul tool_call, la règle imposant un seul outil local par appel le rejetait et consommait tout un aller-retour. Désormais l'agent découpe le lot en appels individuels avant l'enregistrement du tour.
Lire la suite
Annulé après 11 heures : pourquoi les prompts d'approbation d'Hermes gardent une échéance
Le changement qui faisait attendre indéfiniment vos prompts d'approbation a été annulé la nuit même de sa fusion — non par indécision, mais parce qu'il bloquait une session que personne ne peut venir débloquer. Voici la chronologie et ce qui s'applique réellement aujourd'hui.
Lire la suite
Un seul commit, trois échecs silencieux : la sauvegarde supprimait le mauvais fichier, le JSON était mal écrit, les guillemets aplatis
Un keep négatif supprime votre sauvegarde la plus récente, une écriture laisse passer un NaN, et replace_all aplatit les guillemets typographiques en ASCII — trois bugs qui renvoyaient tous un succès tout en faisant la mauvaise chose. La PR #130619 corrige les trois.
Lire la suite
Le prompt d'approbation qui disparaissait pendant la pause café vous attend désormais
Atteignez approvals.timeout et le prompt expirait, refusant la commande en silence — vous étiez simplement en réunion. PR #130167 garde les prompts du CLI, du TUI et du Desktop ouverts jusqu'à ce que vous répondiez ou interrompiez le tour, tandis que les plateformes de messagerie conservent leur délai de 300 secondes.
Lire la suite