Resumen
hermes webhook crea, lista y elimina suscripciones dinámicas de webhook para la activación del agente basada en eventos. Cada suscripción expone una ruta de webhook; cuando un servicio externo hace POST a esa ruta, Hermes valida la solicitud y, o bien ejecuta el agente con un prompt renderizado, o bien entrega el mensaje directamente a una plataforma de chat.
hermes webhook <subscribe|add|list|ls|remove|rm|test>
add, ls y rm son alias de subscribe, list y remove.
Subcomandos
subscribe (alias add) — Crear una suscripción de webhook
hermes webhook subscribe <name> [opciones]
<name> es el nombre de la ruta, usado en la URL: /webhooks/<name>.
| Opción | Descripción |
|---|---|
--prompt PROMPT |
Plantilla de prompt con referencias {dot.notation} al payload. |
--events EVENTS |
Tipos de evento a aceptar, separados por comas. |
--description DESCRIPTION |
Qué hace esta suscripción. |
--skills SKILLS |
Nombres de skills a cargar para la ejecución del agente, separados por comas. |
--deliver DELIVER |
Destino de entrega: log, telegram, discord, slack, etc. |
--deliver-chat-id ID |
ID de chat de destino para la entrega entre plataformas. |
--secret SECRET |
Secreto HMAC (se genera automáticamente si se omite). |
--deliver-only |
Omite al agente: entrega el prompt renderizado directamente como mensaje. Coste de LLM cero. Requiere que --deliver sea un destino real (no log). |
--script SCRIPT |
Script de filtro/transformación en ~/.hermes/scripts/. El payload de la ruta se pasa como JSON por stdin; stdout vacío, [SILENT] o un código de salida distinto de cero ignoran el webhook. |
list (alias ls) — Listar todas las suscripciones
hermes webhook list
remove (alias rm) — Eliminar una suscripción
hermes webhook remove <name>
test — Enviar un POST de prueba
hermes webhook test <name>
hermes webhook test <name> --payload '{"issue": {"number": 42}}'
Envía un POST de prueba a la ruta del webhook de la suscripción. --payload reemplaza el payload de prueba por defecto con JSON personalizado.
Ejemplos
# Suscribirse a issues de GitHub y entregar resúmenes renderizados a 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"
# Notificación pura con coste de LLM cero
hermes webhook subscribe critical-alerts \
--prompt "🚨 {service} critical: {metric}" \
--deliver telegram --deliver-chat-id "-1001234567890" --deliver-only
# Ciclo de vida
hermes webhook list # Revisa todas las suscripciones
hermes webhook test github-issues # Prueba antes de depender de ella
hermes webhook rm github-issues # Limpia suscripciones sin usar
Consejos
subscribe/add,list/lsyremove/rmson alias intercambiables.- Para cada suscripción se genera automáticamente un secreto HMAC único, salvo que pases
--secret. - Usa
--deliver-onlypara notificaciones puras: sin coste de LLM ni ejecución del agente. - Usa
--scriptpara filtrar o transformar los payloads antes de que lleguen al agente. - Prueba siempre una suscripción con
hermes webhook testantes de depender de ella.