Vue d’ensemble
hermes webhook crée, liste et supprime des abonnements webhook dynamiques pour l’activation de l’agent pilotée par événements. Chaque abonnement expose une route webhook ; lorsqu’un service externe y envoie un POST, Hermes valide la requête puis exécute l’agent avec un prompt rendu, ou livre le message directement à une plateforme de chat.
hermes webhook <subscribe|add|list|ls|remove|rm|test>
add, ls et rm sont des alias de subscribe, list et remove.
Sous-commandes
subscribe (alias add) — Créer un abonnement webhook
hermes webhook subscribe <name> [options]
<name> est le nom de la route, utilisé dans l’URL : /webhooks/<name>.
| Option | Description |
|---|---|
--prompt PROMPT |
Modèle de prompt avec références {dot.notation} au payload. |
--events EVENTS |
Types d’événements acceptés, séparés par des virgules. |
--description DESCRIPTION |
Ce que fait cet abonnement. |
--skills SKILLS |
Noms de skills à charger pour l’exécution de l’agent, séparés par des virgules. |
--deliver DELIVER |
Cible de livraison : log, telegram, discord, slack, etc. |
--deliver-chat-id ID |
ID de chat cible pour la livraison multi-plateforme. |
--secret SECRET |
Secret HMAC (généré automatiquement s’il est omis). |
--deliver-only |
Ignorer l’agent — livrer le prompt rendu directement comme message. Coût LLM nul. Nécessite que --deliver soit une vraie cible (pas log). |
--script SCRIPT |
Script de filtrage/transformation sous ~/.hermes/scripts/. Le payload de la route est passé en JSON sur stdin ; une sortie vide, [SILENT] ou un code de sortie non nul ignore le webhook. |
list (alias ls) — Lister tous les abonnements
hermes webhook list
remove (alias rm) — Supprimer un abonnement
hermes webhook remove <name>
test — Envoyer un POST de test
hermes webhook test <name>
hermes webhook test <name> --payload '{"issue": {"number": 42}}'
Envoie un POST de test à la route webhook de l’abonnement. --payload remplace le payload de test par défaut par un JSON personnalisé.
Exemples
# S'abonner aux issues GitHub et livrer les résumés rendus sur Telegram
hermes webhook subscribe github-issues \
--events "issues" \
--prompt "New issue #{issue.number}: {issue.title}" \
--deliver telegram \
--deliver-chat-id "-1001234567890" \
--description "Triage new GitHub issues"
# Notification pure avec zéro coût LLM
hermes webhook subscribe critical-alerts \
--prompt "🚨 {service} critical: {metric}" \
--deliver telegram --deliver-chat-id "-1001234567890" --deliver-only
# Cycle de vie
hermes webhook list # Vérifier tous les abonnements
hermes webhook test github-issues # Tester avant de s'y fier
hermes webhook rm github-issues # Nettoyer les abonnements inutilisés
Conseils
subscribe/add,list/lsetremove/rmsont des alias interchangeables.- Un secret HMAC unique est généré automatiquement pour chaque abonnement, sauf si vous passez
--secret. - Utilisez
--deliver-onlypour les notifications pures : zéro coût LLM, aucune exécution d’agent. - Utilisez
--scriptpour filtrer ou transformer les payloads avant qu’ils n’atteignent l’agent. - Testez toujours un abonnement avec
hermes webhook testavant de vous y fier.