Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
agent_debian
Agent d'administration système. Gère les paquets, services, processus, fichiers, réseau, utilisateurs et conteneurs sur le serveur local. Répond aux délégations de Nexus via MQTT.
Rôle
Toutes les tâches système sur ce serveur passent par cet agent : apt install, systemctl restart, surveillance disque/RAM, consultation des logs, gestion des crons, exécution de scripts, etc.
Installation
cd /opt/agent_debian
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
systemctl enable --now agent_debian
Skills disponibles
| Skill | Description |
|---|---|
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/edit/exec/run/delete) |
sysinfo |
CPU, RAM, disque, uptime |
process |
Liste, kill, surveillance des processus |
filesystem |
Lecture, écriture, liste, recherche de fichiers |
network |
Interfaces, connexions, ping, traceroute |
journal |
Consultation des logs systemd (journalctl) |
cron |
Gestion des tâches cron |
container |
Gestion Docker/LXC (ps, start, stop, logs) |
user |
Gestion des utilisateurs et groupes |
agents_status |
Statut des agents du système |
mqtt_send |
Publication sur un topic MQTT |
mqtt_subscribe |
Souscription dynamique à un topic MQTT |
muc_send |
Message dans le groupe XMPP |
Bibliothèque de scripts
Les scripts bash sont stockés dans /opt/agent_debian/scripts/. Ils peuvent être créés et exécutés depuis Nexus :
# Via Nexus
/script save debian backup | #!/bin/bash\ntar -czf /tmp/backup.tgz /etc
/script run debian backup
/script schedule daily 03:00 debian backup
/script list debian
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) :
- Disque : alerte si un volume dépasse 85% d'utilisation
- RAM : alerte si la mémoire utilisée dépasse 90%
Les alertes sont envoyées automatiquement à Nexus via MQTT.
Configuration
config/config.json :
{
"agent_id": "debian.local",
"xmpp": {
"jid": "debian.local@xmpp.ovh",
"password": "...",
"admin_jid": "sylvain@xmpp.ovh",
"muc_room": "agents@muc.xmpp.ovh"
},
"mqtt": { "host": "localhost", "port": 1883 },
"llm": {
"base_url": "http://192.168.7.119:11434",
"model": "qwen3:8b",
"temperature": 0.3
},
"llm_profiles": {
"local": "qwen3:8b",
"cloud": "gpt-oss:120b-cloud"
},
"use_omemo": true,
"use_llm_coordinator": true
}
Commandes
/report — Rapport système (uptime, RAM, disque, stats tâches)
/update — Git pull + redémarrage du service
/status — État de la queue de tâches
/pause — Pause du traitement des tâches
/resume — Reprise
/script — Gestion de la bibliothèque de scripts bash
Fichiers
agent_debian.py — Point d'entrée
skills/ — 16 skills système
scripts/ — Scripts bash persistants
config/ — Configuration et system prompt
agent_debian.service — Unit systemd