La passerelle de messagerie d’Hermes
Un processus, plus de vingt plateformes, et ce que chacune sait faire
Hermes atteint ses messageries par un seul processus de passerelle. Telegram, Discord, Slack, WhatsApp, Signal, SMS, e-mail, Home Assistant, Mattermost, Matrix, Microsoft Teams et une longue traîne de plateformes régionales sont des adaptateurs à l’intérieur ; chacun reçoit les messages, les fait passer par un magasin de sessions par discussion et les remet à l’agent. Le même processus fait tourner le planificateur. Voici comment on la configure, ce que la table des plateformes dit de chacune, et les parties qui ne sont pas évidentes.
Configuration
- Une commande de configuration interactive parcourt chaque plateforme au clavier, montre ce qui est déjà configuré et propose de démarrer ou redémarrer la passerelle à la fin.
- Installez-la comme service utilisateur sur Linux ou service launchd sur macOS, ou comme service système au démarrage sur un serveur.
- Les identifiants enregistrés par la configuration peuvent activer une plateforme sans entrée dans le fichier de configuration ; un drapeau de désactivation explicite l’emporte toujours, et un autre profil n’hérite jamais des identifiants du serveur.
- Enregistré signifie que les identifiants sont stockés, pas que la passerelle tourne ni que la plateforme est connectée ; une plateforme peut être activée et afficher quand même une passerelle arrêtée.
Ce que chaque plateforme sait faire
La documentation tient une table comparative : voix, images, fichiers, fils, réactions, indicateurs de saisie et diffusion en continu, par plateforme. Telegram, Discord, Slack, Matrix et Feishu ont presque toute la ligne. WhatsApp a les images, les fichiers, la saisie et la diffusion, mais ni fils ni réactions. Les SMS n’ont rien de tout cela, à dessein : du texte en entrée, du texte en sortie. L’e-mail a les images, les fichiers et les fils. Lire cette ligne avant de choisir un canal épargne un fil de support plus tard.
Le silence est uniquement une décision de livraison.
Les jetons de silence
Pour les groupes, les hooks et les automatisations, un agent dont toute la réponse finale est un jeton de silence n’est pas livré ; le tour est tout de même conservé dans la transcription pour que la conversation alterne normalement, et un tour en échec fait toujours remonter une erreur. C’est le mécanisme qui permet à un bot de vivre dans un groupe sans répondre à tout.
Le maintenir en vie
Une passerelle gérée par systemd peut activer un chien de garde de boucle d’événements : Hermes n’envoie des battements que tant que la boucle progresse, et systemd redémarre le processus quand ils s’arrêtent. Le service au niveau utilisateur s’arrête toujours à la déconnexion tant que la persistance de session n’est pas activée, ce que le guide d’installation d’Hermes couvre avec les autres pièges de l’installation.
Sur Diali
Sur Diali, le processus de passerelle, son service et ses redémarrages sont le travail de la plateforme ; les canaux se connectent depuis le tableau de bord, et la ligne Hermes du catalogue liste Telegram, Discord, Slack, WhatsApp, SMS, Mattermost, Matrix et Signal. Les appels vocaux sont réservés à OpenClaw. Hermes hébergé sur Diali est la version hébergée ; Les canaux sur Diali liste chaque canal avec les moteurs qu’il prend en charge.
- Une passerelle, de nombreux adaptateurs, un magasin de sessions par discussion.
- Lisez la ligne de la plateforme avant de choisir un canal.
- Le silence est une décision de livraison, pas une réponse manquante.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
