Gateways de chat e assistente (2) — Hermes (Slack, Telegram, cron), OpenClaw (assistente self-hosted)
As mesmas políticas e o mesmo histórico de sessão se aplicam independentemente de qual harness um agente utiliza. Uma camada adaptadora mapeia os nomes de eventos nativos, nomes de ferramentas e campos de entrada de ferramentas de cada harness para 29 eventos canônicos antes que qualquer política seja executada.Um agente que não roda em nenhum dos doze é instrumentado diretamente com o SDK Python. Esse é um contrato diferente, e vale deixar claro: o SDK fornece rastreamento, sessões, avaliações e auditorias — ele não aplica políticas por conta própria. Bloquear uma ação insegura antes que ela seja executada requer um hook de aplicação na fronteira de ferramentas do seu runtime; entre em contato e faremos o mapeamento.
Harness
Escopos de hook suportados
Claude Code
User, project, local
Codex, GitHub Copilot CLI, Cursor, OpenCode, Pi
User, project
Factory Droid, Devin CLI, Antigravity CLI, Goose
User, project
Hermes, OpenClaw
User
Cada integração normaliza os nomes de eventos nativos do hook, nomes de ferramentas e campos de entrada de ferramentas antes que as políticas sejam executadas. Uma política só pode agir sobre eventos que o harness expõe; teste o comportamento de fim de turno e de instrução no harness e na versão exatos que você implanta.
“Bloquear” significa que o veredito retornado pelo adaptador atual é consumido pelo harness indicado. O bloqueio pós-ferramenta pode substituir o resultado exibido ao modelo, mas não pode desfazer um efeito colateral de ferramenta que já ocorreu.
Harness
Eventos de bloqueio verificados
Ressalvas de observação ou não-bloqueio
Claude Code
PreToolUse, UserPromptSubmit, PermissionRequest, Stop, SubagentStop, PreCompact e vários eventos de tarefa/configuração
PostToolUse, ciclo de vida de sessão, notificações e eventos pós-falha são observacionais.
O bloqueio pós-ferramenta substitui o resultado após a execução; eventos de sessão e notificação são observacionais.
Cursor
PreToolUse, UserPromptSubmit, Stop
PostToolUse e eventos de sessão são observacionais.
OpenCode
PreToolUse
Eventos pós-ferramenta e de ciclo de vida são observacionais; o tratamento de stop atual é uma orientação para um turno posterior, não um gate verificado.
Pi
PreToolUse, UserPromptSubmit
Eventos pós-ferramenta e de ciclo de vida são observacionais; a orientação de stop se aplica a um turno posterior.
Hermes
PreToolUse
Vereditos pós-ferramenta, de sessão e de subagent-stop não são gates.
OpenClaw
PreToolUse, UserPromptSubmit, Stop
Eventos pós-ferramenta, de sessão, subagent-stop e de compactação são observacionais.
Factory Droid
PreToolUse, UserPromptSubmit, Stop, PreCompact
Vereditos pós-ferramenta e de subagent-stop são observacionais.
Hooks de permissão não são executados em todos os modos de permissão; eventos pós-ferramenta e de sessão são observacionais.
Antigravity CLI
PreToolUse, Stop
Vereditos de prompt do usuário e pós-ferramenta são observacionais; instruções de prompt ainda podem ser injetadas.
Goose
PreToolUse
Eventos de prompt do usuário, pós-ferramenta e de sessão são observacionais. Existe um hook de stop com bloqueio nativo upstream, mas ele não é instalado pelo adaptador atual.
As capacidades são sensíveis à versão. Refaça os testes após atualizar uma CLI de agente, especialmente quando uma política depende de comportamento de prompt, stop, permissão ou pós-ferramenta em vez do gate pré-ferramenta comum.
Abra Administration → Keys e crie uma chave com events:add e policies:pull, nomeada para a máquina ou ambiente.
Na máquina de destino, conecte a CLI local com a chave exibida e instale os hooks do harness.
Inicie uma nova sessão de agente e confirme seus eventos de hook e sessão em Observe → Events.
Abra Observe → policy para a mesma janela de tempo e confirme que uma decisão de política está atribuída à máquina.
A conexão começa com uma chave de máquina. Confirme que ela inclui permissões de ingestão e entrega de políticas antes de copiar o segredo.Após instalar os hooks, o stream de Events deve exibir novos eventos da máquina e do ambiente que você conectou.Por fim, verifique se as decisões de política estão atribuídas à mesma máquina. Isso confirma que o harness está reportando a atividade de política, além dos eventos de rastreamento.
Ou direcione harnesses específicos e um escopo de configuração:
failproofai policies --install \ --cli claude codex cursor \ --scope user
O escopo de projeto mantém a configuração de hook junto ao repositório. O escopo de usuário cobre o trabalho em vários repositórios. Claude Code também suporta escopo local; o suporte varia por harness e a CLI rejeita combinações não suportadas.Verifique a máquina e seus eventos:
Caminhos extras são registrados na máquina, não na Cloud. Após adicionar um, abra Observe → Sessions, filtre pelo ambiente da máquina e confirme se as sessões do novo caminho aparecem. Abra uma sessão e verifique o agente, o harness e os timestamps de eventos antes de utilizá-la em uma auditoria.
Adicione um caminho com um rótulo opcional e inspecione os caminhos configurados:
failproofai harness add-path claude checkout=/srv/checkout/.claudefailproofai harness list claudefailproofai backfill --since 7d --dry-runfailproofai backfill --since 7d
Remova um caminho com failproofai harness remove-path claude checkout.
Execute uma nova sessão após a instalação. Verifique tanto o stream de eventos ao vivo quanto uma decisão de política real antes de expandir o rollout.