10 Commits

Author SHA1 Message Date
sylvain 0fe1ece68d Support agents distants (SSH) pour !agentUPDATE/UPGRADE
- agent_update.py : _run_ssh() via sshpass, dispatche local ou SSH selon ssh_host
- agent1.py : _get_agent_git_info() transmet ssh_host/ssh_user depuis le registre
- agents_registry.json : agent2_test → ssh_host: 192.168.7.13, ssh_user: root

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 16:11:43 +00:00
sylvain 3575b391b6 Ajout !agentUPDATE/UPGRADE : mises à jour agents depuis git
- skills/agent_update.py : check_update (git fetch + log) et do_upgrade (git pull + systemctl restart)
- agent1.py : commandes !agentUPDATE <nom>, !agentsUPDATE, !agentUPGRADE <nom>, !agentsUPGRADE
  - _handle_agent_command retourne (handled, reply) pour gérer le self-upgrade agent1
  - !agentUPGRADE agent1 : envoie la réponse XMPP avant systemctl restart
  - !agentsUPGRADE : met à jour tous les agents puis agent1 en dernier
- agents_registry.json : ajout install_path, service_name, git_branch + entrée agent1
- README.md : documentation des nouvelles commandes
- TODO.md : tâches marquées comme terminées

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 15:55:31 +00:00
sylvain 60a216d565 Batch 3 : commandes !agentON/OFF, mode veille, rapports journaliers
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>
2026-03-08 15:41:54 +00:00
sylvain a95cb0127a Batch 1 : configs plages horaires + blackout + check disponibilité dans delegate
- config/blackout_hours.json : plage maintenance nuit (02:00-05:00)
- config/reports_schedule.json : horaires sollicitation rapports par agent
- config/tasks_schedule.json : tâches planifiées (vide pour l'instant)
- agents_registry.json : ajout work_hours par agent
- delegate.py : vérification blackout + work_hours avant délégation

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-08 15:28:24 +00:00
sylvain 144f481320 Rapports et gestion des erreurs
- skills/reporting.py : REPORT: / REPORT_ERRORS: avec historique SQLite
- skills/delegate.py : log des exécutions + détection erreurs + notification MQTT
- skills/schedule_tasks.py : log des tâches planifiées
- agent1.py : abonnement agents/errors + agents/scheduler/notifications → alerte XMPP
- cli.py : commandes /report et /errors
- system_prompt.txt : REPORT: et REPORT_ERRORS: ajoutés

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 13:20:32 +00:00
sylvain 305999d8bf Orchestration complète : planning, scheduling, CLI
- agent1.py : listener MQTT (agents/agent1/inbox), MAX_STEPS 10
- skills/plan.py : exécution séquentielle PLAN: avec contexte entre étapes
- skills/schedule_tasks.py : SCHEDULE: / PLAN_LIST: / PLAN_CANCEL: via APScheduler
- cli.py : interface CLI rich (MQTT, multi-agents, /plans, /agent)
- system_prompt.txt : mis à jour avec tous les nouveaux skills

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-07 13:13:42 +00:00
sylvain 3dfd621582 Orchestration : skill DELEGATE + registre agents + system prompt chef d'orchestre 2026-03-07 12:32:16 +00:00
sylvain 3ab9ecc155 Ajouter skill MQTT (publish/subscribe) + paramètres broker dans config 2026-03-07 11:02:50 +00:00
sylvain 30f3d00bec Ajouter skill prompt_memory (ChromaDB Phase 1) + loader générique multi-triggers 2026-03-07 10:56:53 +00:00
sylvain a8727654af Initial commit : agent XMPP avec système de skills
- agent1.py : bot XMPP connecté à Ollama avec boucle agentique
- skills/web_search.py : recherche DuckDuckGo (ddgs)
- skills/web_read.py : lecture et extraction de pages web
- skills/memory.py : mémoire persistante SQLite (REMEMBER/RECALL)
- skills/loader.py : chargement dynamique des skills
2026-03-07 10:32:33 +00:00