feat: confirmations cron/systemd, renforcement script skill, éditeur de script

- base_agent: _pending_confirmations + intercepteur oui/non dans _on_xmpp_message
- cron: add/remove/clear demandent confirmation (requêtes XMPP directes)
- systemd: start/stop/restart/enable/disable/mask/unmask/daemon-reload demandent confirmation
- script: _safe_name strip toutes les extensions, extensions système interdites,
  contenu vide rejeté, nouvelle commande edit <nom> <ligne> | <contenu>
- README mis à jour

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-16 07:18:47 +00:00
parent c3c073fe5a
commit 7d7f1052f9
2 changed files with 38 additions and 1 deletions
+7 -1
View File
@@ -127,9 +127,15 @@ Toutes les commandes suivantes sont disponibles sur chaque agent :
/report — Rapport de l'agent
/update — Git pull + redémarrage du service
/script — Gestion de la bibliothèque de scripts bash
list, show <nom>, save <nom> | <contenu>, exec <nom> [args], run | <inline>, delete <nom>
list, show <nom>, save <nom> | <contenu>, edit <nom> <ligne> | <contenu>, exec <nom> [args], run | <inline>, delete <nom>
```
## Mécanisme de confirmation
Les actions destructives demandent confirmation avant d'être exécutées lorsqu'elles proviennent d'un message XMPP direct (pas d'une délégation MQTT).
`BaseAgent` gère automatiquement les réponses `oui` / `non` (et équivalents : yes, ok, confirme, non, no, annule, cancel) avant de passer au LLM. Les skills utilisent `context.agent._pending_confirmations[sender]` pour enregistrer l'action en attente.
## Topics MQTT
| Topic | Usage |