Hermes Agent : le guide de référence pratique (2026)
# Un guide de référence pratique sur Hermes Agent, l’agent d’IA open source auto-amélioré de Nous Research : authentification des fournisseurs et OAuth, fichiers de configuration, système de compétences et utilisation comme passerelle de messagerie multiplateforme.
TL;DR : Hermes Agent est un agent d’IA open source auto-améliorant de Nous Research. Il fonctionne comme une CLI et comme une gateway de messagerie multiplateforme, stocke une identité durable et une mémoire persistante sur disque, agrège des skills qui s’améliorent à l’usage, et fonctionne avec tout fournisseur LLM compatible OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Qwen Cloud, Hugging Face, Google, xAI/SuperGrok, ou votre propre endpoint auto-hébergé.1219 Depuis la v0.14.0 (16 mai 2026), Hermes ajoute SuperGrok OAuth avec le contexte grok-4.3 de 1 M, un proxy local compatible OpenAI pour les fournisseurs OAuth (
hermes proxy),x_searchnatif, la prise en charge de l’installation via PyPI (dépréciée depuis la v0.19.0 — l’installateur en une ligne est la méthode prise en charge), des installations de dépendances à la demande, 28 plateformes de messagerie avec LINE et SimpleX Chat,/handoff, des diagnostics sémantiques LSP après les écritures,video_generateunifié,computer_usevia cua-driver pour les fournisseurs autres que Anthropic, une bêta Windows native, et la résolution de 12 P0 / 50 P1.19 La partie la plus difficile pour la plupart des nouveaux utilisateurs est l’authentification des fournisseurs : Hermes prend en charge environ 20 fournisseurs de premier plan ainsi que des endpoints personnalisés, et trois chemins d’authentification distincts (clé API dans.env, OAuth viahermes model, ou endpoint personnalisé dansconfig.yaml). Le modèle d’authentification est la première chose à apprendre — tout le reste dépend du fournisseur résolu.
Hermes Agent fonctionne comme un runtime d’agent complet, et non comme un wrapper de chat. Il lit votre système de fichiers, exécute des commandes dans des backends sandboxés, explore le web, lance des sous-agents, exécute des tâches cron planifiées, communique avec Telegram/Discord/Slack/WhatsApp/Signal/e-mail depuis un unique processus gateway, et crée ses propres skills à partir de son expérience.1 La CLI est une interface terminal construite au-dessus d’une boucle de conversation dans run_agent.py ; la gateway est un processus de longue durée qui achemine les messages des plateformes de messagerie via cette même boucle de conversation.3
La différence entre une utilisation occasionnelle et experte de Hermes repose sur cinq systèmes. Maîtrisez-les et Hermes devient un multiplicateur de force :
- Résolution des fournisseurs : comment les flux d’authentification se mappent aux appels API
- Hiérarchie de configuration :
config.yaml+.env+auth.json+SOUL.md+AGENTS.md - Système d’outils + toolset : ce que l’agent peut faire, contrôlé selon la plateforme
- Système de skills : mémoire procédurale que l’agent crée et fait évoluer
- Gateway + cron + profiles : exécuter Hermes là où vous vivez, pas seulement là où vous êtes
Points clés
- L’authentification des fournisseurs suit trois chemins, pas un seul. Clé API dans
.env, OAuth viahermes model/hermes auth, ou endpoint personnalisé dansconfig.yaml. Choisissez le chemin correspondant à votre fournisseur, pas celui qui vous semble familier. - Changer de fournisseur se fait avec une seule commande.
hermes modelvous guide de manière interactive à travers tous les fournisseurs pris en charge, y compris les connexions OAuth, et/model provider:modeleffectue le changement en cours de session sans perdre l’historique.2 - Deux fichiers constituent la surface de configuration modifiable par l’utilisateur.
~/.hermes/config.yamlcontient les paramètres et~/.hermes/.envcontient les secrets.auth.json,SOUL.md,MEMORY.mdetskills/sont gérés directement par Hermes — vous pouvez modifierSOUL.mdà la main, mais le reste est manipulé par l’agent lui-même.4 - Hermes est le successeur d’OpenClaw. Si vous migrez,
hermes claw migrateimporte automatiquement plus de 30 catégories d’état.5 - La qualité de service dépend de votre modèle auxiliaire. La vision, le résumé web, la compression et la vidange de mémoire utilisent tous un LLM auxiliaire distinct. Par défaut, il s’agit de Gemini Flash via détection automatique (OpenRouter → Nous → Codex) — si aucun d’entre eux n’est configuré, ces fonctionnalités se dégradent silencieusement jusqu’à ce que vous dirigiez les emplacements auxiliaires vers votre fournisseur principal.4
Ce que change la v0.14
La v0.14.0 vise moins une fonctionnalité phare que la réduction des frictions d’installation tout en élargissant les environnements où Hermes peut fonctionner.19 Les principaux changements opérationnels :
- L’installation et le démarrage sont plus légers.
pip install hermes-agentfonctionne depuis PyPI, les adaptateurs lourds s’installent à la demande lors de leur première utilisation, et le chemin de lancement diffère suffisamment de travail pour réduire le démarrage à froid d’environ 19 secondes. (La v0.19.0 a depuis déprécié les installations via pip — consultez Installation.) - Les abonnements peuvent devenir des endpoints API locaux.
hermes proxytransforme les fournisseurs basés sur OAuth, tels que Claude Pro, ChatGPT Pro et SuperGrok, en endpoint local compatible OpenAI pour des outils comme Codex, Aider, Cline et Continue. - La portée de la gateway s’étend. LINE et SimpleX Chat portent le nombre de plateformes à 22, Microsoft Teams est connecté de bout en bout, le remplissage de l’historique Discord est activé par défaut, et les invites
clarifyde Telegram/Discord utilisent désormais des boutons natifs. - La vérification au moment de l’écriture s’améliore. Après les modifications, Hermes peut afficher des résumés par tour des mutations de fichiers ainsi que des diagnostics sémantiques du serveur de langage avant le tour suivant, ce qui le rapproche d’un travail d’agent fondé sur des preuves.
- Les outils de bureau et multimédias s’élargissent.
computer_usefonctionne via cua-driver pour les fournisseurs autres que Anthropic,video_generateest unifié derrière des backends enfichables, etvision_analyzeenvoie les pixels bruts aux modèles qui peuvent réellement voir.
Chaque section ci-dessous s’appuie sur la documentation amont disponible sur hermes-agent.nousresearch.com/docs et sur l’arborescence source à l’adresse github.com/NousResearch/hermes-agent. Chaque affirmation factuelle comporte une note de bas de page pointant vers la page amont précise dont elle provient.
Choisissez votre parcours
| Ce dont vous avez besoin | Rendez-vous ici |
|---|---|
| Installer Hermes | Installation — installateur en une ligne ou étapes manuelles |
| Vous connecter à un fournisseur | Authentification et fournisseurs — la section pour laquelle vous êtes venu |
| Changer de modèle en cours de session | La commande hermes auth et Endpoints personnalisés et auto-hébergés pour la syntaxe de /model |
| Exécuter un LLM local | Endpoints personnalisés et auto-hébergés — Ollama, vLLM, SGLang, llama.cpp, LM Studio |
| Connecter des plateformes de messagerie | Gateway de messagerie — Telegram, Discord, Slack, WhatsApp, Signal, Google Chat, LINE, SimpleX Chat (22 au total) |
| Écrire ou installer un skill | Système de skills — divulgation progressive + hub de skills |
| Référence approfondie pour chaque commande CLI | Poursuivez votre lecture — et accédez directement à Commandes CLI |
Fonctionnement de Hermes : le modèle mental
Hermes s’articule autour d’une boucle de conversation unique que n’importe quel point d’entrée peut invoquer. Ces points d’entrée sont la CLI (cli.py), le gateway de messagerie (gateway/run.py), l’adaptateur ACP pour l’intégration aux éditeurs, l’exécuteur de traitements par lots et un serveur API.3 Tous finissent par appeler AIAgent.run_conversation() dans run_agent.py, qui :
- Construit le prompt système à partir de
SOUL.md,MEMORY.md,USER.md, des skills, des fichiers de contexte et des instructions relatives aux outils viaprompt_builder.py3 - Détermine le fournisseur d’exécution via
runtime_provider.py— c’est à cette étape que sont choisis votre méthode d’authentification, l’URL de base et le mode API3 - Appelle le fournisseur à l’aide de l’un des trois modes API :
chat_completions,codex_responsesouanthropic_messages3 - Achemine tous les appels d’outils renvoyés via
model_tools.pyet le registre central des outils (tools/registry.py)3 - Répète la boucle jusqu’à ce que le modèle produise une réponse finale, puis enregistre la session dans SQLite avec FTS53
Comprendre cette boucle est essentiel, car chaque fonctionnalité — personnalités, mémoire, skills, compression, fallback — se rattache à l’une de ces étapes. Lorsque vous consultez une clé de configuration en vous demandant à quoi elle sert, la réponse est généralement : « c’est un réglage qui agit sur l’étape 1, 2, 3 ou 4 de la boucle ci-dessus ».
Un cœur indépendant de la plateforme. Une seule classe AIAgent dessert la CLI, le gateway, ACP, les traitements par lots et le serveur API. Les différences propres aux plateformes résident dans le point d’entrée, et non dans l’agent lui-même.3 Voilà pourquoi les mêmes commandes slash fonctionnent dans le terminal et dans Telegram : elles sont acheminées depuis un COMMAND_REGISTRY commun dans hermes_cli/commands.py.6
La structure des dossiers constitue le système. Hermes stocke tout sous ~/.hermes/ (ou $HERMES_HOME pour les profiles autres que celui par défaut) :4
~/.hermes/
├── config.yaml # Settings (model, terminal, TTS, compression, etc.)
├── .env # API keys and secrets
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
Chaque fichier ci-dessus remplit un rôle précis ; aucun ne fait double emploi. Si vous cherchez à savoir « où Hermes stocke X », la réponse se trouve parmi eux.
Nouveautés de la v0.20.0 (The Herald Release)
Hermes Agent v0.20.0 (tag v2026.8.3, 3 août 2026) est la version fonctionnelle actuelle ; les v0.20.1 (13 août) et v0.20.2 (16 août) sont des tags de stabilisation qui s’y ajoutent, tandis que la v0.20.3 (tag v2026.8.16.2, publiée le 17 août) et la v0.20.4 (tag v2026.8.18, 18 août) poursuivent le rythme des versions cumulatives avec leurs propres fenêtres riches en fonctionnalités — consultez la sous-section ci-dessous. La période écoulée depuis la v0.19.0 représente environ 3 650 commits, 1 400 PR fusionnées et 1 200 issues clôturées, grâce à plus de 650 contributeurs.24
Trois changements rendent caduques les instructions données par les versions précédentes de ce guide. Lisez-les avant toute autre chose :
- Node 26 est désormais obligatoire. Le programme d’installation impose
NODE_VERSION="26"et refuse les runtimes antérieurs en affichant « Node.js … is too old (Hermes requires Node >=26) ». Les programmes d’installation,healetupgradeappliquent tous cette exigence. Notez que la page d’installation du site de documentation indique encore Node v22 ; le script d’installation et les notes de version, plus récents, font autorité.24 - pip et Homebrew ont été abandonnés, pas simplement dépréciés. Texte exact : « brew + pip/PyPI wheel channels retired (shell installer / Docker / Nix are the supported channels) ». Si votre installation repose encore sur pip ou brew, elle ne reçoit plus de nouvelles versions.24
- La limite par défaut des itérations d’appel d’outils est passée de 90 à 500. Les longues exécutions autonomes ne se heurtent plus à une barrière artificielle, et tous les seuils de pression budgétaire ci-dessous sont calculés selon ce nouveau plafond. Par défaut,
read_filelit également 2 000 lignes au lieu de 500.24
Les autres nouveautés de la version :
- Voix conversationnelle. TTS en streaming avec interruption vocale et mots d’activation traités sur l’appareil.24
- A2A v1.0. Un plugin de protocole agent à agent, qui répond à la demande de longue date formulée dans l’issue nº 514.24
- Webhooks sortants signés. Auparavant,
hermes webhookne gérait que les flux entrants ; la v0.20.0 ajoute des webhooks de cycle de vie sortants signés par HMAC pour les événements de session, de tour et d’outil.24 - Citations étayées. Un nouveau skill doté d’un mode de vérification des faits.24
- Vague de nouveautés pour les utilisateurs avancés de la CLI.
!commandexécute instantanément une commande shell sans consommer un tour de modèle ;/initanalyse le projet et crée ou met à jour unAGENTS.md;/diffaffiche les modifications indexées, l’ensemble des modifications ou celles de la session depuis n’importe quelle interface ;/contextdétaille ce qui occupe la fenêtre de contexte ;/focuspropose une vue à sortie réduite permettant de récupérer les lignes masquées ; Ctrl+S met de côté un prompt en cours de rédaction.hermes import-agentmigre une configuration de Claude Code ou de la CLI Codex en une seule commande.24 - Nouveautés liées à la gestion des secrets. Une source de secrets fondée sur une commande auxiliaire et compatible avec chaque coffre-fort, la rotation des tokens en une seule commande avec des erreurs de démarrage exploitables, un cache chiffré de secours facultatif pour Bitwarden, des clés injectées par le coffre-fort et limitées au dossier d’accueil de chaque profile, ainsi que la parité des SecretRef
${env:VAR}entreconfig.yamlet la configuration MCP. Le modèle d’authentification à trois voies présenté ci-dessous reste inchangé.24 - Démarrage à chaud plus rapide. Le démarrage à froid de
hermes -west passé d’environ 14 s à 1,8 s.24 - Le bureau est devenu une plateforme à part entière. Des artefacts avec des cartes versionnées et un aperçu interactif isolé, un SDK de plugins avec Kanban comme premier plugin de bureau, un raccourci clavier global de saisie rapide, plusieurs fenêtres d’interface graphique, le mode de backend distant SSH et l’authentification native conforme à la RFC 8252.24
Les versions cumulatives v0.20.3 et v0.20.4 (17–18 août)
Après la v0.20.0, le projet adopte une cadence élevée de versions cumulatives taguées, et les deux plus récentes ne se limitent pas à la stabilisation. Toutes deux précisent que « full curated release notes for this window will ship with v0.21.0 » : les résumés ci-dessous proviennent donc des descriptions de fenêtre propres à ces versions, et non d’une liste de fonctionnalités éditorialisée.23
v0.20.3 (environ 250 commits et 125 PR depuis la v0.20.2) :
- Migration vers le SDK MCP 2.x, avec prise en charge du protocole sans état du 28 juillet 2026. Hermes adopte la génération actuelle du SDK MCP et prend en charge la révision sans état du protocole.23
- Bot Mode est fourni sous forme de plugin intégré (
hermes-bots), qui embarque le protocole principal de collaboration entre coéquipiers.23 - Un plugin de fournisseur CommandCode rejoint le catalogue des fournisseurs.23
- Contrats d’exécution Cua Driver 0.20 pour l’utilisation de l’ordinateur, ainsi qu’un renforcement de la gestion du runtime Python dans les sous-processus (isolation de PYTHONHOME/PYTHONPATH).23
- Fiabilité : autoréparation du planificateur cron (récupération après EMFILE, rapprochement des attributions obsolètes, réarmement des tâches bloquées), correctifs contre la perte de données lors du transfert de sessions, autoréparation de la connexion au gateway distant depuis le bureau et vague de portages dans l’écosystème (analyse de sécurité à l’installation des plugins,
/worktree, conservation des modifications manuelles avec/rollback, lecture des fichiers UTF-16).23
v0.20.4 (environ 146 commits et 74 PR depuis la v0.20.3) :
- La surface vitrée de l’application de bureau : travail sur le verre mat et la translucidité, avec un sélecteur de givre et une présélection pour macOS.23
- Une barre latérale à onglets SESSIONS|BOTS, permettant de masquer ou d’afficher chaque bot, ainsi que des correctifs pour les conversations de groupe de Bot Mode (tours prolongés des membres, rendu Markdown, routage entre machines).23
- Analyse consultative NVIDIA SkillEvaluator Tier 1 lors de l’installation des skills — des contrôles de licence et de sécurité s’exécutent lorsque vous installez un skill.23
- Renforcement de l’envoi de médias par cron (délai d’expiration configurable, pièces jointes pour les exécutions manuelles, signalement des déclenchements manqués), correctifs de SessionDB concernant le thread de la boucle d’événements et les conflits d’accès, transparence de
hermes updateau sujet des branches mises en attente et notifications natives du système d’exploitation pour Kanban.23
La procédure de mise à jour reste inchangée : hermes update depuis une installation existante, ou le programme d’installation shell pour une nouvelle installation.23
Nouveautés de v0.19.0 (la version Quicksilver)
Hermes Agent v0.19.0 (tag v2026.7.20, 20 juillet 2026) tire son nom de la vitesse propre au dieu messager : la colonne vertébrale de cette version est sa réactivité brute, avec une réduction d’environ 80 % du délai avant le premier token au premier tour sur toutes les plateformes. Autour de ce cœur se trouvent la facturation dans le terminal, des sources de secrets via gestionnaire de mots de passe, les approbations intelligentes par défaut, des sous-agents observables et une livraison des réponses résistante aux crashs. La période depuis v0.18.0 est la plus importante du projet à ce jour : environ 2 245 commits, environ 1 065 PR fusionnées, environ 3 300 issues clôturées et plus de 450 contributeurs de la communauté.25
- Environ 80 % plus rapide jusqu’au premier token, partout. Le délai soumission→envoi à froid est passé d’environ 4,3 s à environ 0,9 s dans le CLI, le gateway, le TUI, l’application desktop et cron — la détection des capacités Discord a été retirée du chemin critique, le test Ollama est ignoré pour les providers connus comme non-Ollama, et le travail bloquant a été supprimé de l’initialisation de l’agent. La latence perçue a également fait l’objet d’une amélioration : les modèles de raisonnement diffusent désormais leur réflexion en direct par défaut (
display.show_reasoningest activé), et la boîte de réponse s’affiche token par token plutôt que ligne par ligne.25 - Vague de rendu desktop et TUI. L’application desktop a bénéficié d’une optimisation de vitesse d’environ 20 PR : 14× moins de CPU dans le séparateur Markdown en streaming grâce à l’analyse incrémentale des blocs, des diffs virtualisés dans le panneau de révision, un changement de session fluide sur les longues transcriptions, et plus aucun nouveau rendu de la barre latérale ou des lignes d’outils à chaque token. Le TUI affiche désormais le Markdown diffusé progressivement, bloc par bloc.25
- Les installations pip et Homebrew sont dépréciées. Les deux chemins ont été signalés comme installations « legacy non prises en charge », avec une suppression prévue. Cette suppression a depuis eu lieu dans v0.20.0 — les canaux brew et les wheels pip/PyPI sont retirés, ne laissant que l’installateur shell, Docker et Nix parmi les canaux pris en charge.2524
- Les secrets peuvent provenir de votre gestionnaire de mots de passe. Une nouvelle interface
SecretSourceextensible récupère les secrets depuis Bitwarden et 1Password (référencesop://) au chargement, avec plusieurs coffres activés simultanément, une priorité déterministe, des avertissements de conflit et la provenance de chaque variable — les clés API n’ont plus besoin de se trouver dans un.enven texte brut. Les futurs providers de coffres s’ajoutent sous forme de plugins.25 - Les approbations intelligentes sont désormais activées par défaut. Lorsque Hermes souhaite exécuter une commande signalée, un évaluateur LLM indépendant l’examine au lieu de vous demander une confirmation pour chacune — et chaque verdict ne couvre que cette commande précise. Des règles de refus définies par l’utilisateur bloquent les commandes correspondantes, même en mode YOLO,
/deny <reason>transmet la raison de votre refus afin que l’agent corrige sa trajectoire, et l’action d’approbationpre_tool_calldu plugin (réintroduite avec des clés de règle) soumet un appel d’outil à une validation humaine.25 - Facturation dans le terminal :
/subscriptionet/topup. Gérez votre formule Nous Portal sans quitter le terminal — consultez votre formule et votre quota restant, prévisualisez précisément le coût d’une mise à niveau ou la date d’effet d’une rétrogradation, puis appliquez-la avec possibilité d’annulation. L’application desktop gagne un onglet de paramètres de facturation correspondant.25 - Observez le travail des sous-agents ; ne perdez jamais une réponse terminée. Les envois
delegate_taskrenvoient des fichiers de transcription en direct que vous pouvez suivre avectail -fdès le lancement des sous-agents — chaque appel d’outil, résultat et réponse diffusée, avec un journal lisible par humain pour chaque enfant. Les finalisations de délégation en arrière-plan persistent après les redémarrages, et les réponses finales du gateway sont consignées dans un registre d’obligations de livraison dansstate.db, puis renvoyées au prochain démarrage si le gateway s’arrête pendant l’envoi. L’option de configurationmax_async_childrenest dépréciée au profit de plafonds de concurrence unifiés pour la délégation.25 - Un gateway, plusieurs profiles. Un seul gateway multiplexé partageant un token de bot peut router des guilds, channels ou threads spécifiques vers différents profiles — chacun avec une configuration, des skills, une mémoire et des secrets entièrement isolés — avec une surcharge
GATEWAY_MULTIPLEX_PROFILES. L’index de routage a été déplacé dansstate.db;sessions.jsonest désormais un miroir legacy facultatif.25 - Vague de providers et de modèles. Fireworks AI arrive avec une prise en charge de premier plan (estimation des coûts, 2e position dans le sélecteur de provider), rejoint par DeepInfra et Upstage Solar. Les catalogues ajoutent GPT-5.6 (Sol/Terra/Luna + Pro, reliés de bout en bout), grok-4.5 (GA), kimi-k3 (kimi-k2.x retiré) et Claude Sonnet 5 entièrement intégré. Un indicateur
enabled: falsepar provider et la configurationexcluded_providersretirent les providers inutilisés des sélecteurs et de la résolution/model.25 - L’effort de raisonnement devient un réglage. De nouveaux niveaux d’effort
maxetultraarrivent sur toutes les surfaces, avec des surcharges par modèle dans la configuration, un effort par slot dans les préréglages MoA (les conseillers réfléchissent intensément, le synthétiseur reste rapide), un effort par tâche pour les modèles auxiliaires et/reasoning, limité à la session, dans le CLI.25 - Surface CLI et MCP.
hermes sessions exportécrit aux formats Markdown, Quarto, HTML, prompt-only et trace Hugging Face, avec un nettoyage--redactfacultatif ;/model --oncefournit une surcharge de modèle pour un seul tour ; les invocations de slash-skill se cumulent (/skill-a /skill-b do XYZ) ;--safe-modefacilite le dépannage ;hermes config get/unsetcomplètent la gestion de la configuration ;hermes servedevient un véritable backend sans interface ; et les outils MCP adoptent la convention de nommagemcp__server__tool.25
Si vous passez de v0.18.x, deux changements méritent votre attention avant tout le reste : une installation pip ou Homebrew avertit désormais qu’elle est une installation legacy non prise en charge (migrez vers l’installateur en une ligne), et max_async_children est déprécié au profit des plafonds de concurrence unifiés pour la délégation. Tout le reste est additif — les principales raisons de mettre à niveau sont la réduction d’environ 80 % de la latence au premier tour, les approbations intelligentes et le registre de livraison qui rend les réponses terminées résistantes aux crashs.
Nouveautés de v0.18.0 (la version Judgment)
Hermes Agent v0.18.0 (tag v2026.7.1, 1er juillet 2026) tire son nom du jugement : l’agent vérifie son propre travail au lieu de déclarer sa réussite, et le raisonnement d’ensemble que vous pouvez réellement examiner. Cette version clôt également l’intégralité du backlog P0/P1 — environ 692 éléments de plus haute priorité résolus en douze jours.22
- Mixture-of-Agents comme modèle de premier plan. MoA est désormais sélectionnable comme n’importe quel autre modèle dans toutes les interfaces, et le raisonnement d’ensemble est visible : la sortie complète de chaque modèle de référence s’affiche dans son propre bloc étiqueté avec diffusion de la réponse en direct — vous pouvez observer l’ensemble réfléchir au lieu de recevoir une réponse fusionnée opaque.22
- Contrats de finalisation pour
/goal. L’agent vérifie son propre travail en exécutant les vérifications du projet avant de signaler un objectif comme terminé, au lieu de simplement déclarer sa réussite — un jugement appliqué à lui-même.22 /learn— décrivez n’importe quoi pour en faire une skill. Transformez un workflow en skill réutilisable en le décrivant ; les skills générées respectent automatiquement les conventions CONTRIBUTING.md du dépôt.22- Chronologie
/journey. Un historique visuel de la mémoire et des skills au fil du temps, avec édition, ainsi qu’un graphe de mémoire dans l’application desktop.22 - Éventail de sous-agents en arrière-plan. Déléguez plusieurs tâches qui s’exécutent simultanément sans bloquer la conversation — le sous-agent unique en arrière-plan de v0.17.0 devient une flotte.22
- Projects desktop. Des Projects de code de premier plan avec un modèle d’organisation project/repo/lane.22
- Gateway avec réduction à zéro. Les gateways peuvent devenir inactifs lorsqu’ils sont au repos et coordonner les vidages pour des déploiements sans interruption — important pour toute personne exécutant Hermes comme service toujours actif.22
- Prise en charge de Google Vertex AI. Accès à Gemini via des comptes de service GCP avec actualisation automatique des tokens OAuth2, qui rejoint le catalogue de providers.22
- Commande d’éditeur
/prompt. Ouvre$EDITORpour rédiger des prompts sur plusieurs lignes au lieu de lutter avec la ligne de saisie.22
Si vous passez de v0.17.x, rien ici ne casse le CLI. Les principales raisons de mettre à niveau sont les contrats de finalisation (des objectifs qui se vérifient eux-mêmes), MoA de premier plan avec des ensembles inspectables, et /learn pour capturer des skills.
Nouveautés de v0.17.0 (la version Reach)
Hermes Agent v0.17.0 (tag v2026.6.19, 19 juin 2026) tire son nom de l’étendue que l’agent couvre désormais — nouveaux canaux de messagerie, nouveaux fournisseurs de modèles et contrôle plus approfondi du bureau et du dashboard. Elle complète v0.16.x ; la surface CLI reste inchangée.21
- Nouveaux canaux de messagerie. iMessage fonctionne désormais sans relais Mac via Photon Spectrum (code d’appareil OAuth,
hermes photon login) ; le WhatsApp Business Cloud API est un adaptateur Meta officiel qui remplace l’exigence d’un processus bridge ; SimpleX gagne les groupes, les pièces jointes natives, le traitement par lots de texte et l’acceptation automatique ; et Raft rejoint le projet en tant que plugin de plateforme inclus, avec une conception de canal de réveil garantissant la confidentialité par contrat.21 - Nouveaux modèles et fournisseurs. Le catalogue ajoute
z-ai/glm-5.2(contexte de 1 M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultraetgrok-composer-2.5-fast(le modèle de Cursor via xAI OAuth, contexte de 200 k). La valeur par défaut de xAI devientgrok-build-0.1, et les modèles adaptatifs Anthropic suivent désormais le contrat de réflexion moderne (ils n’envoient jamais de champreasoning).21 - Bureau et dashboard. Le bureau ajoute des sous-agents en arrière-plan avec un streaming en direct « watch-windows » de l’activité déléguée (
delegate_task(background=true)), un sélecteur de modèle Composer, des raccourcis clavier reconfigurables, des notifications OS natives, des brouillons de compositeur par fil, des thèmes VS Code Marketplace, ainsi qu’une interface en japonais et en chinois traditionnel. Le dashboard ajoute un générateur de profile complet (modèle/skills/MCPs sans modifierconfig.yaml), un sélecteur global de profile, un Skills Hub remanié avec analyse de sécurité, des Automation Blueprints (modèles paramétrables pour les formulaires, commandes slash, conversations et documents), ainsi qu’une connexion sécurisée qui renvoie 401 derrière la passerelle OAuth.21 - Skills et outils.
image_generatepeut désormais modifier et transformer une image source, et non seulement en créer une à partir de rien, chez tous les fournisseurs d’images pris en charge ; l’outilmemoryreçoit un tableauoperationspour les ajouts/remplacements/suppressions atomiques par lots en un seul appel ; un nouveau skillsimplify-codeexécute en parallèle une passe de revue et de nettoyage par trois agents, contrôlée par un niveau de risque de type Chesterton’s Fence ; et le booléenwrite_approvalremplace le paramètre ternairewrite_mode.21 - Architecture. Les sous-agents en arrière-plan renvoient immédiatement un handle et réinjectent leur résultat sous forme de nouveau tour ; un gestionnaire d’élicitation MCP permet une confirmation au milieu d’un appel d’outil, et les outils MCP qui se connectent tardivement sont exposés entre les tours (sans risque pour le cache) ; cron devient un CronScheduler enfichable avec un fournisseur de cron géré Chronos ; et un nouveau périmètre Managed (
/etc/hermes) permet à un administrateur d’épingler une configuration immuable pour les utilisateurs, en parallèle d’un relais Gateway-Gateway pour les topologies à plusieurs gateways.21 - Nouvelles commandes.
/version,/billing(facturation interactive dans le terminal),hermes photon login(authentification iMessage) ethermes curator run --consolidate— la consolidation est désormais facultative, de sorte que la curation habituelle en arrière-plan ne consomme aucun token.21 - Sécurité. v0.17.0 corrige un contournement de liste de refus d’échappement shell, échoue de manière sûre lorsque des modules d’approbation ou des adaptateurs gateway de stratégie propre sont absents, assainit l’environnement des sous-processus de scripts de tâches cron, masque les secrets dans les dumps de débogage des requêtes, examine les configurations stdio MCP à la recherche de motifs d’exfiltration et met à niveau urllib3 et PyJWT pour corriger des CVE.21
Si vous effectuez une mise à niveau depuis v0.16.x, rien ici ne casse la CLI ; il s’agit de nouveaux canaux, modèles et surfaces autour du même agent. Les adaptateurs iMessage sans relais et WhatsApp officiel, ainsi que le périmètre Managed destiné aux administrateurs, sont les principales raisons de procéder à la mise à niveau.
Nouveautés de v0.16.0 (la version Surface)
Hermes Agent v0.16.0 (tag v2026.6.5, 5 juin 2026) tire son nom des nouvelles surfaces qu’elle place devant l’agent centré sur la CLI. Le point essentiel est que Hermes ne se limite plus au terminal.20
- Application de bureau native. Hermes Desktop est une nouvelle application Electron pour macOS, Linux et Windows, avec installation en un clic et mise à jour automatique depuis l’application. Elle vous offre une fenêtre de chat en streaming, le glisser-déposer de fichiers, le collage d’images depuis le presse-papiers, une palette
Cmd+K, une liste de sessions avec archivage et recherche, ainsi qu’un sélecteur de modèle dans la barre d’état. Elle peut se connecter à un gateway Hermes distant via un WebSocket sécurisé, avec authentification via OAuth ou nom d’utilisateur/mot de passe, des hôtes distants par profile et des sessions simultanées sur plusieurs profiles reliées par des références@sessioninter-profiles. L’interface de bureau inclut également une traduction complète en chinois simplifié (简体中文) grâce à une couche i18n typée (display.language; l’anglais reste la langue par défaut).20 - Panneau d’administration dans le navigateur. Le dashboard web local passe d’une vue d’état à un panneau d’administration complet : catalogue MCP avec bascules d’activation/désactivation, gestion des identifiants, création de webhooks et de hooks, configuration de la mémoire, contrôles du gateway, ainsi qu’une page System avec vérification avant mise à jour et Debug Share en un clic. Une nouvelle page Channels configure depuis le navigateur chaque plateforme de messagerie du gateway (Telegram, Discord, Slack et les autres). L’authentification est désormais enfichable : connexion par nom d’utilisateur/mot de passe, fournisseur OIDC générique auto-hébergé,
hermes dashboard registerpour un client OAuth auto-hébergé et rotation de sessions par refresh token.20 - Nouvelles CLI et commandes slash.
/undo [N]restaure les N derniers tours utilisateur avec préremplissage et suppression réversible, et fonctionne dans la CLI, le TUI et sur les plateformes de messagerie. Une interface par défaut configurable (clioutui) arrive avec le remplacement--cli; le TUI gagne une commande/modelunifiée et un panneau Sessions.hermes portalest un alias lisible par les humains pour le flux d’intégration Nous Portal, avec de nouveaux parcours initiaux Quick Setup ou Full Setup, et deux diagnostics font leur apparition :hermes prompt-sizeethermes sessions optimize.20 - Nouveaux modèles et fournisseurs. Le sélecteur ajoute
deepseek-v4-flash,MiniMax-M3(contexte de 1 M, fournisseurs MiniMax natifs),qwen3.7-plus(Nous + OpenRouter) etgemini-3.5-flash(Gemini OAuth + clé API). Un fournisseur xAI Grok OAuth de premier plan rejoint le lanceur de bureau, le sélecteur de modèles devient flou sur toutes les surfaces, les fournisseurs à plusieurs endpoints sont regroupés sur une seule ligne et l’actualisation du catalogue passe d’un rythme quotidien à horaire.20 - Skills allégés et divulgation progressive. Le jeu de skills par défaut abandonne les skills redondants ou obsolètes (Spotify devient un plugin natif, Linear passe à
hermes mcp install linear, et plusieurs entrées périmées sont supprimées), transfère davantage d’éléments vers les options et ajoute une barrière de pertinence frontmatterenvironments:(kanban/docker/s6) qui garde les skills propres à un contexte hors de l’index jusqu’à leur demande.NVIDIA/skillsest désormais une source Skills Hub fiable par défaut, aux côtés d’OpenAI, Anthropic et HuggingFace. Les outils MCP et de plugin gagnent une divulgation progressive (à portée limitée) des outils, et un bug MCP qui signalait un faux succès OAuth lorsqu’aucun token n’était obtenu est corrigé.20 - Sécurité. v0.16.0 épingle une version corrigée de Starlette (≥1.0.1) pour CVE-2026-48710 (BadHost), déplace les vérifications d’URL SSRF hors de la boucle d’événements dans les chemins asynchrones, retire le bearer token d’inférence Bedrock de l’environnement des sous-processus, ajoute
bws_cache.jsonà la protection de lecture pour la sûreté des fichiers, ajoutedocker restart/stop/killà la liste des motifs dangereux et assainit les caractères Unicode invisibles dans le contenu des skills validés. La version a corrigé 2 problèmes P0 et 62 problèmes P1, dont 16 étiquetés sécurité.20
Si vous effectuez une mise à niveau depuis v0.15.x, rien de tout cela ne constitue une rupture pour la CLI elle-même ; ce sont des surfaces et fournisseurs complémentaires autour du même agent. L’application de bureau et le panneau d’administration justifient la mise à niveau si vous souhaitez utiliser Hermes avec des utilisateurs non habitués au terminal ou administrer un gateway distant depuis un navigateur.
Installation
L’installateur en une ligne est la méthode d’installation prise en charge. Il gère Python, uv, Node.js, ripgrep, ffmpeg, le clonage du dépôt, l’environnement virtuel et la commande globale hermes.7
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Les installations via pip et Homebrew sont obsolètes depuis la v0.19.0. Le package PyPI introduit par la v0.14.0 (
pip install hermes-agent) et la formule Homebrew sont désormais signalés comme des installations « legacy non prises en charge » — chaque interface affiche un avertissement (sans bloquer) lorsque Hermes en détecte une, et l’arrêt de la publication sur PyPI/Homebrew est prévu. Si vous avez installé Hermes via pip ou brew, migrez vers l’installateur ci-dessus.25
Fonctionne sous Linux, macOS, WSL2 et Android/Termux (l’installateur détecte automatiquement Termux et bascule vers un bundle Android testé).7 Windows natif est désormais une plateforme Tier 1, et non plus la bêta précoce livrée avec la v0.14.0 — installez-le avec iex (irm https://hermes-agent.nousresearch.com/install.ps1). Une réserve explicitement indiquée dans la documentation : la prise en charge de macOS est réservée à Apple Silicon, et les Mac Intel ne sont pas pris en charge.24 Historiquement, la v0.14.0 a ajouté la prise en charge native de Windows en bêta précoce via un installateur PowerShell, mais WSL2 reste la recommandation la plus sûre pour une utilisation en production, jusqu’à ce que la voie Windows gagne en maturité.19
Une fois l’installation terminée :
source ~/.bashrc # or ~/.zshrc
hermes # Start chatting
Le seul prérequis est git. L’installateur provisionne automatiquement Python 3.11 via uv (sans sudo), Node.js 26 (pour l’automatisation du navigateur et le pont WhatsApp), ripgrep et ffmpeg. Node 26 est une exigence minimale stricte depuis la v0.20.0 — l’installateur refuse toute version plus ancienne et installe à la place une version de Node gérée par Hermes.247
Vérifier l’installation
hermes version # Check version
hermes doctor # Diagnose config/dependency issues
hermes status # Show current configuration + auth state
hermes dump # Copy-pasteable setup summary for debugging
hermes doctor vous indique exactement ce qui manque et comment le corriger.7 hermes dump est la commande de diagnostic à coller dans une issue GitHub ou un fil Discord lorsque vous demandez de l’aide — elle fournit un résumé en texte brut de toute votre configuration, avec les secrets masqués.8
Installation manuelle
Si vous avez besoin d’un contrôle total — version personnalisée de Python, extras spécifiques, intégration Nix/NixOS — le flux manuel est documenté étape par étape dans le guide d’installation upstream.7 Voici les principaux extras facultatifs que vous pouvez combiner avec uv pip install -e ".[<extras>]" :
| Extra | Ce qu’il ajoute |
|---|---|
all |
Tout ce qui suit |
messaging |
gateway Telegram et Discord |
cron |
Analyse des expressions cron |
cli |
Interface de menu du terminal pour l’assistant de configuration |
modal |
Backend d’exécution cloud Modal |
voice |
Entrée microphone CLI et lecture audio |
tts-premium |
Voix premium ElevenLabs |
honcho |
Mémoire native à l’IA (intégration Honcho) |
mcp |
Prise en charge de Model Context Protocol |
homeassistant |
Intégration Home Assistant |
acp |
Prise en charge de l’intégration de l’éditeur ACP |
slack |
Messagerie Slack |
pty |
Prise en charge du terminal PTY (outils CLI interactifs) |
dev |
pytest et utilitaires de test |
termux |
Bundle Android testé (inclut cron, cli, pty, mcp, honcho, acp) |
La commande d’installation Termux est différente — elle utilise pip avec un fichier de contraintes, et non uv pip :
python -m pip install -e ".[termux]" -c constraints-termux.txt
Cela s’explique par le fait que .[all] sur Android récupère faster-whisper via l’extra voice, qui dépend de wheels ctranslate2 non publiées pour Android.7
Authentification et fournisseurs
Hermes prend en charge environ 22 fournisseurs de premier plan ainsi que des endpoints personnalisés (v0.19.0 ajoute Fireworks AI, DeepInfra et Upstage Solar), et trois parcours d’authentification distincts. Voici l’ensemble des possibilités d’authentification, organisées par parcours afin que vous puissiez trouver celui qui correspond à votre situation.
Les trois parcours d’authentification
Chaque fournisseur dans Hermes relève de l’un des trois modèles d’authentification suivants :
Parcours 1 — clé API dans .env. Placez votre clé dans ~/.hermes/.env et Hermes la lit au démarrage. Utilisé par OpenRouter, AI Gateway, z.ai/GLM, Kimi/Moonshot, MiniMax (et MiniMax China), Alibaba Cloud/DashScope, Kilo Code, OpenCode Zen, OpenCode Go, DeepSeek, Hugging Face, Google/Gemini et la plupart des fournisseurs tiers.2 Depuis v0.19.0, la clé ne doit plus nécessairement se trouver dans un fichier en texte clair : une interface SecretSource extensible peut récupérer les secrets depuis Bitwarden ou 1Password (références op://) au chargement, avec plusieurs coffres activés simultanément, un ordre de priorité déterministe, des avertissements de conflit et une provenance par variable — .env reste la solution de repli. (Cela se distingue du jeton d’amorçage Bitwarden Secrets Manager de v0.15.0, qui regroupait les clés des fournisseurs derrière un seul jeton ; SecretSource remplace le fichier en texte clair lui-même, et les futurs fournisseurs de coffres s’ajoutent comme plugins.)25
Parcours 2 — OAuth via hermes model ou hermes auth. Lance un flux de code d’appareil, ouvre un navigateur, stocke les identifiants dans ~/.hermes/auth.json (et peut importer des identifiants existants depuis des outils comme Claude Code ou Codex CLI). Utilisé par Nous Portal, OpenAI Codex (compte ChatGPT), GitHub Copilot et Anthropic (Claude Pro/Max).2
Parcours 3 — endpoint personnalisé dans config.yaml. Pour tout API compatible avec OpenAI — Ollama, vLLM, SGLang, llama.cpp, LM Studio, proxy LiteLLM, Together AI, Groq, Azure OpenAI ou votre propre serveur auto-hébergé. Configurez-le une fois via hermes model → Custom endpoint, puis il est conservé dans config.yaml.2
La matrice complète des fournisseurs
Voici la liste complète des fournisseurs de premier plan, avec le processus de configuration exact pour chacun.2
| Fournisseur | Parcours d’authentification | Configuration |
|---|---|---|
| Nous Portal | OAuth | hermes model (connexion OAuth, basée sur un abonnement) |
| OpenAI Codex | OAuth | hermes model (code d’appareil ChatGPT, utilise les modèles Codex) |
| GitHub Copilot | OAuth ou jeton | hermes model (code d’appareil OAuth), ou COPILOT_GITHUB_TOKEN / GH_TOKEN / gh auth token |
| GitHub Copilot ACP | Sous-processus local | hermes model (nécessite copilot CLI dans PATH + copilot login) |
| Anthropic | OAuth ou clé API | hermes model (privilégie les identifiants Claude Code), ou ANTHROPIC_API_KEY, ou jeton de configuration ANTHROPIC_TOKEN |
| OpenRouter | clé API | OPENROUTER_API_KEY dans ~/.hermes/.env |
| AI Gateway (Vercel) | clé API | AI_GATEWAY_API_KEY dans ~/.hermes/.env (fournisseur : ai-gateway) |
| z.ai / GLM (ZhipuAI) | clé API | GLM_API_KEY dans ~/.hermes/.env (fournisseur : zai) |
| Kimi / Moonshot | clé API | KIMI_API_KEY dans ~/.hermes/.env (fournisseur : kimi-coding). v0.19.0 ajoute kimi-k3 aux catalogues (kimi-k2.x retiré).25 |
| MiniMax (mondial) | clé API | MINIMAX_API_KEY dans ~/.hermes/.env (fournisseur : minimax) |
| MiniMax China | clé API | MINIMAX_CN_API_KEY dans ~/.hermes/.env (fournisseur : minimax-cn) |
| Alibaba Cloud (Qwen) | clé API | DASHSCOPE_API_KEY dans ~/.hermes/.env (fournisseur : alibaba, alias : dashscope, qwen) |
| Kilo Code | clé API | KILOCODE_API_KEY dans ~/.hermes/.env (fournisseur : kilocode) |
| OpenCode Zen | clé API | OPENCODE_ZEN_API_KEY dans ~/.hermes/.env (fournisseur : opencode-zen) |
| OpenCode Go | clé API | OPENCODE_GO_API_KEY dans ~/.hermes/.env (fournisseur : opencode-go) |
| DeepSeek | clé API | DEEPSEEK_API_KEY dans ~/.hermes/.env (fournisseur : deepseek) |
| Hugging Face | clé API | HF_TOKEN dans ~/.hermes/.env (fournisseur : huggingface, alias : hf) |
| Google / Gemini | clé API | GOOGLE_API_KEY ou GEMINI_API_KEY dans ~/.hermes/.env (fournisseur : gemini) |
| Fireworks AI | clé API | Fournisseur de premier plan avec estimation des coûts et colonnes de prix mises en cache dans le sélecteur de modèles ; promu à la 2e position dans les sélecteurs de fournisseurs. Nouveau dans v0.19.0.25 |
| DeepInfra | clé API | Fournisseur de premier plan avec une intégration renforcée. Nouveau dans v0.19.0.25 |
| Upstage Solar | clé API | Fournisseur de premier plan. Nouveau dans v0.19.0.25 |
| xAI (Grok) | Fournisseur natif / SuperGrok OAuth | Fournisseur de premier plan avec accès direct à API et catalogue de modèles (v0.9.0+). v0.14.0 ajoute SuperGrok OAuth et porte grok-4.3 à une fenêtre de contexte de 1M pour les comptes éligibles.21619 v0.17.0 ajoute grok-composer-2.5-fast (le modèle de Cursor via xAI OAuth, contexte de 200k) et modifie la valeur par défaut xAI en grok-build-0.1.21 v0.19.0 fait passer grok-4.5 en disponibilité générale dans le catalogue.25 |
| xAI Custom Voices | clé API | Fournisseur TTS avec clonage vocal. Nouveau dans v0.13.0 ; configurez-le sous tts: dans config.yaml et fournissez la clé xAI dans .env.18 |
| Xiaomi MiMo | Fournisseur natif | Fournisseur de premier plan avec assistant de configuration et catalogue de modèles. MiMo v2 Pro gratuit sur Nous Portal pour les tâches auxiliaires (v0.9.0+).1615 |
| Google AI Studio | clé API | GOOGLE_API_KEY ou GEMINI_API_KEY dans ~/.hermes/.env. Accès direct à Gemini avec longueurs de contexte détectées automatiquement via le registre models.dev (v0.8.0+).15 |
| Qwen Cloud | OAuth | Fournisseur OAuth avec prise en charge des requêtes de portail (v0.8.0+). Le fournisseur a été renommé d’Alibaba Cloud en Qwen Cloud dans v0.14.0 ; les clés de configuration existantes continuent de fonctionner.1519 |
| Endpoint personnalisé | config.yaml | hermes model → « Custom endpoint » (enregistré dans config.yaml) |
À partir de v0.19.0, vous pouvez également retirer les fournisseurs que vous n’utilisez pas : un indicateur enabled: false par fournisseur et une clé de configuration excluded_providers les retirent des sélecteurs /model et de la résolution intégrée des fournisseurs.25
Anthropic : trois méthodes d’authentification
Anthropic dispose de sa propre section, car Hermes prend en charge trois parcours distincts vers Claude, et choisir le bon a son importance. D’après la documentation en amont :2
# Method 1: API key (pay-per-token)
export ANTHROPIC_API_KEY=***
hermes chat --provider anthropic --model claude-sonnet-4-6
# Method 2: OAuth through hermes model (preferred)
# Uses Claude Code's credential store when available
hermes model
# Method 3: Manual setup-token (fallback/legacy)
export ANTHROPIC_TOKEN=***
hermes chat --provider anthropic
# Auto-detect Claude Code credentials
hermes chat --provider anthropic # reads Claude Code files automatically
Lorsque vous choisissez Anthropic OAuth via hermes model, Hermes privilégie le propre magasin d’identifiants de Claude Code plutôt que de copier le jeton dans ~/.hermes/.env. Les identifiants Claude pouvant être actualisés restent ainsi actualisables.2 Si vous utilisez déjà Claude Code sur la même machine, c’est le parcours le plus propre.
Pour fixer Anthropic de façon permanente dans config.yaml :
model:
provider: "anthropic"
default: "claude-sonnet-4-6"
--provider claude et --provider claude-code fonctionnent également comme raccourcis de --provider anthropic.2
GitHub Copilot : deux modes
Copilot est pris en charge selon deux modes : API Copilot direct (recommandé) et Copilot ACP (qui lance le CLI Copilot local comme sous-processus).2
# Direct Copilot API
hermes chat --provider copilot --model gpt-5.4
# Copilot ACP (requires the Copilot CLI in PATH + an existing copilot login)
hermes chat --provider copilot-acp --model copilot-acp
L’authentification est vérifiée dans cet ordre, selon la documentation en amont :2
1. Variable d’environnement COPILOT_GITHUB_TOKEN
2. Variable d’environnement GH_TOKEN
3. Variable d’environnement GITHUB_TOKEN
4. Solution de repli avec CLI gh auth token
5. Connexion par code d’appareil OAuth via hermes model
Le type de jeton est important. Le API Copilot ne prend pas en charge les Personal Access Tokens classiques (ghp_*). Les types pris en charge sont les jetons OAuth (gho_*), les PAT à granularité fine (github_pat_* avec l’autorisation Copilot Requests) et les jetons d’application GitHub (ghu_*). Si votre gh auth token renvoie un jeton ghp_*, utilisez hermes model pour vous authentifier via OAuth à la place.2
Fournisseurs d’IA chinois (prise en charge de premier plan)
Hermes prend en charge nativement z.ai/GLM, Kimi/Moonshot, MiniMax (endpoints mondiaux + China) et Alibaba Cloud avec des identifiants de fournisseurs dédiés.2
# z.ai / ZhipuAI GLM
hermes chat --provider zai --model glm-5 # Requires: GLM_API_KEY
# Kimi / Moonshot AI
hermes chat --provider kimi-coding --model kimi-for-coding # Requires: KIMI_API_KEY
# MiniMax (global)
hermes chat --provider minimax --model MiniMax-M2.7 # Requires: MINIMAX_API_KEY
# MiniMax (China)
hermes chat --provider minimax-cn --model MiniMax-M2.7 # Requires: MINIMAX_CN_API_KEY
# Alibaba Cloud / DashScope (Qwen)
hermes chat --provider alibaba --model qwen3.5-plus # Requires: DASHSCOPE_API_KEY
Les URL de base peuvent être remplacées avec les variables d’environnement GLM_BASE_URL, KIMI_BASE_URL, MINIMAX_BASE_URL, MINIMAX_CN_BASE_URL ou DASHSCOPE_BASE_URL.2
Z.AI détecte automatiquement l’endpoint. Lorsque vous utilisez le fournisseur z.ai/GLM, Hermes sonde plusieurs endpoints (mondial, China, variantes de programmation) afin d’en trouver un qui accepte votre clé API. L’endpoint fonctionnel est mis en cache automatiquement — aucun GLM_BASE_URL n’est nécessaire pour la plupart des utilisateurs.2
xAI (Grok) active automatiquement la mise en cache des prompts. Lorsque l’URL de base contient x.ai, Hermes envoie l’en-tête x-grok-conv-id à chaque requête afin de l’acheminer vers le même serveur pendant une session de conversation, en réutilisant les prompts système et l’historique mis en cache.2 Automatique ; aucune configuration nécessaire.
La commande hermes auth
hermes auth est la commande de gestion des identifiants pour les pools et les identifiants OAuth.6
hermes auth # Interactive wizard
hermes auth list # Show all credential pools
hermes auth list openrouter # Show one provider's pool
hermes auth add openrouter --api-key sk-or-v1-xxx
hermes auth add anthropic --type oauth
hermes auth remove openrouter 2 # Remove by index
hermes auth reset openrouter # Clear cooldowns
Les pools d’identifiants permettent de faire tourner plusieurs clés API ou jetons OAuth pour un même fournisseur — utile pour répartir les limites de débit entre plusieurs clés sans modifier le code.6 Les commandes historiques hermes login / hermes logout ont été supprimées ; utilisez hermes auth à la place.6
Endpoints personnalisés et auto-hébergés
Hermes fonctionne avec tout endpoint API compatible avec OpenAI. Si un serveur implémente /v1/chat/completions, vous pouvez y diriger Hermes.2
Configuration interactive (recommandée) :
hermes model
# Select "Custom endpoint (self-hosted / VLLM / etc.)"
# Enter: API base URL, API key, Model name
config.yaml manuel :
model:
default: your-model-name
provider: custom
base_url: http://localhost:8000/v1
api_key: your-key-or-leave-empty-for-local
Les deux approches sont conservées dans config.yaml, qui constitue la source de vérité unique pour le modèle principal, le fournisseur et l’URL de base.2 Les variables d’environnement historiques OPENAI_BASE_URL et LLM_MODEL ne sont plus lues pour la configuration du modèle principal — utilisez hermes model ou modifiez directement config.yaml.2 (OPENAI_BASE_URL + OPENAI_API_KEY restent néanmoins pris en charge comme solution de repli pour le chemin de routage auxiliaire provider: "main" ; ne les supprimez donc pas aveuglément si vous les utilisez à cet endroit.)4
Changer d’endpoint personnalisé en cours de session :
/model custom:qwen-2.5 # Custom endpoint with explicit model
/model custom # Auto-detect the model from the endpoint
/model custom:local:qwen-2.5 # Named custom provider "local"
/model custom:work:llama3 # Named custom provider "work"
/model openrouter:claude-sonnet-4 # Back to a cloud provider
/model custom (sans nom de modèle) interroge le API /v1/models de votre endpoint et sélectionne automatiquement le modèle si un seul est chargé — utile pour les serveurs locaux exécutant un seul modèle.2
Serveurs LLM locaux (modèles de configuration)
La documentation en amont contient des guides de configuration complets pour Ollama, vLLM, SGLang, llama.cpp et LM Studio. Voici les principales commandes que vous exécuterez réellement. Chacune est conçue pour fournir un endpoint fonctionnel vers lequel Hermes peut pointer.2
Ollama — le parcours local le plus simple, sans configuration :
ollama pull qwen2.5-coder:32b
OLLAMA_CONTEXT_LENGTH=32768 ollama serve # Raise from 4k default
hermes model # Custom endpoint → http://localhost:11434/v1 → qwen2.5-coder:32b
Piège critique avec Ollama : Ollama utilise par défaut des longueurs de contexte très faibles (4 096 jetons avec moins de 24 Go de VRAM). Vous devez l’augmenter via OLLAMA_CONTEXT_LENGTH ou un Modelfile — le API compatible avec OpenAI n’accepte pas de longueur de contexte depuis le client, donc Hermes ne peut pas la définir pour vous.2 Pour un usage d’agent, définissez au moins 16k–32k.
vLLM — service GPU hautes performances :
pip install vllm
vllm serve meta-llama/Llama-3.1-70B-Instruct \
--port 8000 \
--max-model-len 65536 \
--tensor-parallel-size 2 \
--enable-auto-tool-choice \
--tool-call-parser hermes
L’appel d’outils nécessite --enable-auto-tool-choice et --tool-call-parser <name>. Analyseurs pris en charge : hermes (Qwen 2.5, Hermes 2/3), llama3_json, mistral, deepseek_v3, deepseek_v31, xlam, pythonic. Sans ces indicateurs, les appels d’outils seront renvoyés sous forme de texte brut.2
SGLang — service rapide avec RadixAttention pour la réutilisation du cache KV :
pip install "sglang[all]"
python -m sglang.launch_server \
--model meta-llama/Llama-3.1-70B-Instruct \
--port 30000 \
--context-length 65536 \
--tp 2 \
--tool-call-parser qwen
Piège avec SGLang : la valeur par défaut de max_tokens est 128. Définissez --default-max-tokens sur le serveur ou configurez model.max_tokens dans config.yaml si les réponses sont tronquées.2
llama.cpp / llama-server — CPU et Metal Apple Silicon :
./build/bin/llama-server \
--jinja -fa \
-c 32768 \
-ngl 99 \
-m models/qwen2.5-coder-32b-instruct-Q4_K_M.gguf \
--port 8080 --host 0.0.0.0
--jinja est requis pour l’appel d’outils. Sans lui, llama-server ignore entièrement le paramètre tools et le modèle tente d’appeler les outils en écrivant JSON dans le texte de sa réponse — ce que Hermes ne peut pas analyser comme de véritables appels d’outils.2
LM Studio — application de bureau avec GUI :
Démarrez le serveur depuis l’application LM Studio (onglet Developer → Start Server), ou via CLI : lms server start (démarre sur le port 1234) et lms load qwen2.5-coder --context-length 32768.2 Dirigez ensuite hermes model vers http://localhost:1234/v1.
Piège critique avec LM Studio : LM Studio lit la longueur de contexte dans les métadonnées du modèle, mais de nombreux modèles GGUF indiquent des valeurs par défaut de 2048 ou 4096. Définissez toujours explicitement la longueur de contexte dans les paramètres du modèle LM Studio — cliquez sur l’icône d’engrenage à côté du sélecteur de modèles, réglez « Context Length » sur au moins 16384 (de préférence 32768), puis rechargez le modèle.2
Fournisseurs personnalisés nommés
Si vous travaillez avec plusieurs endpoints personnalisés (par exemple, un serveur de développement local et un serveur GPU distant), définissez-les comme fournisseurs personnalisés nommés dans config.yaml :2
custom_providers:
- name: local
base_url: http://localhost:8080/v1
# api_key omitted — Hermes uses "no-key-required" for keyless local servers
- name: work
base_url: https://gpu-server.internal.corp/v1
api_key: corp-api-key
api_mode: chat_completions # optional, auto-detected from URL
- name: anthropic-proxy
base_url: https://proxy.example.com/anthropic
api_key: proxy-key
api_mode: anthropic_messages # for Anthropic-compatible proxies
Basculez ensuite entre eux en cours de session avec la syntaxe triple :
/model custom:local:qwen-2.5
/model custom:work:llama3-70b
/model custom:anthropic-proxy:claude-sonnet-4
Vous pouvez également sélectionner des fournisseurs personnalisés nommés depuis le menu interactif hermes model.2
Architecture de fournisseurs extensible (v0.13.0+)
v0.13.0 inclut une ABC ProviderProfile ainsi qu’un répertoire plugins/model-providers/, afin que des fournisseurs d’inférence tiers puissent s’ajouter sans modifier le cœur.18 Si un fournisseur propose un mode API compatible avec OpenAI, Anthropic ou Codex, vous pouvez implémenter une sous-classe ProviderProfile qui déclare le parcours d’authentification, l’URL de base, le catalogue de modèles et les en-têtes de mise en cache ; Hermes la résout via le même chemin runtime_provider.py que celui utilisé par les fournisseurs intégrés. C’est le changement architectural à l’origine de l’extension des fournisseurs dans v0.13.0 : au lieu de modifier le code central pour ajouter un fournisseur, vous publiez un plugin.
Proxy local compatible avec OpenAI (v0.14.0+)
hermes proxy expose un endpoint local compatible avec OpenAI, soutenu par le fournisseur OAuth auquel Hermes est déjà connecté — Claude Pro, ChatGPT Pro, SuperGrok ou un autre fournisseur compatible configuré.19 Ainsi, les outils qui attendent un API de style OpenAI, notamment Codex CLI, Aider, Cline, Continue ou des scripts personnalisés, peuvent réutiliser votre authentification Hermes fondée sur un abonnement sans clé API distincte. Considérez le proxy comme une infrastructure locale de développement : associez-le volontairement, ne l’exposez pas largement et gardez à l’esprit les conditions propres à chaque fournisseur.
Détection de la longueur de contexte
Deux paramètres sont constamment confondus, selon la documentation en amont :2
context_length— la fenêtre de contexte totale (budget combiné de jetons d’entrée + de sortie, par exemple 1 000 000 pour Claude Opus 4.7 ou 200 000 pour Sonnet 4.6). Hermes l’utilise pour décider quand compresser l’historique.model.max_tokens— le plafond de sortie (nombre maximal de jetons que le modèle peut générer dans une seule réponse). Sans rapport avec la longueur de l’historique.
Définissez context_length lorsque la détection automatique évalue incorrectement la taille de la fenêtre :
model:
default: "qwen3.5:9b"
base_url: "http://localhost:8080/v1"
context_length: 131072 # tokens
Hermes utilise une chaîne de résolution multi-source pour détecter les fenêtres de contexte : remplacement par la configuration → fournisseur personnalisé par modèle → cache persistant → endpoint /models → Anthropic /v1/models → API OpenRouter → Nous Portal → models.dev (registre communautaire de plus de 3 800 modèles) → valeurs de repli (128K).2 Le système tient compte du fournisseur, de sorte que le même modèle peut avoir différentes limites de contexte selon celui qui le sert (par exemple, claude-opus-4.6 offre 1M directement sur Anthropic, mais 128K sur GitHub Copilot).2
Routage intelligent des modèles : rotation et repli des fournisseurs
Hermes ne vous limite pas à un modèle chez un seul fournisseur. Le routage intelligent des modèles est l’ensemble des mécanismes qui déterminent quel fournisseur et quel modèle répondent réellement à une requête donnée : les pools d’identifiants répartissent la charge entre les clés, un repli configuré prend le relais lorsque le primaire échoue, et les emplacements auxiliaires ci-dessous acheminent indépendamment les tâches secondaires vers des modèles moins coûteux que votre modèle principal.26 Configurez ces trois éléments ensemble – ils font la différence entre un agent qui s’arrête sur une limite de débit et un agent qui continue à travailler.
Pools d’identifiants. Lorsque vous disposez de plusieurs clés API pour le même fournisseur, configurez une stratégie de rotation via hermes auth. C’est ainsi que vous répartissez les limites de débit entre plusieurs clés.6
Modèle de repli. Configurez un provider:model de secours vers lequel Hermes bascule automatiquement lorsque votre modèle principal échoue (limites de débit, erreurs de serveur, échecs d’authentification) :2
fallback_model:
provider: openrouter # required
model: anthropic/claude-sonnet-4 # required
# base_url: http://localhost:8000/v1 # optional, for custom endpoints
# api_key_env: MY_CUSTOM_KEY # optional, env var name
Le repli change le modèle et le fournisseur en cours de session sans perdre votre conversation. Il ne se déclenche qu’une fois au maximum par session.2 Fournisseurs pris en charge pour le repli : openrouter, nous, openai-codex, copilot, copilot-acp, anthropic, huggingface, zai, kimi-coding, minimax, minimax-cn, deepseek, ai-gateway, opencode-zen, opencode-go, kilocode, alibaba, custom.2
Modèles auxiliaires
Hermes utilise des modèles légers « auxiliaires » pour les tâches secondaires : analyse d’images, résumé de pages web, analyse de captures d’écran de navigateur, classification des validations de commandes dangereuses, compression du contexte, résumé des recherches de session, correspondance des skills, distribution d’outils MCP et vidage de la mémoire.4 Par défaut, ils utilisent Gemini Flash par détection automatique (OpenRouter → Nous → Codex).
Vous pouvez configurer le modèle et le fournisseur utilisés par chaque tâche auxiliaire. Chaque emplacement auxiliaire utilise les mêmes trois paramètres : provider, model, base_url.4
auxiliary:
vision:
provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
model: "" # e.g. "openai/gpt-4o", "google/gemini-2.5-flash"
base_url: "" # Custom OpenAI-compatible endpoint
api_key: "" # Falls back to OPENAI_API_KEY
timeout: 30
download_timeout: 30
web_extract:
provider: "auto"
model: ""
timeout: 360
approval:
provider: "auto"
model: ""
timeout: 30
compression:
timeout: 120
session_search: { provider: "auto", model: "", timeout: 30 }
skills_hub: { provider: "auto", model: "", timeout: 30 }
mcp: { provider: "auto", model: "", timeout: 30 }
flush_memories:{ provider: "auto", model: "", timeout: 30 }
L’option de fournisseur "main" signifie « utiliser le fournisseur employé par mon agent principal » — elle n’est valide que dans les configurations auxiliary:, compression: et fallback_model:. Elle n’est pas valide pour votre paramètre model.provider de niveau supérieur. Si vous utilisez un endpoint personnalisé compatible avec OpenAI comme modèle principal, définissez provider: custom dans votre section model:.4
Pourquoi c’est important : si vous n’avez configuré que Anthropic OAuth (sans clé OpenRouter), votre vision, les résumés web et la compression se dégraderont ou échoueront, car la chaîne de repli auxiliaire par défaut essaie d’abord OpenRouter. Ajoutez une OPENROUTER_API_KEY pour les tâches auxiliaires, ou reconfigurez chaque emplacement auxiliaire pour utiliser votre fournisseur principal :
auxiliary:
vision:
provider: "main"
web_extract:
provider: "main"
C’est le piège le plus courant pour les nouveaux utilisateurs de Hermes : « mes fonctionnalités ne marchent silencieusement pas ».
Système de configuration
Hermes dispose d’un système de configuration en couches. Il est essentiel d’en comprendre la priorité, car les couches supérieures remplacent les couches inférieures, et l’une d’elles est un registre global de providers que vous ne pouvez pas voir dans config.yaml.
Organisation des fichiers de configuration
D’après la documentation amont, voici les fichiers qui composent une configuration Hermes :4
~/.hermes/
├── config.yaml # All settings (model, terminal, TTS, compression, memory, toolsets, ...)
├── .env # Secrets (API keys, bot tokens, passwords)
├── auth.json # OAuth provider credentials (Nous Portal, Codex, Anthropic)
├── SOUL.md # Primary agent identity (slot #1 in system prompt)
├── memories/ # Persistent memory (MEMORY.md, USER.md)
├── skills/ # Bundled + agent-created + hub-installed skills
├── cron/ # Scheduled jobs
├── sessions/ # Gateway session state
└── logs/ # agent.log, gateway.log, errors.log (secrets auto-redacted)
config.yaml vs .env — lorsque les deux sont définis, config.yaml l’emporte pour les paramètres non secrets.4 La règle est la suivante :
- Secrets (clés API, tokens de bot, mots de passe) → .env
- Tout le reste (modèle, backend de terminal, paramètres de compression, limites de mémoire, toolsets) → config.yaml
Les secrets peuvent être référencés depuis config.yaml à l’aide d’une interpolation de style shell :4
auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
delegation:
api_key: ${DELEGATION_KEY}
Gestion de la configuration
hermes config # View current configuration
hermes config show # Same as above
hermes config edit # Open config.yaml in your editor
hermes config set KEY VAL # Set a specific value
hermes config get KEY # Print a single value (v0.19.0+)
hermes config unset KEY # Remove a key so the default applies again (v0.19.0+)
hermes config path # Print the config file path
hermes config env-path # Print the .env file path
hermes config check # Check for missing options (after updates)
hermes config migrate # Interactively add missing options
Exemples :4
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # Saves to .env
hermes config check et hermes config migrate sont les commandes à exécuter après chaque hermes update — elles détectent les nouvelles options de configuration que votre fichier ne contient pas encore.6
Priorité de la configuration
Hermes charge la configuration depuis plusieurs sources. Lorsque plusieurs sources définissent la même valeur, la source la plus prioritaire l’emporte :4
- Arguments CLI —
hermes chat --model anthropic/claude-sonnet-4(remplacement pour une invocation) - Variables d’environnement — appliquées au démarrage du processus
config.yaml— le fichier principal des paramètres.env— secrets uniquement- Valeurs par défaut intégrées — appliquées lorsqu’aucune autre source ne définit une valeur
Les flags CLI l’emportent toujours pour cette invocation unique. config.yaml reste la source de vérité à long terme.
Localisation (v0.13.0+)
La v0.13.0 a ajouté 7 locales pour les messages CLI et gateway : chinois (simplifié), japonais, allemand, espagnol, français, ukrainien et turc.18 La v0.14.0 localise toutes les commandes gateway et le tableau de bord web, ajoute 8 locales supplémentaires et porte le total à 16.19 La documentation n’est actuellement localisée qu’en zh-Hans. La locale est déterminée à partir des variables d’environnement LC_ALL / LANG ou d’une clé explicite locale: dans config.yaml. L’anglais reste la valeur par défaut et la source de vérité pour toute chaîne qu’une traduction ne couvre pas encore.
Profiles — Plusieurs instances Hermes isolées
Les profiles vous donnent plusieurs instances Hermes isolées, chacune avec sa propre configuration, ses sessions, skills, mémoire et PID gateway. C’est ainsi que vous exécutez « Hermes professionnel » et « Hermes personnel » côte à côte, sans que l’un puisse voir l’état de l’autre.6
hermes profile list
hermes profile create work --clone # Clone from current profile
hermes profile use work # Set sticky default
hermes profile alias work --name h-work # Create wrapper script
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes -p work chat -q "Hello from work profile" # One-off without switching
Chaque profile possède son propre HERMES_HOME (~/.hermes-<name>/ par défaut), ce qui permet à plusieurs profiles d’exécuter le gateway simultanément sans interférer les uns avec les autres.63
Commandes CLI
Cette section constitue la référence pratique des commandes CLI de premier niveau. Pour la référence faisant autorité, dérivée du code, consultez la référence des commandes CLI.6
Options globales
hermes [global-options] <command> [subcommand/options]
| Option | Description |
|---|---|
--version, -V |
Afficher la version et quitter |
--profile <name>, -p <name> |
Sélectionner le profile Hermes à utiliser |
--resume <session>, -r <session> |
Reprendre une session par son ID ou son titre |
--continue [name], -c [name] |
Reprendre la session la plus récente (ou rechercher un titre) |
--worktree, -w |
Démarrer dans un git worktree isolé |
--yolo |
Contourner les invites d’approbation des commandes dangereuses |
--safe-mode |
Indicateur de dépannage — démarrer Hermes dans un mode sûr minimal afin d’isoler les problèmes de démarrage (v0.19.0+)25 |
--pass-session-id |
Inclure l’ID de session dans le prompt système de l’agent |
Commandes de premier niveau
| Commande | Objectif |
|---|---|
hermes chat |
Chat interactif ou ponctuel |
hermes model |
Choisir de façon interactive le provider et le modèle par défaut |
hermes gateway |
Exécuter ou gérer le gateway de messagerie |
hermes setup |
Assistant de configuration interactif |
hermes auth |
Gérer les identifiants — ajouter, lister, supprimer, réinitialiser, définir la stratégie |
hermes status |
Afficher l’état de l’agent, de l’authentification et des plateformes |
hermes cron |
Inspecter et déclencher le planificateur cron |
hermes webhook |
Gérer les abonnements webhook dynamiques |
hermes doctor |
Diagnostiquer les problèmes de configuration et de dépendances |
hermes dump |
Résumé de configuration copiable-collable pour le support et le débogage |
hermes logs |
Afficher, suivre et filtrer les journaux de l’agent, du gateway et des erreurs |
hermes config |
Afficher, modifier, migrer et interroger la configuration |
hermes pairing |
Approuver ou révoquer les codes d’appairage de messagerie |
hermes skills |
Parcourir, installer, publier et auditer des skills |
hermes honcho |
Gérer la mémoire Honcho inter-session |
hermes memory |
Configurer le provider de mémoire externe |
hermes acp |
Exécuter Hermes comme serveur ACP (intégration à l’éditeur) |
hermes mcp |
Gérer la configuration du serveur MCP ; exécuter Hermes comme serveur MCP |
hermes plugins |
Gérer les plugins |
hermes tools |
Configurer les tools activés par plateforme |
hermes sessions |
Parcourir, exporter, purger et supprimer des sessions. La v0.19.0 étend hermes sessions export aux formats Markdown, Quarto, HTML, prompt seul et traces Hugging Face, avec un passage facultatif --redact de suppression des secrets et des filtres par ancienneté, espace de travail et plateforme25 |
hermes insights |
Afficher les analyses de tokens, coûts et activité |
hermes claw |
Outils d’aide à la migration OpenClaw |
hermes profile |
Gérer les profiles (plusieurs instances isolées) |
hermes completion |
Afficher les scripts de complétion du shell (bash/zsh) |
hermes whatsapp |
Configurer et appairer le pont WhatsApp |
hermes version |
Afficher les informations de version |
hermes update |
Récupérer le dernier code et réinstaller les dépendances |
hermes uninstall |
Supprimer Hermes du système (--full supprime également la configuration et les données) |
hermes backup |
Sauvegarde complète de la configuration, des sessions, des skills et de la mémoire (v0.9.0+)16 |
hermes import |
Restaurer depuis une archive de sauvegarde — migrer entre machines ou revenir en arrière (v0.9.0+)16 |
hermes dashboard |
Lancer le tableau de bord web local pour gérer l’agent depuis le navigateur (v0.9.0+)16 |
hermes serve |
Exécuter le serveur API backend sans interface — depuis la v0.19.0, il ne construit ni ne monte plus l’interface web25 |
hermes debug share |
Téléverser un rapport de débogage complet vers un pastebin afin de le partager lors d’un dépannage (v0.9.0+)16 |
hermes chat — Le principal point d’entrée
hermes sans argument ouvre un chat interactif. hermes chat est la forme explicite avec options :6
hermes chat -q "Summarize the latest PRs" # One-shot, non-interactive
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills # Enable specific toolsets
hermes chat --quiet -q "Return only JSON" # Programmatic mode
hermes chat --worktree -q "Review repo and open a PR"
Options clés :
| Option | Description |
|---|---|
-q, --query "..." |
Prompt ponctuel, non interactif |
-m, --model <model> |
Remplacer le modèle pour cette exécution |
-t, --toolsets <csv> |
Activer un ensemble de toolsets séparés par des virgules |
--provider <provider> |
Forcer un provider (consultez la liste complète) |
-s, --skills <name> |
Précharger un ou plusieurs skills pour cette session |
-v, --verbose |
Sortie détaillée |
-Q, --quiet |
Mode programmatique (sans bannière, indicateur de chargement ni aperçus) |
--resume <session> |
Reprendre une session directement depuis chat |
--worktree |
Créer un git worktree isolé |
--checkpoints |
Activer des checkpoints du système de fichiers avant les modifications destructrices |
--yolo |
Ignorer les invites d’approbation |
--source <tag> |
Étiquette de source de session (par défaut : cli ; utilisez tool pour les intégrations) |
--max-turns <N> |
Nombre maximal d’itérations d’appel de tools par tour (par défaut : 90) |
hermes setup — Assistant complet
Exécute l’assistant de configuration complet ou accède directement à une section :6
hermes setup # Full wizard
hermes setup model # Provider and model only
hermes setup terminal # Terminal backend only
hermes setup gateway # Messaging platforms only
hermes setup tools # Tool enable/disable per platform
hermes setup agent # Agent behavior only
hermes setup --non-interactive
hermes setup --reset # Reset config to defaults before setup
hermes logs — Interrogation structurée des journaux
hermes logs est plus puissant que tail -f sur les fichiers journaux, car il permet de filtrer simultanément par niveau, ID de session et plage horaire.6
hermes logs # Last 50 lines of agent.log
hermes logs -f # Follow in real time
hermes logs gateway -n 100 # Last 100 lines of gateway.log
hermes logs --level WARNING --since 1h # Warnings from the last hour
hermes logs --session abc123 # Filter by session ID substring
hermes logs errors --since 30m -f # Follow errors.log from 30m ago
hermes logs list # List all log files with sizes
Les fichiers journaux se trouvent dans ~/.hermes/logs/ :6
- agent.log — toute l’activité de l’agent (appels API, répartition des tools, cycle de vie des sessions, INFO+)
- errors.log — avertissements et erreurs uniquement (un sous-ensemble filtré de agent.log)
- gateway.log — activité du gateway de messagerie (connexions aux plateformes, répartition, webhooks)
La rotation est automatique via RotatingFileHandler de Python — recherchez agent.log.1, agent.log.2, etc.6
hermes doctor — Diagnostics
hermes doctor [--fix] est la première commande à exécuter lorsqu’un problème survient. Elle vérifie la validité de la configuration, la présence des dépendances, la disponibilité des clés API, l’état du service et peut tenter des réparations automatiques avec --fix.6
Pour partager des diagnostics avec quelqu’un d’autre, utilisez hermes dump — il produit un résumé compact en texte brut, avec les clés API masquées, prêt à être collé dans une issue GitHub ou un fil Discord.6
Commandes Slash
Les commandes Slash s’exécutent dans une session de chat active (CLI ou plateforme de messagerie). Elles sont distribuées depuis un COMMAND_REGISTRY partagé dans hermes_cli/commands.py, ce qui explique pourquoi la plupart fonctionnent de manière identique sur toutes les interfaces.9
Contrôle de session
| Commande | Description |
|---|---|
/new (alias /reset) |
Démarrer une nouvelle session |
/clear |
Effacer l’écran + démarrer une nouvelle session |
/history |
Afficher l’historique de conversation |
/save |
Enregistrer la conversation actuelle |
/retry |
Réessayer le dernier message |
/undo |
Supprimer le dernier échange utilisateur/assistant |
/title <name> |
Définir un titre pour la session actuelle |
/compress |
Compresser manuellement le contexte de conversation |
/rollback [number] |
Lister ou restaurer les checkpoints du système de fichiers |
/stop |
Arrêter tous les processus d’arrière-plan en cours |
/queue <prompt> |
Mettre un prompt en file d’attente pour le prochain tour. Piège : /q est revendiqué à la fois par /queue et /quit ; le dernier enregistrement l’emporte et, en pratique, /q correspond à /quit — saisissez toujours /queue explicitement.9 |
/resume [name] |
Reprendre une session précédemment nommée |
/statusbar (alias /sb) |
Activer ou désactiver la barre d’état du contexte/modèle |
/background <prompt> (alias /bg) |
Exécuter un prompt dans une session d’arrière-plan distincte |
/btw <question> |
Question secondaire éphémère (sans outils, non persistée) |
/plan [request] |
Charger le skill plan inclus afin d’écrire un plan au lieu d’exécuter |
/branch [name] (alias /fork) |
Créer une branche à partir de la session actuelle |
/goal <target> |
Verrouiller l’agent sur une cible afin qu’il reste concentré d’un tour à l’autre. Modèle de boucle Ralph comme primitive de premier ordre. Budget de tours configurable. Nouveau dans la v0.13.0.18 |
/subgoal <criterion> |
Ajouter des critères de réussite à un /goal actif sans redémarrer la boucle. Nouveau dans la v0.14.0.19 |
/handoff <target> |
Transférer la session en cours — messages, appels d’outils et contexte — vers un autre modèle, persona ou profile. Nouveau dans la v0.14.0.19 |
Configuration et modèle
| Commande | Description |
|---|---|
/config |
Afficher la configuration actuelle |
/model [model-name] |
Afficher ou modifier le modèle actuel |
/provider |
Afficher les providers disponibles et le provider actuel |
/personality [name] |
Définir une surcouche de personnalité |
/verbose |
Faire défiler l’affichage de progression des outils |
/reasoning |
Gérer l’effort de raisonnement et son affichage. La v0.19.0 ajoute les niveaux d’effort max et ultra et limite /reasoning à la session, avec des remplacements d’effort par modèle et par emplacement MoA dans la configuration25 |
/skin |
Afficher ou modifier le skin/thème d’affichage |
/voice [on\|off\|tts\|status] |
Activer ou désactiver le mode vocal de CLI |
/yolo |
Activer ou désactiver le mode YOLO (ignorer les demandes d’approbation). Depuis la v0.19.0, les règles de refus définies par l’utilisateur bloquent toujours les commandes correspondantes, même en mode YOLO25 |
/fast |
Activer ou désactiver le Fast Mode — traitement prioritaire pour les modèles OpenAI et Anthropic (v0.9.0+)16 |
/debug |
Diagnostics rapides sur toutes les plateformes (v0.9.0+)16 |
/subscription |
Gérer votre forfait Nous Portal depuis le terminal — forfait et quota restant, aperçu du coût de mise à niveau/rétrogradation, application avec annulation (v0.19.0+)25 |
/topup |
Ajouter du crédit à votre solde Nous Portal sans quitter le terminal (v0.19.0+)25 |
La commande /model est l’outil principal pour changer de provider au cours d’une session :9
/model # Show current model and options
/model claude-sonnet-4 # Switch model (auto-detect provider)
/model zai:glm-5 # Switch provider:model
/model custom:qwen-2.5 # Use model on custom endpoint
/model custom # Auto-detect model from custom endpoint
/model custom:local:qwen-2.5 # Named custom provider
/model openrouter:anthropic/claude-sonnet-4 # Back to cloud
La v0.19.0 ajoute /model --once — un remplacement de modèle pour un tour qui revient automatiquement à votre modèle précédent après la réponse.25
Outils, skills et informations
| Commande | Description |
|---|---|
/tools [list\|disable\|enable] [name...] |
Gérer les outils de la session actuelle |
/toolsets |
Lister les toolsets disponibles |
/browser [connect\|disconnect\|status] |
Gérer la connexion CDP locale de Chrome |
/skills |
Rechercher, installer, inspecter ou gérer des skills |
/cron |
Gérer les tâches planifiées |
/reload-mcp |
Recharger les serveurs MCP depuis config.yaml |
/plugins |
Lister les plugins installés |
/help |
Afficher toutes les commandes |
/usage |
Afficher l’utilisation des tokens, le coût et la durée |
/insights |
Afficher les analyses d’utilisation (30 derniers jours) |
/platforms |
Afficher l’état des plateformes de messagerie |
/profile |
Afficher le nom et le répertoire personnel du profile actif |
Commandes Slash de skills dynamiques
Chaque skill installé est automatiquement exposé comme commande Slash :9
/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor
/excalidraw # Just the skill name loads it and lets the agent ask what you need
Depuis la v0.19.0, les invocations de slash-skill s’empilent : /skill-a /skill-b do XYZ charge les deux skills dans l’ordre lors d’un même tour, avec saisie semi-automatique et texte fantôme pour les noms chaînés.25
Vous pouvez également définir des commandes rapides dans config.yaml afin d’associer un nom court à un prompt plus long :9
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Saisissez ensuite /review, /deploy ou /morning dans CLI.
Correspondance par préfixe
Les commandes prennent en charge la correspondance par préfixe : saisir /h correspond à /help, tandis que /mod correspond à /model. Lorsqu’un préfixe est ambigu, le premier enregistrement dans l’ordre du registre l’emporte. Les noms complets de commande et les alias enregistrés ont toujours priorité sur les correspondances par préfixe.9
Commandes spécifiques aux plateformes de messagerie
Certaines commandes fonctionnent uniquement sur les plateformes de messagerie (Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant) :9
/status— afficher les informations de session/sethome(alias/set-home) — désigner le chat actuel comme accueil de la plateforme/approve [session|always]— approuver une commande dangereuse en attente/deny [reason]— refuser une commande dangereuse en attente. Depuis la v0.19.0,/deny <reason>transmet votre motif de refus à l’agent afin qu’il corrige sa trajectoire au lieu de réessayer à l’aveugle25/update— mettre à jour Hermes Agent vers la dernière version/commands [page]— parcourir toutes les commandes et tous les skills (paginés)
Certaines sont également réservées à CLI : /skin, /tools, /toolsets, /browser, /config, /cron, /skills, /platforms, /paste, /statusbar, /plugins.9
Outils et toolsets
Hermes est livré avec un vaste registre d’outils intégrés couvrant la recherche sur le Web, l’automatisation de navigateur, l’exécution dans le terminal, l’édition de fichiers, la mémoire, la délégation, l’entraînement RL, l’envoi de messages, l’intégration à Home Assistant, et bien plus encore.10 Les outils sont organisés en toolsets logiques qui peuvent être activés ou désactivés pour chaque plateforme.
Catégories principales
| Catégorie | Exemples | Description |
|---|---|---|
| Web | web_search, web_extract |
Rechercher sur le Web et extraire le contenu des pages |
| Terminal et fichiers | terminal, process, read_file, patch |
Exécuter des commandes et manipuler des fichiers |
| Navigateur | browser_navigate, browser_snapshot, browser_vision |
Automatisation interactive du navigateur avec du texte et de la vision |
| Médias | vision_analyze, video_analyze, video_generate, image_generate, text_to_speech |
Analyse et génération multimodales. video_analyze donne la priorité à Gemini, avec une prise en charge extensible des fournisseurs multimodaux compatibles (v0.13.0+). La v0.14.0 ajoute video_generate unifié avec des backends de fournisseurs enfichables et envoie les pixels bruts via vision_analyze lorsque le modèle actif est compatible avec la vision.1819 |
| Orchestration d’agents | todo, clarify, execute_code, delegate_task |
Planification, clarification, exécution de code, délégation à des sous-agents |
| Utilisation de l’ordinateur | computer_use |
Contrôle du bureau via le backend cua-driver ; la v0.14.0 le rend compatible avec les fournisseurs prenant en charge la vision autres que Anthropic.19 |
| Mémoire et rappel | memory, session_search |
Mémoire persistante + recherche dans les sessions |
| Automatisation et envoi | cronjob, send_message |
Tâches planifiées, messagerie sortante |
| Intégrations | ha_*, outils MCP, rl_* |
Home Assistant, MCP, entraînement RL |
Les noms de toolsets courants incluent web, terminal, file, browser, vision, image_gen, moa, skills, tts, todo, memory, session_search, cronjob, code_execution, delegation, clarify, homeassistant et rl.10
Gestion des outils
hermes chat --toolsets "web,terminal" # Use specific toolsets
hermes tools # Interactive per-platform tool config
hermes tools --summary # Print enabled-tools summary
Les outils peuvent également être activés ou désactivés en cours de session via /tools disable <name> et /tools enable <name>, ce qui réinitialise la session afin que le nouvel ensemble d’outils prenne effet.9
Backends de terminal
L’outil de terminal peut exécuter des commandes dans six environnements différents :10
| Backend | Cas d’utilisation |
|---|---|
local |
Exécution sur votre machine (par défaut) — développement, tâches de confiance |
docker |
Conteneurs isolés — sécurité, reproductibilité |
ssh |
Serveur distant — sandbox, maintien de l’agent à l’écart de son propre code |
singularity |
Conteneurs HPC — calcul en cluster, sans root |
modal |
Exécution cloud serverless |
daytona |
Espace de travail sandbox dans le cloud — environnement de développement distant persistant |
Changez de backend avec hermes config set terminal.backend <name> ou dans config.yaml :
terminal:
backend: docker # or: local, ssh, singularity, modal, daytona
cwd: "." # Working directory
timeout: 180 # Command timeout in seconds
Backend SSH (recommandé pour la sécurité — l’agent ne peut pas modifier son propre code) :10
terminal:
backend: ssh
# In ~/.hermes/.env
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Backend Docker :
terminal:
backend: docker
docker_image: python:3.11-slim
Ressources des conteneurs (s’applique à docker, singularity, modal, daytona) :10
terminal:
container_cpu: 1
container_memory: 5120 # MB (default 5GB)
container_disk: 51200 # MB (default 50GB)
container_persistent: true # Persist filesystem across sessions
Avec container_persistent: true, les paquets installés, fichiers et configurations persistent entre les sessions.10
Tous les backends de conteneurs s’exécutent avec un durcissement de sécurité : système de fichiers racine en lecture seule (Docker), toutes les capacités Linux supprimées sauf DAC_OVERRIDE, CHOWN et FOWNER, aucune élévation de privilèges, limites de PID (256 processus), isolation complète des espaces de noms, espace de travail persistant via des volumes.10
Processus en arrière-plan
L’outil de terminal prend en charge l’exécution en arrière-plan avec une gestion explicite des processus :10
terminal(command="pytest -v tests/", background=true)
# Returns: {"session_id": "proc_abc123", "pid": 12345}
process(action="list") # Show all running processes
process(action="poll", session_id="proc_abc123") # Check status
process(action="wait", session_id="proc_abc123") # Block until done
process(action="log", session_id="proc_abc123") # Full output
process(action="kill", session_id="proc_abc123") # Terminate
process(action="write", session_id="proc_abc123", data="y") # Send input
Le mode PTY (pty=true) active les outils CLI interactifs comme Codex et Claude Code.10
Sudo
Si une commande nécessite sudo, Hermes vous demande votre mot de passe (mis en cache pour la session). Vous pouvez aussi définir SUDO_PASSWORD dans ~/.hermes/.env.10
Kanban multi-agent (v0.13.0+)
La v0.13.0 fait de la collaboration multi-agent une primitive de premier plan : un tableau Kanban durable qui suit les tâches, leur état et l’identité des workers entre les agents et après les redémarrages.18 C’est ce tableau qui permet à un essaim de workers Hermes de réellement terminer le travail, au lieu de rester bloqué sur des passations défaillantes.
| Mécanisme | Fonctionnement |
|---|---|
| Heartbeats | Chaque worker émet un signal tant qu’il est propriétaire d’une tâche. Un heartbeat manqué marque le worker comme suspect et libère la tâche pour récupération. |
| Reclaim | Un autre worker peut reprendre une tâche abandonnée, avec l’état complet de la tâche et la sortie partielle antérieure. |
| Détection des zombies | Les workers qui se terminent sans marquer une tâche comme terminée sont automatiquement empêchés de réclamer de nouveau travail, ce qui évite à l’essaim d’accumuler des identités mortes. |
| Barrière contre les hallucinations | Une sortie qui ne passe pas la barrière renvoie la tâche vers le tableau avec une raison indiquée, au lieu de la marquer comme terminée. |
max_retries par tâche |
Remplacez le budget de nouvelles tentatives par défaut pour une tâche dont vous savez qu’elle est fragile. |
| Tableaux multi-projets | Un même répertoire personnel Hermes peut héberger plusieurs tableaux indépendants. |
Le tableau Kanban s’associe naturellement à /goal (boucle Ralph à cible verrouillée) pour l’aspect objectif, ainsi qu’à l’outil delegate_task existant pour la sémantique de création. Il en résulte un modèle d’essaim où chaque agent partage une source de vérité unique concernant ce qu’il faut faire ensuite, qui s’en charge et ce qui est bloqué.
Qu’est-ce qu’un essaim Hermes ?
Un essaim rassemble plusieurs workers Hermes exécutés en parallèle sur un même tableau Kanban partagé. Ce n’est pas un sous-système distinct à activer – c’est ce que le tableau rend possible. Le tableau fournit la seule chose que des agents parallèles ne peuvent pas se fournir eux-mêmes : une réponse unique et faisant autorité à quelle tâche dois-je prendre ensuite, et quelqu’un s’en occupe-t-il déjà ?
La v0.15.0 a fait évoluer ce modèle d’un simple pattern à une topologie prise en charge, en ajoutant une topologie d’essaim pour la coordination de workers parallèles, la décomposition automatique d’un objectif de haut niveau en sous-tâches, des remplacements de modèle par tâche, des tâches planifiées et la gestion des worktrees afin que les workers parallèles n’entrent pas en conflit dans le même checkout.28
| Problème dans une configuration multi-agent naïve | Ce que fait le tableau à la place |
|---|---|
| Deux workers prennent la même tâche | La propriété de la tâche est réclamée, avec l’identité du worker enregistrée |
| Un worker meurt au milieu d’une tâche et le travail disparaît | Le heartbeat expire, la tâche est récupérée avec la sortie partielle antérieure |
| Un worker planté continue de « retenir » des tâches indéfiniment | La détection des zombies l’empêche de réclamer de nouveau travail |
| Un modèle coûteux pour chaque sous-tâche | Remplacements de modèle par tâche – modèles peu coûteux pour les sous-tâches mécaniques |
| Des workers parallèles modifient les mêmes fichiers | La gestion des worktrees isole le checkout de chaque worker |
Dans la pratique : donnez un objectif à l’essaim, laissez la décomposition automatique le répartir en tâches sur le tableau,
puis laissez les workers les réclamer, les exécuter et renvoyer les résultats. Le budget de nouvelles tentatives est défini par tâche (max_retries),
afin qu’une sous-tâche fragile ne consomme pas toute la tolérance de l’exécution. Comme le tableau est
durable, un essaim survit aux redémarrages – les workers se reconnectent et reprennent à partir du même état.
Un essaim ne vaut que par sa décomposition. Le tableau coordonne les workers ; il ne transforme pas un objectif mal découpé en bon objectif. Les tâches qui partagent un état caché continueront à se heurter, avec ou sans worktrees.
Système de skills
Les skills sont des documents de connaissances à la demande que l’agent peut charger lorsque nécessaire. Ils suivent un modèle de divulgation progressive afin de réduire l’utilisation de tokens et sont compatibles avec le standard ouvert agentskills.io.11
Tous les skills se trouvent dans ~/.hermes/skills/ — le répertoire principal et la source de référence. Lors d’une nouvelle installation, les skills fournis sont copiés depuis le dépôt. Les skills installés depuis le hub et ceux créés par l’agent y sont également placés.11
Divulgation progressive
Level 0: skills_list() → [{name, description, category}, ...] (~3k tokens)
Level 1: skill_view(name) → Full content + metadata (varies)
Level 2: skill_view(name, path) → Specific reference file (varies)
L’agent ne charge le contenu complet d’un skill que lorsqu’il en a réellement besoin.11
Format SKILL.md
---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux] # Optional — restrict to OS platforms
metadata:
hermes:
tags: [python, automation]
category: devops
fallback_for_toolsets: [web] # Conditional activation
requires_toolsets: [terminal] # Conditional activation
config: # Config.yaml settings
- key: my.setting
description: "What this controls"
default: "value"
prompt: "Prompt for setup"
---
# Skill Title
## When to Use
Trigger conditions for this skill.
## Procedure
1. Step one
2. Step two
## Pitfalls
- Known failure modes and fixes
## Verification
How to confirm it worked.
Activation conditionnelle
Les skills peuvent s’afficher ou se masquer selon les outils disponibles. Cela est particulièrement utile pour les skills de secours — des alternatives gratuites ou locales qui ne doivent apparaître que lorsqu’un outil premium n’est pas disponible :11
| Champ | Comportement |
|---|---|
fallback_for_toolsets |
Skill masqué lorsque les toolsets répertoriés sont disponibles |
fallback_for_tools |
Identique, mais vérifie les outils individuels |
requires_toolsets |
Skill masqué lorsque les toolsets répertoriés ne sont pas disponibles |
requires_tools |
Identique, mais vérifie les outils individuels |
Exemple : le skill intégré duckduckgo-search utilise fallback_for_toolsets: [web]. Lorsque FIRECRAWL_API_KEY est défini, le toolset web est disponible et l’agent utilise web_search — le skill DuckDuckGo reste masqué. Sans la clé API, le skill DuckDuckGo apparaît automatiquement comme solution de secours.11
Skills gérés par l’agent
L’agent peut créer, mettre à jour et supprimer ses propres skills via l’outil skill_manage. Il s’agit de la mémoire procédurale de l’agent — lorsqu’il élucide un flux de travail non trivial, il enregistre l’approche sous forme de skill pour la réutiliser ultérieurement.11
Lorsque l’agent crée des skills :11 - Après avoir mené à bien une tâche complexe (plus de 5 appels d’outils) - Lorsqu’il a rencontré des erreurs ou des impasses et trouvé la procédure qui fonctionne - Lorsque l’utilisateur a corrigé son approche - Lorsqu’il a découvert un flux de travail non trivial
Actions :11
| Action | À utiliser pour |
|---|---|
create |
Créer un nouveau skill à partir de zéro |
patch |
Apporter des corrections ciblées (préféré — le plus efficace en tokens) |
edit |
Effectuer des réécritures structurelles majeures |
delete |
Supprimer entièrement un skill |
write_file |
Ajouter ou mettre à jour des fichiers auxiliaires |
remove_file |
Supprimer un fichier auxiliaire |
Hub de skills
Parcourez, recherchez, installez et gérez des skills depuis des registres en ligne :611
hermes skills browse # Browse all hub skills
hermes skills browse --source official # Browse official optional skills
hermes skills search kubernetes # Search all sources
hermes skills search react --source skills-sh # Search skills.sh directory
hermes skills inspect openai/skills/k8s # Preview before installing
hermes skills install openai/skills/k8s # Install with security scan
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills check # Check for upstream updates
hermes skills update # Reinstall changed hub skills
hermes skills audit # Re-scan installed hub skills
hermes skills uninstall k8s
hermes skills publish skills/my-skill --to github --repo owner/repo
hermes skills tap add myorg/skills-repo # Add custom GitHub source
Sources de hub intégrées :11
| Source | Exemple | Notes |
|---|---|---|
official |
official/security/1password |
Skills facultatifs fournis avec Hermes (confiance intégrée) |
skills-sh |
skills-sh/vercel-labs/agent-skills/vercel-react-best-practices |
Répertoire public de skills de Vercel |
well-known |
well-known:https://mintlify.com/docs/.well-known/skills/mintlify |
Découverte basée sur URL depuis des sites publiant /.well-known/skills/index.json |
github |
openai/skills/k8s |
Installations directes depuis un dépôt/chemin GitHub |
clawhub |
— | Marketplace de skills tiers |
lobehub |
— | Conversion du catalogue d’agents LobeHub |
browse-sh |
— | Source de skills Browserbase |
Dépôts GitHub par défaut (consultables sans configuration) : openai/skills, anthropics/skills, huggingface/skills, NVIDIA/skills, garrytan/gstack. La source claude-marketplace a été supprimée dans la version v0.20.0 ; browse-sh l’a remplacée dans la liste des sources.1124
Analyse de sécurité
Tous les skills installés depuis le hub sont soumis à un scanner de sécurité qui vérifie l’exfiltration de données, l’injection de prompts, les commandes destructrices, les signaux liés à la chaîne d’approvisionnement et d’autres menaces.11
Niveaux de confiance :11
| Niveau | Source | Politique |
|---|---|---|
builtin |
Fourni avec Hermes | Toujours approuvé |
official |
optional-skills/ dans le dépôt |
Confiance intégrée, sans avertissement relatif aux tiers |
trusted |
Registres de confiance (openai/skills, anthropics/skills) |
Politique plus permissive |
community |
Tout le reste | Les résultats non dangereux peuvent être ignorés avec --force ; les verdicts dangerous restent bloqués |
--force peut ignorer les blocages de politique non dangereux pour les skills communautaires. Il n’ignore pas un verdict d’analyse dangerous.11
Répertoires de skills externes
Vous pouvez indiquer à Hermes des répertoires de skills supplémentaires, analysés en même temps que le répertoire local :11
skills:
external_dirs:
- ~/.agents/skills
- /home/shared/team-skills
- ${SKILLS_REPO}/skills
Les chemins prennent en charge l’expansion de ~ et la substitution de variables d’environnement ${VAR}. Les répertoires externes sont en lecture seule — lorsque l’agent crée ou modifie un skill, il écrit toujours dans ~/.hermes/skills/. La priorité locale l’emporte si un nom de skill existe aux deux emplacements.11
Mémoire persistante
Hermes dispose d’une mémoire limitée et organisée, qui persiste d’une session à l’autre. Deux fichiers composent la mémoire de l’agent, tous deux stockés dans ~/.hermes/memories/ :12
| Fichier | Rôle | Limite de caractères |
|---|---|---|
MEMORY.md |
Notes personnelles de l’agent — faits sur l’environnement, conventions, éléments appris | 2 200 caractères (~800 tokens) |
USER.md |
Profil utilisateur — préférences, style de communication, attentes | 1 375 caractères (~500 tokens) |
Les deux sont injectés dans le prompt système sous la forme d’un instantané figé au démarrage de la session. L’agent gère sa propre mémoire via l’outil memory — add, replace ou remove.12
Modèle de l’instantané figé : l’injection dans le prompt système est capturée une fois au démarrage de la session et ne change jamais en cours de session. C’est intentionnel — cela préserve le cache de préfixe de LLM pour les performances. Les modifications effectuées pendant une session sont immédiatement enregistrées sur le disque, mais n’apparaissent pas dans le prompt système avant la session suivante.12
Éléments à enregistrer
Enregistrez ces éléments (l’agent le fait de façon proactive) :12
- Préférences utilisateur : « I prefer TypeScript over JavaScript » → user
- Faits sur l’environnement : « This server runs Debian 12 with PostgreSQL 16 » → memory
- Corrections : « Don’t use sudo for Docker commands, user is in docker group » → memory
- Conventions : « Project uses tabs, 120-char line width, Google-style docstrings » → memory
- Travail terminé : « Migrated database from MySQL to PostgreSQL on 2026-01-15 » → memory
Ignorez ces éléments :12 - Informations triviales ou évidentes - Faits faciles à redécouvrir - Exports de données brutes (trop volumineux pour la mémoire) - Éléments éphémères propres à une session - Informations déjà présentes dans les fichiers de contexte
Recherche de sessions
Au-delà de MEMORY.md et USER.md, l’agent peut rechercher dans ses conversations passées avec l’outil session_search. Toutes les sessions CLI et de messagerie sont stockées dans SQLite (~/.hermes/state.db) avec la recherche plein texte FTS5. Les requêtes renvoient les conversations passées pertinentes avec une synthèse par Gemini Flash.12
| Fonctionnalité | Mémoire persistante | Recherche de sessions |
|---|---|---|
| Capacité | ~1 300 tokens au total | Illimitée (toutes les sessions) |
| Vitesse | Instantanée (dans le prompt système) | Nécessite une recherche + une synthèse par LLM |
| Cas d’usage | Faits clés toujours disponibles | Retrouver des conversations passées précises |
| Gestion | Organisée manuellement par l’agent | Automatique — toutes les sessions sont stockées |
| Coût en tokens | Fixe par session (~1 300 tokens) | À la demande |
Fournisseurs de mémoire externes
Pour une mémoire persistante plus approfondie au-delà de MEMORY.md et USER.md, Hermes est fourni avec huit plugins de fournisseurs de mémoire externes : Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover et Supermemory.12
Les fournisseurs externes s’exécutent en parallèle de la mémoire intégrée (sans jamais la remplacer) et ajoutent des capacités telles que les graphes de connaissances, la recherche sémantique, l’extraction automatique de faits et la modélisation utilisateur intersessions :612
hermes memory setup # Pick a provider and configure it
hermes memory status # Check what's active
hermes memory off # Disable external provider (built-in only)
Un seul fournisseur externe peut être actif à la fois. La mémoire intégrée est toujours active.6
Reprise automatique des sessions (v0.13.0+)
La v0.13.0 permet de survivre aux interruptions en cours d’exécution de l’agent. Après un redémarrage, le gateway reprend automatiquement les sessions interrompues ; les redémarrages via /update préservent l’état des sessions pendant la mise à niveau ; les rechargements de fichiers source pendant le développement maintiennent la session active au lieu d’en imposer une nouvelle.18 En pratique, les longues tâches du gateway et les tâches pilotées par cron ne réinitialisent plus leur fenêtre de contexte lorsque le processus redémarre.
Checkpoints v2 (v0.13.0+)
La persistance d’état est réécrite dans la v0.13.0 sous la forme d’une architecture à magasin unique, avec un véritable élagage, des garde-fous sur le disque et aucun dépôt fantôme orphelin.18 L’ancien système de checkpoints accumulait l’état sur le disque dans les profiles exécutés sur de longues durées ; le magasin v2 impose un plafond strict au stockage local des checkpoints et supprime la gestion dupliquée à l’origine de cette croissance. Aucun changement de configuration côté utilisateur n’est nécessaire ; la prochaine écriture de checkpoint utilisera le chemin v2.
Personnalité et SOUL.md
SOUL.md constitue l’identité principale d’une instance Hermes. Il occupe l’emplacement n° 1 dans le prompt système et remplace l’identité par défaut codée en dur.13
Hermes initialise automatiquement un SOUL.md par défaut dans ~/.hermes/SOUL.md (ou $HERMES_HOME/SOUL.md pour les profiles personnalisés). Les fichiers utilisateur existants ne sont jamais écrasés. Hermes ne charge SOUL.md que depuis HERMES_HOME — il ne le recherche pas dans le répertoire de travail actuel. La personnalité reste ainsi prévisible d’un projet à l’autre.13
Ce qui appartient à SOUL.md
Utilisez-le pour des directives durables sur la voix et la personnalité :13 - ton - style de communication - niveau de franchise - style d’interaction par défaut - éléments stylistiques à éviter - manière dont Hermes doit gérer l’incertitude, le désaccord et l’ambiguïté
Utilisez-le moins pour :13 - instructions de projet ponctuelles - chemins de fichiers - conventions de dépôt - détails de workflow temporaires
Ces éléments appartiennent à AGENTS.md, pas à SOUL.md.
SOUL.md et AGENTS.md
C’est la distinction la plus importante dans la gestion de l’identité de Hermes :13
SOUL.md — identité, ton, style, paramètres de communication par défaut, comportement au niveau de la personnalité.
AGENTS.md — architecture du projet, conventions de code, préférences d’outils, workflows spécifiques au dépôt, commandes, ports, chemins, notes de déploiement.
Une règle utile : si cela doit vous suivre partout, cela appartient à SOUL.md. Si cela appartient à un projet, cela appartient à AGENTS.md.13
Personnalités intégrées
Hermes est fourni avec des personnalités intégrées, que vous pouvez sélectionner avec /personality :13
| Nom | Description |
|---|---|
helpful |
Assistant convivial et polyvalent |
concise |
Réponses brèves et directes |
technical |
Expert technique détaillé et précis |
creative |
Réflexion innovante et originale |
teacher |
Pédagogue patient avec des exemples clairs |
kawaii |
Expressions adorables, paillettes et enthousiasme |
catgirl |
Neko-chan avec des expressions félines |
pirate |
Capitaine Hermes, boucanier féru de technologie |
shakespeare |
Prose de barde avec une touche dramatique |
surfer |
Ambiance décontractée de surfeur |
noir |
Narration de détective dur à cuire |
uwu |
Adorable au maximum avec le langage uwu |
philosopher |
Réflexion profonde sur chaque requête |
hype |
ÉNERGIE MAXIMALE |
Personnalités personnalisées dans config.yaml :13
agent:
personalities:
codereviewer: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Basculez ensuite avec /personality codereviewer.
SOUL.md et /personality
SOUL.md définit la voix de référence. /personality est une surcouche au niveau de la session.13 Conservez un SOUL.md pragmatique par défaut, puis utilisez /personality teacher pour une conversation de tutorat ou /personality creative pour un brainstorming.
Nous Tool Gateway (v0.10.0+)
Depuis Hermes Agent v0.10.0 (16 avril 2026), les abonnés payants à Nous Portal bénéficient d’un accès géré à un ensemble d’outils sélectionnés via leurs identifiants Portal existants — aucune clé API supplémentaire à gérer.30 Le CLI Hermes lui-même reste sous licence MIT et entièrement open source. Ce qui change, c’est que votre authentification Portal donne désormais accès à plus que l’inférence de modèles.
Contenu du gateway
| Outil | Fournisseur | Cas d’utilisation |
|---|---|---|
| Recherche web | Firecrawl | Récupération d’informations pour les agents qui ont besoin de données récentes |
| Génération d’images | FAL / FLUX 2 Pro | Générer des images en ligne sans configurer de clé FAL |
| Synthèse vocale | OpenAI TTS | Réponses vocales sur les gateways de messagerie |
| Automatisation de navigateur | Browser Use | Navigation et extraction de données en mode headless |
Fonctionnement
Le gateway est activé individuellement pour chaque outil via un nouveau champ de configuration use_gateway. Si vous disposez d’identifiants Portal dans hermes auth et activez le gateway pour un outil, les appels de cet outil passent par Portal. Sinon, votre clé API directe (si elle existe) est utilisée.
# config.yaml — per-tool gateway opt-in
tools:
web_search:
provider: firecrawl
use_gateway: true # route via Nous Portal subscription
image_generation:
provider: fal
use_gateway: true
Priorité à l’exécution : lorsque le gateway est disponible et qu’un outil a use_gateway: true, Hermes privilégie le gateway même si vous avez également configuré une clé API directe. C’est important pour la facturation — les appels via le gateway sont déduits de votre abonnement Portal, et non du solde de votre clé API directe.
Activer le gateway
hermes model # select Nous Portal (OAuth flow)
hermes tools # per-platform tool picker integrates gateway tools
hermes status # confirms gateway/subscription detection
L’abonnement est détecté automatiquement à partir des identifiants Portal OAuth que vous possédez déjà dans hermes auth — il n’existe pas d’étape de connexion distincte. Depuis v0.19.0, vous pouvez également gérer l’abonnement lui-même depuis une session : /subscription affiche votre formule et votre quota restant, prévisualise exactement le coût d’une mise à niveau ou la date d’effet d’un rétrogradage, puis applique le changement avec des bannières de modification planifiée et une option d’annulation ; /topup ajoute du crédit. L’application de bureau propose un onglet de paramètres de facturation correspondant.25
Tarification et accès
Les tarifs et les noms des niveaux sont publiés sur la page de tarification de Nous Portal (https://portal.nousresearch.com/pricing). Ce guide ne détaille pas les niveaux, car ils relèvent du produit Portal, et non du CLI Hermes, et ils évoluent indépendamment des versions de Hermes. Inscrivez-vous sur https://portal.nousresearch.com/ et consultez la page de tarification pour connaître les niveaux actuels.
Avis de dépréciation
- La variable d’environnement
HERMES_ENABLE_NOUS_MANAGED_TOOLSest supprimée dans v0.10.0. Les outils gérés sont désormais activés via le champ de configurationuse_gatewaypar outil et dépendent de l’état de votre abonnement Portal.30
Cadre : ce que cette version n’est pas
Le CLI Hermes Agent n’est pas soumis à un abonnement. Le projet reste sous licence MIT, toutes les fonctionnalités principales (CLI, skills, mémoire, gateway de messagerie, cron, MCP, tableau de bord local, BYOK pour chaque fournisseur) fonctionnent de bout en bout sans payer personne. La v0.10.0 ajoute une solution pratique pour les utilisateurs qui paient déjà pour Nous Portal — elle ne retire rien au parcours gratuit.
Gateway de messagerie
Hermes peut fonctionner comme un processus gateway de longue durée qui connecte 28 plateformes de messagerie depuis un seul processus gateway : Telegram, Discord, Slack, WhatsApp, Signal, SMS, Email, Home Assistant, Mattermost, Matrix, DingTalk, Feishu/Lark, WeCom, Weixin (WeChat), BlueBubbles (iMessage), QQBot, Microsoft Teams, Tencent Yuanbao, Google Chat, LINE, SimpleX Chat et un adaptateur Webhook générique.329171819 La v0.9.0 a ajouté iMessage via BlueBubbles (enregistrement automatique des Webhook, assistant de configuration, résilience aux plantages) et la prise en charge native de WeChat via iLink Bot API avec le mode callback WeCom pour les applications d’entreprise.16 La v0.11.0 a ajouté QQBot.29 La v0.12.0 a ajouté Microsoft Teams et Tencent Yuanbao.17 La v0.13.0 a ajouté Google Chat en tant que 20e plateforme, en s’appuyant sur la même architecture d’adaptateurs extensibles ; IRC et Microsoft Teams ont également été migrés vers le nouveau modèle d’adaptateur avec des hooks de plugin génériques env_enablement_fn / cron_deliver_env_var.18 La v0.14.0 ajoute LINE et SimpleX Chat et complète la pile Microsoft Teams de bout en bout avec l’authentification Graph, un écouteur Webhook, le runtime du pipeline et la livraison sortante.19 La v0.17.0 (19 juin 2026) ajoute iMessage sans relay via Photon Spectrum (OAuth par code d’appareil avec hermes photon login — aucun relay Mac/BlueBubbles requis), l’adaptateur officiel WhatsApp Business Cloud API (qui remplace l’exigence d’un processus bridge), les groupes SimpleX et les pièces jointes natives, ainsi que Raft comme plugin de plateforme intégré.21
Configuration
hermes gateway setup # Interactive platform configuration
hermes gateway install # Install as user service (systemd/launchd)
hermes gateway start # Start the installed service
hermes gateway stop
hermes gateway restart
hermes gateway status
hermes gateway run # Run in foreground (debugging)
La configuration interactive vous guide pour connecter chaque plateforme : tokens API, identifiants de bot, mappages de canaux, listes d’autorisation.6
Flux des messages
Extrait de la documentation d’architecture en amont :3
Platform event → Adapter.on_message() → MessageEvent
→ GatewayRunner._handle_message()
→ authorize user
→ resolve session key
→ create AIAgent with session history
→ AIAgent.run_conversation()
→ deliver response back through adapter
Chaque plateforme de messagerie passe par la même boucle de conversation AIAgent que le CLI. C’est pourquoi les commandes slash fonctionnent de manière identique dans les deux cas et pourquoi une tâche cron planifiée dans Telegram peut livrer son résultat dans Discord — la différence entre les plateformes ne se situe qu’à la périphérie.3
La v0.19.0 ajoute le routage des messages par profile et une livraison durable. Un seul gateway multiplexé partageant un token de bot peut acheminer des guildes, canaux ou threads spécifiques vers différents profiles — chacun avec une configuration, des skills, une mémoire et des secrets entièrement isolés — grâce à un override GATEWAY_MULTIPLEX_PROFILES, et une vague de renforcement empêche désormais qu’un profile mal configuré fasse tomber tout le gateway. Sous le capot, l’index de routage a été déplacé dans state.db (sessions.json est maintenant un miroir hérité facultatif), et les réponses finales sont enregistrées dans un registre durable d’obligations de livraison autour de l’envoi par plateforme — une réponse terminée qui rencontre un plantage du gateway est livrée de nouveau au prochain démarrage au lieu d’être silencieusement perdue.25
Autorisation et appairage des utilisateurs
hermes pairing list # Show pending and approved users
hermes pairing approve <platform> <code>
hermes pairing revoke <platform> <user-id>
hermes pairing clear-pending
Les codes d’appairage empêchent des inconnus de communiquer avec votre gateway. Un utilisateur envoie un code d’appairage depuis sa plateforme de messagerie ; vous l’approuvez avec hermes pairing approve ; il est alors autorisé.6
Tâches planifiées (Cron)
Hermes dispose d’un système cron de première classe dans lequel les tâches sont des tâches d’agent, et non des commandes shell. Chaque tâche planifiée s’exécute via un nouveau AIAgent avec le prompt configuré, des skills facultatifs attachés, et livre les résultats sur n’importe quelle plateforme :36
hermes cron list
hermes cron create --prompt "Check HN for AI news and summarize" --schedule "0 9 * * *" --deliver telegram
hermes cron edit <id>
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id> # Trigger now on the next tick
hermes cron remove <id>
hermes cron status # Check if scheduler is running
hermes cron tick # Run due jobs once and exit
Ou créez-en une de manière conversationnelle dans une discussion de messagerie :
Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
L’agent configurera la tâche cron via ses outils. Les tâches persistent dans JSON et survivent aux redémarrages.3
Intégration de MCP
Hermes prend en charge le Model Context Protocol à la fois comme client et comme serveur :6
En tant que client — connectez Hermes à des serveurs MCP externes afin d’étendre sa surface d’outils :
hermes mcp add <name> --url https://example.com/mcp
hermes mcp add <name> --command npx --args "-y,@modelcontextprotocol/server-github"
hermes mcp list
hermes mcp test <name>
hermes mcp remove <name>
hermes mcp configure <name> # Toggle individual tool selection
Ou manuellement dans config.yaml :14
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
Depuis v0.19.0, les outils MCP sont exposés au modèle selon la convention de nommage mcp__server__tool — chaque nom d’outil porte le nom de son serveur, afin que deux serveurs exposant le même outil n’entrent plus en conflit — et les notifications de journal des serveurs MCP sont affichées dans agent.log.25
En tant que serveur — exposez les conversations Hermes à d’autres agents :
hermes mcp serve
hermes mcp serve -v # Verbose
Compression du contexte
Hermes compresse automatiquement les longues conversations afin de rester dans la fenêtre de contexte de votre modèle. Le résumeur de compression est un appel LLM distinct — vous pouvez le diriger vers n’importe quel provider ou endpoint.4
compression:
enabled: true
threshold: 0.50 # Compress at this % of context limit
target_ratio: 0.20 # Fraction to preserve as recent tail
protect_last_n: 20 # Min recent messages to keep uncompressed
summary_model: "google/gemini-3-flash-preview"
summary_provider: "auto" # "auto", "openrouter", "nous", "codex", "main", etc.
summary_base_url: null # Custom OpenAI-compatible endpoint
Options de provider :4
summary_provider |
summary_base_url |
Résultat |
|---|---|---|
auto (par défaut) |
non défini | Détecte automatiquement le meilleur provider disponible |
nous / openrouter / etc. |
non défini | Force ce provider et utilise son authentification |
| n’importe lequel | défini | Utilise directement l’endpoint personnalisé (provider ignoré) |
summary_model doit prendre en charge une longueur de contexte au moins aussi grande que celle de votre modèle principal, car il reçoit toute la section centrale de la conversation à compresser.4
Avertissements de pression sur le budget
Lorsque l’agent travaille sur une tâche complexe avec de nombreux appels d’outils, il peut épuiser son budget d’itérations (500 tours par défaut depuis v0.20.0, contre 90 auparavant) sans s’en rendre compte. La pression sur le budget avertit automatiquement le modèle :4
| Seuil | Niveau | Ce que voit le modèle |
|---|---|---|
| 70 % | Prudence | [BUDGET: 350/500. 150 iterations left. Start consolidating.] |
| 90 % | Avertissement | [BUDGET WARNING: 450/500. Only 50 left. Respond NOW.] |
Délais d’expiration du flux
La connexion de streaming LLM comporte deux couches de délai d’expiration qui s’ajustent automatiquement pour les providers locaux (localhost, IP de LAN) :4
| Délai d’expiration | Par défaut | Providers locaux | Variable d’environnement |
|---|---|---|---|
| Délai de lecture du socket | 120 s | Augmenté automatiquement à 1 800 s | HERMES_STREAM_READ_TIMEOUT |
| Détection de flux inactif | 180 s | Désactivée automatiquement | HERMES_STREAM_STALE_TIMEOUT |
| Appel API (sans streaming) | 1 800 s | Inchangé | HERMES_API_TIMEOUT |
Le délai de lecture du socket est porté à 30 minutes pour les endpoints locaux, car les LLMs locaux peuvent mettre plusieurs minutes à effectuer le préremplissage sur de grands contextes avant de produire le premier token.4
Tableau de bord web local (v0.9.0+)
Un tableau de bord accessible dans le navigateur pour gérer votre Hermes Agent localement. Configurez les paramètres, surveillez les sessions, parcourez les skills et gérez votre gateway sans toucher aux fichiers de configuration ni au terminal.16 Lancez-le avec hermes dashboard. C’est le parcours d’intégration le plus simple pour les nouveaux utilisateurs qui préfèrent une GUI.
Surveillance des processus en arrière-plan (v0.9.0+)
watch_patterns vous permet de définir des motifs à surveiller dans la sortie des processus en arrière-plan et de recevoir des notifications en temps réel lorsqu’ils correspondent.16 Surveillez les erreurs, attendez des événements spécifiques (« listening on port ») ou observez les journaux de build — sans aucune interrogation périodique. Combiné à notify_on_complete de v0.8.0 (qui notifie la fin des tâches en arrière-plan), Hermes dispose désormais d’une couche complète d’observabilité des processus en arrière-plan.15
Context engine interchangeable (v0.9.0+)
La gestion du contexte est désormais un emplacement interchangeable via hermes plugins. Intégrez des context engines personnalisés qui contrôlent ce que voit l’agent à chaque tour — filtrage, résumé ou injection de contexte propre à un domaine.16 Cela découple la stratégie de contexte de la boucle principale de l’agent et permet une personnalisation du contexte par projet ou par domaine.
Sauvegarde et restauration (v0.9.0+)
hermes backup crée une archive complète de votre configuration, de vos sessions, de vos skills et de votre mémoire. hermes import restaure depuis une archive de sauvegarde.16 Utilisez cette fonction pour migrer entre des machines, créer des instantanés avant des changements majeurs ou partager avec vos collègues une configuration validée.
Prise en charge de Termux / Android (v0.9.0+)
Hermes s’exécute nativement sur Android via Termux. Les chemins d’installation sont adaptés, la TUI est optimisée pour les écrans mobiles, le backend vocal est pris en charge et la commande /image fonctionne directement sur l’appareil.16
Renforcement de la sécurité (v0.13.0+)
La v0.13.0 a corrigé 8 problèmes de sécurité P0 et modifié un réglage par défaut en faveur de l’utilisateur.18 La v0.14.0 poursuit avec 12 corrections P0 et 50 corrections P1 supplémentaires, notamment le renforcement contre le brute force sudo / sudo-stdin, des correctifs de contournement de commandes dangereuses, l’assainissement des erreurs d’outils avant leur réinjection dans le modèle, l’authentification API des plugins du tableau de bord, la couverture SSRF de skills-hub et l’analyse des avis liés à la chaîne d’approvisionnement lors de l’installation.19
| Correctif | Modification apportée |
|---|---|
| Masquage des secrets activé par défaut | Auparavant facultatif. Les journaux et les téléversements hermes debug share masquent les secrets, sauf désactivation explicite. La v0.12.0 avait désactivé le masquage par défaut après des signalements de corruption de payload ; la v0.13.0 le réactive comme base plus sûre. |
| Contournement de DM Discord entre guilds (CVSS 8,1) | Les listes d’autorisation de rôles Discord sont désormais limitées à chaque guild, ce qui ferme une voie par laquelle le rôle d’un utilisateur sur une guild autorisait des DM sur toutes les autres. |
| Restrictions WhatsApp par défaut | L’adaptateur WhatsApp refuse les inconnus par défaut et ne répond jamais dans un self-chat. |
| Fenêtre TOCTOU de MCP OAuth | Correction d’une condition de concurrence lors de l’enregistrement des identifiants dans les flux MCP OAuth. |
TOCTOU de auth.json CLI |
Correction d’une fenêtre TOCTOU analogue dans l’outil d’écriture des identifiants du magasin d’authentification CLI. |
| Protection SSRF minimale du navigateur | Le routage hybride applique une protection SSRF minimale contre les métadonnées cloud pour les requêtes qui tentent d’atteindre 169.254.169.254 et ses équivalents. |
| Analyse des injections de prompt dans cron | Les prompts assemblés (y compris le contenu des skills chargés) sont analysés à la recherche d’injections de prompt avant l’exécution de la tâche cron. |
Masquage de hermes debug share |
Les téléversements de partage de débogage masquent le contenu des journaux au moment du téléversement, et non uniquement lors de l’écriture. |
Si vous maintenez un déploiement Hermes, considérez les v0.13.0 et v0.14.0 comme des mises à niveau importantes pour la sécurité, et non comme de simples ajouts de fonctionnalités. La v0.13.0 corrige le contournement Discord entre guilds et deux fenêtres TOCTOU ; la v0.14.0 ajoute un nouveau renforcement concernant la gestion de sudo, la réinjection des erreurs d’outils, les APIs des plugins, le SSRF de skills-hub et les avis sur les dépendances.
Architecture pour les praticiens
Cette section s’adresse aux personnes qui souhaitent comprendre ce qui se passe en coulisses afin de pouvoir déboguer, étendre ou évaluer les performances. Il s’agit d’une synthèse de la documentation d’architecture en amont.3
Points d’entrée → AIAgent
Dans Hermes, chaque point d’entrée appelle en définitive AIAgent.run_conversation() :
┌──────────────────────────────────────────────────────────────────┐
│ Entry Points │
│ │
│ CLI (cli.py) Gateway (gateway/run.py) ACP (acp_adapter/) │
│ Batch Runner API Server Python Library │
└──────────┬──────────────┬───────────────────────┬────────────────┘
│ │ │
▼ ▼ ▼
┌──────────────────────────────────────────────────────────────────┐
│ AIAgent (run_agent.py) │
│ │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Prompt │ │ Provider │ │ Tool │ │
│ │ Builder │ │ Resolution │ │ Dispatch │ │
│ └──────┬──────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ ┌──────┴───────┐ ┌──────┴───────┐ ┌──────┴───────┐ │
│ │ Compression │ │ 3 API Modes │ │ Tool Registry│ │
│ │ & Caching │ │ chat_compl │ │ 47 tools │ │
│ │ │ │ codex_resp │ │ 20 toolsets │ │
│ │ │ │ anthropic │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────┘
Schéma adapté de la documentation d’architecture en amont.3
« 47 tools / 20 toolsets » contre « 28 tools » dans votre bannière. Le nombre « 47 tools » correspond au registre total des tools du dépôt en amont — tous les tools pour lesquels Hermes fournit le code source, dans l’ensemble des toolsets. Votre CLI en cours d’exécution affichera un nombre inférieur dans sa bannière de démarrage (l’installation sur laquelle j’ai vérifié ce guide indique 28 tools / 89 skills). Ce n’est pas un bug. De nombreux toolsets sont opt-in et doivent être explicitement activés dans config.yaml, sous toolsets: — adaptateurs de plateformes de messagerie, automatisation de navigateur, outils de scraping plus lourds, etc. Le total du registre correspond à « ce qui est disponible » ; le nombre affiché dans la bannière correspond à « ce qui est activé dans votre profile actuel ». Vérifiez les toolsets actifs avec hermes tools --list et activez ou désactivez chaque toolset avec le bloc toolsets: dans ~/.hermes/config.yaml (ou /tools list / /tools enable <name> / /tools disable <name> dans une session en cours — retirer un tool déclenche la réinitialisation de la session afin que l’agent reconstruise son manifeste de tools).
Les trois modes API
Hermes abstrait les différences entre providers en trois modes API, sélectionnés automatiquement à l’exécution :3
| Mode API | Utilisé par |
|---|---|
chat_completions |
OpenRouter, z.ai, Kimi, MiniMax, DeepSeek, Alibaba, la plupart des endpoints personnalisés, tout serveur compatible OpenAI |
codex_responses |
OpenAI Codex (via ChatGPT OAuth) |
anthropic_messages |
Anthropic API (natif), Anthropic OAuth, proxys compatibles Anthropic |
Le résolveur runtime_provider.py associe les tuples (provider, model) à (api_mode, api_key, base_url) pour plus de 18 providers, en gérant les flux OAuth, les pools d’identifiants et la résolution d’alias.3
Flux de données au sein d’une session CLI
User input → HermesCLI.process_input()
→ AIAgent.run_conversation()
→ prompt_builder.build_system_prompt()
→ runtime_provider.resolve_runtime_provider()
→ API call (chat_completions / codex_responses / anthropic_messages)
→ tool_calls? → model_tools.handle_function_call() → loop
→ final response → display → save to SessionDB
Extrait de la page d’architecture en amont.3
Ordre d’assemblage du prompt
La pile de prompts comprend :13
SOUL.md(identité de l’agent — ou solution de repli intégrée s’il est indisponible)- Des consignes de comportement tenant compte des tools
- Le contexte de mémoire/utilisateur (
MEMORY.md,USER.md) - Les consignes relatives aux skills
- Les fichiers de contexte (
AGENTS.md,.cursorrules) - L’horodatage
- Des indications de mise en forme propres à la plateforme
- Des superpositions facultatives de system prompt, telles que
/personality
SOUL.md constitue la base — tout le reste s’appuie dessus.13
Stockage des sessions
Stockage des sessions basé sur SQLite avec recherche en texte intégral FTS5. Les sessions disposent d’un suivi de filiation (parent/enfant lors des compressions), d’une isolation par plateforme et d’écritures atomiques avec gestion de la contention.3
Système de plugins
Trois sources de découverte : ~/.hermes/plugins/ (utilisateur), .hermes/plugins/ (projet) et points d’entrée pip. Les plugins enregistrent des tools, des hooks et des commandes CLI via un contexte API. Les providers de mémoire constituent un type de plugin spécialisé sous plugins/memory/.3
hermes plugins # Interactive enable/disable UI
hermes plugins install <repo> # Install from Git URL or owner/repo
hermes plugins enable <name>
hermes plugins disable <name>
hermes plugins list
Principes de conception
Extrait de la page d’architecture en amont :3
| Principe | Ce que cela signifie en pratique |
|---|---|
| Stabilité du prompt | Le system prompt ne change pas en cours de conversation. Aucune mutation qui casse le cache, sauf actions explicites de l’utilisateur (/model) |
| Exécution observable | Chaque appel de tool est visible par l’utilisateur via des callbacks. Mises à jour de progression dans CLI (spinner) et le gateway (messages de chat) |
| Interruptible | Les appels API et l’exécution des tools peuvent être annulés en cours par une saisie utilisateur ou des signaux |
| Cœur indépendant de la plateforme | Une classe AIAgent sert CLI, gateway, ACP, batch et serveur API. Les différences entre plateformes résident dans le point d’entrée |
| Couplage faible | Les sous-systèmes facultatifs (MCP, plugins, providers de mémoire, environnements RL) utilisent des modèles de registre et le contrôle check_fn, et non des dépendances fortes |
| Isolation des profiles | Chaque profile possède son propre HERMES_HOME, sa configuration, sa mémoire, ses sessions et son PID de gateway. Plusieurs profiles peuvent s’exécuter simultanément |
Migration depuis OpenClaw
Hermes Agent succède à OpenClaw. Si vous migrez depuis une installation OpenClaw existante :65
hermes claw migrate --dry-run # Preview what would be migrated
hermes claw migrate --preset full # Full migration including API keys
hermes claw migrate --preset user-data --overwrite # User data only, no secrets
hermes claw migrate --source /custom/path # Non-default OpenClaw location
hermes claw migrate lit par défaut depuis ~/.openclaw (et détecte automatiquement les anciens dossiers ~/.clawdbot et ~/.moldbot) et écrit dans ~/.hermes.6
Importé directement (plus de 30 catégories) : SOUL.md, MEMORY.md, USER.md, AGENTS.md, skills provenant de 4 répertoires sources, modèle par défaut, providers personnalisés, serveurs MCP, tokens et listes d’autorisation des plateformes de messagerie (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), paramètres par défaut de l’agent (effort de raisonnement, compression, délai humain, fuseau horaire, sandbox), politiques de réinitialisation des sessions, règles d’approbation, configuration TTS, paramètres du navigateur, paramètres des tools, délai d’expiration exec, liste d’autorisation des commandes, configuration du gateway et clés API issues de 3 sources.6
Archivé pour examen manuel : tâches cron, plugins, hooks/webhooks, backend de mémoire (QMD), configuration du registre de skills, UI/identité, journalisation, configuration multi-agent, liaisons de canaux, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.6
La résolution des clés API vérifie trois sources par ordre de priorité : valeurs de configuration → ~/.openclaw/.env → auth-profiles.json.6
Dépannage
« No inference provider configured. Run ‘hermes model’ to choose a provider and model »
La première erreur rencontrée après toute nouvelle installation : Hermes n’a pas encore de provider résolu. Cela signifie exactement ce qui est indiqué — aucune des trois voies d’authentification n’a produit de provider utilisable. Exécutez :
hermes model
Le sélecteur interactif vous guide parmi tous les providers pris en charge, y compris les flux de code d’appareil OAuth (Nous Portal, GitHub Copilot, Anthropic, OpenAI Codex) et les endpoints personnalisés pour les serveurs auto-hébergés. Si vous pensiez qu’un provider était déjà configuré, hermes doctor indique les identifiants que Hermes détecte réellement ; les causes habituelles sont une clé API définie au mauvais endroit (elle doit se trouver dans .env ou être définie avec hermes config set, et non dans votre profil shell), un identifiant OAuth expiré dans ~/.hermes/auth.json, ou un endpoint personnalisé dans config.yaml qui a perdu son base_url. Les voies d’authentification sont détaillées dans Authentication & Providers.27
« API key not set »
Exécutez hermes model pour configurer votre provider de manière interactive, ou hermes config set OPENROUTER_API_KEY your_key. La commande hermes doctor vous indiquera précisément quelles clés sont manquantes.7
« Context limit: 2048 tokens » au démarrage (modèles locaux)
Hermes détecte automatiquement la longueur de contexte depuis l’endpoint /v1/models de votre serveur, mais de nombreux serveurs locaux signalent des valeurs par défaut faibles. Définissez-la explicitement dans config.yaml :2
model:
default: your-model
provider: custom
base_url: http://localhost:11434/v1
context_length: 32768
Les appels d’outils apparaissent sous forme de texte au lieu de s’exécuter
Votre serveur n’a pas les appels d’outils activés, ou le modèle ne les prend pas en charge via l’implémentation du serveur.2
| Serveur | Correctif |
|---|---|
| llama.cpp | Ajoutez --jinja à la commande de démarrage |
| vLLM | Ajoutez --enable-auto-tool-choice --tool-call-parser hermes |
| SGLang | Ajoutez --tool-call-parser qwen (ou l’analyseur approprié) |
| Ollama | Les appels d’outils sont activés par défaut — vérifiez que votre modèle les prend en charge avec ollama show <model> |
| LM Studio | Mettez à jour vers la version 0.3.6+ et utilisez un modèle prenant nativement en charge les outils |
Les réponses sont coupées au milieu d’une phrase
Deux causes possibles :2
- Limite de sortie basse (
max_tokens) sur le serveur — SGLang utilise par défaut 128 tokens par réponse. Définissez--default-max-tokenssur le serveur ou configurezmodel.max_tokensdansconfig.yaml. - Épuisement du contexte — Le modèle a rempli sa fenêtre de contexte. Augmentez
model.context_lengthou activez la compression du contexte dans Hermes.
« Connection refused » depuis WSL2 vers un serveur de modèles hébergé sous Windows
WSL2 utilise un adaptateur réseau virtuel avec son propre sous-réseau — localhost dans WSL2 désigne la VM Linux, et non l’hôte Windows. Deux options :2
Réseau en miroir (Windows 11 22H2+) : modifiez %USERPROFILE%\.wslconfig :
[wsl2]
networkingMode=mirrored
Exécutez ensuite wsl --shutdown et redémarrez. localhost fonctionne désormais dans les deux sens.
Solution de repli avec l’IP de l’hôte (anciennes versions de Windows) : récupérez l’IP de l’hôte Windows depuis WSL2 et utilisez-la à la place de localhost :
ip route show | grep -i default | awk '{ print $3 }'
# Use that IP as the base_url host
Le serveur de modèles doit également se lier à 0.0.0.0, et non à 127.0.0.1 — définissez OLLAMA_HOST=0.0.0.0 pour Ollama, ajoutez --host 0.0.0.0 pour llama-server/SGLang, ou activez « Serve on Network » dans LM Studio.2
Où se trouve tout ?
hermes status et hermes dump vous seront utiles ici. hermes logs list affiche tous les fichiers de journaux avec leur taille. hermes config path affiche l’emplacement du fichier de configuration. hermes config env-path affiche l’emplacement de .env.6
FAQ
Quelle est la différence entre Hermes Agent et Claude Code ?
Claude Code est le CLI officiel de Anthropic, limité aux modèles Anthropic. Hermes Agent est un framework d’agent open source de Nous Research qui fonctionne avec tout provider compatible OpenAI — Nous Portal, OpenRouter, Anthropic, GitHub Copilot, z.ai, Kimi, MiniMax, DeepSeek, Hugging Face, Google ou votre propre endpoint auto-hébergé.12 Hermes propose également un gateway de messagerie pour Telegram/Discord/Slack/WhatsApp/Signal, dont Claude Code ne dispose pas.
Puis-je utiliser Hermes avec une clé API Anthropic ?
Oui. Trois méthodes :2
- Définissez
ANTHROPIC_API_KEYdans~/.hermes/.envet exécutezhermes chat --provider anthropic --model claude-sonnet-4-6 - Exécutez
hermes modelet sélectionnez Anthropic — Hermes utilisera le magasin d’identifiants de Claude Code lorsqu’il est disponible - Définissez un
ANTHROPIC_TOKENmanuel (setup-token ou token OAuth) comme solution de repli
L’option 2 est préférable si vous utilisez déjà Claude Code sur la même machine — elle préserve le caractère actualisable des identifiants Claude actualisables.
Comment changer de provider sans perdre ma conversation ?
Utilisez /model provider:model dans une session. L’historique de conversation, la mémoire et les skills sont tous conservés :9
/model zai:glm-5
/model openrouter:anthropic/claude-sonnet-4
/model custom:local:qwen-2.5
J’ai configuré Anthropic, mais la vision, le web et la compression ne fonctionnent pas
Vous rencontrez le repli vers le modèle auxiliaire. La vision, la synthèse web, la compression et d’autres tâches secondaires utilisent un LLM auxiliaire distinct — par défaut Gemini Flash via la détection automatique (OpenRouter → Nous → Codex). Si aucun de ces éléments n’est configuré et que seul Anthropic est configuré, ces fonctionnalités se dégradent silencieusement.4
Correctif : ajoutez soit une OPENROUTER_API_KEY pour les tâches auxiliaires, soit reconfigurez les emplacements auxiliaires pour utiliser votre provider principal. Notez que la compression de contexte réside dans son propre bloc compression: de premier niveau et utilise summary_provider, et non auxiliary.compression.provider — l’emplacement auxiliary.compression n’expose qu’un timeout. Correctif complet :
auxiliary:
vision: { provider: "main" }
web_extract: { provider: "main" }
compression:
summary_provider: "main"
Quelle est la différence entre SOUL.md et AGENTS.md ?
SOUL.md correspond à l’identité de votre agent — ton, style et préférences de communication. Il se trouve dans ~/.hermes/SOUL.md et vous suit partout. AGENTS.md est spécifique à un projet — architecture, conventions, commandes, chemins — et se trouve dans le répertoire de votre projet.13 S’il doit vous suivre partout, utilisez SOUL.md. S’il appartient à un projet, utilisez AGENTS.md.
Comment exécuter plusieurs instances Hermes côte à côte ?
Les profiles. Chaque profile possède son propre HERMES_HOME, sa configuration, sa mémoire, ses sessions et son PID de gateway :6
hermes profile create work --clone
hermes profile use work # Sticky default
hermes -p work chat -q "..." # One-off without switching
hermes profile alias work --name h-work # Wrapper script
Hermes prend-il en charge les LLMs locaux ?
Oui, via la voie des endpoints personnalisés. Hermes fonctionne avec tout serveur compatible OpenAI : Ollama, vLLM, SGLang, llama.cpp/llama-server, LM Studio, LocalAI, Jan ou le vôtre.2 Consultez Custom & Self-Hosted Endpoints pour la configuration propre à chaque serveur.
Pourquoi ma bannière de démarrage affiche-t-elle moins d’outils que le guide indique que Hermes en possède ?
Le guide cite 47 outils / 20 toolsets issus du registre d’architecture amont — c’est le nombre total d’outils dont Hermes fournit le code source dans tous les toolsets. Votre installation en cours affiche un nombre inférieur dans la bannière (l’installation de référence utilisée pour ce guide indique 28 outils), car Hermes n’active au démarrage que l’ensemble de toolsets par défaut. De nombreux toolsets sont optionnels : les adaptateurs de gateway de messagerie, l’automatisation du navigateur, les piles de scraping plus lourdes et plusieurs intégrations spécialisées doivent être explicitement répertoriés sous toolsets: dans ~/.hermes/config.yaml avant d’être chargés. Total du registre = « ce qui est disponible si vous l’activez ». Total de la bannière = « ce que votre profile actuel a réellement chargé ». Utilisez hermes tools --list pour voir quels toolsets sont actifs et lesquels sont disponibles mais désactivés. Activez ou désactivez des toolsets individuels à l’exécution avec /tools enable <name> et /tools disable <name> (la désactivation entraîne une réinitialisation de session afin que l’agent reconstruise son manifeste d’outils avec la nouvelle configuration).
Comment Hermes gère-t-il le repli de modèle lorsque mon provider principal échoue ?
Configurez un bloc fallback_model dans config.yaml :2
fallback_model:
provider: openrouter
model: anthropic/claude-sonnet-4
Lorsque le provider principal échoue (limite de débit, erreur serveur, échec d’authentification), Hermes bascule vers le modèle de repli en pleine session sans perdre l’historique de conversation. Cela ne se produit qu’une fois au maximum par session.
L’agent peut-il améliorer ses propres skills au fil du temps ?
Oui — c’est la partie « auto-améliorative » de Hermes Agent. L’agent peut créer, mettre à jour et supprimer des skills via l’outil skill_manage. Lorsqu’il détermine un workflow non trivial, il enregistre l’approche comme skill afin de pouvoir la réutiliser ultérieurement.11 L’agent crée des skills après des tâches complexes (5+ appels d’outils), lorsqu’il rencontre des erreurs et trouve la voie fonctionnelle, lorsque vous corrigez son approche ou lorsqu’il découvre un workflow non trivial.
Existe-t-il une intégration IDE ?
Oui — Hermes peut s’exécuter comme serveur ACP (Agent Client Protocol) pour VS Code, Zed et JetBrains :6
pip install -e '.[acp]'
hermes acp
Journal des modifications
| Date | Modification | Source |
|---|---|---|
| 2026-07-28 | Guide v1.12 : Révision de la couverture guidée par la demande de recherche — deux sujets qui convertissaient bien ne disposaient d’aucun titre vers lequel renvoyer. Aucune nouvelle version. GSC montre que hermes swarm et hermes agent swarm convertissent entre 4,4 et 6,3 % depuis la position ~8, et hermes smart model routing à 4,9 % depuis la position 6,7, alors qu’aucun de ces termes ne disposait d’une section : swarm n’apparaissait que dans le texte de Multi-Agent Kanban et dans des lignes du journal des modifications, tandis que « smart model routing » ne figurait nulle part ailleurs que dans une note de bas de page. Ajout de Qu’est-ce qu’un swarm Hermes ? sous Multi-Agent Kanban — définit un swarm comme des workers parallèles opérant sur un même tableau persistant, documente la topologie swarm de la v0.15.0, la décomposition automatique, les remplacements de modèle par tâche, les tâches planifiées et la gestion des worktrees, et présente dans un tableau la défaillance évitée par chaque mécanisme. Rotation et repli des fournisseurs a été renommé Smart Model Routing : rotation et repli des fournisseurs, avec une introduction qui relie les pools d’identifiants, le modèle de repli et le routage auxiliaire en un système unique. Aucune ancre n’était liée en interne, ce changement de titre ne casse donc rien. |
28 2 6 |
| 2026-08-20 | Guide v1.13 : v0.20.3 (tag v2026.8.16.2, publiée le 17 août) et v0.20.4 (tag v2026.8.18, le 18 août). Nouvelle sous-section sous la version Herald : le train de versions cumulatives apporte désormais des fonctionnalités, et plus seulement de la stabilisation. v0.20.3 (~250 commits / ~125 PR) : migration de SDK MCP 2.x avec prise en charge du protocole sans état du 28 juillet 2026, plugin Bot Mode intégré (hermes-bots) avec le protocole central de coéquipier, plugin fournisseur CommandCode, contrats d’exécution Cua Driver 0.20 pour l’utilisation de l’ordinateur, renforcement de la propriété d’exécution de Python, autoréparation du planificateur cron, correctifs contre la perte de données lors du transfert de session, ports de l’écosystème (/worktree, conservation des modifications manuelles avec /rollback, analyse de sécurité lors de l’installation des plugins). v0.20.4 (~146 commits / ~74 PR) : interface desktop vitrée/translucide avec sélecteur de givre, barre latérale SESSIONS|BOTS à onglets permettant de masquer ou d’afficher chaque bot, analyse consultative Tier 1 de NVIDIA SkillEvaluator lors de l’installation des skills (licence + sécurité), renforcement de l’envoi de médias par cron, transparence de hermes update sur les branches mises en attente. Les deux versions indiquent que les notes complètes et organisées seront livrées avec la v0.21.0 — résumés tirés des descriptions de période propres aux versions. Phrase d’en-tête et lignée des tags mises à jour. |
23 |
| 2026-08-16 | Guide v1.12 : v0.20.0 « The Herald Release » (3 août, tag v2026.8.3), ainsi que les tags de stabilisation v0.20.1 (13 août) et v0.20.2 (16 août). Trois corrections réparent des instructions qui ne fonctionnent plus : Node 26 est requis (le programme d’installation épingle NODE_VERSION="26" et rejette les environnements d’exécution plus anciens — la mention de Node v22 sur le site de documentation est obsolète, la priorité revient donc au programme d’installation et aux notes de version), pip et Homebrew ont été abandonnés plutôt que dépréciés (« le programme d’installation shell / Docker / Nix sont les canaux pris en charge »), et la limite d’itérations par défaut est passée de 90 à 500, invalidant tous les chiffres du tableau sur la pression du budget. Commande d’installation corrigée avec l’adresse canonique https://hermes-agent.nousresearch.com/install.sh. Élément supprimé : la source de skill claude-marketplace a disparu, remplacée par browse-sh dans la liste des sources ; les taps GitHub par défaut sont désormais openai, anthropics, huggingface, NVIDIA et gstack. Le nombre de plateformes du messaging gateway a été corrigé de 22 à 28 en les comptant directement dans le tableau comparatif de la documentation (celle-ci ne publie aucun total officiel). Windows (natif) est Tier 1, et non plus en bêta précoce ; macOS est réservé à Apple Silicon. Une nouvelle section couvre la version elle-même : voix conversationnelle avec interruption, A2A v1.0, webhooks sortants signés couvrant le cycle de vie, skill grounded-citations, vague CLI !//init//diff//context//focus et hermes import-agent, source de secrets command-helper, démarrage à froid de hermes -w réduit de ~14 s à ~1,8 s, ainsi que des artefacts desktop et un SDK de plugins. Éléments vérifiés comme inchangés : les trois méthodes d’authentification, l’organisation de ~/.hermes/, hermes update et la liste documentée des outils. |
24 |
| 2026-07-21 | Guide v1.11 : v0.19.0 « The Quicksilver Release » (20 juillet 2026, tag v2026.7.20). Ajout de la section « Nouveautés de la v0.19.0 » : réduction d’environ 80 % du TTFT au premier tour (soumission à froid→dispatch d’environ 4,3 s à ~0,9 s sur CLI/gateway/TUI/desktop/cron), raisonnement diffusé en direct par défaut (display.show_reasoning activé), vague d’accélération desktop d’environ 20 PR (rendu Markdown en streaming 14× plus rapide) + Markdown incrémental dans la TUI ; installations pip/Homebrew dépréciées (simple avertissement « ancien système non pris en charge », suppression prévue de la publication sur PyPI/Homebrew) — correction de la section Installation et du résumé pour utiliser le programme d’installation en une ligne ; SecretSource extensible avec fournisseurs Bitwarden + 1Password (références op://, plusieurs coffres, priorité déterministe, provenance par variable) ; approbations intelligentes par défaut (reviewer LLM indépendant pour chaque commande signalée) + règles de refus définies par l’utilisateur qui restent actives sous YOLO + /deny <reason> + réintroduction de l’escalade d’approbation pre_tool_call des plugins ; facturation dans le terminal avec /subscription + /topup + onglet de facturation desktop (retrait de l’affirmation « aucune commande d’abonnement distincte ») ; transcriptions en direct des subagents + délégation persistante en arrière-plan + registre des obligations de livraison dans state.db ; max_async_children déprécié au profit de plafonds unifiés de concurrence des délégations ; routage des messages du gateway selon le profile (un token de bot multiplexé → profiles isolés, GATEWAY_MULTIPLEX_PROFILES, index de routage dans state.db, sessions.json comme miroir ancien facultatif) ; fournisseurs/modèles : Fireworks AI (2e position du sélecteur), DeepInfra, Upstage Solar, GPT-5.6 (Sol/Terra/Luna + Pro) de bout en bout, grok-4.5 GA, kimi-k3 (kimi-k2.x abandonné), Claude Sonnet 5 entièrement intégré, enabled: false par fournisseur + excluded_providers, niveaux d’effort de raisonnement max/ultra avec remplacements par modèle/emplacement MoA et /reasoning limité à la session ; CLI/MCP : hermes sessions export (Markdown/Quarto/HTML/prompt uniquement/trace HF, --redact), /model --once, invocations empilées de slash-skills, --safe-mode, hermes config get/unset, hermes serve réellement headless, nommage MCP mcp__server__tool. Consigne également les tags correctifs oubliés v0.18.1 (tag v2026.7.7) et v0.18.2 (tag v2026.7.7.2), 7–8 juillet 2026 — versions correctives cumulatives d’infrastructure ; le correctif principal de la v0.18.2 désépingle WhatsApp Baileys vers la version 7.0.0-rc13 afin de fiabiliser les builds Docker. |
25 26 |
| 2026-07-16 | Ajout d’une première entrée de dépannage pour l’erreur de démarrage reproduite mot pour mot « No inference provider configured. Run ‘hermes model’ to choose a provider and model » — ajout guidé par la demande de recherche ; renvoie vers le sélecteur interactif, hermes doctor et les trois méthodes d’authentification. Aucun changement du produit. |
2 7 |
| 2026-07-01 | Guide v1.10 : v0.18.0 « The Judgment Release » (1er juillet 2026, tag v2026.7.1). Ajout de la section « Nouveautés de la v0.18.0 » : backlog P0/P1 entièrement résorbé (~692 éléments) ; Mixture-of-Agents de premier ordre avec sortie d’ensemble étiquetée par modèle et streaming en direct ; contrats d’achèvement — /goal vérifie son propre travail en exécutant les contrôles du projet ; /learn (décrivez un workflow → skill réutilisable et conforme à CONTRIBUTING.md) ; chronologie de la mémoire/des skills avec /journey + graphe de mémoire desktop ; distribution en éventail de subagents en arrière-plan (tâches déléguées simultanées) ; Desktop Projects (projet/dépôt/voie) ; gateway scale-to-zero avec coordination du drainage ; Google Vertex AI (Gemini via les comptes de service GCP, actualisation automatique de OAuth2) ; éditeur /prompt avec \$EDITOR. Source : versions de hermes-agent. |
22 |
| 2026-06-21 | Guide v1.9 : v0.17.0 « The Reach Release » (19 juin 2026, tag v2026.6.19). Ajout de la section « Nouveautés de la v0.17.0 ». Messagerie : iMessage sans relais via Photon Spectrum (hermes photon login, OAuth par code d’appareil), adaptateur officiel API WhatsApp Business Cloud (sans bridge), groupes + pièces jointes SimpleX, plugin de plateforme Raft. Modèles : z-ai/glm-5.2 (1M), anthropic/claude-fable-5, laguna-m.1, nemotron-3-ultra, grok-composer-2.5-fast (xAI OAuth, 200k) ; modèle xAI par défaut → grok-build-0.1 ; les modèles adaptatifs Anthropic abandonnent le champ reasoning. Desktop/tableau de bord : subagents en arrière-plan avec fenêtres de suivi en direct (delegate_task(background=true)), créateur complet de profiles, Skills Hub remanié, Automation Blueprints, connexion sécurisée avec erreur 401, thèmes VS Code Marketplace, interface en japonais + chinois traditionnel. Skills/outils : édition image-vers-image avec image_generate, lot atomique operations pour memory, skill simplify-code, booléen write_approval (remplace write_mode). Architecture : gestionnaire de sollicitation MCP, CronScheduler extensible + Chronos, périmètre Managed (/etc/hermes), relais Gateway-Gateway. Commandes : /version, /billing, hermes curator run --consolidate (sur inscription). Sécurité : contournement de la liste de refus par échappement shell corrigé, adaptateurs d’approbation/gateway en mode échec sécurisé, environnement cron assaini, secrets masqués dans les dumps de débogage, filtrage des exfiltrations MCP stdio, mises à niveau urllib3 + PyJWT pour corriger des CVE. |
21 |
| 2026-06-08 | Guide v1.8 : v0.16.0 « The Surface Release » (5 juin 2026, tag v2026.6.5). Guide renommé pour la v0.16 et ajout de la section « Nouveautés de la v0.16.0 ». Point essentiel : Hermes ne se limite plus au terminal. Application native Hermes Desktop (Electron, macOS/Linux/Windows) avec installation en un clic, mise à jour automatique intégrée, chat en streaming, glisser-déposer + collage d’images depuis le presse-papiers, palette Cmd+K, archivage/recherche des sessions, sélecteur de modèle dans la barre d’état, connexion au remote gateway via une liaison WebSocket sécurisée (OAuth ou identifiant/mot de passe, hôtes par profile, liens @session entre profiles) et traduction complète en chinois simplifié via un i18n typé. Panneau d’administration dans le navigateur (tableau de bord web → administration complète) : activation/désactivation du catalogue MCP, gestion des identifiants, création de webhooks/hooks, configuration de la mémoire, commandes du gateway, page Système avec vérification avant mise à jour + Debug Share, nouvelle page Canaux et authentification extensible (identifiant/mot de passe, OIDC auto-hébergé, hermes dashboard register). Nouvelles commandes : /undo [N] (CLI/TUI/messagerie), interface par défaut configurable (cli/tui, --cli), /model unifié dans la TUI + fenêtre superposée Sessions, hermes portal, hermes prompt-size, hermes sessions optimize. Nouveaux modèles : deepseek-v4-flash, MiniMax-M3 (contexte de 1M), qwen3.7-plus, gemini-3.5-flash ; OAuth xAI Grok de premier ordre dans le lanceur desktop ; sélecteur de modèle avec recherche approximative ; actualisation horaire du catalogue. Skills : ensemble par défaut allégé (Spotify → plugin natif, Linear → hermes mcp install linear, suppression des skills obsolètes), filtre de pertinence environments: (kanban/docker/s6), tap fiable NVIDIA/skills par défaut, divulgation progressive (ciblée) des outils MCP/plugins. Sécurité : CVE-2026-48710 (Starlette BadHost) épinglée à ≥1.0.1 ; contrôles SSRF retirés de la boucle d’événements ; bearer token Bedrock supprimé de l’environnement des sous-processus ; lecture de bws_cache.json protégée ; ajout de docker restart/stop/kill aux motifs dangereux ; assainissement des caractères Unicode invisibles. Résolution de 2 P0 + 62 P1 (dont 16 liés à la sécurité). |
20 |
| 2026-05-31 | Guide v1.7.1 : v0.15.1 (29 mai 2026, 01:12 UTC) — correctif Velocity. Hotfix publié le jour même après Velocity ; ligne du tag épinglé v2026.5.29. Corrige la boucle de rechargement avec erreur 401 du tableau de bord qui touchait les déploiements en mode loopback. Docker ne considère plus --insecure comme implicite — définissez explicitement HERMES_DASHBOARD_INSECURE=1 pour le réactiver. Les commandes MCP seules (npx, npm, node) sont de nouveau résolues correctement dans les conteneurs Docker. Les pastilles de source et la barre latérale des catégories de la page Skills s’affichent. Les workers Kanban répondent proprement à SIGTERM au lieu de laisser des processus orphelins. Le catalogue Skills.sh passe de 858 à 19 932 entrées grâce à la découverte par sitemap. 28 commits, 21 PR fusionnées, 9 contributeurs. v0.15.2 (29 mai 2026, 13:37 UTC) — correctif de packaging Velocity. Corrige les distributions wheel et sdist afin d’inclure les manifestes plugin.yaml, pour que les installations depuis PyPI fonctionnent sans chargement latéral de l’arborescence source. Hotfix limité au packaging, 4 contributeurs. |
27 |
| 2026-05-28 | Guide v1.7 : ajout de la v0.15.0 (28 mai 2026) — The Velocity release (tag v2026.5.28). Point essentiel : une refactorisation massive et de nouvelles primitives d’orchestration. Refactorisation de la base de code : réduction de 76 % de run_agent.py (16 083 → 3 821 lignes), réparti dans 14 modules cohésifs. Multi-agent Kanban v2 : décomposition automatique des objectifs de haut niveau en sous-tâches, topologie swarm pour coordonner les workers parallèles, remplacements de modèle par tâche, tâches planifiées, gestion des worktrees. Performances : une seconde supplémentaire gagnée au démarrage à froid ; réduction de 47 % des appels de fonctions par conversation ; nouvelle conception de session_search, 4 500× plus rapide, avec suppression de la dépendance LLM (et de son coût API). Sécurité : la défense Promptware protège contre les injections de prompt de classe Brainworm à trois points de contrôle de sécurité ; l’intégration de Bitwarden Secrets Manager remplace plusieurs clés API propres aux fournisseurs par un seul token d’amorçage. Lots de skills : chargement simultané de plusieurs skills avec une seule slash command. Orchestrateur de sessions TUI : gestion de plusieurs sessions dans une même fenêtre de terminal. Nouveaux fournisseurs : Krea 2 (Medium/Large) et prise en charge du plugin FAL pour la génération d’images ; nouvelle vague d’intégration xAI avec plugin de recherche web, OAuth en amont, détection des modèles retirés et pauses TTS naturelles. Statistiques : 1 302 commits, 747 PR fusionnées, 321 contributeurs de la communauté. Selon les notes de version GitHub, une version corrective publiée le jour même ou le lendemain résout la boucle de rechargement avec erreur 401 du tableau de bord, impose une variable d’environnement explicite pour --insecure dans Docker, rétablit la résolution des commandes MCP seules dans Docker (npx, npm, node), restaure la page Skills, corrige la gestion de SIGTERM par les workers Kanban et intègre le catalogue Skills complet de 19 932 entrées via sitemap. |
28 |
| 2026-05-21 | Guide v1.6 : ajout de la v0.14.0 (16 mai 2026) — The Foundation release. Point essentiel : une base d’installation et d’exécution plus légère, ainsi qu’un éventail élargi de fournisseurs, gateways, médias et mécanismes de vérification. Ajout de SuperGrok OAuth avec un contexte de 1M pour grok-4.3, de hermes proxy compatible avec OpenAI pour les fournisseurs OAuth, de x_search de premier ordre, de pip install hermes-agent, d’installations différées des dépendances, d’un lancement accéléré d’environ 19 s, d’appels CDP du navigateur 180× plus rapides, de LINE + SimpleX Chat pour atteindre 22 plateformes de messagerie, de Microsoft Teams de bout en bout, de /handoff, de /subgoal, de boutons de clarification natifs sur Telegram/Discord, du remplissage rétroactif de l’historique Discord, de vision_analyze sur les pixels bruts, d’un pied de page de vérification des modifications de fichiers à chaque tour, de diagnostics sémantiques LSP à chaque écriture, de video_generate unifié, de computer_use via cua-driver pour les fournisseurs autres que Anthropic, d’URL OSC8 cliquables, de la prise en charge du registre ACP de Zed, du routeur OpenRouter Pareto Code, de NovitaAI, de l’environnement d’exécution Codex app-server, du tap fiable huggingface/skills, de 9 skills facultatifs, de ctx.llm / tool_override pour les plugins, de la recherche web Brave/DDGS, du changement de nom de Qwen Cloud, d’une bêta Windows native et de la résolution de 12 P0 / 50 P1. |
19 |
| 2026-05-07 | Guide v1.5 : ajout de la v0.13.0 (7 mai 2026) — The Tenacity release. Point essentiel : un tableau Multi-agent Kanban persistant (heartbeat, récupération, détection des zombies, filtre anti-hallucination, max_retries par tâche, tableaux multiprojets) qui fait des swarms une primitive de premier ordre plutôt qu’un modèle de délégation. La nouvelle commande /goal maintient l’agent concentré sur un objectif au fil des tours (modèle de boucle Ralph sous forme de slash command). Nouvel outil video_analyze, privilégiant Gemini et prenant en charge de manière extensible les modèles compatibles. Fournisseur xAI Custom Voices TTS avec clonage vocal. i18n en 7 langues (zh-Hans, ja, de, es, fr, uk, tr) pour les messages CLI et du gateway ; documentation en zh-Hans uniquement. Google Chat comme 20e plateforme de messagerie via le modèle d’adaptateur extensible ; migration d’IRC + Microsoft Teams vers ce même modèle. ABC ProviderProfile + plugins/model-providers/ pour intégrer des fournisseurs tiers extensibles sans modifier le cœur. Reprise automatique des sessions après redémarrage du gateway, /update et rechargement d’un fichier source. Réécriture de checkpoints v2 avec stockage unique, véritable élagage et garde-fous pour le disque. Résolution de huit failles de sécurité P0 : masquage des secrets activé par défaut, contournement des DM Discord entre guildes (CVSS 8.1), rejet des inconnus + mise en sourdine des messages à soi-même sur WhatsApp, TOCTOU OAuth de MCP, TOCTOU de auth.json dans CLI, socle de protection SSRF du navigateur, analyse des injections de prompt cron, masquage dans hermes debug share. Linting après écriture pour Python/JSON/YAML/TOML, mode cron no_agent réservé aux scripts, listes d’autorisation de plateformes pour Slack/Telegram/Mattermost/Matrix/DingTalk, améliorations de MCP (transport SSE, transfert de OAuth, balises MEDIA pour les images). Statistiques depuis la v0.12.0 : 864 commits, 588 PR fusionnées, 829 fichiers modifiés, 295 contributeurs de la communauté, 282 tickets résolus (13 P0, 36 P1). |
18 |
| 2026-05-06 | Guide v1.4 : ajout de la v0.12.0 (30 avril 2026) — The Curator release. Point essentiel : un Curator autonome en arrière-plan qui s’exécute selon le rythme cron du gateway (cycle par défaut de 7 jours), évalue la bibliothèque de skills selon une grille, élague les skills obsolètes, regroupe les skills associés et rédige un rapport pour chaque exécution — Hermes s’entretient lui-même entre les sessions actives. Boucle d’auto-amélioration enrichie avec une évaluation fondée sur une grille, un biais en faveur des mises à jour actives, un héritage correct de l’environnement d’exécution et des toolsets ciblés limités à la mémoire et aux skills. Quatre nouveaux fournisseurs d’inférence : GMI Cloud, Azure AI Foundry, MiniMax OAuth et Tencent Tokenhub. LM Studio élevé au rang de fournisseur de premier ordre. Les manifestes distants du catalogue de modèles se mettent désormais à jour automatiquement sans nouvelle version. Deux nouvelles plateformes de messagerie : Microsoft Teams (19e, via l’architecture de gateway extensible) et Tencent Yuanbao (18e, texte + médias natifs). Spotify natif via PKCE OAuth avec skill intégré ; plugin Google Meet pour les appels et la transcription ; fournisseur local Piper TTS. ComfyUI v5 + TouchDesigner-MCP passent de facultatifs à intégrés par défaut. Nouveaux skills : Humanizer, claude-design, design-md, airtable. Ajouts à CLI : mode ponctuel hermes -z, contrôle préalable hermes update --check, slash command /reload-skills, styles extensibles d’indicateur d’activité. Démarrage à froid visible de la TUI réduit d’environ 57 % grâce à l’initialisation différée de l’agent et aux imports différés. Sécurité : masquage des secrets désactivé par défaut afin d’éviter la corruption des charges utiles ; liste de blocage stricte pour les commandes irrécupérables. Statistiques : 1 096 commits, 550 PR fusionnées, 213 contributeurs de la communauté. |
17 |
| 2026-04-25 | Guide v1.3 : ajout de la v0.11.0 (23 avril 2026) — The Interface release. Réécriture complète de la TUI interactive avec React/Ink, avec un backend RPC JSON Python (tui_gateway) ; zone de saisie fixe, streaming en direct avec prise en charge du presse-papiers OSC-52, touches stables dans les sélecteurs, barre d’état avec chronomètre par tour et branche git, confirmation pour /clear, préréglage de thème clair, fenêtre superposée d’observation de la création de subagents. Architecture de transport extensible — conversion de format et transport HTTP extraits dans agent/transports/ pour simplifier la plomberie des fournisseurs. AWS Bedrock natif via l’API Converse API. Cinq nouvelles voies d’inférence : NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth et Vercel ai-gateway. GPT-5.5 via Codex OAuth — le nouveau modèle phare d’OpenAI est désormais accessible via ChatGPT Codex OAuth sans clé API distincte. QQBot (17e plateforme de messagerie) avec configuration par scan d’un code QR et streaming. Extension de l’interface des plugins : slash commands, dispatch des outils, blocage de l’exécution, transformation des résultats. /steer <prompt> — indications données à l’agent en cours d’exécution, qui injectent une note visible après son prochain appel d’outil sans interrompre le tour ni invalider le cache du prompt. Les hooks shell relient des scripts aux hooks du cycle de vie sans plugins Python. Le mode de livraison directe par webhook transmet les charges utiles directement à un chat de plateforme, en contournant l’agent pour la distribution en éventail. Délégation plus intelligente avec rôles d’orchestrateur, profondeur de création configurable et coordination des fichiers. Le tableau de bord gagne un système de plugins, le changement de thème en direct, l’i18n et une mise en page adaptée aux mobiles. Statistiques depuis la v0.9.0 : 1 556 commits, 761 PR fusionnées, 1 314 fichiers modifiés, 224 174 insertions, 29 contributeurs de la communauté. |
29 |
| 2026-04-16 | Guide v1.2 : ajout de la v0.10.0 — Nous Tool Gateway. Les abonnés payants de Nous Portal peuvent désormais accéder à des outils gérés (recherche web Firecrawl, génération d’images FAL / FLUX 2 Pro, OpenAI TTS, automatisation de navigateur Browser Use) sans clés API supplémentaires. Activation par outil via le nouveau champ de configuration use_gateway. L’environnement d’exécution privilégie le gateway aux clés API directes lorsque les deux sont configurés. Variable d’environnement HERMES_ENABLE_NOUS_MANAGED_TOOLS supprimée. CLI de Hermes Agent reste sous licence MIT et entièrement gratuit. |
30 |
| 2026-04-13 | Guide v1.1 : ajout des fonctionnalités des versions v0.8.0 et v0.9.0. Tableau de bord web local, mode /fast, plateformes iMessage + WeChat (16 au total), surveillance des processus en arrière-plan (watch_patterns), context engine extensible, hermes backup/hermes import, Termux/Android, fournisseurs xAI + MiMo + Google AI Studio + Qwen, commande /debug, renforcement complet de la sécurité. |
15 16 |
| 2026-04-10 | Guide v1.0 : première version couvrant Hermes Agent v0.7.0. Authentification des fournisseurs, configuration, CLI, slash commands, outils, skills, mémoire, gateway, cron, MCP, compression, architecture, migration depuis OpenClaw, dépannage, FAQ. |
Références
-
Nous Research, README du projet « Hermes Agent » sur GitHub. Source principale pour la description du produit (agent capable de s’améliorer, prise en charge de plusieurs fournisseurs, gateway de messagerie, backends de terminal, évolution des skills, planificateur cron, délégation) et la commande en une ligne d’« installation rapide ». ↩↩↩
-
Nous Research, « Fournisseurs d’IA » dans la documentation de Hermes Agent. Source principale pour la liste complète des fournisseurs, les méthodes d’authentification de chaque fournisseur (Nous Portal OAuth, code d’appareil Codex, types de jetons Copilot GitHub, trois méthodes d’authentification Anthropic, fournisseurs d’IA chinois, routage Hugging Face, endpoints personnalisés), les trois méthodes d’authentification (clé API dans
.env, OAuth viahermes model, endpoint personnalisé dansconfig.yaml), la syntaxe de la commande slash/model(notammentcustom:name:model), les modèles de configuration Ollama/vLLM/SGLang/llama.cpp/LM Studio, les instructions réseau pour WSL2, la chaîne de détection de la longueur du contexte, la configuration du modèle de secours, le routage intelligent des modèles et les fournisseurs personnalisés nommés. Tous les noms de variables d’environnement propres aux fournisseurs, les types de jetons, les substitutions d’URL de base et les identifiants de modèles mentionnés dans cet article proviennent de cette page. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Architecture » dans le guide de développement de Hermes Agent. Source principale pour le diagramme de présentation du système, la structure des dossiers, le flux de données dans les parcours de session et de messages du gateway CLI, les trois modes API (
chat_completions,codex_responses,anthropic_messages), la résolution des fournisseurs viaruntime_provider.py, la persistance des sessions via SQLite + FTS5, la liste des plateformes du gateway de messagerie, les sources de découverte du système de plugins, l’isolation des profiles et les six principes de conception. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Configuration » dans le guide utilisateur de Hermes Agent. Source principale pour la structure du dossier de configuration, la règle concernant
config.yamlet.env(«config.yamlprévaut pour les paramètres non secrets »), la chaîne de priorité de la configuration (arguments CLI → env → config.yaml → .env → valeurs par défaut), les paramètres de compression du contexte (bloccompression.*avecthreshold,target_ratio,protect_last_n,summary_model,summary_provider,summary_base_url), les seuils de pression budgétaire (prudence à 70 %, avertissement à 90 %), les délais d’expiration du streaming avec ajustement automatique pour les fournisseurs locaux et le bloc complet de configuration des modèles auxiliaires (auxiliary:avec les emplacementsvision,web_extract,approval,compression,session_search,skills_hub,mcp,flush_memories). La restriction du fournisseur"main"aux emplacements auxiliaires, de compression et de secours provient également de cette page. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Migrer depuis OpenClaw » dans les guides de Hermes Agent. Source pour le processus de migration d’OpenClaw vers Hermes. ↩↩
-
Nous Research, « Référence des commandes CLI » dans la documentation de référence de Hermes Agent. Source principale pour chaque commande CLI de premier niveau documentée dans cet article, notamment
hermes chat,hermes model,hermes gateway,hermes setup,hermes auth,hermes status,hermes cron,hermes webhook,hermes doctor,hermes dump,hermes logs,hermes config,hermes pairing,hermes skills,hermes honcho,hermes memory,hermes acp,hermes mcp,hermes plugins,hermes tools,hermes sessions,hermes insights,hermes claw,hermes profile,hermes completion,hermes updateethermes uninstall. Tous les flags des sous-commandes, les descriptions des options, le comportement du pool d’identifiants, la syntaxe de filtrage des journaux, les flags de migration depuis OpenClaw, les commandes de gestion des profiles et les commandes d’installation des services mentionnés dans cet article proviennent de cette page. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Installation » dans le guide de prise en main de Hermes Agent. Source principale pour la commande d’installation en une ligne, le comportement du programme d’installation (prérequis, plateformes prises en charge, détection automatique de Termux, exigences pour Windows/WSL2), le tableau des extensions facultatives, les étapes d’installation manuelle et les commandes de vérification. ↩↩↩↩↩↩↩↩↩
-
Nous Research, « Référence des commandes CLI » — consultez en particulier la section
hermes dump, qui décrit le format de sortie de la commande (en-tête, environnement, identité, modèle, terminal, clés API, fonctionnalités, services, charge de travail, substitutions de configuration) et son utilisation prévue pour partager des diagnostics. ↩ -
Nous Research, « Référence des commandes slash » dans la documentation de référence de Hermes Agent. Source principale pour chaque commande slash répertoriée dans cet article, l’architecture
COMMAND_REGISTRY, la distinction entre CLI et la messagerie, les commandes slash dynamiques des skills, les commandes rapides dansconfig.yaml, le fonctionnement de la correspondance par préfixe et les commandes réservées à la messagerie (/status,/sethome,/approve,/deny,/update,/commands). ↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Outils et toolsets » dans le guide utilisateur de Hermes Agent. Source principale pour la présentation des catégories d’outils, les commandes d’utilisation des toolsets, les six backends de terminal (local, docker, ssh, singularity, modal, daytona), la configuration des conteneurs (processeur, mémoire, disque, persistance), le renforcement de la sécurité des conteneurs, la gestion des processus en arrière-plan API et la prise en charge de sudo. ↩↩↩↩↩↩↩↩↩↩
-
Nous Research, « Système de skills » dans le guide utilisateur de Hermes Agent. Source principale pour la divulgation progressive, le format
SKILL.md, les skills propres aux plateformes, l’activation conditionnelle (fallback_for_toolsets,requires_toolsets,fallback_for_tools,requires_tools), les skills gérés par l’agent viaskill_manage, les commandes du hub de skills et la liste de ses sources (official,skills-sh,well-known,github,clawhub,claude-marketplace,lobehub), l’analyse de sécurité et les niveaux de confiance, ainsi que les dossiers de skills externes. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Mémoire persistante » dans le guide utilisateur de Hermes Agent. Source principale pour les limites de caractères de
MEMORY.md/USER.md, le modèle d’instantané figé, les actions de l’outil de mémoire (add,replace,remove), les éléments à enregistrer ou à ignorer, la comparaison entre mémoire et recherche de sessions, ainsi que la liste des huit fournisseurs de mémoire externes (Honcho, OpenViking, Mem0, Hindsight, Holographic, RetainDB, ByteRover, Supermemory). ↩↩↩↩↩↩↩↩ -
Nous Research, « Personnalité et SOUL.md » dans le guide utilisateur de Hermes Agent. Source principale pour le fonctionnement de
SOUL.md(situé dansHERMES_HOME, jamais écrasé, emplacement nº 1 dans le prompt système, analysé pour détecter les risques de sécurité avant son inclusion), la distinction entre SOUL.md et AGENTS.md, la liste des personnalités intégrées (14 personnalités, dehelpfulàhype), les personnalités personnalisées dansconfig.yaml, le modèle de superposition/personalityet l’ordre complet d’assemblage de la pile de prompts. ↩↩↩↩↩↩↩↩↩↩↩↩ -
Nous Research, « Utiliser MCP avec Hermes » et référence de la configuration MCP dans les guides et la documentation de référence de Hermes Agent. Source pour le format de configuration
mcp_servers:dansconfig.yaml, avec les champscommand,args,env. ↩ -
Notes de version de Hermes Agent v0.8.0. 8 avril 2026. Notifications automatiques des processus en arrière-plan, MiMo v2 Pro gratuit sur Nous Portal, changement de modèle en direct avec
/modelsur toutes les plateformes, fournisseur natif Google AI Studio, OAuth Qwen, délais d’expiration fondés sur l’inactivité, boutons d’approbation sur Slack/Telegram, OAuth MCP 2.1 PKCE, journalisation centralisée, extension du système de plugins. ↩↩↩↩↩ -
Notes de version de Hermes Agent v0.9.0. 13 avril 2026. Tableau de bord web local, mode rapide (
/fast), iMessage via BlueBubbles, WeChat + WeCom, Termux/Android, surveillance des processus en arrière-plan (watch_patterns), fournisseurs natifs xAI + Xiaomi MiMo, context engine extensible, prise en charge unifiée des proxys, renforcement de la sécurité (correctifs contre la traversée de chemins, l’injection de commandes shell, SSRF et RCE),hermes backup/hermes import,/debug+hermes debug share, 16 plateformes prises en charge. 487 commits, 269 PR fusionnées, 24 contributeurs. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version de Hermes Agent v0.12.0. 30 avril 2026. « La version Curator ». Curator autonome en arrière-plan, qui évalue, élague et consolide la bibliothèque de skills selon un cycle par défaut de 7 jours, exécuté par le mécanisme cron du gateway. Boucle d’auto-amélioration renforcée : évaluation fondée sur une grille de critères, priorité aux mises à jour actives, héritage correct de l’environnement d’exécution et toolsets à portée limitée, restreints à la mémoire et aux skills. Quatre nouveaux fournisseurs d’inférence : GMI Cloud, Azure AI Foundry, MiniMax OAuth, Tencent Tokenhub. LM Studio devient une intégration de premier plan. Les manifestes distants des catalogues de modèles se mettent automatiquement à jour sans nécessiter de nouvelle version. Deux nouvelles plateformes de messagerie : Microsoft Teams (19e, via une architecture de gateway extensible) et Tencent Yuanbao (18e, prise en charge native du texte et des médias). Intégration native de Spotify via PKCE OAuth, avec skill inclus ; plugin Google Meet pour les appels et la transcription ; fournisseur local de synthèse vocale Piper. ComfyUI v5 + TouchDesigner-MCP inclus par défaut. Nouveaux skills : Humanizer, claude-design, design-md, airtable. CLI : mode ponctuel
hermes -z, vérification préalablehermes update --check, commande slash/reload-skills, styles extensibles pour l’indicateur d’activité. Le démarrage à froid du TUI a été accéléré d’environ 57 % grâce à l’initialisation différée. Sécurité : masquage des secrets désactivé par défaut ; liste de blocage stricte pour les commandes aux conséquences irrécupérables. Statistiques depuis la v0.11.0 : 1 096 commits, 550 PR fusionnées et 213 contributeurs de la communauté. Voir également : tag de la version v2026.4.30. ↩↩↩ -
Notes de version de Hermes Agent v0.13.0. 7 mai 2026. « La version Tenacity ». Tableau Kanban multi-agent avec battement de cœur, récupération, détection des tâches zombies, filtre anti-hallucination,
max_retriespar tâche et tableaux multiprojets. Commande slash/goalpermettant de verrouiller un objectif sur plusieurs tours (primitive de la boucle Ralph), avec un nombre de tours configurable. Outilvideo_analyze, reposant en priorité sur Gemini et extensible à d’autres solutions multimodales compatibles. Fournisseur de synthèse vocale xAI Custom Voices avec clonage de voix. Internationalisation en 7 langues : zh-Hans, ja, de, es, fr, uk, tr (CLI + messages du gateway ; documentation uniquement en zh-Hans). Google Chat devient la 20e plateforme de messagerie grâce à un modèle d’adaptateur extensible, avec les hooks génériques de pluginenv_enablement_fn/cron_deliver_env_var; IRC et Microsoft Teams ont été migrés vers ce même modèle. Classe abstraiteProviderProfile+plugins/model-providers/pour les fournisseurs tiers extensibles. Reprise automatique des sessions après un redémarrage du gateway,/updateou le rechargement des fichiers sources. Réécriture de Checkpoints v2 autour d’un stockage unique, avec véritable élagage, protections de l’espace disque et suppression des dépôts fantômes orphelins. Correction de huit failles de sécurité P0 : masquage des secrets activé par défaut, contournement des restrictions de messages privés entre serveurs Discord (CVSS 8.1, listes de rôles autorisés limitées au serveur), rejet par défaut des inconnus sur WhatsApp + absence systématique de réponse dans les conversations avec soi-même, condition de concurrence TOCTOU lors de l’enregistrement des identifiants MCP OAuth, condition TOCTOU surauth.jsondans les composants d’écriture des identifiants CLI, protection minimale contre les SSRF visant les métadonnées cloud du navigateur dans le routage hybride, analyse des prompts assemblés par cron — y compris le contenu des skills — pour détecter les injections de prompt, masquage du contenu sensible des journaux au moment de leur téléversement parhermes debug share. Autres éléments notables : linting après écriture pour Python/JSON/YAML/TOML, mode de surveillance cronno_agentexécutant uniquement des scripts, listes d’autorisation par plateforme pour Slack/Telegram/Mattermost/Matrix/DingTalk, améliorations de MCP (transport SSE, transfert de OAuth, résultats d’image sous forme de balises MEDIA). Statistiques depuis la v0.12.0 : 864 commits, 588 PR fusionnées, 829 fichiers modifiés, 295 contributeurs de la communauté et 282 tickets clôturés (13 P0, 36 P1). ↩↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version de Hermes Agent v0.14.0. 16 mai 2026. « La version Foundation ». Depuis la v0.13.0 : 808 commits, 633 PR fusionnées, 1 393 fichiers modifiés, 165 061 insertions, 545 tickets clôturés (12 P0, 50 P1) et 215 contributeurs de la communauté. Ajoute SuperGrok OAuth avec un contexte de 1 million de tokens pour grok-4.3,
hermes proxy,x_search, la distribution via PyPI, le chargement différé des dépendances, un cache de prompts Claude d’une heure partagé entre les sessions, un lancement accéléré d’environ 19 s, des appels CDP du navigateur 180 fois plus rapides, LINE et SimpleX Chat portant à 22 le nombre de plateformes de messagerie,/handoff, des boutons de clarification natifs, le préchargement de l’historique Discord,vision_analyzeà partir des pixels bruts, un pied de page vérifiant les modifications de fichiers à chaque tour, des diagnostics sémantiques LSP, l’outil unifiévideo_generate,computer_usevia cua-driver, les liens OSC8, la prise en charge du registre ACP de Zed, le routeur OpenRouter Pareto Code, NovitaAI, l’environnement d’exécution app-server de Codex,huggingface/skills, les fonctionnalités de pluginctx.llmettool_override, la recherche Brave/DDGS, le renforcement de la protection contre les commandes dangereuses,/subgoal, le changement de nom de Qwen Cloud, une version bêta native pour Windows, 16 locales au total, ainsi que de nombreuses mises à jour de la documentation et des tests. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.16.0, « The Surface Release », tag
v2026.6.5, publiée le 6 juin 2026 à 00:55:58 UTC (date du tag de version : 5 juin 2026) ; dernière version au 8 juin 2026. Nouveau Hermes Desktop natif (Electron, macOS/Linux/Windows ; connexion à un gateway distant via un WebSocket sécurisé avec OAuth ou identifiant/mot de passe ; hôtes distants propres à chaque profile ; liens@sessionentre profiles ; interface en chinois simplifié grâce à une i18n typée,display.language). Le tableau de bord web devient un panneau d’administration complet (activation/désactivation des catalogues MCP, gestion des identifiants, création de webhooks/hooks, configuration de la mémoire, commandes du gateway, page Système avec vérification avant mise à jour et Debug Share, page Canaux ; authentification extensible comprenant OIDC auto-hébergé ethermes dashboard register). Nouvelles commandes :/undo [N], interface par défaut configurable (cli/tui,--cli),/modeldans la TUI avec fenêtre superposée Sessions,hermes portal,hermes prompt-size,hermes sessions optimize. Nouveaux modèles :deepseek-v4-flash,MiniMax-M3(contexte de 1 M),qwen3.7-plus,gemini-3.5-flash; OAuth xAI Grok ; sélecteur avec recherche approximative ; actualisation horaire du catalogue. Skills : ensemble par défaut allégé, filtre de pertinenceenvironments:, source approuvéeNVIDIA/skillspar défaut, divulgation progressive des outils, correction des faux succès OAuth de MCP. Sécurité : Starlette épinglé en version ≥1.0.1 pour la CVE-2026-48710 (BadHost), contrôles SSRF retirés de la boucle d’événements, bearer token Bedrock supprimé de l’environnement des sous-processus, lecture debws_cache.jsonprotégée, ajout dedocker restart/stop/killaux motifs dangereux, nettoyage des caractères Unicode invisibles ; clôture de 2 P0 et 62 P1 (dont 16 liés à la sécurité). Le discours marketing des notes de version (nombre de PR/commits, « rien de tout cela n’existait il y a une semaine ») a été exclu ; seuls les faits concrets relatifs aux fonctionnalités et versions associés au tag sont consignés. Vérification effectuée dans la session actuelle le 8 juin 2026. ↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.17.0, « The Reach Release », tag
v2026.6.19, 19 juin 2026 ; dernière version au 21 juin 2026. Messagerie : iMessage via Photon Spectrum (OAuth par code d’appareil,hermes photon login, sans relais Mac) ; adaptateur API officiel pour WhatsApp Business Cloud (remplace le processus de pont) ; groupes SimpleX, pièces jointes natives, regroupement des messages texte, acceptation automatique ; plugin de plateforme Raft inclus. Modèles/fournisseurs :z-ai/glm-5.2(contexte de 1 M),anthropic/claude-fable-5,laguna-m.1,nemotron-3-ultra,grok-composer-2.5-fast(OAuth xAI, contexte de 200 k) ; modèle xAI par défaut →grok-build-0.1; les modèles adaptatifs Anthropic utilisent le contrat de réflexion moderne (sans champreasoning). CLI/commandes slash :/version,/billing,hermes photon login,hermes curator run --consolidate(facultatif), interface graphique dehermes model, clonage de profile. Desktop : fenêtres de surveillance des subagents en arrière-plan (delegate_task(background=true)), sélecteur de modèle Composer, raccourcis reconfigurables, notifications natives du système d’exploitation, brouillons propres à chaque fil, thèmes VS Code Marketplace, interface en japonais et en chinois traditionnel. Tableau de bord : outil complet de création de profiles, sélecteur global de profile, refonte du Skills Hub avec analyse de sécurité, Automation Blueprints, connexion sécurisée (401 derrière OAuth). Skills/outils : édition d’image à image avecimage_generatechez plusieurs fournisseurs, opérations groupées atomiquesoperationsdememory, skill de revue parallèlesimplify-code,write_approvalbooléen remplaçantwrite_mode. Architecture : subagents en arrière-plan (retour immédiat d’un handle, puis réintégration du résultat sous forme de tour), gestionnaire de sollicitation MCP pour les confirmations pendant un appel d’outil, outils MCP se connectant tardivement et exposés entre les tours, CronScheduler extensible avec cron géré par Chronos, portée Managed (/etc/hermesépinglé par l’administrateur), relais Gateway-Gateway. Sécurité : contournement de la liste de refus d’échappement shell corrigé, fermeture sécurisée en cas d’absence du module d’approbation et pour les adaptateurs de gateway appliquant leur propre politique, environnement des scripts de tâches cron assaini, secrets masqués dans les vidages de débogage, métadonnées de l’hôte retirées du statut public, détection des motifs d’exfiltration sur l’entrée/sortie standard de MCP, mises à niveau d’urllib3 et PyJWT liées à des CVE. Le discours marketing de la version (nombre de commits/PR) a été exclu. Vérification effectuée dans la session actuelle le 21 juin 2026. ↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.18.0 (tag
v2026.7.1), 1er juillet 2026 — « The Judgment Release ». Traitement prioritaire du backlog (tous les P0/P1 clôturés, environ 692 éléments en douze jours) ; Mixture-of-Agents proposé comme modèle de premier ordre sélectionnable dans toutes les interfaces, avec la sortie complète de chaque modèle de référence affichée dans son propre bloc étiqueté et la réponse finale diffusée en direct ; contrats d’achèvement pour/goal(l’agent vérifie son propre travail en exécutant les contrôles du projet) ; commande/learn(transformez n’importe quel élément en skill réutilisable en le décrivant, avec conformité automatique à CONTRIBUTING.md) ; frise visuelle/journeyde la mémoire et des skills, avec fonctions d’édition et graphe de mémoire sur Desktop ; déploiement en éventail de subagents en arrière-plan (plusieurs tâches déléguées simultanées) ; Desktop Projects (modèle projet/dépôt/lane) ; gateway avec mise à l’échelle jusqu’à zéro et coordination du drainage ; prise en charge de Google Vertex AI (Gemini via des comptes de service GCP, actualisation automatique du token OAuth2) ; commande/promptutilisant $EDITOR. Vérification effectuée dans la session actuelle le 1er juillet 2026 (PST) sur la page des versions GitHub ; v0.18.0 est la dernière version. ↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.20.3 (tag
v2026.8.16.2, date de sortie annoncée au 16 août, publication le 17 août 2026) et notes de version de la v0.20.4 (tagv2026.8.18, 18 août 2026) ; toutes deux récupérées via la API GitHub le 20 août 2026 (prerelease: false). Texte exact de la v0.20.3 : « la migration vers SDK MCP 2.x et la prise en charge du protocole sans état du 28 juillet 2026, le plugin Bot Mode (hermes-bots) inclus avec le protocole central de coéquipier, le plugin fournisseur CommandCode, le renforcement de la propriété du runtime Python des sous-processus (isolation de PYTHONHOME/PYTHONPATH), les contrats de runtime Cua Driver 0.20 pour l’utilisation de l’ordinateur ». Texte exact de la v0.20.4 : « les améliorations de l’aspect verre/translucide sur Desktop (verre mat, sélecteur de givre, présélection macOS), la barre latérale à onglets SESSIONS|BOTS avec masquage/affichage individuel des bots, … l’analyse consultative NVIDIA SkillEvaluator Tier 1 lors de l’installation des skills (contrôles de licence et de sécurité) ». Pour les deux versions : « Les notes de version complètes et sélectionnées pour cette période seront publiées avec la v0.21.0. » ↩↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.20.0, « The Herald Release », tag
v2026.8.3, 3 août 2026, avec les tags de stabilisation v2026.8.13 et v2026.8.16. Texte exact de la version : « Node 26 requis pour les programmes d’installation, la réparation et la mise à niveau » ; « les canaux brew et wheel pip/PyPI sont abandonnés (le programme d’installation shell, Docker et Nix sont les canaux pris en charge) » ; « limite d’itérations par défaut : 90 → 500 » ; « source claude-marketplace supprimée ». La version minimale de Node a été confirmée indépendamment dans le code source du programme d’installation, dans scripts/install.sh —NODE_VERSION="26"et le contrôle « Node.js $(node –version) est trop ancien (Hermes nécessite Node >=26) » — dont le commentaire d’en-tête documente également la commande canonique en une lignecurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash. À noter, une contradiction : la page d’installation de la documentation indique toujours Node v22 et n’est plus à jour par rapport à ces deux sources. Niveaux de prise en charge des plateformes tirés de la page prise en charge des plateformes ; sources des skills et sources approuvées par défaut tirées de la page skills ; nombre de 28 plateformes obtenu en dénombrant les entrées du tableau comparatif de la page messagerie, qui ne publie aucun total officiel. Toutes les sources ont été récupérées et vérifiées le 16 août 2026. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Notes de version d’Hermes Agent v0.19.0, « The Quicksilver Release », tag
v2026.7.20, 20 juillet 2026 ; dernière version au 21 juillet 2026. Statistiques depuis la v0.18.0 : environ 2 245 commits, environ 1 065 PR fusionnées, environ 3 300 issues clôturées et plus de 450 contributeurs de la communauté. Axe principal des performances : réduction d’environ 80 % du TTFT au premier tour, délai à froid entre soumission et dispatch passé d’environ 4,3 s à 0,9 s sur CLI/gateway/TUI/desktop/cron (PR #59332) ; raisonnement diffusé en direct par défaut avecdisplay.show_reasoningactivé et affichage de la réponse token par token (PR #59389) ; vague d’optimisations desktop couvrant environ 20 PR, dont un rendu Markdown en streaming 14 fois plus rapide ; rendu Markdown incrémentiel dans la TUI. Les installations par pip/Homebrew sont désormais obsolètes et n’affichent plus qu’un avertissement « unsupported legacy », la suppression de la publication sur PyPI/Homebrew étant prévue (PR #57225). InterfaceSecretSourceextensible avec des fournisseurs Bitwarden et 1Password, référencesop://, prise en charge de plusieurs coffres, ordre de priorité déterministe et provenance par variable (PR #59498). Approbations intelligentes par défaut (évaluateur LLM indépendant pour chaque commande signalée), règles de refus définies par l’utilisateur qui restent applicables en mode YOLO,/deny <reason>(PR #62661, #59164, #54518) ; réintégration de l’escalade d’approbationpre_tool_calldes plugins (PR #60504). Facturation depuis le terminal avec/subscriptionet/topup, ainsi qu’un onglet de facturation dans l’application desktop (PR #51639). Fichiers de transcription en direct des subagents et délégation durable en arrière-plan (PR #67479, #63494) ; registre des obligations de livraison dansstate.db(PR #67181) ;max_async_childrenrendu obsolète au profit de limites de concurrence unifiées pour la délégation (PR #56955). Routage du gateway selon le profile, avecGATEWAY_MULTIPLEX_PROFILESet index de routage déplacé versstate.db, tandis quesessions.jsondevient une copie miroir legacy facultative (PR #64835, #65700, #60589, #59203). Fournisseurs et modèles : prise en charge native de Fireworks AI à la position nº 2 du sélecteur (PR #62593), DeepInfra, Upstage Solar, prise en charge de bout en bout de GPT-5.6 Sol/Terra/Luna et Pro (PR #61616), grok-4.5 en disponibilité générale, kimi-k3 (kimi-k2.x retiré), intégration complète de Claude Sonnet 5, ainsi queenabled: falsepar fournisseur etexcluded_providers(PR #67971) ; niveaux d’effort de raisonnementmax/ultra, avec remplacements par modèle et par emplacement MoA, et/reasoninglimité à la session (PR #62650, #64458). CLI/MCP :hermes sessions exportaux formats Markdown/Quarto/HTML/prompt-only/HF-trace avec--redact(PR #60186),/model --once(PR #67113), invocations empilées de slash-skills (PR #57987),--safe-mode,hermes config get/unset(PR #65540),hermes serveréellement headless (PR #55923), convention de nommage MCPmcp__server__tool(PR #52750). Le discours marketing de la version a été exclu ; les éléments annulés pendant cette période (pare-feu de sortie iron-proxy, skill dynamic-workflow et actions des fournisseurs de mémoire) n’ont délibérément pas été présentés comme livrés. Vérification effectuée lors de la session en cours le 21 juillet 2026. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Tag de version d’Hermes Agent v0.18.1 et tag de version v0.18.2, 7–8 juillet 2026. Regroupements de correctifs d’infrastructure pour la branche v0.18 ; le correctif principal de la v0.18.2 supprime l’épinglage de WhatsApp Baileys afin de passer à la version 7.0.0-rc13 et de fiabiliser les builds Docker. Les deux séries de correctifs sont intégrées et entièrement documentées dans les notes de version de la v0.19.0. ↩
-
Notes de version d’Hermes Agent v0.15.1 et notes de version d’Hermes Agent v0.15.2. La v0.15.1 (29 mai 2026 à 01:12 UTC) est le correctif Velocity publié le jour même : correction de la boucle de rechargement avec erreur 401 du dashboard en mode loopback ; Docker exige désormais explicitement
HERMES_DASHBOARD_INSECURE=1; les commandes MCP sans chemin (npx,npm,node) sont résolues dans les conteneurs Docker ; rétablissement des pastilles de source et de la barre latérale des catégories sur la page Skills ; les workers Kanban répondent à SIGTERM ; le catalogue Skills.sh passe de 858 à 19 932 entrées grâce au sitemap. 28 commits, 21 PR fusionnées et 9 contributeurs. La v0.15.2 (29 mai 2026 à 13:37 UTC) est un correctif limité au packaging qui inclut les manifestesplugin.yamldans les distributions wheel et sdist afin que les installations depuis PyPI fonctionnent sans chargement latéral du code source. 4 contributeurs. ↩ -
Notes de version d’Hermes Agent v0.15.0 et page des versions d’Hermes Agent. « The Velocity release », tag
v2026.5.28. Statistiques : 1 302 commits, 747 PR fusionnées et 321 contributeurs de la communauté. Réduction de 76 % derun_agent.py(de 16 083 à 3 821 lignes réparties dans 14 modules). Ajout de la plateforme Kanban multi-agent (décomposition automatique, topologie en essaim, remplacements de modèle par tâche, tâches planifiées et gestion des worktrees). Refonte desession_search, désormais 4 500 fois plus rapide après la suppression de la dépendance LLM. Défense contre les prompt injections de type Brainworm à trois points de contrôle de sécurité. L’intégration de Bitwarden Secrets Manager remplace plusieurs clés API propres à chaque fournisseur par un unique token d’amorçage. Les lots de skills permettent de charger plusieurs skills avec une seule commande slash. Orchestrateur de sessions TUI pour gérer plusieurs sessions dans une seule fenêtre de terminal. Prise en charge de Krea 2 (Medium/Large) et du plugin FAL pour la génération d’images. Une série d’intégrations xAI ajoute un plugin de recherche web, OAuth upstream, la détection des modèles retirés et des pauses TTS naturelles dans la sortie vocale. Une version corrective référencée sur GitHub traite la boucle de rechargement avec erreur 401 du dashboard, l’obligation pour l’option Docker--insecurede disposer explicitement de la variable d’environnementHERMES_DASHBOARD_INSECURE=1, la résolution des commandes MCP sans chemin (npx,npm,node) dans Docker, le rendu de la page Skills, la gestion de SIGTERM par les workers Kanban, l’intégralité du catalogue Skills de 19 932 entrées grâce au sitemap, ainsi qu’un petit ensemble de corrections concernant la livraison des fichiers.md, la sécurité des sondes du gateway, la caviardisation des URL web, les capacités de vision des workers Kanban et les valeurs par défaut des observations rétrospectives. ↩↩↩ -
Notes de version d’Hermes Agent v0.11.0. 23 avril 2026. « The Interface release » — réécriture complète en React/Ink de l’interface interactive CLI, avec un backend Python JSON-RPC (
tui_gateway) ; architecture de transport extensible (agent/transports/) ; prise en charge native d’AWS Bedrock via Converse API ; cinq nouvelles voies d’inférence (NVIDIA NIM, Arcee AI, Step Plan, Google Gemini CLI OAuth, Vercel ai-gateway) ; GPT-5.5 via Codex OAuth ; QQBot comme 17e plateforme de messagerie, avec configuration par scan d’un code QR ; extension de la surface des plugins (commandes slash, dispatch des tools, blocage de l’exécution, transformation des résultats) ;/steer <prompt>pour réorienter l’agent en cours d’exécution en injectant du contexte après le prochain appel de tool sans interrompre le cache du prompt ; hooks shell pour les événements du cycle de vie sans plugins Python ; mode de livraison directe par webhook qui transmet immédiatement les payloads à une conversation de la plateforme ; délégation plus intelligente avec rôles d’orchestrateur, profondeur de spawn configurable et coordination des fichiers ; système de plugins pour le dashboard, changement de thème en direct, i18n et adaptation aux appareils mobiles. Statistiques depuis la v0.9.0 : 1 556 commits · 761 PR fusionnées · 1 314 fichiers modifiés · 224 174 insertions · 29 contributeurs de la communauté. Voir également : tag de version GitHub d’Hermes Agent v0.11.0. ↩↩↩ -
Notes de version de Hermes Agent v0.10.0. 16 avril 2026. « La version Tool Gateway ». Intégration de Nous Tool Gateway pour les abonnés payants à Nous Portal — accès géré à la recherche web Firecrawl, à la génération d’images FAL / FLUX 2 Pro, à la synthèse vocale OpenAI TTS et à l’automatisation de navigateur Browser Use, sans clés API supplémentaires. Activation facultative pour chaque outil grâce au nouveau champ de configuration
use_gateway. Lors de l’exécution, le gateway est privilégié par rapport aux clés API directes lorsque les deux sont configurés. Intégration complète àhermes toolsethermes status. Remplace la variable d’environnement obsolèteHERMES_ENABLE_NOUS_MANAGED_TOOLS. Implémentation par @jquesnelle (emozilla). Le CLI de Hermes Agent reste sous licence MIT et entièrement open source ; le gateway constitue une intégration au produit d’abonnement Portal existant, et non un accès payant au CLI. Voir aussi : Nous Portal pour connaître les tarifs d’abonnement et vous inscrire. ↩↩↩