60a216d5659bef00ce3ae13a9cb007bed4e3902e
agent1.py : - !agentOFF/ON <nom> : pause/resume d'un agent via MQTT control - !agentsOFF/ON : mode veille agent1 + pause/resume tous les agents - Confirmation en attente pour modif config (PENDING_CONFIG) - !reports / !tasks / !blackout : afficher les configs - APScheduler : sollicitation rapports + rapport journalier automatique - Souscription agents/daily_report : stockage des rapports reçus - on_mqtt_register : préserve work_hours lors des mises à jour registre skills/daily_report.py : - DAILY_REPORT: [agent] : compile les rapports journaliers reçus - Formatage uptime, stats, taux de succès Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Agent1 — Orchestrateur XMPP/MQTT
Agent principal du réseau. Il reçoit les instructions de l'utilisateur (via XMPP ou CLI MQTT), les analyse avec un LLM, et délègue les tâches aux agents spécialisés.
Rôle
- Point d'entrée unique pour l'utilisateur (
sylvain@xmpp.ovh) - Délègue aux agents spécialisés via MQTT (
DELEGATE: <agent> | <tâche>) - Planifie des tâches récurrentes (
SCHEDULE:) - Centralise les rapports et erreurs des agents
- Maintient un registre des agents disponibles
Skills disponibles
| Trigger | Description |
|---|---|
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 |
DELEGATE: <agent> | <tâche> |
Délégation à un agent spécialisé |
PLAN: <agent>|<tâche> ;; <agent>|<tâche> |
Plan multi-étapes |
SCHEDULE: <cron> | <agent> | <tâche> |
Planification |
PLAN_LIST: |
Lister les tâches planifiées |
PLAN_CANCEL: <id> |
Annuler une planification |
REPORT: |
Rapport d'exécutions |
REPORT_ERRORS: |
Rapport des erreurs |
Déploiement manuel
# Prérequis
apt-get install -y python3 python3-pip python3-venv git mosquitto
# Cloner et installer
git clone https://git.piaf.im/sylvain/agent1.git /opt/agent
cd /opt/agent
python3 -m venv venv
venv/bin/pip install slixmpp paho-mqtt requests ddgs beautifulsoup4 chromadb apscheduler
# Configurer
cp config/config.json.example config/config.json # adapter les valeurs
# Service systemd
cp agent.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable agent
systemctl start agent
Configuration (config/config.json)
{
"ollama_url" : "http://<ip_ollama>:11434/api/chat",
"model" : "qwen3:8b",
"xmpp_jid" : "agent1@xmpp.ovh",
"xmpp_pass" : "<mot_de_passe>",
"admin_jid" : "sylvain@xmpp.ovh",
"mqtt_host" : "localhost",
"mqtt_port" : 1883
}
CLI
python3 /opt/agent/cli.py # parler à agent1
python3 /opt/agent/cli.py agent2_debian13 # accès direct à un agent
python3 /opt/agent/cli.py --plans # voir les planifications
Logs
journalctl -u agent -f
Description
Languages
Python
100%