Visão Geral
hermes hooks inspeciona hooks de shell script declarados em ~/.hermes/config.yaml, os testa com payloads sintéticos e gerencia a lista de consentimento de primeiro uso em ~/.hermes/shell-hooks-allowlist.json.
hermes hooks <list|test|revoke|doctor>
Aliases são aceitos: ls para list, remove/rm para revoke.
Subcomandos
list (ou ls) — Listar hooks configurados
hermes hooks list
hermes hooks ls
Exibe o matcher, o timeout e o status de consentimento de cada hook.
test — Disparar hooks correspondentes com payload sintético
hermes hooks test pre_tool_call
hermes hooks test pre_tool_call --for-tool terminal
hermes hooks test subagent_stop --payload-file ./payload.json
| Opção | Descrição |
|---|---|
event (posicional) |
Nome do evento, ex. pre_tool_call, pre_llm_call, subagent_stop. |
--for-tool FOR_TOOL |
Disparar apenas hooks cujo matcher corresponda a este nome de ferramenta (para pre_tool_call / post_tool_call). |
--payload-file PAYLOAD_FILE |
Caminho para um arquivo JSON cujo conteúdo é mesclado no payload sintético antes da execução. |
revoke (ou remove, rm) — Remover entradas da lista de permissão
hermes hooks revoke "~/.hermes/hooks/notify.sh"
hermes hooks rm "~/.hermes/hooks/notify.sh"
Remove as entradas da lista de permissão para a string de comando exata declarada em config.yaml. A alteração entra em vigor no próximo reinício do Hermes.
doctor — Verificar cada hook configurado
hermes hooks doctor
Valida cada hook: bit executável, estado da lista de permissão, drift de mtime, validade JSON e tempo de execução sintético.
Cenários Comuns
Revisar todos os hooks após editar a configuração
hermes config edit
hermes hooks list
Testar um hook antes de aprová-lo
hermes hooks test pre_tool_call --for-tool terminal
Revogar o consentimento de um hook
hermes hooks revoke "~/.hermes/hooks/backup.sh"
Diagnosticar problemas de hooks
hermes hooks doctor
Dicas
- Hooks são definidos em
~/.hermes/config.yaml; o consentimento é rastreado separadamente em~/.hermes/shell-hooks-allowlist.json. - Revogar o consentimento não exclui a definição do hook — apenas redefine a aprovação, e a alteração se aplica após reiniciar o Hermes.
- Use
hermes hooks testcom--payload-filepara simular payloads realistas sem executar uma sessão completa. hermes hooks doctoré a maneira mais rápida de encontrar problemas de permissão, sintaxe ou tempo de execução.- Sempre revise os scripts de hook antes de conceder consentimento; eles são executados com as mesmas permissões do processo Hermes.