Vous avez installé votre agent. Il tourne, il répond, il mémorise. Passons aux choses sérieuses.
Ce lab couvre quatre capacités avancées qui transforment un assistant en véritable infrastructure autonome.
MCP : connecter l'agent au monde extérieur
MCP (Model Context Protocol) permet à Hermes Agent d'utiliser des outils qui vivent en dehors de lui. GitHub, bases de données, systèmes de fichiers, APIs internes, navigateurs headless : tout ce qui expose un serveur MCP devient un outil pour votre agent.
Ce que MCP apporte
- Accès à des écosystèmes d'outils sans écrire un outil Hermes natif
- Serveurs stdio locaux et serveurs HTTP distants dans la même configuration
- Découverte automatique des outils au démarrage
- Filtrage par serveur : vous exposez uniquement les outils que vous voulez
Exemple : connecter un serveur filesystem
Dans ~/.hermes/config.yaml :
mcp_servers:
filesystem:
command: npx
args: [-y, @modelcontextprotocol/server-filesystem, /home/user/projects]
Lancez hermes chat. L'agent découvre automatiquement les outils du serveur. Demandez-lui :
Liste les fichiers dans /home/user/projects et résume la structure du repo.
Il utilise les outils MCP comme n'importe quel autre outil.
Le catalogue MCP
Hermes embarque un catalogue de serveurs MCP validés par Nous Research. Ils sont désactivés par défaut, installez seulement ce dont vous avez besoin :
hermes mcp list
hermes mcp add mon-serveur --url https://exemple.test/mcp
hermes mcp test mon-serveur
hermes mcp configure mon-serveur
La CLI permet d'ajouter un serveur stdio ou HTTP, de tester la connexion et de limiter les outils exposés. Consultez hermes mcp --help et la documentation officielle avant d'adapter un exemple à votre environnement.
Cron : automatiser sans surveillance
La brique cron de Hermes permet de planifier des tâches en langage naturel. L'agent les exécute dans des sessions fraîches, avec ou sans LLM, et livre le résultat où vous voulez.
Ce que cron peut faire
- Tâches ponctuelles ou récurrentes
- Pause, reprise, édition, déclenchement manuel
- Une ou plusieurs skills attachées à un job
- Livraison sur Telegram, Discord, email, ou stockage local
- Mode sans agent : un script planifié, stdout livré tel quel, zéro appel LLM
Exemple : un briefing matinal
Dans le chat :
/cron add every day at 9am Cherche les actualités IA sur Hacker News et envoie-moi un résumé sur Telegram
Ou en CLI :
hermes cron create "0 9 * * *"
hermes cron list --all
hermes cron status
L'assistant de création demande le prompt, la livraison et les options du job. Pour éviter une commande devenue obsolète, vérifiez la syntaxe exacte avec hermes cron create --help sur la version installée.
Mode no-agent
Pour les tâches purement scriptées (surveillance disque, heartbeat, alerte seuil) :
# cronjob avec no_agent=true
# Le script tourne, stdout est livré, zéro token consommé
Utile pour les watchdogs : le script reste silencieux quand tout va bien, parle seulement quand il y a un problème.
Piège à éviter
Un job sans modèle explicitement épinglé suit le modèle par défaut. Si vous changez de défaut, le job refuse de tourner et vous alerte. Épinglez toujours le modèle sur les jobs de production :
cronjob action=update job_id=... provider=openrouter model=anthropic/claude-sonnet-4
Voice mode : parler à son agent
Hermes Agent supporte l'interaction vocale complète sur CLI, Telegram et Discord.
Ce qui est possible
| Fonctionnalité | Plateforme | Description |
|---|---|---|
| Voice interactif | CLI | Ctrl+B pour enregistrer, l'agent détecte le silence et répond |
| Réponse vocale auto | Telegram, Discord | L'agent envoie de l'audio avec ses réponses texte |
| Canaux vocaux | Discord | L'agent rejoint un canal vocal, écoute et parle |
Prérequis
# CLI voice mode
cd ~/.hermes/hermes-agent && uv pip install -e .[voice]
# Discord + Telegram
cd ~/.hermes/hermes-agent && uv pip install -e .[messaging]
# Dépendances système (Ubuntu/Debian)
sudo apt install portaudio19-dev ffmpeg libopus0
Pour le speech-to-text, faster-whisper tourne en local, gratuit, sans clé API. Pour le TTS, OpenAI TTS via Nous Portal ou ElevenLabs en premium.
Délégation multi-agent
Quand une tâche ne suffit plus, delegate_task lance des sous-agents isolés avec leur propre contexte, leurs propres outils, et leur propre session terminal.
Single task
delegate_task(
goal="Débogue pourquoi les tests échouent",
context="Erreur: assertion dans test_foo.py ligne 42. Projet dans /home/user/monprojet.",
toolsets=["terminal", "file"]
)
Batch parallèle (jusqu'à 3 sous-agents simultanés)
delegate_task(tasks=[
{"goal": "Recherche l'état de WebAssembly en 2025", "toolsets": ["web"]},
{"goal": "Recherche l'adoption de RISC-V en 2025", "toolsets": ["web"]},
{"goal": "Corrige le build cassé", "toolsets": ["terminal", "file"]}
])
Règle critique
Les sous-agents démarrent avec un contexte vierge. Ils ne savent rien de votre conversation. Tout ce dont ils ont besoin doit être dans le goal et le context que vous leur passez. Un sous-agent mal contexté, c'est un sous-agent qui tourne dans le vide.
FAQ
MCP est-il stable ?
Le protocole MCP est supporté nativement. La stabilité dépend surtout du serveur MCP que vous connectez. Les serveurs du catalogue Nous Research sont validés.
Combien coûte un cron job ?
Tout dépend du modèle utilisé et de la fréquence. Un job quotidien avec un modèle léger coûte quelques centimes par mois. Un job toutes les heures avec un gros modèle, c'est un autre budget. Le mode no-agent ne coûte rien en tokens.
Peut-on chaîner des cron jobs ?
Oui, avec context_from : un job B peut consommer la sortie du job A. Utile pour les pipelines : collecte → traitement → livraison.
Le voice mode fonctionne-t-il en français ?
Oui. Faster-whisper supporte le français. La qualité dépend du modèle choisi et de la clarté de l'audio.
Quelle est la limite de la délégation ?
3 sous-agents simultanés par défaut (configurable). Les sous-agents ne peuvent pas déléguer à leur tour (profondeur 1). Ils n'ont pas accès à la mémoire de la session parente.
Sources : Documentation MCP, Documentation Cron, Documentation Voice Mode, Documentation Délégation.
Dernière mise à jour : juillet 2026.