📑 Table des matières

03 - Hermes Agent : les 68 outils disponibles — guide complet

Hermes Agent 🟡 Intermédiaire ⏱️ 12 min de lecture 📅 2026-05-05

Hermes Agent embarque 68 outils natifs organisés en toolsets logiques, couvrant quasiment tous les scénarios d'utilisation — de la recherche web à l'automatisation, en passant par le contrôle de votre maison connectée.

Ce guide passe en revue chaque catégorie d'outils, explique comment les activer ou les désactiver, et donne des exemples concrets d'utilisation.

Architecture des toolsets : comment ça marche

Les outils de Hermes ne sont pas activés un par un de manière anarchique. Ils sont regroupés en toolsets — des bundles nommés qui contrôlent ce que l'agent peut faire. C'est le mécanisme principal pour configurer la disponibilité des outils par plateforme, par profil utilisateur, ou par cas d'usage.

Chaque plateforme de messagerie possède son propre preset de toolsets. Par exemple, hermes-telegram active par défaut les toolsets web, terminal, file, vision, todo, memory et messaging, tandis que hermes-cli active un ensemble plus large incluant code_execution et delegation.

Un toolset peut être composé d'un seul outil (comme tts pour la synthèse vocale) ou de plusieurs outils travaillant ensemble (comme browser qui regroupe 10 outils d'automatisation). Il existe aussi des toolsets composites comme debugging qui agrège file + terminal + web.

Outils système : terminal et fichiers

Le cœur opérationnel de Hermes repose sur quatre outils fondamentaux pour interagir avec le système de fichiers et exécuter des commandes.

terminal et process

L'outil terminal exécute des commandes shell sur l'environnement Linux. Il supporte six backends d'exécution :

  • local — exécution directe sur la machine hôte

  • docker — conteneur isolé persistant (un seul conteneur partagé pour toute la session)

  • ssh — exécution distante sur un serveur dédié

  • singularity — conteneurs HPC pour le calcul en cluster

  • modal — exécution serverless dans le cloud

  • daytona — workspace cloud persistant

  • vercel_sandbox — microVM cloud avec persistance par snapshot

Les commandes longues peuvent être lancées en arrière-plan avec background=true. L'outil process permet ensuite de gérer ces processus : lister, surveiller, attendre, récupérer les logs, ou les tuer. Le mode PTY (pty=true) permet d'utiliser des outils interactifs comme Codex ou Claude Code.

Exemple : lancer une suite de tests en arrière-plan et recevoir une notification quand elle termine

`terminal(command="pytest -v tests/", background=true, notify_on_complete=true)

Le process tourne en arrière-plan, Hermes notifie automatiquement quand c'est terminé`

read_file, write_file, search_files, patch

Ces quatre outils remplacent les commandes shell classiques par des équivalents plus sûrs et plus intelligents :

  • read_file — lit un fichier avec numéros de ligne et pagination. Impossible de lire des images ou fichiers binaires.

  • write_file — écrit le contenu complet d'un fichier (écrasement total). Crée les répertoires parents automatiquement.

  • search_files — recherche de contenu par regex ou recherche de fichiers par glob pattern. Propulsé par ripgrep, plus rapide que les équivalents shell.

  • patch — modifications ciblées par find-and-replace avec 9 stratégies de fuzzy matching. Retourne un unified diff et lance automatiquement des vérifications de syntaxe.

Exemple : corriger une variable dans un fichier de configuration

`patch(path="config.yaml", old_string="port: 3000", new_string="port: 8080")

Retourne un diff et vérifie la syntaxe YAML automatiquement`

Outils web : recherche et extraction

Le toolset web comprend deux outils complémentaires pour l'accès à l'information en ligne.

web_search effectue des recherches sur le web et retourne jusqu'à 100 résultats avec titres, URLs et descriptions. Il supporte les opérateurs de recherche avancés (site:, filetype:, intitle:, guillemets exacts). Plusieurs backends sont supportés : Exa, Parallel, Firecrawl et Tavily.

web_extract récupère le contenu d'une URL et le convertit en markdown. Il fonctionne aussi avec les PDF — il suffit de passer l'URL du PDF directement. Les pages de moins de 5000 caractères retournent le markdown complet ; les pages plus longues sont résumées par le modèle IA.

Exemple : rechercher et extraire la documentation d'une API

web_search(query="FastAPI middleware authentication site:fastapi.tiangolo.com") web_extract(url="https://fastapi.tiangolo.com/tutorial/middleware/")

Outils browser : automatisation web avancée

Le toolset browser est le plus riche en nombre d'outils, avec 10 outils dédiés à l'automatisation web interactive :

  • browser_navigate — ouvre une URL et initialise la session

  • browser_snapshot — capture l'arbre d'accessibilité de la page avec des IDs de référence (@e1, @e2...) pour interagir

  • browser_click — clique sur un élément par son ID de référence

  • browser_type — saisit du texte dans un champ

  • browser_scroll — fait défiler la page

  • browser_press — simule une touche du clavier

  • browser_back — retourne à la page précédente

  • browser_get_images — liste toutes les images de la page

  • browser_console — récupère la console JavaScript

  • browser_vision — capture un screenshot et l'analyse avec un modèle de vision

Il existe aussi un toolset browser-cdp (2 outils supplémentaires) qui s'active automatiquement quand un endpoint Chrome DevTools Protocol est détecté, permettant d'envoyer des commandes CDP brutes et de répondre aux dialogues JavaScript natifs.

Exemple : naviguer sur un site, remplir un formulaire et vérifier visuellement le résultat

browser_navigate(url="https://example.com/login") browser_snapshot() browser_type(ref="@e5", text="mon_utilisateur") browser_type(ref="@e7", text="mon_mot_de_passe") browser_click(ref="@e9") browser_vision(prompt="Vérifie que la page de dashboard est bien chargée")

Outils IA : vision, image generation et TTS

Hermes Agent n'est pas qu'un agent textuel — il dispose d'outils multimodaux puissants :

vision_analyze

Analyse des images via des modèles de vision. L'agent peut identifier des éléments, lire du texte (OCR), décrire des interfaces, ou diagnostiquer des erreurs à partir de screenshots.

image_generate

Génération d'images à partir de prompts textuels via FAL.ai (avec support optionnel d'OpenAI et xAI). Le modèle par défaut est FLUX 2 Klein 9B, capable de générer une image en moins d'une seconde.

text_to_speech

Conversion texte-parole avec livraison native sur chaque plateforme : bulle vocale sur Telegram, pièce jointe audio sur Discord et WhatsApp, fichier dans ~/voice-memos/ en CLI. La voix et le provider sont configurables.

Exemple : générer une image de concept et l'envoyer avec une description vocale

image_generate(prompt="Un robot assistant dans un bureau moderne, style illustration flat") text_to_speech(text="Voici le concept visuel que j'ai généré pour votre projet.")

Outils communication : messagerie et Discord

send_message

L'outil send_message permet à Hermes d'envoyer des messages vers n'importe quelle plateforme connectée (Telegram, Discord, Slack, WhatsApp, etc.) depuis une session. Avant d'envoyer, il faut d'abord lister les cibles disponibles avec action="list".

discord et discord_admin

Deux toolsets spécifiques à Discord, disponibles uniquement sur la plateforme hermes-discord :

  • discord — recherche de membres, envoi de messages, réactions, lecture et participation aux canaux

  • discord_admin — modération : gestion des rôles, canaux, timeouts, kicks et bans (nécessite les permissions Discord appropriées)

Outils productivité : todo, cron, skills et mémoire

todo

Gestion de liste de tâches intra-session. Idéal pour les workflows complexes à plusieurs étapes. L'agent peut créer, mettre à jour, fusionner et cocher des tâches automatiquement.

cronjob

Gestionnaire de tâches planifiées avec actions : create, list, update, pause, resume, run et remove. Les jobs peuvent être attachés à des skills pour des automations sophistiquées. Les exécutions cron se lancent dans des sessions fraîches sans contexte de chat courant.

Exemple : automatiser un rapport hebdomadaire

cronjob(action="create", name="rapport-hebdo", schedule="0 9 * * 1", prompt="Génère un résumé de l'activité GitHub de la semaine dernière")

skills

Le toolset skills comprend trois outils pour gérer les compétences procédurales de l'agent :

  • skills_list — liste les skills disponibles (nom + description)

  • skill_view — charge le contenu complet d'un skill et ses fichiers liés (templates, scripts)

  • skill_manage — création, mise à jour et suppression de skills

Les skills sont la mémoire procédurale de Hermes — des approches réutilisables pour des types de tâches récurrents, compatibles avec le standard agentskills.io et partageables via le Skills Hub communautaire.

memory

L'outil memory gère la mémoire persistante cross-session. Les informations importantes sont sauvegardées et injectées dans le prompt système au démarrage de chaque nouvelle session. C'est ainsi que l'agent se souvient de vos préférences, de votre environnement et de votre contexte entre les conversations.

Recherche dans l'historique de toutes les sessions passées. Quand l'utilisateur dit « on avait fait ça avant » ou « la dernière fois », cet outil permet à l'agent de retrouver le contexte et de résumer ce qui s'est passé.

Outils développement : code execution et délégation

execute_code

L'outil execute_code exécute des scripts Python capables d'appeler les outils Hermes de manière programmatique. À utiliser quand on a besoin de 3 appels d'outils ou plus avec une logique de traitement entre eux, ou quand on veut filtrer/réduire de gros résultats d'outils avant qu'ils n'entrent dans le contexte.

delegate_task

Spaune des sous-agents isolés pour du travail en parallèle. Chaque sous-agent dispose de sa propre conversation, session terminal et toolset. Seul le résumé final est retourné — les résultats intermédiaires ne polluent jamais votre fenêtre de contexte. Idéal pour diviser un gros projet en sous-tâches indépendantes.

mixture_of_agents

L'outil MOA fait passer un problème difficile à travers plusieurs modèles LLM collaboratifs. Il effectue 5 appels API (4 modèles de référence + 1 agrégateur) — à réserver pour les problèmes véritablement complexes en mathématiques, algorithmique ou raisonnement avancé.

Outils intégrations : Home Assistant, Spotify, RL, MCP

Home Assistant (4 outils)

Le toolset homeassistant offre un contrôle complet de votre maison connectée :

  • ha_list_entities — liste les entités (lampes, interrupteurs, capteurs...) avec filtrage par domaine ou zone

  • ha_get_state — état détaillé d'une entité (luminosité, température, etc.)

  • ha_list_services — liste les actions disponibles pour chaque type d'appareil

  • ha_call_service — exécute une action sur un appareil

Exemple : allumer les lumières du salon et régler le thermostat

ha_call_service(domain="light", service="turn_on", entity_id="light.salon") ha_call_service(domain="climate", service="set_temperature", entity_id="climate.salon", kwargs='{"temperature": 22}')

Spotify (7 outils)

Contrôle natif de Spotify via le plugin intégré : playback, file d'attente, recherche, playlists, albums et bibliothèque. Nécessite une autorisation OAuth initiale via hermes spotify setup.

RL Training (10 outils)

Suite complète de gestion de l'entraînement RL via Atropos : sélection d'environnement, configuration, lancement de training, monitoring WandB, arrêt, et tests d'inférence. Requiert les clés TINKER_API_KEY et WANDB_API_KEY.

MCP (Model Context Protocol)

Au-delà des 68 outils natifs, Hermes peut charger dynamiquement des outils depuis des serveurs MCP. Les outils MCP apparaissent avec un préfixe nom-serveur (ex: github_create_issue pour le serveur github). Cela permet d'étendre indéfiniment les capacités de l'agent en connectant n'importe quel serveur MCP compatible.

Autres plateformes : Feishu et Yuanbao

Des toolsets spécifiques existent pour des plateformes régionales :

  • feishu_doc (1 outil) — lecture de documents Feishu/Lark

  • feishu_drive (4 outils) — opérations de commentaires sur les fichiers Feishu

  • yuanbao (5 outils) — DM, groupes et stickers sur la plateforme Tencent Yuanbao

Configurer les outils : la commande hermes tools

La gestion des outils se fait principalement via la commande CLI :

`# Voir tous les outils disponibles et leur statut
hermes tools

Lancer la configuration interactive des outils par plateforme

hermes tools

Utiliser des toolsets spécifiques en CLI

hermes chat --toolsets "web,terminal,file"

Activer un toolset dans la config

hermes config set toolsets.enabled '["web","terminal","file","browser"]'`

La commande hermes tools sans argument lance un menu interactif qui permet de parcourir les toolsets, de voir quels outils ils contiennent, et de les activer ou désactiver par plateforme.

Le toolset safe : pour les environnements restreints

Le toolset safe est conçu spécifiquement pour les environnements où la sécurité est primordiale. Il regroupe uniquement des outils en lecture seule :

  • web_search — recherche web

  • web_extract — extraction de contenu

  • vision_analyze — analyse d'images

  • image_generate — génération d'images

Aucun accès au terminal, aucun accès en écriture aux fichiers, aucune exécution de code. Parfait pour les plateformes de messagerie publiques ou les instances partagées.

Bonnes pratiques de sécurité

Choisir quels outils autoriser n'est pas qu'une question de fonctionnalité — c'est une question de sécurité. Voici les recommandations par plateforme :

CLI local (hermes-cli) — Profil complet. Vous pouvez activer tous les toolsets : terminal, file, code_execution, delegation, rl, browser. L'environnement est contrôlé par l'utilisateur.

Telegram / Discord / Slack — Profil équilibré. Activez web, file (en lecture si possible), vision, todo, memory, cronjob, messaging. Le terminal et code_execution sont à activer uniquement si l'instance est privée et sécurisée. Utilisez le backend Docker pour isoler les exécutions.

Instances publiques ou partagées — Utilisez le toolset safe comme base. Ajoutez uniquement les outils strictement nécessaires. Le backend SSH est recommandé pour empêcher l'agent de modifier son propre code.

Environnement de production — Désactivez rl (training peut consommer beaucoup de ressources), limitez code_execution au backend Docker avec des ressources contraintes (CPU, mémoire), et activez les quotas de process.

Le backend Docker offre un bon compromis entre flexibilité et sécurité : un conteneur persistant avec isolation complète, root filesystem en lecture seule, et suppression de toutes les capabilities Linux.

Récapitulatif des toolsets

  • browser (10 outils) — automatisation web interactive

  • browser-cdp (2 outils) — commandes Chrome DevTools Protocol

  • file (4 outils) — lecture, écriture, recherche et patch de fichiers

  • terminal (2 outils) — exécution de commandes et gestion de processus

  • web (2 outils) — recherche et extraction web

  • vision (1 outil) — analyse d'images

  • image_gen (1 outil) — génération d'images

  • tts (1 outil) — synthèse vocale

  • todo (1 outil) — gestion de tâches

  • cronjob (1 outil) — tâches planifiées

  • memory (1 outil) — mémoire persistante

  • session_search (1 outil) — recherche d'historique

  • skills (3 outils) — gestion des compétences

  • messaging (1 outil) — envoi de messages inter-plateformes

  • clarify (1 outil) — clarification utilisateur

  • code_execution (1 outil) — exécution de code Python

  • delegation (1 outil) — sous-agents parallèles

  • moa (1 outil) — consensus multi-modèles

  • homeassistant (4 outils) — maison connectée

  • discord (1 outil) — actions Discord

  • discord_admin (1 outil) — modération Discord

  • spotify (7 outils) — contrôle Spotify

  • rl (10 outils) — training RL

  • feishu_doc (1 outil) — documents Feishu

  • feishu_drive (4 outils) — commentaires Feishu

  • yuanbao (5 outils) — plateforme Yuanbao

  • safe (composite) — profil lecture seule sécurisé

  • debugging (composite) — bundle de diagnostic

Conclusion

Avec ses 68 outils natifs organisés en toolsets configurables, Hermes Agent couvre un spectre impressionnant de capacités. Le système de toolsets permet une granularité fine de configuration : vous choisissez exactement ce que l'agent peut faire, sur quelle plateforme, et avec quel niveau d'accès.

La force de cette architecture réside dans sa modularité. Vous n'êtes pas obligé de tout activer. Un usage minimaliste avec uniquement web + safe suffit pour un assistant de recherche. Un usage avancé avec terminal + code_execution + delegation transforme Hermes en véritable co-développeur. Et l'intégration MCP permet d'étendre ces capacités à l'infini en connectant des serveurs de tools externes.

Dans le prochain article de cette série, nous explorerons le système de mémoire de Hermes — comment l'agent apprend de vos interactions et se souvient de votre contexte au fil des sessions.