Écosystème d'outils de Hermes Agent et intégration MCP
Toutes les capacités de Hermes passent par desoutilsexposés à l'Agent.
Outils organisés enensembles d'outils. Les ensembles d'outils sont ensuite combinés enconfiguration de plateforme. Cette structure à trois couches détermine ce que l'Agent peut faire dans différents scénarios :
工具(Tool)
└── 工具集(Toolset) # 相关工具的逻辑分组
└── 平台配置 # 哪个平台加载哪些工具集
└── 自定义工具集 # 你自己定义的组合
Commandes de gestion de la boîte à outils
# 打开 curses TUI,按平台开/关工具集 hermes tools # 命令行列出所有工具和状态 hermes tools list # 按名称启用或禁用工具集 hermes tools enable NAME hermes tools disable NAME
Version de bureau, dans le menu des compétences et des outils à gauche :

Désactivez un ensemble d'outils, et ses outilsdisparaissent complètementdu prompt système, pas seulement désactivés—cela économise directement des tokens et empêche l'Agent d'utiliser à mauvais escient des outils qu'il ne devrait pas utiliser.
Aperçu des boîtes à outils intégrées
Hermes fournit plus de 70 outils intégrés, répartis en 28 ensembles d’outils.
Ce qui suit présente les ensembles d’outils les plus couramment utilisés par catégorie.
Fichiers et système
| ensemble d’outils | Outils de base | Objectif principal |
|---|---|---|
| fichier | read_file、write_file、list_dir | Lecture/écriture de fichiers, opérations sur les répertoires |
| terminal | run_command、run_script | Exécution de commandes shell |
| code | execute_code | Exécution de code en bac à sable (Python/JS/Bash) |
| computer | screenshot、click、type | Automatisation de l’interface graphique du bureau |
Réseau et contenu
| ensemble d’outils | Outils de base | Objectif principal |
|---|---|---|
| web | web_search、web_extract | Recherche web et extraction de contenu |
| browser | navigate、click、fill_form | Automatisation complète du navigateur |
| vision | analyze_image、describe_image | Analyse et description d’images |
| audio | transcribe、tts | Reconnaissance vocale et synthèse vocale |
Capacités de l’agent
| ensemble d’outils | Outils de base | Objectif principal |
|---|---|---|
| memory | memory、session_search | Gestion de la mémoire et récupération inter-sessions |
| skills | skills_list、skill_view、skill_manage | Gestion des compétences |
| Délégation | spawn_agent、spawn_parallel | Délégation de sous-agents et parallélisme |
| Kanban | task_create、task_update | Tableau de bord multi-agents (nécessite une activation explicite) |
Création de médias
L'ensemble d'outils suivant nécessite Nous Portal ou une clé API correspondante :
| ensemble d’outils | Fonctionnalités | Description |
|---|---|---|
| image_gen | Génération d'images à partir de texte | Prend en charge 9 modèles, y compris FLUX, GPT-Image |
| tts | Synthèse vocale | 10 fournisseurs TTS, dont Piper local |
Boîtes à outils personnalisées
Vous pouvez combiner des ensembles d'outils existants en ensembles d'outils spécifiques au projet dans le fichier de configuration :
Exemple
# Ensemble d'outils personnalisé : combinez des ensembles d'outils existants dans une configuration spécifique au projet
custom_toolsets:
data-science:
- file
- terminal
- code
- web
Ensuite, spécifiez au démarrage :
Exemple
hermes --toolsets data-science
Six backends d'exécution de terminal
L'ensemble d'outils de terminal prend en charge six backends d'exécution, déterminant où s'exécutent les commandes Shell de l'AgentOù exécuter, correspondant à différents niveaux d'isolation et à un « rayon d'impact ».
| Backend | Emplacement d'exécution des commandes | Niveau d'isolation | Scénarios typiques |
|---|---|---|---|
| local (par défaut) | Machine locale, autorisations de l'utilisateur actuel | Aucune | Développement personnel, usage quotidien |
| docker | Dans un conteneur Docker | Isolation complète | Déploiement en production, bac à sable sécurisé |
| ssh | Serveur distant | Isolation de la frontière réseau | Développement à distance, machines hautes performances |
| modal | Bac à sable cloud Modal (VM) | Entièrement (cloud) | Calcul temporaire, tâches d’évaluation |
| daytona | Espaces de travail hébergés par Daytona | Entièrement (conteneur cloud) | Environnement de développement cloud géré |
| singularity | Conteneur Singularity | Isolation des espaces de noms | Clusters HPC, machines partagées |
Changer de backend
Exemple
hermes config set terminal.backend docker
# Passer au backend SSH
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@your-server.com
Exemple de configuration complète du backend Docker :
Exemple
# Configuration du backend Docker
terminal:
backend: docker
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_persistent: true # true = montage bind, false = tmpfs temporaire
Principe de sécurité : le backend local donne à l'Agent les mêmes permissions sur le système de fichiers que les vôtres—convient aux machines personnelles, pas aux services de production. Le backend docker est la méthode d'isolation la plus simple et la plus efficace.
Approbation des commandes dangereuses
Par défaut, Hermes demandera une confirmation avant d'exécuter des commandes potentiellement destructrices :
Exemple
# Configuration du mode d'approbation
approvals:
mode: manual # manual (par défaut) | smart | off
timeout: 60 # Secondes d'attente pour l'approbation
cron_mode: deny # Comportement lorsqu'une tâche planifiée rencontre des commandes dangereuses : deny | approve
Contourner temporairement l'approbation dans une session (à utiliser avec prudence) :
Exemple
/yolo
# Appuyer à nouveau sur Entrée pour désactiver
/yolo
MCP : connexion de l'écosystème d'outils externes
MCP (Model Context Protocol) permet à Hermes de se connecter à des serveurs d'outils externes sans modifier le code principal—GitHub, bases de données, systèmes de fichiers, piles de navigateurs, API internes, etc.
L'installation standard inclut la prise en charge de MCPAucune étape supplémentaire n'est requise.
Deux types de serveurs MCP
Serveur stdio local: s'exécute localement en tant que sous-processus, communiquant via l'entrée/sortie standard :
Exemple
# Configuration du serveur MCP stdio
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
git:
command: "uvx"
args: ["mcp-server-git", "--repository", "/home/user/project"]
Scénarios applicables : les outils sont installés localement et un accès à faible latence aux ressources locales est nécessaire.
Serveur HTTP distant: se connecter directement à un point de terminaison MCP distant :
Exemple
# Configuration du serveur HTTP MCP
mcp_servers:
# Authentification par jeton Bearer statique
internal_api:
url: "https://mcp.internal.example.com/mcp"
headers:
Authorization: "Bearer ${MY_TOKEN}"
# Authentification OAuth 2.1 (Linear, Sentry, Figma, Stripe, etc.)
linear:
url: "https://mcp.linear.app/mcp"
auth: oauth
# Fournisseurs qui nécessitent des clients OAuth préenregistrés
googledrive:
url: "https://drivemcp.googleapis.com/mcp/v1"
auth: oauth
oauth:
client_id: "<your-oauth-client-id>"
client_secret: "<your-oauth-client-secret>"
Scénarios applicables : les outils sont hébergés à distance, ou une interface MCP existe au sein de l'organisation.
Répertoire MCP sélectionné par Nous
Hermes dispose d'un annuaire MCP intégré, sélectionné par Nous, avec installation en un clic :
Exemple
hermes mcp
# Liste en texte brut
hermes mcp catalog
# Installer les entrées de l'annuaire par nom
hermes mcp install n8n
Le sélecteur affichera l'état actuel de chaque entrée :
n8n available 管理和检查 n8n 工作流 linear enabled Linear 问题/项目管理(远程 OAuth) github installed (disabled) GitHub 仓库 + PR 工具
L'installation effectue automatiquement trois étapes :
- Inviter à configurer une clé API ou guider la connexion OAuth
- Détecter la liste des outils exposés par le serveur
- Affiche une liste de sélection d’outils, vous permettant de décider quels outils activer
Filtrage des outils : n’exposez que ce dont vous avez besoin
Chaque serveur MCP prend en charge un filtrage granulaire des outils, réduisant la surface d’attaque disponible pour l’Agent :
Exemple
# Configuration du filtrage des outils MCP
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
tools:
include: [list_issues, create_issue, update_issue, search_code]
# Les outils non listés ne seront pas enregistrés
resources: false
prompts: false
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ${STRIPE_KEY}"
tools:
exclude: [delete_customer, refund_payment] # Exclure les opérations à haut risque
| Fields | Comportement |
|---|---|
| tools.include | N’enregistrer que les outils de la liste, exclure tous les autres |
| tools.exclude | Exclure les outils de la liste, enregistrer tous les autres |
| Définir les deux | inclure la priorité |
| resources: false | Ne pas exposer les outils d’accès aux ressources MCP |
| prompts: false | Ne pas exposer les outils de prompt MCP |
FilterRulesUsage MCP originalTool name称(containconnectCharacter/Point),n’est pas Hermes RegisterafterBottom划Lineversion.
Chaque serveur MCP génère un ensemble d’outils indépendant
Après avoir configuré le serveur MCP GitHub, Hermes le créera automatiquement à l’exécutionmcp-githubEnsemble d’outils.
Vous pouvez le gérer comme un ensemble d’outils intégré :
Exemple
# Référencer l'ensemble d'outils MCP dans la configuration de la plateforme
platform_toolsets:
cli:
- hermes-cli
- mcp-github
- mcp-linear
Recharger la configuration MCP
Après avoir modifié config.yaml, il n'est pas nécessaire de redémarrer tout l'Agent :
Exemple
/reload-mcp
# Ou depuis la ligne de commande
hermes mcp reload
Si l'authentification OAuth est requise, le délai d'expiration de 30 secondes ne suffit pas. Il est recommandé d'ajouter d'abord la configuration du serveur, puis d'exécuter hermes mcp login <server> dans un nouveau terminal pour terminer l'autorisation (attente jusqu'à 5 minutes).
Intégration de l'éditeur (ACP)
ACP (Agent Communication Protocol) permet à Hermes de s'exécuter nativement dans l'éditeur—le chat, l'activité des outils, les diffs de fichiers et les commandes de terminal sont tous rendus directement dans l'éditeur.
Éditeurs pris en charge : VS Code, Zed et toute la série JetBrains.
L'installation standard inclut déjà la prise en charge d'ACP :
Exemple
hermes acp
Si les dépendances complètes n'ont pas été incluses lors de l'installation :
Exemple
cd ~/.hermes/hermes-agent
uv pip install -e ".[acp]"
| Éditeur | Méthode d'intégration | Fonctionnalités |
|---|---|---|
| VS Code | Plugin d'extension | Complétion de code en ligne, revue de code, suggestions de refactorisation |
| Zed | Mode d'agent natif | Communication stdio/JSON-RPC, sensible au contexte |
| JetBrains | Plugin | Génération de code, génération de tests, commentaires de documentation |
L'intégration de l'éditeur communique avec Hermes Agent en utilisant le protocole stdio/JSON-RPC, ne dépend pas d'une connexion réseau et convient à une utilisation hors ligne.
Mode vocal
Le mode vocal prend en charge une interaction vocale complète sur l'interface CLI et les plateformes de messagerie :
- Entrée d'enregistrement du microphone (reconnaissance vocale locale faster-whisper, gratuite)
- Réponses vocales TTS (10 options de fournisseur disponibles)
- Conversation en temps réel dans les canaux vocaux Discord
Installer et activer
Exemple
cd ~/.hermes/hermes-agent
uv pip install -e ".[voice]"
Exemple
/voice on
# Appuyez sur Ctrl+B pour démarrer l'enregistrement, relâchez pour envoyer
# Dans la plateforme de messagerie
/voice on # Activer les réponses TTS
/voice tts # Activer uniquement la synthèse vocale (sans entrée vocale)
/voice off # Désactivé
Fournisseurs TTS
| fournisseur | Fonctionnalités | Gratuit ou non |
|---|---|---|
| Edge TTS | Voix neuronales Microsoft, multilingues | Gratuit |
| Piper | Entièrement local, faible latence | Gratuit |
| OpenAI TTS | Haute qualité, voix multiples | Paiement à l'usage |
| ElevenLabs | Qualité audio haut de gamme, clonage vocal | Paiement à l'usage |
| MiniMax | Optimisation pour le chinois | Paiement à l'usage |
| Mistral Voxtral | multilingue | Paiement à l'usage |
Passerelle d'outils (abonnement Nous Portal)
Abonnez-vous via Nous Portal pour obtenir des implémentations cloud de quatre types d'outils en un clic, sans avoir à demander des clés API séparément :
| Outils | Description |
|---|---|
| Recherche Web | Recherche + extraction de contenu (ensemble d'outils web) |
| Génération d'images | 9 modèles : FLUX, GPT-Image, Ideogram, etc. |
| TTS | Synthèse vocale |
| Navigateur cloud | Automatisation complète du navigateur (aucun Playwright local nécessaire) |
Exemple
hermes setup --portal
Sécurité des outils : isolement des variables d'environnement MCP
Le sous-processus stdio MCP reçoit unEnvironnement filtréEmpêchant toute fuite accidentelle d'informations d'identification.
Par défaut, seules les variables suivantes sont transmises au processus MCP :
PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR(以及所有 XDG_* 变量)
Toutes les autres variables d'environnement (clé API, jeton, mot de passe) sont bloquées.
Seules les variables explicitement déclarées dans le bloc env: de la configuration du serveur MCP seront transmises :
Exemple
# Seules les variables explicitement déclarées sont transmises au sous-processus MCP.
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..." # Seule celle-ci est transmise
De plus, les messages d'erreur des outils MCP sont automatiquement nettoyés avant d'être renvoyés au LLM, les informations sensibles étant remplacées par[REDACTED]。
Référence rapide des commandes courantes
Exemple
hermes tools # Gestion interactive des ensembles d'outils (TUI)
hermes tools list # Lister tous les outils et leur état
hermes tools enable NAME # Activer l’ensemble d’outils
hermes tools disable NAME # Désactiver l’ensemble d’outils
# ─── Gestion MCP ────────────────────────────────────────────────
hermes mcp # Sélecteur interactif de répertoire MCP
hermes mcp catalog # Liste du répertoire en texte brut
hermes mcp install <name> # Installer les entrées du répertoire
hermes mcp add NAME --command CMD # Ajouter manuellement un serveur MCP
hermes mcp remove NAME # Supprimer le serveur MCP
hermes mcp list # Lister les serveurs configurés
hermes mcp test NAME # Tester la connexion
hermes mcp login <server> # Terminer l’autorisation OAuth
hermes mcp configure <server> # Reconfigurer la sélection des outils
hermes mcp reload # Recharger la configuration MCP
# ─── Backend du terminal ────────────────────────────────────────────────
hermes config set terminal.backend docker
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@host
# ─── ACP EditorSetCheng ──────────────────────────────────────────
hermes acp
# ─── Abonnement au portail ─────────────────────────────────────────────
hermes setup --portal