v0.20.2

Hermes Agent v0.20.2


Aperçu

v0.20.2 — Le patch des connexions. Publié le 16 août 2026. ~397 PR fusionnées · 967 commits · 1,279 fichiers modifiés (+128,522 / −7,622) depuis v0.20.1.

Trois jours après v0.20.1, Hermes livre le changement structurel dont l’application de bureau avait besoin depuis des années : le modèle de connexion cesse d’être « une connexion globale avec des overrides par profile » pour devenir un véritable registre. Le bureau peut désormais contenir un nombre illimité de sources d’agents nommées — runtime local, gateways distants, Hermes Cloud, hôtes SSH — tandis que MCP gagne des installations hermes:// en un clic et des vérifications de santé en arrière-plan, et que la CLI se souvient enfin de quelle session appartient à quel terminal.

Il s’agit d’un patch release, les notes officielles sont donc brèves et la documentation complète et organisée arrivera avec v0.21.0. Cette page couvre les parties les plus précieuses de cette fenêtre.


Points forts

1. Registre multi-connexions du bureau

Settings → Connections est désormais un véritable registre de sources d’agents nommées : locales, gateways distants (LAN/Tailscale/public), Hermes Cloud et hôtes SSH, le tout persisté au même endroit avec des libellés uniques insensibles à la casse. Le routage du pool de backends est indexé par (connexion, profile), et un roster d’agents multi-sources + SDK apparaît dans le bureau. La découvrabilité suit : une pastille « Connect another Hermes gateway… » dans la barre de profiles et une entrée ⌘K pour Settings → Connections.

2. Installations MCP en un clic via les liens profonds hermes://

Les fournisseurs MCP et leur documentation peuvent proposer un bouton « Add to Hermes » via hermes://mcp/install?name=NAME&config=B64. Le lien est strictement validé (nom ^[A-Za-z0-9._-]{1,64}$, config JSON base64url) et affiche une boîte de dialogue de confirmation explicite avant que quoi que ce soit ne soit écrit dans la config.

3. Vérifications de santé MCP en arrière-plan

À la connexion du gateway puis toutes les 30 minutes, le bureau analyse les serveurs MCP HTTP/SSE activés du profile actif. Un serveur qui passe en état needs-auth (ou en erreur) déclenche un avertissement dans l’application — « GitHub MCP needs re-authentication » — avec une action Sign in qui crée un lien direct vers le panneau de configuration du serveur et le fait clignoter. Les serveurs stdio sont exclus car chaque sonde représente un vrai spawn.

4. Breadcrumbs de terminal : -c par terminal

Un simple hermes -c / --continue reprend désormais la session appartenant à ce terminal (tty, panneau tmux, fenêtre kitty, panneau wezterm, panneau Zellij, Windows Terminal) au lieu de la session la plus récente à l’échelle globale. Les breadcrumbs vivent sous $HERMES_HOME/terminal-sessions/, sont écrits de manière atomique et expirent au bout de 30 jours.

5. chat -c échoue bruyamment + --create-if-missing

hermes chat -c "<title>" sans correspondance affiche désormais sur stderr et se termine avec le code 1 (fini le no-op silencieux). Le nouveau flag --create-if-missing crée une session nommée toute neuve et reprend dedans — une primitive déterministe « envoyer vers ce fil nommé, en le créant si besoin » pour les scripts et les plugins.

6. L’upscaling d’images est opt-in

Le changement du 8 août qui enchaînait le Clarity Upscaler après chaque génération FAL/Krea de moins de 2 MP (dégradant visiblement le rendu du texte/CJK de GPT Image 2, la typographie d’Ideogram et les visages photoréalistes) est annulé : l’upscaling est désactivé par défaut et ne s’exécute qu’avec un upscale: true explicite.

7. Chaque outil est interruptible

L’exécuteur séquentiel d’outils interroge désormais le flag d’interruption chaque seconde et abandonne un outil en cours d’exécution dans un délai de grâce de 3 secondes ; image_generate abandonne en outre son attente FAL en cours de manière coopérative. Ctrl+C met fin aux outils au lieu de retenir le tour en otage pendant ~40 s.

Améliorations

  • Protocole clavier Kitty rétabli (CSI >1u) avec une table d’alias de touches étendues complétée de 294 entrées — les utilisateurs de kitty récupèrent Ctrl+C et des combinaisons fonctionnelles.
  • /status n’associe plus un modèle à un provider/une URL de base d’une autre route de fallback ; les routes de modèles persistées restent cohérentes.
  • Les clés API Bedrock sont livrées via un provider nommé (custom:bedrock-mantle + key_env) au lieu d’être déposées sous la forme api_key="no-key-required".
  • skills.disabled et agent.disabled_toolsets respectent les formes de chaînes JSON-array (["a","b"]) enregistrées via hermes config set.
  • Les tours streamés already_sent terminent leur tick /loop (marqueur LOOP_COMPLETE + passage du juge) au lieu d’être reprogrammés sans fin.
  • Les connexions multi-gateways sont démantelées et recyclées proprement à la suppression/modification, avec un plafond de pool.
  • Les clés de détection automatique des providers se résolvent via le scope du profile ; les chemins Bedrock et d’authentification respectent les scopes de secrets par profile.

Corrections

  • Windows : sondes de balayage de processus bornées pour qu’un balayage WMI lent ne bloque plus hermes update ; chemins de scripts cron contenant des NUL rejetés avant tout appel Path ; les unités systemd hermes-serve redémarrent aux côtés des gateways.
  • Les gateways Windows par tâches planifiées sans pidfile sont épargnés par le ramasseur d’orphelins.
  • L’invariant du catalogue image_gen fige les valeurs par défaut d’upscaling désactivé.
  • Les appels d’outils séquentiels sont désormais liés à timeouts.tools.sequential_call ; la paire déduplication des appels d’outils / seuil de raisonnement qui causait des régressions a été annulée et retravaillée.
  • TUI : les Entrée modifiés et les LF nus insèrent des sauts de ligne dans le composer, sur les terminaux IDE et macOS.

Mise à jour

hermes update

Après la mise à jour, lancez hermes doctor pour vérifier l’installation, redémarrez le gateway (hermes gateway) pour que les changements de plateforme prennent effet, et ouvrez Settings → Connections pour explorer le registre multi-connexions.

← Hermes Agent Changelog