Hermes Agent Lab

Blog Hermes Agent — Guides Pratiques et Analyses

Derniers articles et perspectives.

Se connecter une fois, et les applications connectées suivent : le handoff du palier gratuit passe proprement

Vous avez connecté Gmail et Notion sur le palier gratuit, puis créé un compte — et toutes les connexions sont restées sur l'ancienne identité, vous avez donc dû les reconnecter une par une. Les PR #143234, #143235 et #143248 bouclent cette faille : chaque connexion Nous est désormais un simple device login, le palier gratuit remet ses applications connectées au compte qui le remplace, et la page Connectors cesse de créer une identité simplement parce qu'on l'ouvre.

Lire la suite

La demi-mise à jour Windows : hermes.exe disparaît, le tampon de version reste

Sous Windows, `hermes update` peut se terminer sur une seule ligne ⚠ que l'on fait défiler sans la voir — et seule la moitié de la mise à jour est réellement arrivée. L'exe `hermes.exe` en cours d'exécution ne peut pas être supprimé en pleine mise à jour, donc l'installation dégrade vers `hermes.cmd`, l'écriture du tampon est sautée, et `install-stamp.json` nomme toujours l'ancienne version. Les PR #143291 et #143339 réparent les deux moitiés : mettre à la retraite l'exe en cours en le renommant, puis forger à nouveau un vrai exe après un repin de Python.

Lire la suite

Les outils MCP ont désormais une étiquette de prix : déclarez le coût de chaque appel, plafonnez ce qu'une conversation peut dépenser

Trois nouvelles clés — tool_costs, spend_limit et cost_unit — permettent à un serveur MCP de déclarer ce que chaque outil dépense. L'invite d'approbation nomme le coût et le total de la conversation, un appel qui franchirait le budget demande une validation même sur un serveur en trust: full, et les contextes sans personne pour répondre le refusent purement et simplement.

Lire la suite

Quand un serveur MCP vous appelle : le client d'événements expérimental et sa livraison par webhook

Activez events: true et un serveur MCP peut pousser un événement dès que quelque chose bouge en amont, chaque événement déclenchant une exécution de l'agent. Voici comment fonctionnent les trois outils d'événements, à quoi ressemble un abonnement en dessous, et les cinq façons dont il peut tomber en silence.

Lire la suite

Hermes embarque son propre gestionnaire de paquets : ce que pm doctor, repair et gc corrigent vraiment

hermes pm gère les binaires d'outils et les environnements de dépendances Python — pas l'application elle-même, ça c'est hermes update. Voici ce que font doctor, status, install, repair et gc, pourquoi tout paquet épinglé doit avoir trois jours, et à quoi sert le nouveau pm update --skip-target.

Lire la suite

hermes update a arrêté les gateways sans jamais les relancer : le .git que git lui-même refuse de lire

Quand le checkout contient un .git que git refuse de lire — un HEAD vide, ou un pointeur gitdir vers nulle part — hermes update met les gateways en pause, affiche un vague Failed to fetch, et s'en va. Ce correctif libère l'enregistrement de pause, nomme le dommage, et vous donne la commande d'installeur qui répare sur place.

Lire la suite

v0.22.4 a touché six choses — et a enfin supprimé les pastilles de suggestion au-dessus du composeur

Le correctif v0.22.4 du 21 octobre, c'est du nettoyage pur : les pastilles de suggestion au-dessus du composeur ont disparu, les plugins qui n'installent rien sautent la demande de consentement, WhatsApp peut être réappairé après une déconnexion, et le catalogue de plugins accueille six entrées, dont bubblewrap, Singularity et mcp-serve. Le même jour est sortie la v0.22.3, un rollup d'environ 620 PR.

Lire la suite

Une réponse en chinois devenue titre de session : le garde-fou de longueur ne compte que les espaces

Un modèle qui ignore « renvoie uniquement un titre » est censé être rattrapé par un garde-fou qui détecte les sorties en forme de réponse. Ce garde-fou compte les mots avec split(), et une phrase chinoise vaut un mot : une réponse de 76 caractères passe sans problème.

Lire la suite

Reprendre une session compactée affiche tout en double : dans le summary carrier

La compaction en place enveloppe la queue protégée d'une conversation dans un summary carrier qui hérite du message_uid d'origine mais pas de son texte. La couche d'affichage rendait les deux, d'où une réponse apparue deux fois.

Lire la suite

Les backends terminal de plugin ne restent plus coincés dans /root : default_cwd et supports_streams

Deux attributs de fournisseur optionnels permettent à un sandbox de plugin de choisir son propre répertoire de départ, et à Bot Desktop, computer_use et le navigateur de suivre le terminal jusque dans ce répertoire.

Lire la suite

Une sortie qui s'évapore : passé 1024 fichiers ouverts, les appels terminal de Hermes reviennent vides

Des processus Desktop et gateway de longue durée se mettent soudain à renvoyer une sortie vide avec un code de sortie 0. La cause est le plafond de 1024 de `select()` ; le correctif passe aux sélecteurs et évite un piège de `poll()` sous macOS.

Lire la suite

Votre plugin peut enfin remarquer qu'une session se fait compacter ou supprimer

Hermes ajoute deux hooks pour plugins : post_compaction laisse les plugins de mémoire réinjecter le contexte qu'un résumé a avalé, et on_session_delete les laisse nettoyer après la suppression ou l'archivage d'une session. Avec du code qui fonctionne.

Lire la suite

Une seule commande pour tout mettre à jour : hermes plugins update affiche d'abord la liste

Lancez hermes plugins update sans nom de plugin : Hermes audite chaque plugin installé, nomme ceux qu'il peut faire avancer et pourquoi il ignore les autres, demande une fois, puis les met tous à jour. Avec --yes, les codes de sortie, l'usage en cron et les règles de skip.

Lire la suite

Vos DM Telegram s'entassent dans un seul fil ? Donnez un topic à chaque nouveau message

Le mode topic de Telegram découpe un DM en fils séparés, mais tout ce que vous tapez dans le chat racine atterrit encore dans le dernier topic utilisé. Activez dm_topic_auto_transfer et chaque message du DM racine ouvre un topic neuf et une session neuve. Config complète, replis et pièges.

Lire la suite

Plus de la moitié de ce state.db, c'étaient des copies de messages déjà remplacés par le prune

Un prune proactif modifie quelques messages, puis réécrit tout le transcript actif. Un profil a fini avec 48 737 copies obsolètes — 55 % de ses lignes. La primitive de commit réécrit désormais les lignes sur place.

Lire la suite

Un fichier laissé par votre agent dans Docker peut s'exécuter en root sur votre laptop

Les montages nosuid et le cap-drop ne bornent que ce qui tourne à l'intérieur du conteneur. Un fichier qui atterrit sur l'hôte conserve ses bits setuid, setgid et ses file capabilities. Hermes les retire maintenant côté hôte, y compris pour les sandbox de longue durée.

Lire la suite