Gateway Hermes : relier un canal de messagerie à une routine sans changer d’outil
Tu as installé Hermes. Tu as configuré ton agent. Tu lui parles dans le terminal, et ça marche. Et puis un jour, tu es dans le métro, tu as une idée, et tu te dis : ce serait pratique de pouvoir lui envoyer un message depuis mon téléphone.
C’est exactement ce que fait le gateway. Pas un outil de plus. Pas une plateforme de publication. Juste un processus qui fait le pont entre tes messageries et ton agent.
Ce que le gateway fait (et ce qu’il ne fait pas)
Le gateway est un processus background unique. Il tourne en permanence, connecte toutes les plateformes que tu as configurées, gère les sessions de conversation, exécute les tâches planifiées et délivre les messages vocaux.
Le vrai sujet n’est pas d’ajouter un agent de plus.
Si tu veux construire un système d’agents utile, il te faut surtout une structure claire, de bons arbitrages et des retours terrain. C’est exactement ce qu’on partage dans Kavyro.
Arbitrages utiles
Questions réelles
Accès gratuit
Tu arrives avec ton sujet, tu repars avec plus de clarté.
Concrètement, il fait trois choses :
- Il reçoit les messages de tes canaux (Telegram, Discord, Slack, WhatsApp, etc.) et les transmet à ton agent.
- Il renvoie les réponses de ton agent vers le bon canal, avec le bon format (texte, voix, image, fichier).
- Il maintient les sessions : ton agent se souvient de la conversation, même si tu changes de canal ou que le gateway redémarre.
Ce qu’il ne fait pas : ce n’est pas un CRM. Il ne gère pas tes contacts, ne qualifie pas tes leads, ne publie pas sur les réseaux sociaux. C’est un pont entre tes messageries et ton agent, rien de plus. Si tu cherches un outil pour centraliser les demandes entrantes et choisir le bon canal, l’article sur le choix du canal de messagerie est plus adapté.
Les plateformes supportées et ce que chacune permet
Le gateway supporte plus de 20 plateformes. Toutes ne se valent pas : certaines gèrent la voix, d’autres les fichiers, d’autres les réactions. Voici ce que les principales permettent.
| Plateforme | Voix | Images | Fichiers | Threads | Réactions | Typing | Streaming |
|---|---|---|---|---|---|---|---|
| Telegram | ✅ | ✅ | ✅ | ✅ | ✗ | ✅ | ✅ |
| Discord | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Slack | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| ✗ | ✅ | ✅ | ✗ | ✗ | ✅ | ✅ | |
| Signal | ✗ | ✅ | ✅ | ✗ | ✗ | ✅ | ✅ |
| SMS | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
| ✗ | ✅ | ✅ | ✅ | ✗ | ✗ | ✗ | |
| Matrix | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Microsoft Teams | ✗ | ✅ | ✗ | ✅ | ✗ | ✅ | ✗ |
| LINE | ✗ | ✅ | ✅ | ✗ | ✗ | ✅ | ✗ |
Telegram, Discord et Slack sont les plus complets. Si tu veux de la voix, des fichiers, des threads et du streaming, commence par l’un des trois. Si tu as juste besoin de recevoir des notifications par SMS ou email, les plateformes plus légères suffisent.
Mise en place : la séquence minimale
Tu n’as pas besoin de tout configurer d’un coup. Voici les quatre étapes pour avoir un gateway qui tourne.
1. Lancer le wizard interactif
hermes gateway setup
Cette commande te guide plateforme par plateforme. Tu choisis avec les flèches, tu remplis les tokens et les identifiants, et le wizard te dit ce qui est déjà configuré.
2. Tester en foreground
hermes gateway
Avant d’installer quoi que ce soit en service, lance le gateway en foreground. Envoie un message depuis ton canal configuré. Vérifie que ton agent répond. Si ça ne marche pas, les logs sont sous tes yeux.
3. Installer comme service
hermes gateway install
Sur Linux, ça crée un service utilisateur systemd. Sur macOS, un service launchd. Le gateway démarre automatiquement au login.
4. Démarrer, arrêter, vérifier
hermes gateway start
hermes gateway status
hermes gateway stop
Une fois le service installé, ces trois commandes suffisent pour le piloter au quotidien.
Gestion des sessions : ce qui persiste et ce qui reset
Par défaut, les sessions ne se reset jamais automatiquement. Ton agent garde le contexte de la conversation jusqu’à ce que tu fasses /reset ou que la compression de contexte se déclenche.
Si tu veux un reset automatique, tu peux le configurer dans ~/.hermes/config.yaml :
idle: reset après N minutes d’inactivité.daily: reset à une heure fixe chaque jour.both: le premier des deux qui se déclenche.none: jamais (défaut).
Tu peux aussi surcharger ces réglages par plateforme dans ~/.hermes/gateway.json. Par exemple, un reset idle de 4 heures sur Telegram et de 1 heure sur Discord.
Ce qui persiste : le contexte de conversation, les sessions nommées avec /title, et les sessions interrompues par un redémarrage du gateway. Au prochain démarrage, le gateway propose de reprendre là où tu t’étais arrêté.
Sécurité : qui peut parler à ton agent
Par défaut, le gateway refuse tout utilisateur qui n’est pas dans une allowlist. C’est le comportement safe pour un bot qui a accès à ton terminal.
Tu configures les utilisateurs autorisés par plateforme :
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678
Ou tu utilises une allowlist globale :
GATEWAY_ALLOWED_USERS=123456789,987654321
Si tu ne veux pas gérer des IDs à la main, le DM pairing est une alternative : un utilisateur inconnu qui DM ton bot reçoit un code de pairing. Tu l’approuves avec hermes pairing approve telegram XKGH5N7P. Le code expire en une heure.
Une fois qu’un utilisateur est autorisé, il tombe dans l’un des deux tiers : admin ou regular user. Les admins ont accès à toutes les slash commands. Les regular users peuvent parler à l’agent mais n’ont pas accès aux commandes sensibles. Cette séparation se fait par scope (DM vs groupe), donc un admin en DM ne l’est pas forcément en groupe.
Les limites du gateway
Le gateway est un pont, pas une plateforme. Trois limites à garder en tête.
D’abord, il ne remplace pas le CLI. Si tu es devant ton terminal, le CLI reste plus rapide et plus complet. Le gateway est utile quand tu n’es pas devant ton terminal, ou quand tu veux qu’un cron te notifie sur Telegram.
Ensuite, il ne fait pas de multi-comptes. Un gateway = un agent. Si tu as plusieurs agents, il te faut plusieurs instances.
Enfin, il ne gère pas les conversations de groupe comme un outil de communauté. Les groupes fonctionnent, mais le gateway traite chaque message comme une interaction avec ton agent, pas comme une discussion entre humains.
Le gateway connecte tes canaux à ton agent. C’est sa seule fonction, et il la fait bien. Si tu veux configurer un canal après avoir validé le fonctionnement en CLI, tu peux faire une demande d’accès à la formation Hermes Agent pour aller plus loin sur la configuration complète d’un environnement de travail avec agents.