📑 Table des matières

10 - Gateway multi-plateforme : Discord, Slack, WhatsApp et plus

Hermes Agent 🔴 Avancé ⏱️ 12 min de lecture 📅 2026-05-05

Gateway multi-plateforme : Discord, Slack, WhatsApp et plus

Un agent IA, toutes vos plateformes de messagerie. C'est la promesse de la gateway Hermes Agent : un seul processus backend qui connecte Telegram, Discord, Slack, WhatsApp, Signal, Email, Home Assistant et Microsoft Teams — avec un seul agent, une seule mémoire, une seule identité.

Dans ce guide avancé, nous explorons l'architecture de la gateway, la configuration de chaque plateforme, le formatage multi-plateforme, la gestion des médias, les profils par canal, et les bonnes pratiques pour déployer un agent accessible partout.

Qu'est-ce que la gateway Hermes Agent ?

La gateway est un processus unique en arrière-plan qui connecte Hermes à vos plateformes de messagerie. Elle gère les sessions, exécute les tâches programmées (cron), transcrit les messages vocaux et distribue les réponses — le tout depuis un seul point central.

🏗️ Architecture hub-and-spoke : le GatewayRunner orchestre les adaptateurs de plateforme, route les messages vers l'agent, et persiste l'état des sessions. Chaque plateforme dispose d'un adaptateur dédié implémentant BasePlatformAdapter.

Concrètement, cela signifie que vous pouvez :
- Démarrer une conversation sur Telegram depuis votre smartphone
- La poursuivre sur Slack depuis votre bureau
- Recevoir une réponse vocale sur Discord — avec le contexte préservé

Pour comprendre comment l'agent maintient ce contexte entre les plateformes, consultez notre guide sur les sessions et contexte de conversation.

Plateformes supportées

Hermes Agent intègre nativement une quinzaine de plateformes, dont les principales :

  • Telegram — webhook ou polling, messages vocaux, groupes à sujets
  • Discord — bot serveur, canaux, messages privés
  • Slack — workspace, canaux, threads, app de type bot
  • WhatsApp — via WhatsApp Business API (Cloud API ou Baileys)
  • Signal — messages chiffrés de bout en bout
  • Email — réception et envoi via SMTP/IMAP
  • Home Assistant — notifications et commandes domotique
  • Microsoft Teams — via plugin (adaptateur étendu)
  • Matrix, Mattermost, IRC — communautés et auto-hébergement
  • DingTalk, Feishu, WeChat — écosystème chinois (certains via plugins)

Chaque adaptateur implémente les mêmes interfaces : réception de messages, envoi de réponses, gestion des médias, commandes slash — avec des optimisations spécifiques à la plateforme.

hermes gateway setup : configuration interactive

Tout commence par l'assistant de configuration :

hermes gateway setup

Cette commande lance un wizard interactif qui vous guide pas à pas :

  1. Choix des plateformes — sélectionnez les plateformes à activer
  2. Configuration des tokens — entrez les clés API/bot pour chaque plateforme
  3. Liste d'autorisation (allowlist) — définissez qui peut interagir avec l'agent
  4. Canaux par défaut — configurez les canaux d'accueil et de logs
  5. Paramètres avancés — retry, timeout, session reset policy

💡 Astuce : pour reconfigurer une seule plateforme sans relancer tout le wizard, utilisez hermes setup gateway qui propose une configuration incrémentale.

Les tokens et secrets sont stockés dans le fichier .env (jamais dans le config YAML), ce qui garantit la séparation entre configuration fonctionnelle et secrets sensibles.

Pour maîtriser toutes les commandes disponibles, consultez notre article pour maîtriser le CLI d'Hermes Agent.

hermes gateway status : diagnostic en temps réel

Une fois la gateway configurée, le diagnostic est essentiel :

hermes gateway status

Cette commande affiche l'état de chaque plateforme connectée :
- ✅ Connected — l'adaptateur fonctionne
- ⚠️ Degraded — fonctionne avec des limitations
- ❌ Disconnected — impossible de joindre la plateforme
- 🔄 Reconnecting — tentative de reconnexion en cours

Pour un diagnostic complet incluant le fournisseur IA, les tâches cron et la santé globale :

hermes status

Configuration par plateforme

Fichier de configuration

La configuration de la gateway se trouve dans ~/.hermes/config.yaml sous la clé gateway:. Ce fichier YAML est structuré autour de trois niveaux : la clé racine gateway, qui contient platforms (les activateurs et tokens de chaque service), allowed_users (les listes d'autorisation), et platform_profiles (les comportements spécifiques). Chaque plateforme dispose de sa propre sous-clé — telegram, discord, slack, whatsapp, signal, email — avec des paramètres adaptés : le token d'authentification, les canaux d'accueil (home_channel), les guildes autorisées (allowed_guilds), ou encore les hôtes SMTP/IMAP pour l'email. Les valeurs sensibles (tokens, mots de passe) ne sont jamais écrites en clair : elles sont référencées via des variables d'environnement comme ${TELEGRAM_BOT_TOKEN}.

Pour aller plus loin dans l'organisation de votre configuration, découvrez les fichiers de contexte : CLAUDE.md, AGENTS.md et au-delà.

Allowlists : qui peut parler à votre agent ?

La sécurité repose sur des listes d'autorisation par plateforme :

  • Telegram : allowlist par user_id ou chat_id
  • Discord : allowlist par serveur (guild_id) et/ou rôle
  • Slack : allowlist par workspace et canal
  • WhatsApp : allowlist par numéro de téléphone
  • Signal : allowlist par numéro de téléphone
  • Email : whitelist par domaine ou adresse

Chaque plateforme dispose de ses propres options de sécurisation. Pour Telegram et Signal, la restriction se fait par identifiant numérique (user_id ou numéro de téléphone). Discord combine le filtrage par guild (serveur) avec un filtrage par rôle, permettant un contrôle granulaire — par exemple, n'autoriser que les membres ayant le rôle "admin" ou "hermes-user". Slack restreint l'accès canal par canal via leurs identifiants (comme C01ABCDEF). Pour l'email, le système accepte des patterns glob comme *@monentreprise.com pour autoriser tout un domaine, ou des adresses individuelles. Cette structure permet de définir des périmètres d'accès précis sans compromettre la flexibilité multi-plateforme.

🔒 Sécurité : sans allowlist configurée, l'agent pourrait répondre à n'importe qui. Configurez toujours une allowlist en production.

Formatage multi-plateforme : adaptation automatique

Chaque plateforme a ses propres règles de formatage. Hermes gère cela automatiquement :

  • Markdown → adapté selon la plateforme (Telegram prend un sous-ensemble, Discord son propre markdown, Slack le sien)
  • Mentions@user traduit en format natif de chaque plateforme
  • Code blocks → syntax highlighting adaptée (certains clients ne supportent pas les blocs de code colorés)
  • Liens → previews gérées selon les capacités du client
  • Longs messages → chunking automatique pour respecter les limites de chaque plateforme

Par exemple, une réponse avec du code Markdown sera rendue différemment :
- Telegram : <pre><code class="language-python"> en HTML
- Discord : `python` avec syntax highlighting Discord - **Slack** : `python ` en mode Markdown
- WhatsApp : texte brut avec indentation (pas de markdown natif)

Gestion des médias et fichiers entre plateformes

Hermes utilise le système MEDIA: pour les fichiers :

  • Images : envoyées/reçues sur toutes les plateformes qui supportent les médias
  • Documents : PDF, fichiers texte — transférés entre plateformes
  • Messages vocaux : transcription automatique via Whisper (local, Groq ou OpenAI)
  • Fichiers générés : scripts, rapports — livrés comme pièces jointes

Les images sont validées avant cache (cross-platform), et les téléchargements sont limités en taille pour éviter les abus.

Profils par plateforme : outils différents selon le canal

Une fonctionnalité puissante : configurer des outils et comportements différents selon la plateforme. Hermes propose plusieurs profils prédéfinis, chacun associant un toolset (ensemble d'outils) et une personality (ton et style de réponse). Le profil work-productivity active les outils de recherche documentaire et de productivité avec un ton professionnel. Le profil personal-assistant privilégie les outils domotiques, les rappels et les résumés quotidiens, avec un ton amical. Le profil community-bot se concentre sur la modération, la FAQ et l'intégration serveur, avec un ton utilitaire. Vous pouvez assigner ces profils à chaque plateforme indépendamment — par exemple, Slack en mode travail, Telegram en mode personnel, Discord en mode communauté.

Pour approfondir la gestion des profils, consultez notre guide sur les profils et configurations multiples.

Webhook vs Polling

Hermes supporte les deux modes de connexion :

Webhook (recommandé quand possible) :
- La plateforme pousse les messages vers votre serveur
- Temps de latence minimal
- Nécessite un serveur accessible publiquement (HTTPS)
- Utilisé par Telegram, Discord, Slack, Teams

Polling (fallback ou quand webhook n'est pas possible) :
- Hermes interroge régulièrement la plateforme
- Légère latence (quelques secondes)
- Fonctionne derrière NAT/firewall
- Utilisé par WhatsApp, Signal, Email

💡 VPS recommandé : pour les webhooks, un VPS avec IP publique est idéal. Hostinger propose des VPS à partir de quelques euros par mois, parfaits pour héberger la gateway Hermes 24/7.

Le déploiement de la gateway en tant que service système se déroule en quatre étapes : d'abord, la commande hermes gateway setup permet de configurer interactivement les plateformes et les tokens. Ensuite, hermes gateway status vérifie que la configuration est valide et que les connexions sont actives. La commande hermes gateway install enregistre alors la gateway en tant que service systemd, garantissant un démarrage automatique au boot et un redémarrage en cas de crash. Enfin, hermes gateway start lance le service — ou hermes gateway stop pour l'arrêter proprement.

Logs et monitoring de la gateway

Logs structurés

La gateway génère des logs détaillés dans ~/.hermes/logs/ :
- Messages reçus et envoyés par plateforme
- Erreurs de connexion et tentatives de retry
- Temps de réponse du modèle IA
- Utilisation des tokens par session

Commandes de monitoring

hermes gateway status    # État des connexions
hermes status            # Santé globale (provider, cron, gateway)
hermes doctor            # Diagnostic complet

Webhook de surveillance

Hermes expose un endpoint webhook pour les alertes externes — utile pour intégrer avec des systèmes de monitoring comme Uptime Kuma ou Grafana.

Exemple complet : configuration multi-plateforme

Voici un scénario réaliste pour un utilisateur avancé : un développeur configure Hermes pour répondre simultanément sur trois plateformes avec des comportements distincts. Sur Telegram, l'agent agit comme assistant personnel (outil personal-assistant, ton amical), avec une allowlist limitée à deux user_ids et un canal d'accueil défini. Sur Discord, il sert de bot communautaire (outil community-bot, ton utilitaire), restreint à un guild spécifique. Sur Slack, il fonctionne en mode professionnel (outil work-tools, ton professionnel), accessible uniquement depuis deux canaux workspace. La session est configurée en mode cross_platform: true pour unifier le contexte entre les trois canaux, avec un reset automatique après 24h d'inactivité (after_idle_24h). Les tokens d'authentification sont injectés via variables d'environnement depuis le fichier .env, jamais écrits en clair dans le YAML.

Une fois cette configuration en place, le déploiement suit le cycle classique : lancement du wizard setup, vérification du statut, installation en service systemd, puis démarrage. Votre agent répond alors simultanément sur les trois plateformes — avec des personnalités et outils adaptés à chaque contexte.

Bonnes pratiques

  1. Commencez par une seule plateforme — ajoutez-en d'autres une par une après validation
  2. Toujours configurer une allowlist — ne jamais exposer un agent sans contrôle d'accès
  3. Utilisez .env pour les secrets — jamais de tokens en clair dans le config YAML
  4. Installez comme service systemd — pour un fonctionnement 24/7 avec auto-redémarrage
  5. Surveillez les logs — les erreurs de connexion sont la cause #1 de problèmes
  6. Testez avec hermes gateway status — après chaque modification de configuration
  7. Séparez les profils par contexte — pro sur Slack, perso sur Telegram, communautaire sur Discord

Pièges courants

  • Token expiré → les plateformes révoquent les tokens. Vérifiez avec hermes gateway setup
  • Allowlist oubliée → l'agent ne répond à personne si l'allowlist est vide et le mode est restrictif
  • Webhook inaccessible → vérifiez que votre serveur est joignable en HTTPS
  • Message trop long → Hermes chunk automatiquement, mais certaines plateformes ont des limites strictes
  • Médias trop lourds → les images >20MB sont rejetées, les PDF >50MB aussi
  • Conflit de sessions → le même user sur deux plateformes crée deux sessions sauf si cross_platform: true

Erreurs courantes

  • Variable d'environnement manquante → si un token ${VAR} n'est pas défini dans .env, la gateway échoue silencieusement au démarrage. Vérifiez avec hermes doctor.
  • Port déjà utilisé → deux instances de la gateway ne peuvent pas écouter sur le même port. Le message d'erreur est souvent cryptique — utilisez lsof -i :PORT pour identifier le processus bloquant.
  • YAML mal indenté → une erreur d'indentation dans config.yaml est interprétée comme une clé différente. Utilisez un validateur YAML avant de redémarrer.
  • Webhook URL incorrecte → Telegram et Slack requièrent une URL exacte avec le bon path. Une trailing slash manquante peut suffire à casser la connexion.

Sécurité par plateforme

Chaque plateforme met en œuvre des mécanismes de sécurité spécifiques. Telegram repose sur un bot token sécurisé combiné à une allowlist par user_id, avec un mode privé recommandé pour les groupes sensibles. Discord applique des restrictions par guild et rôle, et nécessite de limiter les intents (intents) au strict minimum pour respecter le principe de moindre privilège. Slack exige un verification token, des restrictions au niveau de l'app, et des OAuth scopes minimales. WhatsApp sécurise ses webhooks via une signature HMAC et vérifie l'authenticité des numéros de téléphone. Signal bénéficie du chiffrement E2E natif du protocole avec un numéro vérifié. Enfin, Email requiert la configuration de SPF/DKIM/DMARC pour la délivrabilité et impose le TLS pour tous les échanges.

Outils recommandés

  • Hostinger — VPS abordables avec IP publique, idéaux pour héberger la gateway 24/7 et recevoir les webhooks en HTTPS
  • Uptime Kuma — outil de monitoring open source pour surveiller la disponibilité de votre gateway et recevoir des alertes
  • Groq — fournisseur d'API pour la transcription vocale via Whisper, avec des latences inférieures à une seconde en 2025

L'essentiel

La gateway multi-plateforme d'Hermes Agent centralise toutes vos messageries en un seul processus backend. Elle supporte une quinzaine de plateformes (Telegram, Discord, Slack, WhatsApp, Signal, Email, etc.) avec des adaptateurs dédiés implémentant une interface commune. La configuration se gère via hermes gateway setup et un fichier YAML structuré sous ~/.hermes/config.yaml, les secrets étant isolés dans .env. Le système de profils permet d'adapter outils et personnalité par canal, tandis que le formatage et le chunking sont gérés automatiquement selon les capacités de chaque plateforme. La sécurité repose sur des allowlists par plateforme et des mécanismes natifs (HMAC, intents limités, OAuth scopes). Le déploiement en service systemd assure un fonctionnement continu avec auto-redémarrage. La clé de la réussite : commencer par une seule plateforme, configurer les allowlists immédiatement, et monitorer avec hermes gateway status.

Conclusion

La gateway multi-plateforme d'Hermes Agent transforme un agent terminal en assistant omniprésent. Un seul processus, une seule mémoire, une seule identité — disponible sur Telegram, Discord, Slack, WhatsApp, Signal, Email et bien plus.

Pour une introduction complète à Hermes Agent, consultez notre article de présentation et installation. Pour maîtriser la configuration avancée, le guide des modèles et providers est essentiel. Et pour exploiter tout le potentiel de l'agent, découvrez le système de skills qui permet à Hermes d'apprendre et de s'améliorer en continu. Enfin, pour comprendre comment l'agent conserve ses souvenirs d'une conversation à l'autre, lisez notre article sur la mémoire persistante : comment Hermes se souvient.

La puissance d'Hermes réside dans sa capacité à s'adapter à chaque contexte — chaque plateforme, chaque utilisateur, chaque conversation. La gateway est le pont qui rend cela possible.