Visão Geral
hermes webhook cria, lista e remove assinaturas dinâmicas de webhook para ativação do agente orientada a eventos. Cada assinatura expõe uma rota de webhook; quando um serviço externo faz um POST nela, o Hermes valida a solicitação e executa o agente com um prompt renderizado, ou entrega a mensagem diretamente a uma plataforma de chat.
hermes webhook <subscribe|add|list|ls|remove|rm|test>
add, ls e rm são aliases de subscribe, list e remove.
Subcomandos
subscribe (alias add) — Criar uma assinatura de webhook
hermes webhook subscribe <name> [opções]
<name> é o nome da rota, usado na URL: /webhooks/<name>.
| Opção | Descrição |
|---|---|
--prompt PROMPT |
Modelo de prompt com referências {dot.notation} ao payload. |
--events EVENTS |
Tipos de evento aceitos, separados por vírgula. |
--description DESCRIPTION |
O que esta assinatura faz. |
--skills SKILLS |
Nomes de skills separados por vírgula a carregar para a execução do agente. |
--deliver DELIVER |
Destino da entrega: log, telegram, discord, slack, etc. |
--deliver-chat-id ID |
ID do chat de destino para entrega multiplataforma. |
--secret SECRET |
Segredo HMAC (gerado automaticamente se omitido). |
--deliver-only |
Ignora o agente — entrega o prompt renderizado diretamente como mensagem. Custo zero de LLM. Exige que --deliver seja um destino real (não log). |
--script SCRIPT |
Script de filtro/transformação em ~/.hermes/scripts/. O payload da rota é passado como JSON no stdin; stdout vazio, [SILENT] ou código de saída diferente de zero ignoram o webhook. |
list (alias ls) — Listar todas as assinaturas
hermes webhook list
remove (alias rm) — Remover uma assinatura
hermes webhook remove <name>
test — Enviar um POST de teste
hermes webhook test <name>
hermes webhook test <name> --payload '{"issue": {"number": 42}}'
Envia um POST de teste para a rota de webhook da assinatura. --payload substitui o payload de teste padrão por um JSON personalizado.
Exemplos
# Assinar issues do GitHub e entregar resumos renderizados no 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"
# Notificação pura com custo zero de LLM
hermes webhook subscribe critical-alerts \
--prompt "🚨 {service} critical: {metric}" \
--deliver telegram --deliver-chat-id "-1001234567890" --deliver-only
# Ciclo de vida
hermes webhook list # Revise todas as assinaturas
hermes webhook test github-issues # Teste antes de depender dela
hermes webhook rm github-issues # Limpe assinaturas sem uso
Dicas
subscribe/add,list/lseremove/rmsão aliases intercambiáveis.- Um segredo HMAC único é gerado automaticamente para cada assinatura, a menos que você passe
--secret. - Use
--deliver-onlypara notificações puras: zero custo de LLM, sem execução do agente. - Use
--scriptpara filtrar ou transformar payloads antes que cheguem ao agente. - Sempre teste uma assinatura com
hermes webhook testantes de depender dela.