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.
Contrôle des agents
| Commande |
Effet |
!agentsOFF |
Agent1 en veille + pause de tous les agents |
!agentsON |
Agent1 actif + reprise de tous les agents |
!agentOFF <nom> |
Pause d'un agent spécifique (ex: !agentOFF agent2_debian13) |
!agentON <nom> |
Reprise d'un agent spécifique |
!agentOFF agent1 |
Agent1 en veille uniquement (les autres agents continuent) |
!agentON agent1 |
Agent1 sort de veille |
En mode veille, agent1 reste connecté XMPP et répond uniquement aux commandes !agentON.
Mises à jour git
| Commande |
Effet |
!agentUPDATE <nom> |
Vérifie si une mise à jour est disponible sur le dépôt git de l'agent |
!agentsUPDATE |
Vérifie les dépôts de tous les agents enregistrés |
!agentUPGRADE <nom> |
git pull + systemctl restart de l'agent |
!agentsUPGRADE |
git pull + restart de tous les agents (agent1 en dernier) |
!agentUPGRADE agent1 redémarre agent1 lui-même via systemd. La réponse XMPP est envoyée avant le redémarrage.
Affichage des configurations
| Commande |
Effet |
!reports |
Afficher reports_schedule.json (horaires des rapports) |
!tasks |
Afficher tasks_schedule.json (tâches planifiées) |
!blackout |
Afficher blackout_hours.json (plages d'inactivité) |
Divers
| Commande |
Effet |
!reset |
Réinitialiser l'historique de conversation |
Skills LLM (utilisables en XMPP ou CLI)
Ces commandes sont générées par le LLM en réponse à une instruction en langage naturel.
Délégation et planification
| Trigger |
Syntaxe |
Description |
DELEGATE: |
DELEGATE: <agent> | <tâche> |
Délègue une tâche à un agent (avec vérif. plage horaire + blackout) |
PLAN: |
PLAN: <agent>|<tâche> ;; <agent>|<tâche> |
Exécute plusieurs tâches en séquence |
SCHEDULE: |
SCHEDULE: <cron> | <agent> | <tâche> |
Planifie une tâche récurrente |
PLAN_LIST: |
PLAN_LIST: |
Lister les tâches planifiées |
PLAN_CANCEL: |
PLAN_CANCEL: <id> |
Annuler une planification |
Expressions cron supportées :
Rapports
| Trigger |
Syntaxe |
Description |
REPORT: |
REPORT: [agent] |
Rapport des 20 dernières exécutions |
REPORT_ERRORS: |
REPORT_ERRORS: [agent] |
Rapport des 20 dernières erreurs |
DAILY_REPORT: |
DAILY_REPORT: [agent] |
Rapport journalier compilé (stats de tous les agents) |
Mémoire et recherche
| Trigger |
Syntaxe |
Description |
SEARCH: |
SEARCH: <requête> |
Recherche DuckDuckGo |
READ: |
READ: <url> |
Lecture de page web |
REMEMBER: |
REMEMBER: <clé> | <valeur> |
Mémoriser une information (SQLite) |
RECALL: |
RECALL: <clé> |
Récupérer une information mémorisée |
MQTT direct
| Trigger |
Syntaxe |
Description |
MQTT_PUBLISH: |
MQTT_PUBLISH: <topic> | <message> |
Publier un message MQTT |
MQTT_SUBSCRIBE: |
MQTT_SUBSCRIBE: <topic> |
Écouter un topic MQTT |
CLI (cli.py)
Commandes dans la CLI :
| Commande |
Effet |
/reset |
Réinitialiser la conversation |
/plans |
Lister les tâches planifiées |
/report |
Rapport des dernières exécutions |
/errors |
Rapport des erreurs |
/agent <nom> |
Basculer vers un autre agent |
/quit |
Quitter la CLI |
Fichiers de configuration
| Fichier |
Rôle |
Modifié par |
config/config.json |
Paramètres XMPP, MQTT, Ollama |
Utilisateur |
config/agents_registry.json |
Registre des agents (auto-mis à jour) |
Agent1 au démarrage des agents |
config/blackout_hours.json |
Plages horaires d'inactivité totale |
Utilisateur directement |
config/reports_schedule.json |
Horaires de sollicitation des rapports |
Agent1 (avec confirmation) |
config/tasks_schedule.json |
Tâches planifiées par agent |
Agent1 (avec confirmation) |
blackout_hours.json
Aucun agent ne travaille pendant ces plages, quelle que soit la planification :
reports_schedule.json
tasks_schedule.json
agents_registry.json — champ work_hours
Plage horaire de travail par agent (vérifiée avant chaque DELEGATE) :
Topics MQTT
| Topic |
Direction |
Rôle |
agents/agent1/inbox |
CLI / agents → agent1 |
Tâches pour agent1 |
agents/<name>/inbox |
Agent1 → agent2_* |
Tâches pour les agents |
agents/<name>/control |
Agent1 → agent2_* |
Pause / Resume / Report |
agents/daily_report |
Agent2_* → agent1 |
Rapports journaliers |
agents/errors |
Agent2_* → agent1 |
Erreurs (notif XMPP) |
agents/register |
Agent2_* → agent1 |
Enregistrement au démarrage |
agents/status/<name> |
Agent2_* → agent1 |
Statut en ligne / hors ligne (LWT) |
agents/cli/outbox |
Agent1 → CLI |
Réponses vers la CLI |
agents/scheduler/notifications |
Scheduler → agent1 |
Notifications planificateur |
Lancer les agents
Logs
Déploiement manuel