Hermes Agent v0.9.0 — La Release Omniprésente
Aperçu
v0.9.0 — La Release Omniprésente. Publiée le 13 avril 2026. Depuis la v0.8.0 : 487 commits · 269 PRs fusionnées · 167 tickets résolus · 493 fichiers modifiés · 63 281 insertions · 24 contributeurs.
Cette release tient en un mot : être partout. Hermes est sorti du terminal et de quelques plateformes de chat pour plonger dans l’écosystème Apple (iMessage), l’écosystème chinois (WeChat), et même le mobile (Android/Termux). Un tout nouveau tableau de bord web local vous permet de tout gérer sans éditer de fichiers de configuration. Le Mode Rapide supprime les temps d’attente pour les flux de travail sensibles à la latence. La surveillance des processus en arrière-plan vous libère de l’enfer du polling. Et 11 correctifs de renforcement de sécurité garantissent que tout cela fonctionne vite et en toute sécurité.
Fonctionnalités Majeures
1. Tableau de Bord Web Local — Gérez Tout Depuis Votre Navigateur
Hermes est désormais livré avec un tableau de bord de gestion accessible via navigateur, destiné à un usage local. Configurez vos paramètres, surveillez vos sessions, parcourez les compétences et gérez votre gateway — le tout depuis une interface web épurée, sans fichiers de configuration, sans terminal. La manière la plus simple de démarrer avec Hermes.
Le tableau de bord est construit sur FastAPI + Uvicorn, accessible par défaut sur 127.0.0.1:9119, avec l’état du gateway en temps réel, l’historique des sessions et des analyses d’utilisation.
2. Mode Rapide (/fast) — Pipeline d’Inférence Prioritaire
Tapez /fast dans le chat pour faire passer votre session par des files de traitement prioritaires pour les modèles OpenAI et Anthropic, réduisant considérablement la latence d’inférence. Les modèles pris en charge incluent GPT-5.4, Codex, Claude et plus encore.
# Activer le mode rapide
/fast
# Tous les appels LLM suivants passent par des files prioritaires avec une latence bien plus faible
# Tapez /fast à nouveau pour désactiver
Propulsé par le traitement prioritaire d’OpenAI et le niveau rapide d’Anthropic, étendu à tous les modèles éligibles. (#6875, #6960, #7037)
3. iMessage via BlueBubbles — Hermes Entre dans l’Écosystème Apple
Intégration complète d’iMessage via BlueBubbles. Enregistrement automatique des webhooks, intégration à l’assistant d’installation et résilience aux crashs — Hermes peut désormais envoyer et recevoir des iMessages depuis votre Mac.
# Sélectionnez BlueBubbles dans l'assistant d'installation et suivez le guide d'appairage
hermes setup
4. WeChat (Weixin) & Mode Callback WeCom — L’Écosystème de Messagerie Chinois au Complet
WeChat (Weixin) : Support natif de WeChat via l’API iLink Bot, avec curseur de streaming, téléversement de médias et gestion des liens Markdown.
Mode Callback WeCom : Un adaptateur en mode callback pour les applications d’entreprise auto-hébergées, avec persistance d’état atomique.
Hermes couvre désormais l’écosystème de messagerie chinois de bout en bout — du WeChat personnel au WeCom professionnel. (#7166, #7943)
5. Support Termux / Android — Hermes Passe au Mobile
Exécutez Hermes nativement sur Android via Termux. Chemins d’installation adaptés, TUI optimisée pour les écrans mobiles, support du backend vocal, et la commande /image fonctionne directement sur l’appareil.
# Installer dans Termux avec le bundle termux spécialisé
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash -s -- --bundle termux
(#6834)
6. Surveillance des Processus en Arrière-Plan (watch_patterns) — Soyez Notifié, Arrêtez de Poller
Définissez des motifs regex à surveiller dans la sortie des processus en arrière-plan et recevez des notifications en temps réel lorsqu’ils correspondent. Surveillez les erreurs, attendez des événements spécifiques (« listening on port 3000 »), ou suivez les logs de compilation — fini le polling.
# hermes.config.yaml
watch_patterns:
- pattern: "Error:.*"
notify: true
- pattern: "listening on port \\d+"
notify: true
label: "Service prêt"
(#7635)
7. xAI (Grok) & Xiaomi MiMo — Support Fournisseur Natif
Deux fournisseurs majeurs de modèles bénéficient d’un support de première classe :
- xAI (Grok) : Accès direct à l’API, catalogue de modèles, intégration à l’assistant d’installation
- Xiaomi MiMo : Assistant d’installation, catalogue de modèles, récupération automatique des réponses vides
Ainsi que Qwen OAuth avec support de requêtes portail. (#7372, #7855)
8. Moteur de Contexte Pluggable — Personnalisez Ce Que l’Agent Voit
La gestion du contexte devient un emplacement pluggable via hermes plugins. Branchez des moteurs de contexte personnalisés qui contrôlent exactement ce que l’agent voit à chaque tour — filtrage, résumé ou injection de contexte spécifique au domaine.
# Installer un plugin de moteur de contexte personnalisé
hermes plugins install my-context-engine
(#7464)
9. Support Proxy Unifié — Fonctionne Derrière les Pare-feux
Proxy SOCKS, DISCORD_PROXY et détection automatique du proxy système sur toutes les plateformes du gateway. Hermes fonctionne derrière les pare-feux d’entreprise — macOS détecte automatiquement les paramètres de proxy système, Windows/Linux nécessitent juste une configuration manuelle. (#6814)
10. Renforcement de Sécurité Complet — 11 Correctifs Critiques
La campagne de renforcement de sécurité la plus profonde de l’histoire d’Hermes :
| Vulnérabilité | Correctif | PR |
|---|---|---|
| RCE par SMS | Validation de signature des webhooks Twilio | #7933 |
| Injection Shell | Échappement des chemins d’écriture dans le sandbox | #7940 |
| Injection d’Argument Git | Protection contre le path traversal et l’injection d’arguments | #7944 |
| SSRF | Protection contre les redirections lors du téléversement d’images Slack | #7151 |
| Path Traversal | Renforcement des frontières dans le gestionnaire de points de contrôle et le gestionnaire de compétences | #7156 |
| Protection de Bind API | Exiger API_SERVER_KEY pour les liaisons non-loopback |
#7455 |
| Auth du Bouton d’Approbation | Exiger l’authentification pour la poursuite de session | #6930 |
11. hermes backup & hermes import — Sauvegarde et Restauration en Un Clic
Sauvegarde et restauration complètes de votre configuration Hermes, sessions, compétences et mémoire. Migrez entre machines ou faites un instantané avant des changements majeurs — une seule commande suffit.
# Sauvegarder tout
hermes backup
# Restaurer sur une nouvelle machine
hermes import ./backup-2026-04-13.tar.gz
(#7997)
12. 16 Plateformes Supportées — Véritablement Partout
À partir de cette release, Hermes supporte 16 plateformes de messagerie :
Telegram, Discord, Slack, WhatsApp, Signal, Matrix, iMessage (nouveau), WeChat (nouveau), WeCom, Email, SMS, DingTalk, Feishu, Mattermost, Home Assistant, Webhooks
13. Boîte à Outils de Débogage — /debug & hermes debug share
Nouvelles commandes de débogage : la commande slash /debug disponible sur toutes les plateformes pour des diagnostics rapides, ainsi que hermes debug share pour téléverser un rapport de débogage complet vers un pastebin afin de faciliter le partage lors du dépannage. (#8681)
# Diagnostics rapides dans la CLI
/debug
# Exporter et partager un rapport de débogage
hermes debug share
Agent Principal & Architecture
Support des Fournisseurs & Modèles
- Fournisseur natif xAI (Grok) avec accès direct à l’API et catalogue de modèles
- Xiaomi MiMo comme fournisseur de première classe — assistant d’installation, catalogue de modèles, récupération des réponses vides
- Fournisseur Qwen OAuth avec support de requêtes portail
- Mode Rapide — bascule
/fastpour le traitement prioritaire OpenAI + niveau rapide Anthropic - Classification structurée des erreurs API pour des décisions de basculement intelligentes
- Capture des en-têtes de limite de débit affichée dans
/usage - Nom du modèle du serveur API dérivé du nom du profil
- Fournisseurs personnalisés désormais inclus dans les listes et la résolution de
/model - Activation du fournisseur de secours en cas de réponses vides répétées, avec statut visible pour l’utilisateur
- Tags de variantes OpenRouter (
:free,:extended,:fast) préservés lors du changement de modèle - TTL d’épuisement des credentials réduit de 24 heures à 1 heure
- Renforcement du cycle de vie des credentials OAuth — clés de pool obsolètes, synchronisation auth.json, correction de race condition Codex CLI
- Récupération des réponses vides pour les modèles de raisonnement (MiMo, Qwen, GLM)
- Tailles de contexte MiniMax, garde de réflexion, corrections d’endpoints
- Détection automatique de l’endpoint Z.AI par sonde et cache
Boucle d’Agent & Conversation
- Emplacement de moteur de contexte pluggable via
hermes plugins - Surveillance des processus en arrière-plan —
watch_patternspour des alertes en temps réel sur la sortie - Compression de contexte améliorée — limites plus élevées, suivi des outils, avertissements de dégradation, protection du budget de tokens en fin de contexte
/compress <focus>— compression guidée avec un sujet central- Avertissements de pression de contexte par paliers avec déduplication dans le gateway
- Avertissement d’inactivité progressif avant l’escalade du délai d’expiration
- Empêcher l’agent de s’arrêter en pleine tâche — seuil de compression minimum, refonte du budget, suivi d’activité
- Propagation de l’activité enfant vers le parent lors de
delegate_task - Détection des appels d’outils de streaming tronqués avant exécution
- Nouvelle tentative sur réponse vide (3 essais avec relance)
- Backoff de streaming adaptatif + nettoyage du curseur pour éviter la troncature des messages
- La compression utilise le modèle de session en direct plutôt que la configuration persistante obsolète
- Suppression des balises
<thought>des réponses Gemma 4 - Empêcher
<think>dans la prose de supprimer la sortie de réponse - Journalisation de diagnostic de sortie de tour dans la boucle d’agent
- Portée du signal d’interruption d’outil par thread pour éviter les fuites inter-sessions
Mémoire & Sessions
- Plugin de mémoire Hindsight — parité fonctionnelle, assistant d’installation, améliorations de configuration (@nicoloboschi)
- Honcho —
initOnSessionStartoptionnel pour le mode outils (@Kathie-yu) - Rendre les enfants orphelins au lieu de les supprimer en cascade lors du nettoyage/suppression
- La commande doctor vérifie uniquement le fournisseur de mémoire actif
Plateformes de Messagerie (Gateway)
Nouvelles Plateformes
- BlueBubbles (iMessage) — adaptateur complet avec enregistrement automatique des webhooks, assistant d’installation et résilience aux crashs
- WeChat (Weixin) — support natif via l’API iLink Bot avec streaming, téléversement de médias, liens Markdown
- Mode Callback WeCom — adaptateur pour application d’entreprise auto-hébergée avec persistance d’état atomique
Améliorations des Plateformes
Discord :
- Configuration de liste blanche des salons autorisés
- Héritage du sujet des forums dans les sessions de fils de discussion
- Paramètre
DISCORD_REPLY_TO_MODE - Acceptation des pièces jointes
.log, augmentation de la limite de taille des documents - Découplage de la synchronisation des commandes slash de la disponibilité
Slack :
- Améliorations Slack consolidées — 7 PRs communautaires fusionnées en une seule
- Gestion des événements de cycle de vie des fils de discussion de l’assistant
Matrix :
- Migration de matrix-nio vers mautrix-python
- Stockage de chiffrement SQLite remplaçant pickle (corrige le déchiffrement E2EE)
- Vérification de la clé de récupération de signature croisée pour la migration E2EE
- Fils de discussion par mention DM + événements de groupe pour Feishu
Cœur du Gateway
- Support proxy unifié — SOCKS, DISCORD_PROXY, multi-plateforme avec détection automatique sur macOS
- Regroupement de texte entrant pour Discord, Matrix, WeCom + délai adaptatif
- Affichage naturel des messages assistant en cours de tour dans les plateformes de chat
- Gateway compatible WSL avec détection intelligente de systemd
- Toutes les plateformes manquantes ajoutées à l’assistant d’installation
- Remplacements de
tool_progresspar plateforme - Intervalle configurable pour les notifications « toujours en cours »
/modelpersiste d’un message à l’autre/usageaffiche les limites de débit, le coût et les détails des tokens entre les tours- Évacuer le travail en cours avant le redémarrage
- Ne pas expulser l’agent en cache lors d’exécutions échouées — empêche la boucle de redémarrage MCP
- Remplacer l’état de session
os.environparcontextvars - Dériver les plateformes de répertoire de canaux depuis l’enum plutôt qu’une liste codée en dur
- Valider les téléchargements d’images avant la mise en cache (inter-plateforme)
- Distribution de webhooks inter-plateforme pour toutes les plateformes
- Support de livraison
thread_idpour les cron Discord - Intégration de bot Feishu par QR code
- Statut du gateway limité au profil actif
- Empêcher les notifications de processus en arrière-plan de déclencher de fausses demandes d’appairage
CLI & Expérience Utilisateur
CLI Interactive
- Support Termux / Android — chemins d’installation adaptés, TUI, voix,
/image - Sélecteur modal natif
/modelpour la sélection fournisseur → modèle - Minuteur écoulé par outil en direct restauré dans le spinner TUI
- Historique de progression des outils empilés dans la TUI
- Conseils aléatoires au démarrage d’une nouvelle session (CLI + gateway, 279 conseils)
hermes dump— résumé de configuration prêt à copier-coller pour le débogagehermes backup/hermes import— sauvegarde et restauration complètes de la configuration- Indice d’environnement WSL dans le prompt système
- UX de création de profil — fichier SOUL.md d’amorçage + avertissement de credentials
- Détection de sudo adaptée au shell, support des mots de passe vides
- Nettoyage de stdin après les menus curses/terminal pour éviter les fuites de séquences d’échappement
- Gestion des stdin cassés au démarrage de prompt_toolkit
Installation & Configuration
- Configuration de la verbosité d’affichage par plateforme
- Journalisation séparée par composant avec contexte de session et filtrage
network.force_ipv4pour corriger les problèmes de timeout IPv6- Standardisation des espaces dans les messages et du formatage JSON
- Rebranding OpenClaw → Hermes lors de la migration
- config.yaml prioritaire sur les variables d’env pour les paramètres auxiliaires
- Renforcement des flux d’installation des fournisseurs + rafraîchissement en direct du catalogue OpenRouter
- Normalisation de l’ordre de l’effort de raisonnement sur toutes les surfaces
- Suppression de la variable d’env obsolète
LLM_MODEL+ migration pour nettoyer les entrées périmées - Suppression de la commande slash
/prompt— source d’erreurs par expansion de préfixe - Variable d’env
HERMES_HOME_MODEpour remplacer les permissions - Repli vers le modèle par défaut quand la configuration du modèle est vide
- Avertissement quand le contexte du modèle de compression est trop petit
Système d’Outils
Environnements & Exécution
- Couche d’exécution unifiée spawn-par-appel pour les environnements
- Synchronisation de fichiers unifiée avec suivi mtime, suppression et état transactionnel
- Environnements sandbox persistants survivent entre les tours
- Synchronisation de fichiers par lot via pipe tar pour les backends SSH/Modal
- Daytona — téléversement groupé, pont de configuration, plafond de disque silencieux
- Plafond de timeout au premier plan pour éviter les blocages de session
- Protection contre les valeurs de commande invalides
MCP
- Support de
hermes mcp add --envet--preset - Combiner
contentetstructuredContentquand les deux sont présents - Corrections de résolution de conflits de noms d’outils MCP
Navigateur
- Renforcement du navigateur — suppression de code mort, mise en cache, performances de défilement, sécurité, thread safety
/browser connectavec lancement automatique utilise un répertoire de profil Chrome dédié- Nettoyage des sessions navigateur orphelines au démarrage
Voix & Vision
- Fournisseur TTS Voxtral (Mistral AI)
- Support de la vitesse TTS pour Edge TTS, OpenAI TTS, MiniMax
- Redimensionnement automatique de la vision pour les images surdimensionnées, limite portée à 20 Mo, nouvelle tentative en cas d’échec
- Correction de non-correspondance fournisseur-modèle STT (whisper-1 vs faster-whisper)
Autres Outils
- Commande
hermes dumppour le résumé de configuration - Le stockage TODO applique l’unicité des IDs lors des opérations de remplacement
- Lister tous les toolsets disponibles dans la description du schéma
delegate_task - Serveur API : progression des outils en tant qu’événement SSE personnalisé pour éviter la corruption du modèle
- Serveur API : partage d’un conteneur Docker unique entre toutes les conversations
Écosystème de Compétences
- Index centralisé des compétences + cache arborescent — élimine les échecs de limite de débit à l’installation
- Instructions de chargement des compétences plus agressives dans le prompt système (v3)
- Compétence Google Workspace migrée vers le backend GWS CLI
- Compétence de stratégies de divergence créative (@SHL0MS)
- Idéation créative — génération de projets pilotée par contraintes (@SHL0MS)
- Parallélisation de la navigation/recherche des compétences pour éviter les blocages
- Lecture du nom depuis le frontmatter de SKILL.md dans skills_sync
Sécurité & Fiabilité
Renforcement de la Sécurité
- Validation de signature des webhooks Twilio — correctif RCE par SMS
- Neutralisation des injections shell dans
_write_to_sandboxvia échappement de chemin - Protection contre l’injection d’arguments Git et le path traversal dans le gestionnaire de points de contrôle
- Contournement de redirection SSRF dans les téléversements d’images Slack + helpers de cache base.py
- Path traversal, barrière de credentials, lacunes DANGEROUS_PATTERNS
- Protection de bind API — exiger
API_SERVER_KEYpour les liaisons non-loopback - Autorisation du bouton d’approbation — exiger l’authentification pour la poursuite de session
- Renforcement des frontières de chemin dans les opérations du gestionnaire de compétences
- Validation d’origine des URL de webhook DingTalk/API, rejet des injections d’en-têtes
Fiabilité
- Diagnostics d’erreur contextuels pour les réponses API invalides
- Empêcher les erreurs de format 400 de déclencher une boucle de compression sur Codex
- Ne pas réduire de moitié context_length en cas d’erreurs output-cap-too-large
- Récupérer le client principal en cas d’erreurs de transport OpenAI
- Rotation du pool de credentials sur les erreurs 400 classées comme facturation
- Augmentation automatique du timeout de lecture de flux pour les fournisseurs LLM locaux
- Repli vers les certificats par défaut quand le chemin du bundle CA n’existe pas
- Désambiguïsation des motifs de limite d’utilisation dans le classificateur d’erreurs
- Renforcement du timeout des scripts cron et de la récupération des fournisseurs
- Détection d’interruption du gateway résiliente aux échecs de tâches de surveillance
- Empêcher la réinitialisation automatique indésirable de session après des redémarrages gracieux du gateway
- Empêcher le spam de notifications de mise à jour en double dans le watcher du gateway
- Déduplication des éléments de raisonnement dans l’entrée de l’API Responses
Infrastructure
- Image Docker multi-architecture — amd64 + arm64
- Docker s’exécute en tant qu’utilisateur non-root avec virtualenv
- Utilisation de
uvpour la résolution des dépendances Docker - CLI Nix adaptée aux conteneurs — routage automatique vers le conteneur géré
- Modèle de permission à état partagé Nix pour les utilisateurs de CLI interactive
- Isolation HOME par profil pour les sous-processus
- Chemins de profil corrigés dans Docker — les profils vont dans le volume monté
- Chemin du gateway en conteneur Docker renforcé
- Activation de stdout sans tampon pour les logs Docker en direct
- Installation de procps dans l’image Docker
- Clone git superficiel pour une installation plus rapide
hermes updateréinitialise toujours en cas de conflit de stash- Écriture du code de sortie de mise à jour avant le redémarrage du gateway (race condition cgroup kill)
- Nix :
setupSecretsoptionnel, dépendance d’exécution tirith - L’arrêt launchd utilise
bootoutpour queKeepAlivene relance pas
Corrections de Bugs Notables
- Correction :
/modelne persistait pas d’un message à l’autre dans le gateway - Correction : les remplacements de modèle du gateway limités à la session étaient ignorés
- Correction : la longueur de contexte du modèle de compaction ignorait la configuration (3 tickets liés)
- Correction : la fenêtre de contexte d’OpenCode.ai était résolue à 128K au lieu de 1M
- Correction : recherche dans le stockage d’authentification de secours pour Codex
- Correction : notifications de complétion en double quand le processus est tué
- Correction : le thread démon de l’agent empêche les processus CLI orphelins à la fermeture d’onglet
- Correction : pièce jointe d’image obsolète lors du collage de texte et de la saisie vocale
- Correction : l’ensemencement de session de fil DM causait une contamination inter-fils
- Correction : la migration OpenClaw affiche un aperçu avant exécution
- Correction : les erreurs d’authentification étaient mal classées comme réessayables
- Correction : en-tête Copilot-Integration-Id manquant
- Correction : capacités de session ACP
- Correction : utilisation de PromptResponse ACP depuis les champs de niveau supérieur
- Correction : plusieurs tests échouant/instables sur main
- Correction : noms de fichiers des marqueurs de sauvegarde
- Correction :
NoneTypedans la vérification fast_mode - Correction : imports manquants dans uninstall.py
Documentation
- Guide du développeur d’adaptateur de plateforme + documentation WeCom Callback
- Guide de dépannage Cron
- Détection automatique du timeout de streaming pour les LLM locaux
- Documentation sur l’application forcée des outils élargie
- Instructions d’appairage BlueBubbles
- Section de support proxy Telegram
- Référence CLI
hermes dumpethermes logs - Référence de configuration
tool_progress_overrides - Documentation d’avertissement sur la longueur de contexte du modèle de compression
Mise à Niveau
hermes update
Pour les nouvelles installations, consultez le guide d’installation.
← Hermes Agent Changelog