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 9657d50e1e
commit d3ca3eee68
4 changed files with 152 additions and 38 deletions
+12 -1
View File
@@ -23,7 +23,7 @@ systemctl enable --now agent_debian
| `apt` | Gestion des paquets (install, remove, update, upgrade, search) |
| `systemd` | Contrôle des services (start, stop, restart, status, enable) |
| `shell` | Exécution de commandes shell arbitraires |
| `script` | Bibliothèque de scripts bash (save/list/show/exec/run/delete) |
| `script` | Bibliothèque de scripts bash (save/list/show/edit/exec/run/delete) |
| `sysinfo` | CPU, RAM, disque, uptime |
| `process` | Liste, kill, surveillance des processus |
| `filesystem` | Lecture, écriture, liste, recherche de fichiers |
@@ -51,6 +51,17 @@ Les scripts bash sont stockés dans `/opt/agent_debian/scripts/`. Ils peuvent ê
Chaque exécution envoie une notification XMPP à l'admin via Nexus.
**Règles de nommage** : les noms sont normalisés (extensions strip automatique, `.service`/`.timer`/`.py`… interdits). Le contenu doit contenir au moins une commande réelle.
## Confirmations requises
Les actions suivantes demandent confirmation avant exécution (requêtes XMPP directes uniquement) :
- **cron** : `add`, `remove`, `clear`
- **systemd** : `start`, `stop`, `restart`, `enable`, `disable`, `mask`, `unmask`, `daemon-reload`
Répondre `oui` pour confirmer ou `non` pour annuler.
## Surveillance proactive
L'agent monitore en arrière-plan (toutes les 5 minutes) :