docs: enrichissement TODO avec suggestions
This commit is contained in:
@@ -21,6 +21,11 @@
|
|||||||
| Topics MQTT structurés : inbox, status, capabilities, broadcast | [x] |
|
| Topics MQTT structurés : inbox, status, capabilities, broadcast | [x] |
|
||||||
| LWT (Last Will Testament) MQTT → statut offline automatique | [x] |
|
| LWT (Last Will Testament) MQTT → statut offline automatique | [x] |
|
||||||
| Reconnexion automatique MQTT | [x] |
|
| Reconnexion automatique MQTT | [x] |
|
||||||
|
| Reconnexion automatique XMPP (backoff exponentiel) | [x] |
|
||||||
|
| Dispatch XMPP handler en thread (évite blocage asyncio) | [x] |
|
||||||
|
| Protection contre appels LLM concurrents (`_llm_lock`) | [x] |
|
||||||
|
| Switch LLM global via MQTT retained (`/llm local/cloud`) | [x] |
|
||||||
|
| Reset historique LLM automatique lors d'un switch | [x] |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -38,8 +43,15 @@
|
|||||||
| Délégation directe `@agent message` | [x] |
|
| Délégation directe `@agent message` | [x] |
|
||||||
| Broadcast `@all message` | [x] |
|
| Broadcast `@all message` | [x] |
|
||||||
| Mise à jour agent `/update <agent>` (envoi MQTT) | [x] |
|
| Mise à jour agent `/update <agent>` (envoi MQTT) | [x] |
|
||||||
|
| Commandes `/llm`, `/llm local/cloud`, `/llm list`, `/llm set` | [x] |
|
||||||
|
| Réponses nexus dans le MUC quand commande vient du MUC | [x] |
|
||||||
|
| Routage LLM dynamique (capacités agents injectées automatiquement) | [x] |
|
||||||
| **Vérification `work_hours` avant délégation** (delegate skill) | [ ] |
|
| **Vérification `work_hours` avant délégation** (delegate skill) | [ ] |
|
||||||
| **Blackout global** (plage horaire où aucune tâche n'est envoyée) | [ ] |
|
| **Blackout global** (plage horaire où aucune tâche n'est envoyée) | [ ] |
|
||||||
|
| **Commandes `/claude` et `/mammouth`** (appels one-shot API externes) | [ ] |
|
||||||
|
| **Skill `notify`** — envoyer une notification proactive à l'utilisateur | [ ] |
|
||||||
|
| **Historique des conversations** (persistance SQLite, `/history`) | [ ] |
|
||||||
|
| **Confirmation avant exécution** pour les actions destructives | [ ] |
|
||||||
| Commande `/status` détaillée (uptime, nb tâches, LLM actif…) | [~] |
|
| Commande `/status` détaillée (uptime, nb tâches, LLM actif…) | [~] |
|
||||||
| Skill `web_search` (DuckDuckGo) | [x] |
|
| Skill `web_search` (DuckDuckGo) | [x] |
|
||||||
| Skill `web_read` (BeautifulSoup) | [x] |
|
| Skill `web_read` (BeautifulSoup) | [x] |
|
||||||
@@ -59,7 +71,10 @@
|
|||||||
| Skill `shell` (commandes arbitraires) | [x] |
|
| Skill `shell` (commandes arbitraires) | [x] |
|
||||||
| Monitoring proactif disque (>85%) → alerte MQTT | [x] |
|
| Monitoring proactif disque (>85%) → alerte MQTT | [x] |
|
||||||
| Monitoring proactif RAM (>90%) → alerte MQTT | [x] |
|
| Monitoring proactif RAM (>90%) → alerte MQTT | [x] |
|
||||||
| **Venv + service systemd installés et testés** | [ ] |
|
| **Seuils de monitoring configurables** dans config.json | [ ] |
|
||||||
|
| **Skill `backup`** — sauvegarde fichiers/bases vers destination | [ ] |
|
||||||
|
| **Skill `firewall`** — gestion ufw/iptables | [ ] |
|
||||||
|
| **Skill `logwatch`** — analyse automatique des logs suspects | [ ] |
|
||||||
| **Tests end-to-end des skills depuis Nexus** | [ ] |
|
| **Tests end-to-end des skills depuis Nexus** | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -74,6 +89,8 @@
|
|||||||
| Skill `galaxy` | [x] |
|
| Skill `galaxy` | [x] |
|
||||||
| Skill `vault` | [x] |
|
| Skill `vault` | [x] |
|
||||||
| `ansible.cfg` optimisé (pipelining, fact cache, 10 forks) | [x] |
|
| `ansible.cfg` optimisé (pipelining, fact cache, 10 forks) | [x] |
|
||||||
|
| **Résultats long playbook** envoyés en streaming MQTT | [ ] |
|
||||||
|
| **Skill `template`** — générer des fichiers de config depuis Jinja2 | [ ] |
|
||||||
| **Venv + service systemd installés et testés** | [ ] |
|
| **Venv + service systemd installés et testés** | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -87,8 +104,9 @@
|
|||||||
| Skill `deploy` avec progress MQTT temps réel | [x] |
|
| Skill `deploy` avec progress MQTT temps réel | [x] |
|
||||||
| Skill `ssh` (commande distante + SCP) | [x] |
|
| Skill `ssh` (commande distante + SCP) | [x] |
|
||||||
| Skill `catalog` (list/show/add/remove) | [x] |
|
| Skill `catalog` (list/show/add/remove) | [x] |
|
||||||
| **Venv + service systemd installés et testés** | [ ] |
|
|
||||||
| **Déployer agent_debian sur machine distante (test réel)** | [ ] |
|
| **Déployer agent_debian sur machine distante (test réel)** | [ ] |
|
||||||
|
| **Vérification post-déploiement** (agent en ligne sur MQTT ?) | [ ] |
|
||||||
|
| **Rollback automatique** si déploiement échoue | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -104,7 +122,23 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 7. Sécurité / chiffrement
|
## 7. LLM — améliorations
|
||||||
|
|
||||||
|
| Item | État |
|
||||||
|
|------|------|
|
||||||
|
| Timeout LLM configurable (300s par défaut) | [x] |
|
||||||
|
| Switch global local/cloud via `/llm` | [x] |
|
||||||
|
| Profils `llm_profiles` par agent | [x] |
|
||||||
|
| **Commandes `/claude` et `/mammouth`** (one-shot API externes) | [ ] |
|
||||||
|
| **Support multi-backends** dans `llm_client.py` (Anthropic, OpenAI) | [ ] |
|
||||||
|
| **Désactiver le thinking mode** de qwen3 (`/no_think`) | [ ] |
|
||||||
|
| **Timeout par étape** dans `_llm_loop` (pas seulement global) | [ ] |
|
||||||
|
| **Limiter `max_steps`** configurable selon l'agent | [ ] |
|
||||||
|
| **Streaming des réponses LLM** vers XMPP (réponse progressive) | [ ] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Sécurité / chiffrement
|
||||||
|
|
||||||
| Item | État |
|
| Item | État |
|
||||||
|------|------|
|
|------|------|
|
||||||
@@ -114,10 +148,39 @@
|
|||||||
| **OpenPGP alternative** (si OMEMO trop complexe) | [ ] |
|
| **OpenPGP alternative** (si OMEMO trop complexe) | [ ] |
|
||||||
| Authentification MQTT (username/password) | [~] |
|
| Authentification MQTT (username/password) | [~] |
|
||||||
| TLS MQTT | [~] |
|
| TLS MQTT | [~] |
|
||||||
|
| **Rotation des mots de passe** XMPP via commande | [ ] |
|
||||||
|
| **Rate limiting** — limiter le nombre de requêtes par minute | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 8. Script d'installation (`install.sh`)
|
## 9. Observabilité / monitoring
|
||||||
|
|
||||||
|
| Item | État |
|
||||||
|
|------|------|
|
||||||
|
| Logs systemd par agent | [x] |
|
||||||
|
| Statut online/offline temps réel (MQTT retained) | [x] |
|
||||||
|
| **Dashboard web simple** — statut de tous les agents en temps réel | [ ] |
|
||||||
|
| **Métriques** — nb tâches/jour, temps moyen, taux d'erreur | [ ] |
|
||||||
|
| **Alertes** — notifier si un agent est offline depuis X minutes | [ ] |
|
||||||
|
| **Agrégation des logs** vers un topic MQTT centralisé | [ ] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Nouveaux agents (idées)
|
||||||
|
|
||||||
|
| Agent | Rôle | État |
|
||||||
|
|-------|------|------|
|
||||||
|
| `agent_claude` | LLM Anthropic — tâches complexes, raisonnement | [ ] |
|
||||||
|
| `agent_mammouth` | LLM Mammouth AI — alternative FR | [ ] |
|
||||||
|
| `agent_docker` | Gestion Docker avancée (compose, registry, build) | [ ] |
|
||||||
|
| `agent_git` | Gestion dépôts Git, PR, issues Gitea/GitHub | [ ] |
|
||||||
|
| `agent_monitor` | Supervision réseau (ping, ports, services) | [ ] |
|
||||||
|
| `agent_mail` | Envoi/lecture emails, notifications | [ ] |
|
||||||
|
| `agent_homeassistant` | Domotique via HA API | [ ] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Script d'installation (`install.sh`)
|
||||||
|
|
||||||
| Item | État |
|
| Item | État |
|
||||||
|------|------|
|
|------|------|
|
||||||
@@ -129,15 +192,18 @@
|
|||||||
| Mode `--update` et `--uninstall` | [x] |
|
| Mode `--update` et `--uninstall` | [x] |
|
||||||
| **Test complet end-to-end de install.sh** | [ ] |
|
| **Test complet end-to-end de install.sh** | [ ] |
|
||||||
| **Documenter les prérequis (compte XMPP, Ollama…)** | [ ] |
|
| **Documenter les prérequis (compte XMPP, Ollama…)** | [ ] |
|
||||||
|
| **Ajout `llm_profiles` automatique dans install.sh** | [ ] |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 9. Ordre de priorité suggéré
|
## 12. Ordre de priorité suggéré
|
||||||
|
|
||||||
1. **Implémenter `/update` dans BaseAgent** (git pull + restart) — fonctionnalité clé
|
1. **Implémenter `/update` dans BaseAgent** — git pull + restart (fonctionnalité clé)
|
||||||
2. **Installer et tester agent_debian** sur cette machine
|
2. **Persistance `/admins add`** — réécriture config.json
|
||||||
3. **Persistance des admins** (réécriture config.json à chaud)
|
3. **Vérification `work_hours` dans delegate.py**
|
||||||
4. **Vérification `work_hours` dans delegate.py**
|
4. **Seuils monitoring configurables** dans agent_debian
|
||||||
5. **Test install.sh complet** sur machine vierge
|
5. **Test install.sh complet** sur machine vierge
|
||||||
6. **OMEMO** (si slixmpp-omemo disponible)
|
6. **Commandes `/claude` et `/mammouth`** (quand clés API dispo)
|
||||||
7. **Blackout global** dans Nexus
|
7. **Support multi-backends LLM** dans llm_client.py
|
||||||
|
8. **Dashboard web** statut agents
|
||||||
|
9. **OMEMO** chiffrement XMPP
|
||||||
|
|||||||
Reference in New Issue
Block a user