Hermes Agent : mise en pratique — assistant IA multi-plateforme Telegram / Feishu / WeCom

April 1, 2026

Difficulté : modérée · Durée : env. 20 minutes · Résultat : maîtriser les configurations clés pour l’intégration d’Hermes sur toutes les plateformes

Et si vous pouviez imaginer ceci : le même assistant IA, déployé une seule fois, capable de tourner simultanément sur Telegram, Feishu et WeCom ? Avec Hermes Agent, c’est possible.

C’est un agent IA open source et auto-évolutif de Nous Research. L’une de ses forces majeures : une passerelle de messages intégrée pour toutes les plateformes. Il vous suffit de lancer un seul processus sur votre serveur pour connecter en même temps Telegram, Discord, Slack, Feishu, WeCom, Signal, WhatsApp et bien d’autres (10+ plateformes). Les messages sont routés automatiquement, la mémoire est partagée entre plateformes : une seule configuration, et cela reste valide en permanence.

Dans cet article, nous allons connecter entièrement les trois plateformes les plus couramment utilisées : Telegram, Feishu ( Lark ) et WeCom.


Public cible

Cet article s’adresse aux développeurs suivants :

  • Vous avez déjà des bases en Linux / ligne de commande et souhaitez héberger votre propre agent IA sur un serveur
  • Vous êtes un développeur indépendant ou une petite équipe, avec un besoin d’intégration de messages multi-plateforme
  • Vous évaluez Hermes Agent comme alternative à OpenClaw

TIP

Si vous n’avez pas encore de clé d’API pour le LLM, il est recommandé de la récupérer sur Defapi. Chez Defapi, Claude Opus 4.6 coûte 2,5 $ en entrée et 12,5 $ en sortie par million de tokens, soit la moitié du prix officiel : excellent rapport qualité/prix. Pour connaître les protocoles d’API pris en charge, voir la documentation Defapi Claude.


Dépendances clés et environnement

DépendanceDescription
Python3.11+ (le script d’installation gère automatiquement le setup)
Système d’exploitationLinux (Ubuntu 22.04+), macOS ou WSL2
Comptes des plateformes de messagerieTelegram Bot Token / application entreprise Feishu auto-construite / WeCom
LLM API KeyRecommandé : Defapi (Claude Opus 4.6 à moitié prix)
DockerOptionnel : le déploiement en conteneur est officiellement pris en charge à partir de v0.6.0

WARNING

Windows natif n’est pas pris en charge : installez WSL2, puis exécutez les commandes dans le terminal WSL2.


Structure complète du projet

hermes-agent/
├── scripts/
│   └── install.sh              # Script d’installation en une fois
└── ~/.hermes/                   # Dossier principal de configuration (généré automatiquement après l’installation)
    ├── config.yaml              # Configuration centrale (modèle, ensemble d’outils)
    ├── .env                     # API Keys (ne pas valider dans Git !)
    ├── skills/                  # Dossier des compétences
    ├── memory/                  # Mémoire persistante
    ├── sessions/                # Historique des sessions (recherche plein texte FTS5)
    └── gateway/                 # Configuration de la passerelle (YAML séparés par plateforme)
        ├── telegram.yaml
        ├── feishu.yaml
        └── wecom.yaml

Étapes pas à pas

Étape 1 : installation instantanée de Hermes Agent

Sous Linux / macOS / WSL2, exécutez le script d’installation officiel :

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Le script gère automatiquement Python, Node.js et toutes les dépendances. Aucune intervention manuelle tout au long du processus. Une fois l’installation terminée, rechargez le shell :

source ~/.bashrc    # pour les utilisateurs bash
source ~/.zshrc     # pour les utilisateurs zsh

Vérifiez que l’installation est réussie :

hermes doctor

TIP

hermes doctor diagnostique automatiquement les problèmes d’environnement : version de Python, API Key, connectivité réseau, dépendances d’outils, etc. Pour une première exécution, il est vivement recommandé de lancer la commande au moins une fois.

Étape 2 : configurer le fournisseur LLM — connexion à Defapi

Ensuite, il faut indiquer à Hermes où récupérer le modèle de langage. Renseignez la clé API dans le fichier .env :

hermes config set ANTHROPIC_API_KEY <votre-cle-defapi>

Defapi est compatible avec l’interface Anthropic v1/messages : Hermes peut s’y connecter directement. Vous pouvez aussi choisir le modèle et le Provider de façon interactive via la commande hermes model :

hermes model
# Sélection interactive :
# 1. Nous Portal
# 2. OpenRouter (200+ modèles)
# 3. OpenAI
# 4. Defapi / endpoint personnalisé
# 5. Autres...

Si vous utilisez Defapi, sélectionnez « endpoint personnalisé » (Custom) dans le menu interactif, puis saisissez :

API Endpoint: https://api.defapi.org
Model: anthropic/claude-opus-4.6

WARNING

Le fichier .env contient votre API Key. Ne la validez absolument pas dans un dépôt Git. Si vous déployez via Docker, utilisez plutôt des variables d’environnement ou Docker Secrets : ne l’écrivez pas directement dans le Dockerfile.

Étape 3 : connecter la première plateforme — Telegram Bot

C’est la plateforme la plus simple pour valider : l’API Bot de Telegram est publique, sans authentification entreprise.

3.1 Créer un Bot

Dans Telegram, cherchez @BotFather, envoyez /newbot, puis suivez les indications pour nommer le Bot et récupérer BOT_TOKEN, au format par exemple 123456789:ABCdefGHIjklMNOpqrsTUVwxyz.

3.2 Configurer la passerelle Hermes

hermes gateway setup
# Choisir telegram pour entrer dans la configuration interactive

Ou créer manuellement ~/.hermes/gateway/telegram.yaml :

platform: telegram
enabled: true
bot_token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"

# Contrôle d’accès : n’autoriser que certains utilisateurs
allowed_users:
  - your_telegram_username

# Paramètres de sécurité
require_approval_for_dangerous_tools: true

3.3 Vérifier

Après avoir démarré la passerelle, envoyez un message au Bot :

hermes gateway start
# ou en tâche de fond :
hermes gateway start --daemon

Dans Telegram, envoyez /new au Bot : il devrait répondre avec un message de bienvenue. Envoyez aussi un message en chinois, par exemple « bonjour », et vérifiez si l’IA répond.

TIP

Si le Bot ne répond pas, vérifiez : hermes gateway status pour le statut d’exécution, et hermes logs pour les derniers logs. Les causes les plus fréquentes : Token Bot mal renseigné ou port déjà utilisé.

Étape 4 : connecter Feishu (application d’entreprise Lark)

L’intégration Feishu est un peu plus complexe : elle nécessite de créer une application auto-construite dans la plateforme ouverte Feishu.

4.1 Créer une application sur la plateforme ouverte Feishu

  1. Ouvrez la plateforme ouverte Feishu et créez une application d’entreprise auto-construite
  2. Dans « Credentials et informations de base », récupérez App ID et App Secret
  3. Activez la capacité « Robot »

4.2 Configurer l’abonnement aux événements

Dans « Abonnement d’événements » de l’application :

  • URL de demande (Request URL) : https://votre-domaine/gateway/feishu/webhook
  • Événement à choisir : im.message.receive_v1 (réception des messages)

WARNING

Feishu exige que l’URL de rappel soit accessible publiquement en HTTPS. Si votre serveur n’a pas de domaine public, vous pouvez utiliser ngrok pour une ouverture temporaire du réseau interne : ngrok http 8080. L’URL HTTPS générée doit être saisie dans Feishu.

4.3 Installer l’application dans l’entreprise

Dans « Gestion des versions et publication », créez une version et publiez-la, sinon le Bot ne pourra pas recevoir les messages.

4.4 Configurer la passerelle Hermes

hermes gateway setup
# Choisir feishu, puis renseigner App ID et App Secret dans l’interface interactive

Éditer manuellement ~/.hermes/gateway/feishu.yaml :

platform: feishu
enabled: true
app_id: "cli_xxxxxxxxxxxxxx"
app_secret: "xxxxxxxxxxxxxxxxxxxx"
verification_token: "votre_verification_token"

# Chiffrement des messages (optionnel mais recommandé)
encrypt_key: "votre_encrypt_key"

# Groupes et utilisateurs autorisés
allowed_chats: []
require_mention: false

4.5 Vérifier

Dans Feishu, envoyez au Bot le message /new et vérifiez la réponse. Le format des messages de Feishu est différent de Telegram : le Bot peut envoyer des cartes de messages en texte enrichi, et Hermes s’adapte automatiquement.

Étape 5 : connecter WeCom (WeChat Work)

La manière de connecter WeCom est similaire à Feishu : elle utilise aussi le mode callback via Webhook.

5.1 Créer une application depuis le back-office de WeCom

  1. Connectez-vous à le back-office de WeChat Work
  2. Allez dans « Gestion des applications » → « Créer une application » → choisissez « Entreprise auto-construite »
  3. Récupérez AgentId, Secret et le CorpId de l’entreprise
  4. Définissez « IP de l’entreprise approuvée (Trusted IP) » sur l’IP de votre serveur

5.2 Configurer la réception des messages

Dans les réglages de l’application, activez le mode « Recevoir des messages » :

  • Renseignez URL : https://votre-domaine/gateway/wecom/webhook
  • Choisissez « Mode compatibilité » ou « Mode événements »

5.3 Configurer la passerelle Hermes

# ~/.hermes/gateway/wecom.yaml
platform: wecom
enabled: true
corp_id: "wwxxxxxxxxxxxxxx"
agent_id: "1000001"
corp_secret: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
encrypt_mode: "safe"    # Le mode sécurisé nécessite la configuration de encoding_aes_key
encoding_aes_key: "votre_cle_aes_de_32_caracteres"

5.4 Vérifier

Dans WeCom, trouvez votre application et envoyez un message de test.

TIP

WeCom est très strict sur la liste blanche d’IP. Si vous déployez sur une machine cloud (par ex. DigitalOcean, Hetzner), assurez-vous d’ajouter l’IP publique du serveur dans la liste des IP de confiance sur le panneau d’administration. Sinon, WeCom refusera directement les messages.

Étape 6 : démarrer la passerelle — une fois pour trois plateformes

Une fois toutes les configurations terminées, démarrez la passerelle avec une seule commande :

hermes gateway start

Hermes charge automatiquement toutes les configurations des plateformes activées dans ~/.hermes/gateway/ et lance en parallèle tous les adaptateurs. Si une plateforme échoue au démarrage (par exemple Token incorrect), cela n’affectera pas le fonctionnement des autres plateformes.

Utilisez hermes gateway status pour voir l’état d’exécution de chaque plateforme :

Plateforme  Statut   Utilisateurs   Messages
telegram  ● en ligne   3         142
feishu    ● en ligne   7          89
wecom     ● en ligne   2          15

Arrêtez la passerelle avec Ctrl+C, ou lancez-la en arrière-plan avec --daemon :

hermes gateway start --daemon

Étape 7 : valider la messagerie multi-plateforme

Vous pouvez maintenant envoyer des messages au Bot depuis les trois plateformes afin de tester :

# Telegram
/new
Bonjour, présente-toi

# Feishu
/new
Qui es-tu ?

# WeCom
/new
Comment puis-je t’aider ?

Les trois côtés renvoient exactement la même réponse, et la mémoire est partagée : ce que vous dites sur Telegram, Feishu et WeCom le savent aussi. C’est là la valeur la plus fondamentale de Hermes : une seule configuration, une expérience unifiée sur toutes les plateformes.

TIP

Si vous voulez faire tourner chaque plateforme avec des instances d’agent différentes (modèles différents, ensembles de compétences différents), vous pouvez utiliser la fonctionnalité Profiles ajoutée dans Hermes v0.6.0 : hermes -p telegram profile create, puis configurer modèle et plateforme différemment dans chaque profile. Les profiles sont totalement isolés : aucun impact entre eux.


Résolution des problèmes fréquents

1. Le Bot Telegram ne reçoit pas de messages

Symptôme : le Bot ne répond jamais, et les logs ne montrent aucun enregistrement.

Étapes de vérification :

# 1. Confirmer que le Token est correct
hermes config get telegram.bot_token

# 2. Vérifier que le port n’est pas déjà utilisé
ss -tlnp | grep 8080

# 3. Si vous utilisez le mode webhook, vérifier la configuration de l’API Telegram Bot
# L’URL de webhook doit être accessible publiquement ; pour le développement local, utilisez ngrok pour percer
ngrok http 8080

# 4. Réinitialiser le webhook (parfois le Bot reste bloqué sur l’ancien webhook)
curl -X POST "https://api.telegram.org/bot<YOUR_TOKEN>/deleteWebhook"

2. Échec de la validation du callback Feishu

Symptôme : la plateforme ouverte Feishu affiche « validation d’URL de callback échouée ».

Étapes de vérification :

# 1. Confirmer que l’URL publique est accessible
curl -X GET "https://your-domain.com/gateway/feishu/webhook"

# 2. Vérifier la validation de la signature Feishu
# Feishu chiffre les messages via AES : encrypt_key doit correspondre à la configuration du back-office
# Consulter les logs Hermes :
hermes logs --platform feishu

WARNING

Le mode de chiffrement de Feishu (encrypt_mode) doit correspondre à la configuration du back-office. Si vous avez choisi « mode sécurisé » côté back-office, alors côté Hermes vous devez aussi renseigner encrypt_mode: safe et la encoding_aes_key correspondante.

3. Le Bot WeCom ne répond pas

Symptôme : le message est envoyé, mais aucune réponse n’est reçue, et aucun log ne montre d’enregistrement.

Étapes de vérification :

# 1. Confirmer que CorpId / AgentId / Secret sont corrects
# 2. Le plus important : vérifier la liste blanche d’IP
# WeCom exige que l’IP du serveur qui appelle l’API soit dans la liste d’IP de confiance

# 3. Tester l’obtention de AccessToken
curl "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=wwxxx&corpsecret=secret"

# Si vous recevez "errmsg": "ip not in whitelist", alors l’IP n’a pas été autorisée

4. Le modèle ne répond pas

Symptôme : le message est bien reçu par le Bot, mais l’IA ne répond pas et reste affiché « thinking ».

Étapes de vérification :

# 1. Tester si la clé API fonctionne
curl -X POST "https://api.defapi.org/api/v1/messages" \
  -H "Authorization: Bearer <votre-clé>" \
  -H "Content-Type: application/json" \
  -d '{"model":"anthropic/claude-opus-4.6","messages":[{"role":"user","content":"salut"}],"max_tokens":10}'

# 2. Vérifier la configuration du modèle
hermes config get model

# 3. Vérifier fallback_providers (recommandé)
# Dans ~/.hermes/config.yaml, ajoutez un Provider de secours :
fallback_providers:
  - provider: openrouter
    api_key: "${OPENROUTER_API_KEY}"

TIP

Il est recommandé de configurer au moins un Provider de secours en plus de Defapi. Hermes v0.6.0 prend en charge l’appel en chaîne via fallback_providers : si le Provider principal expire ou renvoie une erreur, il bascule automatiquement sur le Provider de secours, afin d’éviter que l’agent ne se déconnecte.

5. Erreur lors de l’exécution des outils

Symptôme : la réponse du Bot indique qu’il ne peut pas exécuter une action.

Étapes de vérification :

# 1. Voir l’ensemble d’outils actuellement activé
hermes tools

# 2. Activer l’ensemble d’outils requis
hermes tools enable web_search
hermes tools enable terminal

# 3. Les commandes dangereuses nécessitent une confirmation humaine
# Vérifier la configuration :
hermes config get approval_required
# Si c’est à true, toutes les commandes dangereuses demanderont votre validation manuelle

6. Conflits de concurrence multi-plateformes

Symptôme : après qu’une plateforme reçoive un message, les autres plateformes ne répondent plus.

Étapes de vérification :

Le mécanisme de token-lock d’Hermes v0.6.0 peut empêcher deux instances de plateforme d’utiliser en même temps le même Bot Token. Toutefois, si vous exécutez plusieurs instances du même Bot sur plusieurs machines, ce problème peut apparaître.

# Vérifier qu’une seule instance de Hermes est en cours d’exécution
ps aux | grep hermes
pkill -f hermes-agent

# Puis redémarrer
hermes gateway start

TIP

Avec Profiles, chaque plateforme peut faire tourner des instances Hermes totalement indépendantes : chaque profile possède son propre répertoire de configuration, sa mémoire et ses sessions. Les profiles sont complètement isolés entre eux : idéal pour qu’une équipe utilise son propre Bot.


Lectures complémentaires / pistes avancées

Migration depuis OpenClaw

Si vous utilisez déjà OpenClaw, Hermes fournit un outil de migration officiel : il peut importer automatiquement SOUL.md, MEMORY.md, Skills, API Keys et la configuration des plateformes de messages.

hermes claw migrate              # Migration complète interactive
hermes claw migrate --dry-run    # Aperçu d’abord
hermes claw migrate --preset user-data  # Ne pas migrer les informations sensibles

Mode MCP Server

Hermes v0.6.0 ajoute la capacité MCP Server : vous pouvez exposer les outils de Hermes au monde extérieur avec une seule commande.

hermes mcp serve
# Prend en charge deux protocoles de transport : stdio et Streamable HTTP

Une fois connecté, des IDE comme Cursor, VS Code ou Zed peuvent appeler tous les outils Hermes et ses capacités de conversation via le protocole MCP.

Système de compétences personnalisées

Le système Skills de Hermes permet de créer automatiquement des compétences à partir de descriptions en langage naturel. Il est aussi possible d’écrire manuellement :

# Voir les compétences existantes
hermes skills

# Parcourir le Skills Hub (marché communautaire)
/skills

# Installer des compétences communautaires depuis agentskills.io

Tâches planifiées (Cron)

Définissez des tâches en langage naturel : Hermes exécute automatiquement et pousse les résultats vers n’importe quelle plateforme.

# Tous les jours à 8h, envoyer un bulletin météo sur Telegram
/cron "Every day at 8am, summarize today's weather and send to me" --platform telegram

Conclusion

La conception de la passerelle multi-plateformes de Hermes Agent est particulièrement élégante : il vous suffit de maintenir une seule configuration pour faire tourner la même instance d’agent sur n’importe quelle plateforme de messagerie. La mémoire est partagée entre plateformes, la configuration est une fois pour toutes, et l’utilisation des ressources est nettement inférieure à celle de plusieurs Bots indépendants.

Si vous utilisez encore OpenClaw, ou si vous cherchez un véritable agent IA open source qui « fait le job », Hermes vaut vraiment la peine d’être testé pendant 20 minutes. En l’associant à Defapi et à Claude Opus 4.6 à moitié prix, votre coût mensuel peut être réduit à 50 % de l’original — tout en conservant une expérience sans compromis.

Updated April 1, 2026