v0.6.0

Hermes Agent v0.6.0 — La version Multi-Instance


Aperçu

v0.6.0 — La version Multi-Instance. Publiée le 30 mars 2026. 95 pull requests · 16 issues résolues · livrée en seulement 2 jours.

C’est la version qui a transformé Hermes Agent d’un assistant à session unique en un composant d’infrastructure multi-instance et scalable. La fonctionnalité phare — les Profils — vous permet d’exécuter plusieurs instances Hermes complètement isolées à partir d’une seule installation, chacune avec sa propre configuration, mémoire, sessions, compétences et service de passerelle. Associée au nouveau Mode Serveur MCP, au support de conteneur Docker et aux chaînes de fallback ordonnées de fournisseurs, la v0.6.0 est la première version d’Hermes prête pour les charges de travail en production.

Cette version marque également l’entrée d’Hermes sur le marché des entreprises chinoises avec des adaptateurs natifs pour Feishu/Lark et WeCom (WeChat Entreprise), ainsi que des améliorations majeures pour Telegram (mode webhook), Slack (OAuth multi-espace de travail) et six autres plateformes de messagerie.

Comme l’a noté The NextGen Tech Insider, cette version “transforme l’agent d’un assistant à session unique en un composant d’infrastructure scalable capable d’exécuter des charges de travail isolées avec des états de mémoire distincts sur du matériel partagé.”


Fonctionnalités Majeures

1. Profils — Hermes Multi-Instance

Exécutez plusieurs instances Hermes isolées à partir de la même installation. Chaque profil dispose de sa propre configuration, mémoire, sessions, compétences et service de passerelle — complètement isolés, sans interférence.

# Créer un nouveau profil
hermes profile create mon-agent-travail

# Lister tous les profils
hermes profile list

# Basculer vers un profil
hermes -p mon-agent-travail

# Exporter un profil pour partage/sauvegarde
hermes profile export mon-agent-travail > mon-agent-travail.tar.gz

# Importer sur une autre machine
hermes profile import mon-agent-travail.tar.gz

Propriétés clés :

  • Isolation par verrouillage de token — empêche deux profils d’utiliser le même identifiant de bot, avec des messages d’erreur clairs indiquant quel profil possède quel identifiant
  • Complétion Tab pour les noms de profil dans toutes les commandes CLI
  • Chemins d’affichage adaptés au profil — tous les chemins ~/.hermes affichés à l’utilisateur montrent le répertoire de profil correct
  • Imports paresseux empêchant les ImportError pendant hermes update lorsque les modules mettent en cache du bytecode obsolète

Cette architecture fait d’Hermes un outil d’infrastructure prêt pour la production : exécutez un agent de support client, un agent de revue de code et un agent de recherche simultanément à partir d’une seule installation, chacun avec une mémoire et des identifiants complètement séparés. Plus besoin de choisir entre les cas d’usage.

2. Mode Serveur MCP

Exposez les conversations, sessions et pièces jointes d’Hermes à tout client compatible MCP — Claude Desktop, Cursor, VS Code et plus encore.

# Démarrer le serveur MCP via stdio (pour Claude Desktop, etc.)
hermes mcp serve

# Démarrer le serveur MCP via HTTP streamable (pour les clients réseau)
hermes mcp serve --transport streamable-http --port 3000

Ce que les clients MCP peuvent faire avec Hermes :

  • Parcourir l’historique des conversations et lire les messages individuels
  • Rechercher à travers les sessions des sujets spécifiques ou des extraits de code
  • Gérer les pièces jointes (télécharger, uploader, lister)
  • Accéder au moteur de contexte complet qu’Hermes construit au fil du temps

Comme l’a résumé MurmurCast : “Le mode serveur MCP permet aux conversations et à l’historique d’Hermes de devenir accessibles depuis d’autres outils d’IA via un protocole standardisé.” C’est une intégration MCP bidirectionnelle — Hermes peut à la fois consommer des outils MCP de serveurs externes et servir son propre contexte à des clients MCP externes.

3. Conteneur Docker

Dockerfile officiel pour exécuter Hermes Agent dans des environnements conteneurisés. Prend en charge les modes CLI et passerelle.

# Construire le conteneur
docker build -t hermes-agent .

# Exécuter en mode CLI avec configuration montée en volume
docker run -it -v ~/.hermes:/root/.hermes hermes-agent

# Exécuter en mode passerelle
docker run -d -v ~/.hermes:/root/.hermes -p 8080:8080 hermes-agent hermes serve

Ferme #850 — l’une des fonctionnalités les plus anciennes et les plus demandées par la communauté.

4. Chaîne de Fallback Ordonnée de Fournisseurs

Configurez plusieurs fournisseurs d’inférence avec basculement automatique. Lorsque votre fournisseur principal retourne des erreurs ou est inaccessible, Hermes essaie automatiquement le fournisseur suivant dans la chaîne.

# hermes.config.yaml
provider:
  name: openai
  model: gpt-5
  fallback_providers:
    - name: anthropic
      model: claude-sonnet-4-20250514
    - name: openrouter
      model: google/gemini-2.5-pro

Ce que cela change : Avant la v0.6.0, une panne de fournisseur signifiait que votre agent restait silencieux. Maintenant, Hermes se dégrade gracieusement — l’utilisateur peut même ne pas remarquer que le basculement a eu lieu. Ceci, combiné à la correction de api_mode lors du changement de fournisseur (plus d’api_mode obsolète causant des erreurs 404 après le changement de fournisseur), rend la gestion des fournisseurs de niveau production.

Améliorations supplémentaires des fournisseurs :

  • Arrêt du fallback silencieux vers OpenRouter — lorsqu’aucun fournisseur n’est configuré, Hermes lève maintenant une erreur claire au lieu de router silencieusement vers OpenRouter
  • Modèles d’aperçu Gemini 3.1 ajoutés aux catalogues OpenRouter et Nous Portal
  • Messages conviviaux de limite de débit 429 avec compte à rebours Retry-After
  • Listes de modèles curatées préférées à la sonde API en direct lorsque la sonde retourne moins de modèles

5. Feishu/Lark & WeCom — Messagerie d’Entreprise Chinoise

Deux nouveaux adaptateurs de plateforme de messagerie de première classe :

Feishu/Lark (飞书) :

  • Abonnements aux événements, cartes de messages, chat de groupe
  • Support des images et pièces jointes
  • Callbacks de cartes interactives
  • Parité complète avec les plateformes existantes dans l’adaptateur de passerelle

WeCom / WeChat Entreprise (企业微信) :

  • Support des messages texte, image et vocaux
  • Chat de groupe avec vérification par callback
  • Gestion complète du cycle de vie des messages
# hermes.config.yaml — exemple Feishu
gateway:
  platforms:
    - platform: feishu
      app_id: cli_xxxxx
      app_secret: xxxxx
      encrypt_key: xxxxx
      verification_token: xxxxx

Ferme #1788.

6. OAuth Multi-Espace de Travail Slack

Connectez une seule passerelle Hermes à plusieurs espaces de travail Slack via un fichier de tokens OAuth. Chaque espace de travail reçoit son propre token de bot, résolu dynamiquement par événement entrant.

# slack_oauth_tokens.json — un fichier, plusieurs espaces de travail
{
  "workspaces": {
    "T01ABCDEF": "xoxb-...",
    "T02GHIJKL": "xoxb-..."
  }
}

Plus besoin d’exécuter des instances de passerelle séparées par espace de travail — une seule passerelle les gère tous.

7. Mode Webhook Telegram & Contrôles de Groupe

Mode webhook — une alternative au long-polling pour les déploiements en production :

# Exécuter l'adaptateur Telegram en mode webhook
# Temps de réponse plus rapides, meilleur derrière les proxys inverses
hermes serve --telegram-webhook-url https://votre-domaine.com/telegram/webhook

Contrôle des mentions de groupe — configurez exactement quand le bot répond dans les groupes :

gateway:
  platforms:
    - platform: telegram
      group_mention_policy: mentioned  # 'always' | 'mentioned' | motif regex

Également : gestion élégante des cibles de réponse supprimées — plus de plantages lorsque le message auquel on répondait a été supprimé (#3229).

8. Backend de Recherche Exa

Ajoutez Exa comme backend alternatif de recherche web et d’extraction de contenu aux côtés de Firecrawl et DuckDuckGo.

# Définir votre clé API Exa
export EXA_API_KEY=votre-clé-ici
# hermes.config.yaml
tools:
  web_search:
    preferred_backend: exa  # ou 'firecrawl', 'duckduckgo'

Exa offre des capacités de recherche sémantique qui complètent les backends existants, particulièrement utile pour les flux de travail d’agent intensifs en recherche.

9. Compétences & Identifiants sur Backends Distants

Montez les répertoires de compétences et les fichiers d’identifiants dans les conteneurs Modal et Docker, afin que les sessions de terminal distantes aient accès aux mêmes compétences et secrets que l’exécution locale.

# hermes.config.yaml
terminal:
  remote_backend: modal  # ou 'docker'
  mount_skills: true
  mount_credentials: true

Ferme #3665 et #3433.


Nouveaux Outils Intégrés & Compétences

Outil / Compétence Description
Exa Search Backend de recherche web sémantique et d’extraction de contenu
Découverte Dynamique d’Outils MCP Répond à notifications/tools/list_changed — détecte les nouveaux outils des serveurs MCP sans reconnexion
memento-flashcards Système de cartes mémoire à répétition espacée (nouvelle compétence)
songwriting-and-ai-music Écriture de chansons et prompts de génération musicale par IA (nouvelle compétence)
SiYuan Note Intégration avec l’application de notes SiYuan (nouvelle compétence)
Scrapling Compétence de web scraping utilisant la bibliothèque Scrapling (nouvelle compétence)
one-three-one-rule Compétence de cadre de communication (nouvelle compétence)
Boot-md hook Exemple de hook intégré pour exécuter un fichier BOOT.md au démarrage de la passerelle

Et le Système de Plugins a gagné :

  • hermes plugins enable/disable <name> — gérer l’état des plugins sans les supprimer
  • ctx.inject_message() — les plugins peuvent maintenant injecter des messages dans le flux de conversation au nom de l’utilisateur
  • Support auto-hébergé de Honcho — instances Honcho locales sans nécessiter de clé API

Mises à Jour des Plateformes de Messagerie

Discord

  • Réactions de traitement des messages — ajoute un emoji de réaction pendant le traitement, le retire une fois terminé (retour visuel dans les canaux)
  • DISCORD_IGNORE_NO_MENTION — ignore les messages qui @mentionnent d’autres utilisateurs/bots mais pas Hermes
  • Nettoyage du “thinking…” différé — supprime correctement l’indicateur “thinking…” après la fin des commandes slash

WhatsApp

  • Session aiohttp persistante — réutilise les connexions HTTP entre les requêtes
  • Résolution d’alias LID-téléphone — fait correspondre correctement les formats Linked ID et numéro de téléphone dans les listes autorisées
  • Sauter le préfixe de réponse en mode bot — formatage de message plus propre

Matrix

  • Messages vocaux natifs via MSC3245 — envoie des messages vocaux comme événements vocaux Matrix appropriés plutôt que comme pièces jointes

Mattermost

  • Comportement de mention configurable — répond aux messages sans nécessiter de @mention

Signal

  • Encoder les numéros de téléphone en URL et corriger le paramètre RPC de pièce jointe — corrige les échecs de livraison avec certains formats de numéro

Email

  • Fermer les connexions SMTP/IMAP en cas d’échec — empêche les fuites de connexion lors des scénarios d’erreur

Améliorations du Cœur de la Passerelle

  • Écritures atomiques de configuration — empêche la perte de données lors des plantages de la passerelle
  • Remplacements de variables d’environnement du canal d’accueil — remplacements de variables d’environnement appliqués de manière cohérente
  • Remplacer print() par logger — BasePlatformAdapter utilise maintenant une journalisation appropriée au lieu d’instructions print
  • Étiquettes de livraison Cron — résout les étiquettes de livraison lisibles par l’humain via le répertoire de canaux
  • Durcissement Cron [SILENT] — empêche les agents de préfixer les rapports avec [SILENT] pour supprimer la livraison
  • Livraison de médias en tâche de fond et corrections de timeout de téléchargement de vision

Améliorations CLI & UX

  • Longueur d’aperçu des outils configurable — affiche les chemins de fichiers complets par défaut au lieu de tronquer
  • Affichage du contexte de tokens des outils — la checklist hermes tools montre maintenant le coût estimé en tokens par ensemble d’outils
  • Support d’export de session vers stdout — exporte les sessions vers stdout avec - pour le piping
  • Timeouts d’approbation configurables — définit combien de temps les invites d’approbation de commandes dangereuses attendent avant de refuser automatiquement
  • Nettoyer pycache pendant la mise à jour — empêche les ImportError de bytecode obsolète après hermes update
  • Installation automatique de matrix-nio pendant hermes setup lorsque Matrix est sélectionné
  • Les outils à initialisation paresseuse s’affichent en jaune dans la bannière au lieu de rouge — réduisant les fausses alarmes sur les outils “manquants”
  • Diverses corrections TTY et de barre d’état pour une expérience de terminal plus fluide

Sécurité & Fiabilité

Durcissement de la Sécurité

  • Détection renforcée des commandes dangereuses — correspondance de motifs élargie pour les commandes shell risquées et protection des chemins sensibles (/etc/, /boot/, docker.sock)
  • Vérifications d’écriture sur chemins sensibles dans le système d’approbation — détecte les écritures dans les fichiers de configuration système via les outils de fichiers
  • Expansion de la censure des secrets — couvre maintenant les clés API ElevenLabs, Tavily et Exa
  • Rejet des fichiers non-images pour la vision — rejette les fichiers non-images passés à l’analyse de vision pour empêcher la divulgation d’informations
  • Blocage du path traversal de catégorie — empêche les attaques ../ dans les noms de catégories de compétences

Fiabilité

  • Écritures atomiques de config.yaml — empêche la perte de données lors des plantages de la passerelle
  • Nettoyer pycache lors de la mise à jour — empêche les ImportError de bytecode obsolète
  • Le timeout du terminal préserve la sortie partielle — plus de perte de sortie de commande lors du timeout
  • Restaurer terminalbench2 de la corruption par patch — fichier récupéré endommagé par la censure des secrets de l’outil de patch

Corrections de Bugs Notables

  • api_mode obsolète lors du changement de fournisseur — changer de fournisseur via hermes model efface maintenant correctement l’api_mode obsolète, corrigeant les erreurs 404 pour les fournisseurs avec des endpoints compatibles Anthropic (#3685)
  • Cibles de réponse supprimées Telegram — gère élégamment les réponses aux messages supprimés au lieu de planter (#3229)
  • Persistance du “thinking…” Discord — nettoie correctement les indicateurs de réponse différée (#3595)
  • Alias LID-téléphone WhatsApp — corrige les échecs de correspondance de liste autorisée avec le format Linked ID
  • Encodage URL des numéros de téléphone Signal — corrige les échecs de livraison avec certains formats
  • Fuite de connexion Email — ferme correctement les connexions SMTP/IMAP en cas d’erreur
  • KeyError ‘name’ du schéma d’outil — garantit que le champ name est toujours présent dans les définitions d’outils (#3729)
  • _safe_print ValueError — plus de plantages du thread de la passerelle sur stdout fermé (#3534)

Mise à Niveau

hermes update

Pour les nouvelles installations, consultez le guide d’installation.


Changelog complet sur GitHub

← Hermes Agent Changelog