Commit Graph

20 Commits

Author SHA1 Message Date
sylvain ab6cc4791a docs: update README with script scheduling, LLM coordinator, OMEMO
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 19:54:19 +00:00
sylvain dc7f395aa8 feat: script scheduling, execution notifications, LLM coordinator
- Add /script command (run/schedule/unschedule/schedules/list)
- Add scheduler.add_script_job() with 'once HH:MM' one-shot support
- Subscribe to agents/scripts/execution and notify admins via XMPP
- Integrate LLMCoordinator (local acquire/release for Nexus)
- Update /help with script commands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 19:48:59 +00:00
sylvain 9a9d85324f feat: add script library skill to all agents
Generic script.py skill (list/show/save/exec/run/delete) with dynamic
scripts dir derived from queue_db path or config scripts_dir key.
Each agent gets its own /opt/<agent>/scripts/ folder.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 19:38:14 +00:00
sylvain 6be209034c feat: start LLMCoordinator in Nexus, add /queue command
- on_start: instantiate LLMCoordinator from llm_coordinator config
- Override _llm_slot_acquire/release to use local coordinator (no MQTT loop)
- /queue: show coordinator status + agent task queue summary
- Import time (missing)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 19:32:43 +00:00
sylvain 77684fd43d feat: /update returns real result, supports /update all and /update nexus
- /update <agent>: sends COMMAND with reply_to, waits 30s for response
- /update nexus: updates nexus itself via _do_self_update()
- /update all: updates all known agents + nexus last

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 19:19:22 +00:00
sylvain 67256f83ae fix(delegate): make delegation synchronous — wait for agent reply
Previously delegate returned immediately after sending the task, causing
the agent's result to be lost. Now subscribes to a results topic and
waits up to 120s for the actual response before returning it to Nexus LLM.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 14:30:32 +00:00
sylvain c780b77169 docs: ajustements TODO (thinking mode supprimé, alertes offline paramétrable) 2026-03-09 18:32:38 +00:00
sylvain fcf1633cd1 docs: enrichissement TODO avec suggestions 2026-03-09 18:30:15 +00:00
sylvain 3478bd637f fix: _llm_lock dans nexus pour éviter les appels LLM concurrents
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 18:02:26 +00:00
sylvain 46367679be fix: nexus répond dans le MUC quand message vient du MUC
Remplace send_message(sender) par _xmpp_reply(sender, body, is_muc)
pour que les réponses aux commandes MUC arrivent dans la room
et pas en chat privé vers un JID de participant.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 17:55:15 +00:00
sylvain 21e2e3d92c docs: ajout README.md 2026-03-09 17:47:51 +00:00
sylvain 8626161883 feat: commande /llm — switch LLM global local/cloud
- /llm : statut actuel + profils configurés
- /llm local|cloud : switch tous les agents
- /llm list : liste les modèles Ollama (local vs cloud)
- /llm set local|cloud <model> : définit un profil et l'active
- Broadcast via MQTT retained agents/llm/switch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 17:35:31 +00:00
sylvain 57fe04a6f8 debug: log incoming XMPP messages at INFO level
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 16:46:11 +00:00
sylvain 70ecb33d31 Make system prompt fully dynamic — no hardcoded agent names
LLM now routes based on agent self-declarations (description + skills)
injected at runtime. Adding a new agent automatically makes it
available to Nexus without any manual update.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 14:53:45 +00:00
sylvain 709e6973bf Improve system prompt routing rules to prevent wrong agent delegation
Add explicit routing table: apt/update/system tasks → debian.local,
deploy agent reserved for deploying new agents only. Prevents LLM
from routing 'apt update' or 'mettre à jour' to the deploy agent.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 14:48:25 +00:00
sylvain 197abc75cc Add agents_status skill and status change notifications
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 13:12:34 +00:00
sylvain 451197cc31 Add mqtt_subscribe and muc_send skills
- mqtt_subscribe: dynamically subscribe/unsubscribe to any MQTT topic,
  received messages are forwarded to XMPP admins
- muc_send: post a message to the XMPP MUC group (agents@muc.xmpp.ovh)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:38:56 +00:00
sylvain 3625a0af08 Add TODO.md and BUGS.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 12:21:59 +00:00
sylvain cd8077c006 Remove sys.path.insert('/opt') — agents_core now installed via pip
The editable install path finder was being shadowed by the /opt
namespace package lookup. Removing the manual path insert fixes the
ImportError: cannot import name 'BaseAgent' from 'agents_core'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 10:28:38 +00:00
sylvain 6cd701d673 Initial commit — nexus v2.0 2026-03-09 09:01:33 +00:00