Discord-Genehmigungsablauf
Interaktive Button-Komponenten zur Genehmigung eingeschränkter Terminal-Befehle in Discord.
So funktioniert es
- Der Agent fordert einen Terminal-Befehl an, der nicht in der Liste der erlaubten Präfixe steht (oder Shell-Operatoren enthält)
- Eine Genehmigungsnachricht wird mit interaktiven Buttons an den Discord-Channel gesendet
- Der Benutzer sieht drei klickbare Buttons:
Befehl erfordert Genehmigung:
rm -rf /tmp/old-cache
Allow Once
Allow Always
Deny
Genehmigungsoptionen
| Option | Verhalten |
|---|---|
| Allow Once | Den Befehl nur dieses eine Mal ausführen |
| Allow Always | Ausführen und das Befehlspräfix für zukünftige automatische Genehmigung speichern |
| Deny | Den Befehl ablehnen — der Agent erhält eine Ablehnungsnachricht |
Der Genehmigungsablauf in Discord verwendet die ComponentInteraction-API von Serenity. “Allow Always” speichert das Präfix in SQLite, sodass es Daemon-Neustarts übersteht.
Button-Ablauf
Discord-Interaction-Tokens laufen nach 15 Minuten ab. Wenn innerhalb dieses Zeitfensters keine Antwort erfolgt, läuft die Genehmigungsanfrage ab und der Befehl wird abgelehnt.