Fluxo de Aprovação do Discord
Componentes de botões interativos para aprovar comandos restritos do terminal no Discord.
Como Funciona
- O agente solicita um comando de terminal que não está na lista de prefixos permitidos (ou contém operadores de shell)
- Uma mensagem de aprovação é enviada ao canal do Discord com botões interativos
- O usuário vê três botões clicáveis:
Comando requer aprovação:
rm -rf /tmp/old-cache
Allow Once
Allow Always
Deny
Opções de Aprovação
| Opção | Comportamento |
|---|---|
| Allow Once | Executar o comando apenas desta vez |
| Allow Always | Executar e persistir o prefixo do comando para auto-aprovação futura |
| Deny | Rejeitar o comando — o agente recebe mensagem de negação |
O fluxo de aprovação no Discord usa a API ComponentInteraction do serenity. “Allow Always” persiste o prefixo no SQLite para que sobreviva a reinicializações do daemon.
Expiração dos Botões
Os tokens de interação do Discord expiram após 15 minutos. Se nenhuma resposta for recebida dentro desse período, a solicitação de aprovação expira e o comando é negado.