main
Agent2_Debian13 — Spécialiste Debian
Agent spécialisé dans l'administration de systèmes Debian. Reçoit ses tâches d'agent1 via MQTT (file d'attente FIFO persistante) et peut aussi être contacté directement par l'utilisateur via XMPP.
Rôle
- Administration système Debian (paquets, services, réseau, sécurité)
- Exécution de commandes shell sur le système hôte
- File d'attente SQLite : aucune tâche perdue même en cas de pause ou de redémarrage
- Rapporte les résultats à agent1 via MQTT
Commandes de contrôle (via agent1)
Envoyées par agent1 sur le topic agents/agent2_debian13/control :
| Commande XMPP (à agent1) | Effet sur cet agent |
|---|---|
!agentOFF agent2_debian13 |
Pause — tâches en attente conservées dans queue.db |
!agentON agent2_debian13 |
Reprise — traitement des tâches en attente |
!agentsOFF |
Pause (avec tous les autres agents) |
!agentsON |
Reprise (avec tous les autres agents) |
Skills disponibles
| Trigger | Description |
|---|---|
EXEC: <commande> |
Exécution de commande shell (timeout 30s) |
SEARCH: <requête> |
Recherche DuckDuckGo |
READ: <url> |
Lecture de page web |
REMEMBER: <clé> | <valeur> |
Mémoire SQLite |
RECALL: <clé> |
Récupération mémoire |
MQTT_PUBLISH: <topic> | <msg> |
Publication MQTT |
Exemples de tâches
EXEC: systemctl status nginx
EXEC: apt list --upgradable
EXEC: journalctl -u ssh --no-pager -n 20
EXEC: df -h
EXEC: docker ps -a
File d'attente (queue.db)
Chaque tâche MQTT reçue est immédiatement enregistrée en base avec son horodatage avant d'être exécutée.
| Champ | Description |
|---|---|
received_at |
Heure de réception du message MQTT |
started_at |
Heure de début d'exécution |
completed_at |
Heure de fin |
task |
Contenu de la tâche |
status |
pending / running / success / error |
result |
Résultat (tronqué à 2000 chars) |
duration_s |
Durée d'exécution en secondes |
Les tâches en status pending lors d'une pause sont reprises au resume.
Rapport journalier
À l'heure configurée dans reports_schedule.json, agent1 envoie {"command": "report"} sur agents/agent2_debian13/control. L'agent répond sur agents/daily_report avec :
{
"agent": "agent2_debian13",
"timestamp": "2026-03-08T22:00:00",
"uptime_s": 86400,
"paused": false,
"tasks_today": 12,
"success": 11,
"errors": 1,
"avg_duration_s": 4.2,
"last_error": "...",
"pending": 0
}
Plage horaire (work_hours dans agents_registry.json)
Agent1 vérifie cette plage avant chaque délégation. Hors plage → tâche refusée avec message d'indisponibilité.
"work_hours": { "start": "07:00", "end": "23:00", "days": ["mon","tue","wed","thu","fri","sat","sun"], "enabled": true }
Déploiement via agent2_deploy (recommandé)
# Via XMPP avec sylvain@xmpp.ovh :
!deploy
# Suivre le guide interactif
Déploiement manuel
apt-get install -y python3 python3-pip python3-venv git
git clone https://git.piaf.im/sylvain/agent2_debian13.git /opt/agent2_debian13
cd /opt/agent2_debian13
python3 -m venv venv
venv/bin/pip install slixmpp paho-mqtt requests ddgs beautifulsoup4 chromadb
nano config/config.json
systemctl daemon-reload && systemctl enable agent2_debian13 && systemctl start agent2_debian13
Configuration (config/config.json)
{
"ollama_url" : "http://<ip_ollama>:11434/api/chat",
"model" : "qwen3:8b",
"xmpp_jid" : "agent2_debian13@xmpp.ovh",
"xmpp_pass" : "<mot_de_passe>",
"admin_jid" : "sylvain@xmpp.ovh",
"mqtt_host" : "<ip_broker_mqtt>",
"mqtt_port" : 1883,
"mqtt_client_id" : "agent2_debian13",
"mqtt_inbox" : "agents/agent2_debian13/inbox",
"mqtt_outbox" : "agents/agent1/inbox"
}
Logs
journalctl -u agent2_debian13 -f
Description
Languages
Python
100%