# đŸ—ș ROADMAP agent-manager — vers le « super outil » > **Version du document : 3.1** · Statut : phases 0 Ă  3 livrĂ©es > (v0.3.0 → v1.0.1), maintenance v1.0.2 → v1.1.5 > > 🧭 **Bilan du 2026-08-23** : tout le pĂ©rimĂštre versionnĂ© (J0 → J3, v0.7.0, > Ă©pique v1.1.0) est livrĂ© — **0 issue ouverte** sur Gitea. Il reste : > **1 bug prioritaire** (hang de `cargo test` / `am doctor`, §15.4), > 3 fonctionnalitĂ©s P1 jamais dĂ©coupĂ©es en issues (§15.2), des activitĂ©s de > release (§15.3) et des idĂ©es neuves proposĂ©es (§16). > Base : analyse du code **v0.2.7** (Rust, 45+ tests, zĂ©ro dĂ©pendance runtime) > > ✅ **Phase 0 livrĂ©e en v0.3.0 (2026-08-17)** : issues #2 Ă  #16 clĂŽturĂ©es, > 157 tests, release publiĂ©e sur Gitea. Les dĂ©coupages des phases 1 Ă  3 sont > en place sur Gitea (issues #25 Ă  #80) : v0.4.0, v0.5.0, v1.0. > > ✅ **Phase 1 livrĂ©e en v0.4.1 (2026-08-17)** : 17/17 issues clĂŽturĂ©es > (#26–#42), 240+ tests. v0.4.0 a livrĂ© 13/17 (#26–#32, #34–#38) ; v0.4.1 > complĂšte avec le dashboard TUI (#33), les favoris/notes/tags (#39), les > profils d'environnement (#40), les complĂ©tions dynamiques + man pages > (#41) et le packaging officiel + CI (#42). Binaires Windows/Linux publiĂ©s > sur Gitea — am self-update et les installateurs servent la v0.4.1. > > ✅ **Phase 2 livrĂ©e en v0.6.0 (2026-08-19)** : 28/28 issues clĂŽturĂ©es > (#47–#75), 250+ tests. am web, i18n, services, schedule, lab, sync, > migrate, models, plugins d'Ă©vĂ©nements
 Binaires publiĂ©s sur Gitea. > > ✅ **Phase v0.7.0 livrĂ©e (2026-08-19)** : 5/5 issues clĂŽturĂ©es (#88–#92) — > registre de providers LLM (am providers), secrets partagĂ©s par provider, > flags --provider/--model/--no-config Ă  l'install, configuration > post-install (bloc config:). > > ✅ **Phase 3 livrĂ©e en v1.0.0 (2026-08-20)** : 5/5 issues clĂŽturĂ©es > (#76–#80) — tĂ©lĂ©mĂ©trie opt-in, am registry, am ask, profils sandbox, > am serve (API HTTP + WebSocket). v1.0.1 : self-update dĂ©compresse les > archives, prompt REPL avec shell actif. > > 🔧 **Maintenance v1.0.3 (2026-08-20)** : commandes REPL ask/serve/registry > routĂ©es vers am (v1.0.2) ; dĂ©tection externe corrigĂ©e — champ `detect` > (sonde PATH explicite) pour les lanceurs interprĂ©teurs (npx/python), > plus de faux « external » ; docs alignĂ©es. > > 🔧 **Maintenance v1.0.4 (2026-08-20)** : catalogue enrichi — 5 agents > **shell-ai** ajoutĂ©s (issues #94 #95) : AIChat (alias `ai`, binaire GitHub > Release), ShellGPT (pip), Fabric (go), Shell AI (npm/Ollama), AI CLI > (binaire, politique de sĂ©curitĂ© risk/certainty). Catalogue : 77 agents. > > 🔧 **Maintenance v1.0.5 (2026-08-20)** : **commande `am ai` livrĂ©e** > (issues #96 #97) — langage naturel → action shell via AIChat : mode > conversationnel (aichat -f ), mode --exec avec pipeline de sĂ©curitĂ© > (gĂ©nĂ©ration aichat --dry-run, classification safe/risky + certainitĂ©, > politique dry-run par dĂ©faut configurable settings.shell_ai, confirmation > y/N pour les commandes risky, exĂ©cution via le shell de l'utilisateur), > flags --files/--provider/--model/--yes, alias CLI `am shell`, Ă©vĂ©nements > `shell_ai` journalisĂ©s. Épique Axe 13 (#93) clĂŽturĂ©e. > > 🔧 **Maintenance v1.0.6 (2026-08-20)** : installateur Windows corrigĂ© — > `install.ps1` n'acceptait que l'entrĂ©e `am.exe` dans l'archive de release > (la CI et les archives manuelles utilisent `am-windows-x86_64.exe`) → > repli systĂ©matique sur `cargo install` au lieu du binaire prĂ©compilĂ©. > Le script accepte dĂ©sormais les deux noms ; archives v1.0.6 publiĂ©es avec > les deux entrĂ©es pour la compatibilitĂ© maximale. Chemin du message > cargo install corrigĂ© (`.cargo\bin\am.exe`). > > 🚀 **Épique v1.1.0 (2026-08-20)** : **Onboarding, Copilot & RĂŽles aichat** > (Axe 14) — `am setup` (wizard provider + token keyring + modĂšle + ping), > installation automatique d'aichat (wizard + `am ai` + installateurs), > 6 rĂŽles copilot gĂ©nĂ©rĂ©s pour aichat (am-copilot, am-operator, am-dev, > am-do, am-analyst, am-orchestrator), `am ai --role `, tip > d'onboarding dans le banner REPL et les commandes IA (non-bloquant). > > 🔧 **Maintenance v1.1.1 (2026-08-20)** : fix `am setup` — le wizard Ă©crivait > `providers.` au TOP-LEVEL de la config user (clĂ© rejetĂ©e par le > validateur : « unknown field `providers` »). Le registre vivant sous > `settings.providers`, le wizard Ă©crit dĂ©sormais > `settings.providers..base_url` + `.default_model` (le schĂ©ma exige > base_url quand un bloc provider est Ă©crit). Test de rĂ©gression > `setup_persists_under_settings_providers`. > > 🔧 **Maintenance v1.1.2 (2026-08-20)** : > - `am setup` : **openrouter** ajoutĂ© au choix des providers (base URL, > token via OPENROUTER_API_KEY, 6 modĂšles dĂ©clarĂ©s proposĂ©s) ; > le choix du modĂšle liste les modĂšles disponibles du provider. > - `am ai` sans `--role` utilise **am-copilot par dĂ©faut** (rĂ©gĂ©nĂ©ration > automatique des rĂŽles si le fichier manque, dĂ©gradation douce). > - Bug `am migrate --import` : la config importĂ©e Ă©tait Ă©crite dans le > rĂ©pertoire config GLOBAL (user_config_dir) au lieu du config actif de > l'app — l'import Ă©crasait la config rĂ©elle de la machine (et la suite > de tests dĂ©truisait la config utilisateur Ă  chaque `cargo test`). > L'import respecte dĂ©sormais `app.paths.config_dir` (--config/isolated). > > 🔧 **Maintenance v1.1.3 (2026-08-21)** : fix `resolve_exec` — pour un > agent INSTALLÉ avec un binaire enregistrĂ©, le premier token de `run:` > (ex. `picoclaw`) n'Ă©tait jamais consommĂ© : `am start ` lançait > ` ` (picoclaw rejetait son propre nom comme > sous-commande inconnue ; aichat recevait « aichat » comme prompt > one-shot). Le token est dĂ©sormais consommĂ© dans la branche « binaire > enregistrĂ© existant » (les branches non-installĂ©/binaire manquant > Ă©taient dĂ©jĂ  correctes). Test de rĂ©gression > `resolve_exec_installed_agent_does_not_leak_run_token`. > > 🔧 **Maintenance v1.1.4 (2026-08-21)** : hints de configuration > post-install — nouveau champ `setup_hints` dans la dĂ©finition d'un agent > (config.yaml) : commandes de configuration manuelle affichĂ©es aprĂšs > l'install quand l'agent gĂšre sa propre config (ex. picoclaw > onboard/model/auth), avec substitution des placeholders `{model}`, > `{provider}` et `{base_url}` depuis le provider rĂ©solu. picoclaw est le > premier agent du catalogue Ă  les dĂ©clarer. > > 🔧 **Maintenance v1.1.5 (2026-08-21)** : fix `am ai` / rĂŽles copilot avec > aichat ≄ 0.30 — aichat a changĂ© son format d'agents (le markdown > `agents/.md` ≀ 0.29 est remplacĂ© par une dĂ©finition > `functions/agents//index.yaml` + un registre `functions/agents.txt`). > `am setup` / `am setup --roles` Ă©crivent dĂ©sormais LES DEUX formats > (compatibilitĂ© totale) et `am ai` dĂ©tecte la dĂ©finition nouvelle gĂ©nĂ©ration > en premier (« Unknown agent `am-copilot` » corrigĂ©). Bonus : le contexte > par dĂ©faut (dossier courant) est filtrĂ© par am (`.git`, `target`, > `node_modules`
, binaires non-UTF-8, `.env*`, > 64 KiB, budget 128 KiB) > — aichat ne filtre rien et Ă©choue sur `.git/index`. GĂ©nĂ©ration `--exec` : > `--code` au lieu de `--execute --dry-run` (aichat ≄ 0.30 : `--dry-run` > n'appelle plus l'API, il Ă©cho la requĂȘte). > > 🔧 **Maintenance v1.1.6 (2026-08-24)** : correctifs de robustesse — > timeout de 30 s sur les commandes capturĂ©es (doctor/runner ne pendent plus > si un agent ne rĂ©pond pas, pipes vidĂ©s dans des threads pour Ă©viter les > deadlocks), `is_running` Windows via l'API Win32 (OpenProcess / > GetExitCodeProcess, plus fiable que tasklist), rejet des chemins unsafe > (path traversal) dans `am migrate --import`, frames WebSocket RFC 6455 > avec vraies longueurs > 125 octets, boucle de traduction i18n de la page > web corrigĂ©e (plus de boucle infinie), index du trousseau (keyring) > sĂ©rialisĂ© en JSON (clĂ©s contenant des virgules). --- ## 📖 Sommaire 1. [RĂ©sumĂ© exĂ©cutif](#1--rĂ©sumĂ©-exĂ©cutif) 2. [LĂ©gende de lecture](#2--lĂ©gende-de-lecture) 3. [Quick wins — valeur immĂ©diate](#3--quick-wins--valeur-immĂ©diate) 4. [État des lieux](#4--Ă©tat-des-lieux) 5. [Vision & principes](#5--vision--principes) 6. [Socle technique : le modĂšle de donnĂ©es](#6--socle-technique--le-modĂšle-de-donnĂ©es) 7. [Les 12 axes](#7--les-12-axes) 8. [Jalons versionnĂ©s](#8--jalons-versionnĂ©s) 9. [Indicateurs de succĂšs (KPI)](#9--indicateurs-de-succĂšs-kpi) 10. [Risques & garde-fous](#10--risques--garde-fous) 11. [Par oĂč commencer](#11--par-oĂč-commencer) 12. [Bilan & reste Ă  faire (2026-08-23)](#15--bilan--reste-Ă -faire-analyse-du-2026-08-23) 13. [IdĂ©es neuves (post-v1.1.5)](#16--idĂ©es-neuves-post-v115) --- ## 1. 📌 RĂ©sumĂ© exĂ©cutif **am** est aujourd'hui un excellent *gestionnaire* d'agents : 77 agents au catalogue, 9 mĂ©thodes d'installation, dĂ©pendances rĂ©solues automatiquement, processus pilotĂ©s, REPL avec passerelle shell, sauvegarde export/import. Mais il est **aveugle** : il ne retient ni ce qui a Ă©tĂ© fait, ni quand, ni par quel agent, ni dans quel projet, ni avec quel rĂ©sultat. Les logs sont du texte libre non interrogeable, l'Ă©tat ne contient que les installations et le PID courant, l'historique est un simple fichier plat. Cette roadmap transforme **am** en **cockpit de votre parc d'agents IA** : | RĂŽle | Promesse | PortĂ© par | |---|---|---| | 📓 Journal de bord | tout est tracĂ©, rien ne se perd | Axe 1 (journal d'Ă©vĂ©nements) | | 🔎 RĂ©troviseur | tout est cherchable en 2 secondes | Axes 2, 3, 4 | | 📊 Tableau de bord | tout est mesurĂ© | Axes 1, 5, 9 | | đŸ€– Copilote | il pilote Ă  votre place | Axes 6, 7 | **Chiffres clĂ©s :** 12 axes · ~55 fonctionnalitĂ©s · 4 jalons (v0.3.0 → v1.0) · ~15 semaines de travail cumulĂ© · 0 dĂ©pendance runtime ajoutĂ©e. --- ## 2. 📚 LĂ©gende de lecture | Symbole | Signification | |---|---| | **P0** | Fondations — Ă  dĂ©marrer tout de suite (socle des autres axes) | | **P1** | Court terme — aprĂšs la phase 0 | | **P2** | Moyen terme | | **P3** | Vision — long terme | | ⭐ | Reprend une demande explicite de l'utilisateur | | **S** | Effort : moins d'1 jour | | **M** | Effort : 2 Ă  4 jours | | **L** | Effort : 1 Ă  2 semaines | | **XL** | Effort : plus de 2 semaines | | ⬜ / 🔹 / ✅ | ProposĂ© / En cours / LivrĂ© (rien n'est commencĂ© aujourd'hui) | --- ## 3. ⚡ Quick wins — valeur immĂ©diate *Tous en effort S, phase P0, sans dĂ©pendance sur le socle. Livrables en quelques jours, Ă  caler avant ou pendant la construction du journal.* | FonctionnalitĂ© | Commande | Apport | |---|---|---| | Voir les logs d'un agent | am logs claude-code (--follow) | tail des logs dĂ©jĂ  Ă©crits par process.rs | | Filtres sur la liste | am list --running · --sort name,version,status | repĂ©rage instantanĂ© | | Éditer la config sans Ă©diteur | am config set key value | moins de friction YAML | | Alias Ă  la volĂ©e | am alias add cc claude-code | sans Ă©diter le fichier | | Historique propre | dĂ©dup + horodatage de history.txt | base saine pour l'axe 2 | | Doctor scriptable | am doctor --json | CI et monitoring | | Ouvrir l'installation | am open claude-code | explorer le rĂ©pertoire de l'agent | | Version scriptable | am version --json | introspection des scripts | --- ## 4. 🧭 État des lieux (points d'ancrage dans le code) | Brique actuelle | Fichier | Limite aujourd'hui | |---|---|---| | Catalogue 77 agents, alias, groupes | src/catalog.rs, config.yaml | recherche = sous-chaĂźne stricte, pas de ranking | | Installation (9 mĂ©thodes), dĂ©pendances OS | src/installers/, src/deps.rs, src/toolchain.rs | solide — rien Ă  redire | | État local | src/state.rs (state.json v1) | installations + PID courant uniquement, **aucun historique** | | DĂ©tection externe + cache | src/probe.rs | excellent pattern de cache — Ă  gĂ©nĂ©raliser | | Processus | src/process.rs | logs non structurĂ©s, pas de sessions, pas de mĂ©triques | | Journal applicatif | src/output.rs | texte libre horodatĂ©, non interrogeable | | REPL + passerelle shell | src/repl.rs (history.txt, session_id()) | historique plat, pas de recherche ni de stats | | Backup | src/commands/export_import.rs | manuel, pas de synchronisation | --- ## 5. 🎯 Vision & principes directeurs **Vision :** le cockpit unique du parc d'agents — journal de bord, rĂ©troviseur, tableau de bord et copilote. **Principes :** 1. **ZĂ©ro dĂ©pendance runtime** — tout est Rust pur et fichiers locaux (JSONL/JSON), jamais de base de donnĂ©es externe. 2. **Local par dĂ©faut, opt-in pour le distant** — la tĂ©lĂ©mĂ©trie n'existe que si l'utilisateur l'active ; tout le reste est 100 % local. 3. **Contrats stables** — les sorties --json sont la base des scripts et des futurs UI : champs ajoutĂ©s, jamais retirĂ©s. 4. **Performance** — Ă©criture en append (JSONL), lectures par fenĂȘtres temporelles, index dĂ©rivĂ©s rĂ©gĂ©nĂ©rables, caches sur le modĂšle de probe.rs. 5. **Livraison continue** — chaque phase produit un binaire utilisable et testĂ© ; la barre des 45+ tests monte Ă  chaque jalon. --- ## 6. đŸ§± Socle technique : le modĂšle de donnĂ©es *Tout dĂ©pend de ceci. À construire en premier, avant les commandes visibles.* state_dir/ state.json # v2 : + sessions_count, last_used (migration auto depuis v1) events.jsonl # NOUVEAU — journal d'Ă©vĂ©nements (source de vĂ©ritĂ©) events-202608.jsonl # rotation mensuelle sessions.json # NOUVEAU — registre des sessions (index dĂ©rivĂ©) history/ .jsonl # NOUVEAU — historique structurĂ© du REPL projects.json # NOUVEAU — agrĂ©gats par projet (recalculable) probe-cache.json # existant — pattern de cache Ă  suivre | Fichier | RĂŽle | AlimentĂ© par | Reconstruction | |---|---|---|---| | events.jsonl | faits bruts (start, stop, run, install
) | process.rs, run_cmd.rs, install_cmd.rs, repl.rs, doctor_cmd.rs | source de vĂ©ritĂ©, jamais reconstruit | | sessions.json | index des sessions | dĂ©rivĂ© du journal | doctor --fix (rejoue le journal) | | projects.json | agrĂ©gats par projet | dĂ©rivĂ© du journal | doctor --fix | | history/*.jsonl | commandes REPL | repl.rs | non (donnĂ©es primaires) | | state.json v3 | installations + rĂ©sumĂ© + annotations (★, notes, tags) | state.rs | partiellement (compteurs depuis le journal) | **RĂšgles :** JSONL append-only pour les faits · JSON dĂ©rivĂ©s rĂ©gĂ©nĂ©rables · migration additive (state v1 reste lisible partout) · doctor --fix rĂ©pare tout ce qui peut l'ĂȘtre. --- ## 7. đŸ—‚ïž Les 12 axes ### Axe 1 — 📊 ObservabilitĂ© & statistiques d'utilisation ⭐ 🎯 Savoir **quoi** a tournĂ©, **quand**, **combien de temps**, avec **quel taux de succĂšs** — et **combien ça coĂ»te**. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Journal d'Ă©vĂ©nements events.jsonl (toutes les actions de am) | M | P0 | | am stats + --period 7d/30d/90d + --json (tableaux et barres ASCII) | M | P0 | | am top — classement des agents par utilisation | S | P1 | | am log — filtres agent/type/date, --follow | S → M | P0 → P1 | | am report — rapport hebdo/mensuel en markdown (top agents, Ă©checs, changements) | M | P1 | | Suivi des coĂ»ts — tokens/€ par session quand l'agent expose son usage (Claude Code --output-format json, Codex
) ✅ #49 | M | P2 | | am monitor — TUI temps rĂ©el : CPU/mĂ©moire par PID, uptime, alertes ✅ #50 | L | P2 | | TĂ©lĂ©mĂ©trie anonyme **opt-in** (compteurs agrĂ©gĂ©s uniquement, jamais de chemins) | M | P3 | am stats # vue globale am stats claude-code --period 30d am top # qui tourne le plus am report --last-week # digest markdown ### Axe 2 — đŸ’Ÿ Historique des commandes ⭐ 🎯 GĂ©rer, **rechercher** et **rĂ©utiliser** tout ce qui a Ă©tĂ© tapĂ©. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Historique structurĂ© : history/.jsonl (cmd, kind am/shell, cwd, durĂ©e, exit, agent) + migration de history.txt | M | P0 | | am history — filtres --kind, --cwd, --search, --failed, --session | M | P0 | | Ctrl-R + !! + !install + !42 + ^old^new dans le REPL | M | P1 | | am history --rerun 42 (rĂ©exĂ©cution confirmĂ©e) | S | P1 | | Playbooks : am history 12..25 --save deploy.yaml puis am playbook deploy.yaml ✅ #51 | L | P2 | am history --search "install" --failed am history --rerun 42 ### Axe 3 — 🧭 Projets & workspaces ⭐ 🎯 Centraliser **quel agent travaille sur quel projet** — automatiquement. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Contexte auto au lancement : racine + branche git, stack dĂ©tectĂ©e (Cargo.toml, package.json
), mis en cache | S | P0 | | am projects / am projects api — agents, sessions, durĂ©es, derniĂšre activitĂ© | M | P1 | | Profils de projet dans config : default_agent, env, hooks | M | P1 | | am start (sans argument) = agent par dĂ©faut du dossier courant ; REPL contextuel | S | P1 | | am init — gĂ©nĂšre un agent-manager.yaml selon la stack dĂ©tectĂ©e | S → M | P0 | | Templates : am init --template web | M | P2 | am projects am projects api am init # dans un projet Node → config prĂ©-remplie ### Axe 4 — đŸ—‚ïž Sessions centralisĂ©es ⭐ 🎯 Un registre unique de **toutes les sessions de tous les agents** — consultable, reprenable, archivable. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | sessions.json + session_id() partagĂ© (repl.rs) ; fin de session avec exit code et durĂ©e | M | P0 | | RĂ©conciliation au dĂ©marrage : sessions interrompues (crash, reboot) marquĂ©es et datĂ©es | S | P0 | | am sessions — filtres agent/projet/statut ; show = rĂ©sumĂ© + extrait de log | M | P0 | | am timeline — vue chronologique unifiĂ©e de toute l'activitĂ© | M | P1 | | am sessions resume — relance avec les mĂȘmes args/env/cwd | M | P1 | | am sessions export + rĂ©tention configurable (settings.sessions_retention_days) | M | P2 | am sessions --status failed am sessions show 20260815_143926_a1b2c3 am timeline --project api ### Axe 5 — đŸ–„ïž Tableau de bord 🎯 Voir l'Ă©tat du parc d'un coup d'Ɠil. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | am dashboard — TUI (ratatui/crossterm) : vue d'ensemble, activitĂ© en direct, stats, sessions, projets | L | P1 | | am web — serveur local + API JSON + page HTML embarquĂ©e avec graphiques | XL | P2 | ### Axe 6 — đŸ€– Automatisation & orchestration 🎯 Laisser am **superviser et piloter seul** le parc. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Hooks on_install / on_start / on_stop / on_update (agent, projet, global) — via le runner existant | M | P0 | | am watch claude-code --restart-on-crash --notify | M | P1 | | Services : unitĂ©s systemd / plists launchd / tĂąches Windows, am service install claude-code --autostart ✅ #55 | L | P2 | | Planification : am schedule add update --all --at 06:30 + check santĂ© (cron / Task Scheduler) ✅ #56 | M | P2 | | Orchestration de groupes : ordre, --parallel, attente de santĂ© ✅ #57 | L | P2 | | Conteneurs : profil docker/podman par agent (isolation Ă  la demande) ✅ #58 | L | P2 | | am doctor --watch — vĂ©rifications pĂ©riodiques avec alertes ✅ #59 | M | P2 | ### Axe 7 — 🧠 Intelligence & catalogue 🎯 Trouver le bon agent, suivre leurs sorties, et comparer. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Recherche fuzzy dans am search (typos, scoring, « vouliez-vous dire ») | M | P1 | | ⬜ am compare a b — tableau cĂŽte Ă  cĂŽte (mĂ©thode, deps, catĂ©gorie, activitĂ©) — **non livrĂ©, sans issue** | S | P1 | | ⬜ am news — derniĂšres releases des agents installĂ©s (API GitHub/Gitea, cache) — **non livrĂ©, sans issue** | M | P1 | | Catalogue distant : am catalog update / am catalog add | M | P2 | | am suggest "un agent pour du Python" — tags + usage rĂ©el | M | P2 | | am lab — benchmark : mĂȘme tĂąche sur N agents, comparaison durĂ©e/rĂ©sultat/coĂ»t | L | P2 | | Registre communautaire : publier son catalogue (Gitea) + am registry | L | P3 | | am ask "installe claude et lance-le" — langage naturel → commande am (fournisseur LLM configurable, optionnel) | L | P3 | ### Axe 8 — 🔒 SĂ©curitĂ© & gouvernance 🎯 ProtĂ©ger les secrets, tracer les changements, pouvoir revenir en arriĂšre. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | am secret set OPENAI_KEY --agent claude-code (keyring OS) + injection --env automatique | M | P1 | | am audit — qui a modifiĂ© quoi quand (checksums des configs, Ă©vĂ©nements) | M | P2 | | am update --rollback — backup automatique avant chaque mise Ă  jour | M | P2 | | Politiques : pin de version, settings.update_policy | S | P2 | | Profils sandbox par agent (commandes/rĂ©pertoires autorisĂ©s) | L | P3 | ### Axe 9 — 🌐 Multi-machine & collaboration 🎯 Retrouver son cockpit partout, et le partager. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Synchronisation git automatique : settings.sync_repo, am sync, push Ă  la fermeture du REPL ✅ #66 | L | P2 | | Partage de catalogue d'Ă©quipe : include par URL | S | P2 | | am migrate — assistant de transfert machine A → B ✅ #68 | M | P2 | | am serve --token — API HTTP + WebSocket pour piloter Ă  distance | XL | P3 | ### Axe 10 — đŸ§© Confort & personnalisation 🎯 Adapter am Ă  sa façon de travailler. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Favoris : am favorite / am unfavorite + ⭐ dans am list | S | P1 | | Notes : am note claude-code "utiliser pour 
" | S | P1 | | Tags personnels : am tag claude-code python | S | P1 | | ⬜ Raccourcis de commandes : settings.shortcuts (i → install, s → start) — **non livrĂ©, sans issue** | S | P1 | | Profils d'environnement : am profile dev / prod (env + args + agent par profil) | M | P1 | | ThĂšmes couleurs du REPL | S | P2 | ### Axe 11 — đŸŽ›ïž ModĂšles locaux 🎯 Étendre le cockpit aux modĂšles : **ollama, llama.cpp, LM Studio**. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | am models — inventaire : nom, taille disque, quantisation, derniĂšre utilisation | M | P2 | | Lien agent ↔ modĂšle : am run mon-agent --model llama3.1 | M | P2 | | doctor vĂ©rifie ollama / llama-server comme n'importe quel outil | S | P2 | | am models prune — purge des modĂšles inutilisĂ©s | S | P2 | ### Axe 12 — đŸ› ïž ÉcosystĂšme & expĂ©rience dĂ©veloppeur 🎯 Rendre am disponible partout et contribuable. | FonctionnalitĂ© | Effort | Phase | |---|---|---| | Fixtures d'Ă©vĂ©nements rejouables + tests de bout en bout du journal | S | P0 | | Packaging officiel : winget, scoop, deb/rpm, Homebrew + CI de release | M | P1 | | ComplĂ©tions dynamiques (agents installĂ©s, groupes personnalisĂ©s) | S | P1 | | Man pages + documentation gĂ©nĂ©rĂ©e | S | P1 | | i18n : messages EN/FR | L | P2 | | Plugin scripts (hooks avancĂ©s, intĂ©gration CI) | M | P2 | --- ### Axe 13 — ⚡ Shell AI & Action ⭐ 🎯 Transformer une commande en langage naturel en une action shell exĂ©cutĂ©e par un agent lĂ©ger, rapide et contextuel, sans dĂ©marrer un gros coding agent. **Contexte :** `am` gĂšre aujourd'hui ~77 agents IA, principalement des *coding agents*, des assistants et des outils SaaS. Les shell assistants sont maintenant au catalogue (AIChat, ShellGPT, Fabric, Shell AI, AI CLI — v1.0.4) : lĂ©gers, rapides, conçus pour transformer une phrase en commande ou action sur le systĂšme de fichiers local (ex. *"traite les fichiers JSON du dossier courant pour extraire les clĂ©s uniques"*). --- #### 13.1 Agents shell AI dĂ©couverts (✅ tous ajoutĂ©s au catalogue — v1.0.4, issues #94 #95) | Outil | Repo | Langage | Force | MaturitĂ© | |---|---|---|---|---| | ✅ **AIChat** | `sigoden/aichat` | Rust | Shell assistant natif, RAG, agents, fichiers/rĂ©pertoires, 20+ providers | **10.4k stars**, trĂšs actif | | ✅ **ShellGPT** | `TheR1D/shell_gpt` | Python | GĂ©nĂšre/exĂ©cute commandes shell, code, docs | TrĂšs connu, mature | | ✅ **Fabric** | `danielmiessler/fabric` | Go | Patterns AI (summarize, extract wisdom), CLI | TrĂšs populaire, orientĂ© contenu/texte | | ✅ **Shell AI** | `nishant9083/shell-ai` | TypeScript | Agent ReAct local via Ollama, MCP, filesystem tools | Plus rĂ©cent, prometteur mais jeune | | ✅ **AI CLI** | `kriserickson/ai-cli` | Go | Natural language → commandes shell avec safety policy (`risk` / `certainty`) | Petit, simple, moins connu | --- #### 13.2 Recommandation : AIChat (`sigoden/aichat`) **Choix privilĂ©giĂ© pour la fonction Shell AI.** | Avantage | DĂ©tails | |---|---| | **LĂ©ger & rapide** | Rust, binaire unique, cold start rapide, idĂ©al pour RPi 4 | | **Shell Assistant natif** | GĂ©nĂšre et exĂ©cute des commandes shell Ă  partir du langage naturel | | **Multi-provider** | OpenAI, Claude, Gemini, DeepSeek, Groq, Ollama, OpenRouter
 | | **Passage de contexte** | `aichat -f .` injecte le dossier ou les fichiers dans le prompt | | **Mode exĂ©cution** | `aichat -e "..."` exĂ©cute directement, mode conversationnel sinon | | **FacilitĂ© d'intĂ©gration** | Release binaire GitHub, installable via `binary` dans le catalogue | Exemples d'usage ciblĂ©s : ```bash # Lister et traiter les fichiers JSON du dossier courant aichat -f . -e "liste tous les fichiers JSON et extrait les clĂ©s uniques" # RĂ©sumer un dossier de fichiers aichat -f . "rĂ©sume les donnĂ©es de ces fichiers JSON" ``` --- #### 13.3 FonctionnalitĂ©s prĂ©vues | FonctionnalitĂ© | Description | Effort | Phase | |---|---|---|---| | ✅ **Catalogue : ajouter AIChat** | DĂ©finition `AgentDef` + alias `ai` → `aichat` — livrĂ© en v1.0.4 (issues #94 #95) | S | P1 | | ✅ **Commande `am ai `** | Lancer AIChat avec le dossier courant comme contexte — livrĂ© en v1.0.5 (issue #96) | S | P3 | | ✅ **Flag `--exec` / `-e`** | Active le mode exĂ©cution directe (`aichat -e` via aichat --dry-run + exĂ©cution sĂ©curisĂ©e par am) — livrĂ© en v1.0.5 (issue #96) | S | P3 | | ✅ **Flag `--files `** | Passer fichiers/dossiers spĂ©cifiques en contexte — livrĂ© en v1.0.5 (issue #96) | S | P3 | | ✅ **SĂ©curitĂ© : `--dry-run` par dĂ©faut** | Simuler avant exĂ©cution ; classification safe/risky + confirmation — livrĂ© en v1.0.5 (issue #97, settings.shell_ai) | M | P3 | | ✅ **Provider configurable** | RĂ©utiliser le registre `providers.rs` (--provider/--model → env aichat + modĂšle) — livrĂ© en v1.0.5 (issue #96) | M | P3 | | ✅ **Alias intĂ©grĂ©s** | `am shell` comme synonyme CLI de `am ai` — livrĂ© en v1.0.5 (issue #96) | S | P3 | | **Extensions sƓurs** | `am summarize`, `am explain`, `am fix` (voir ci-dessous) | M | P3 | --- #### 13.4 Risques & garde-fous | Risque | Mitigation | |---|---| | ExĂ©cution automatique de commandes dangereuses | `--dry-run` par dĂ©faut, confirmation obligatoire avant toute commande `risky` | | CoĂ»t API rĂ©current | ModĂšle cheap par dĂ©faut (`gpt-4.1-mini`, `gemini-flash`) ou Ollama local | | Fuite de donnĂ©es sensibles | Support du mode local Ollama, pas d'envoi hors du provider configurĂ© | | Installation lente sur RPi | Utiliser l'installateur `binary` GitHub Releases plutĂŽt que `cargo` | --- #### 13.5 IdĂ©es sƓurs (Ă  intĂ©grer ou lier Ă  d'autres axes) | Commande | Description | Axe liĂ© | |---|---|---| | `am summarize ` | RĂ©sume un fichier ou un dossier via AIChat/Fabric | Axe 13 | | `am explain ` | Explique une commande shell avant exĂ©cution | Axe 13 | | `am commit` | GĂ©nĂšre un message de commit depuis `git diff` | Axe 13 / Axe 3 | | `am review` | Review rapide d'un diff ou d'une PR | Axe 7 | | `am translate --to en` | Traduit un fichier markdown/doc | Axe 13 | | `am ask-code "..."` | Pose une question sur le codebase sans lancer un gros agent | Axe 7 | | `am doc ` | GĂ©nĂšre un README/doc Ă  partir du code | Axe 13 / Axe 7 | | `am fix` | Corrige une commande shell qui a Ă©chouĂ© | Axe 13 | | `am note` | Extrait des action items d'un texte/rĂ©union | Axe 10 | | `am search-web "..."` | Recherche web rapide et rĂ©ponse synthĂ©tisĂ©e | Axe 7 | --- ## 14. 🚀 Onboarding & Copilot aichat (Ă©pique v1.1.0) > Objectif : rĂ©duire le **Time-To-First-Value Ă  0** — rendre `am` opĂ©rationnel > pour l'IA locale dĂšs la premiĂšre seconde, et faire d'aichat le copilot de > agent-manager. LivrĂ© en **v1.1.0 (2026-08-20)**. | FonctionnalitĂ© | Description | Statut | |---|---|---| | ✅ **Wizard d'onboarding (`am setup`)** | Provider (anthropic, openai, deepseek, google, ollama, custom), token masquĂ© → trousseau OS (keyring, jamais en clair), modĂšle par dĂ©faut, ping API non-bloquant. DĂ©clenchĂ© par `am ai`/`am ask`/banner REPL quand aucun provider n'est configurĂ© (message discret, jamais bloquant), rĂ©-exĂ©cutable Ă  la main (mode revoir) | ✅ v1.1.0 | | ✅ **Installation automatique d'aichat** | Étape du wizard « Installer le moteur IA (aichat) ? [Y/n] » → `am install aichat` (catalogue) ; `am ai` sans aichat propose l'installation ; install.ps1/install.sh enchaĂźnent sur `am setup` si stdin interactif | ✅ v1.1.0 | | ✅ **RĂŽles copilot aichat (am-*)** | 6 agents gĂ©nĂ©rĂ©s dans `~/.config/aichat/agents/` (ou %APPDATA%\\aichat\\agents) : am-copilot (guide & catalogue), am-operator (shell sĂ©curisĂ©), am-dev (code & git), am-do (exĂ©cution pure pour --exec), am-analyst (coĂ»ts/logs/stats), am-orchestrator (groupes/lab). Prompts bilingues (FR par dĂ©faut), privilĂ©gient les contrats `--json` | ✅ v1.1.0 | | ✅ **`am ai --role `** | RĂŽle copilot passĂ© Ă  aichat (`--agent`) ; validation du fichier gĂ©nĂ©rĂ© ; complĂ©tion REPL des rĂŽles am-* ; config aichat créée (provider + modĂšle) seulement si absente | ✅ v1.1.0 | | ✅ **Settings dĂ©diĂ©s** | `settings.shell_ai` (default_safety dry-run/confirm/auto, risky_patterns) documentĂ© dans config.yaml ; module `src/setup.rs` + `src/roles.rs` | ✅ v1.1.0 | --- ## 15. 🧭 Bilan & reste Ă  faire (analyse du 2026-08-23) > Analyse complĂšte du dĂ©pĂŽt le 2026-08-23 : code (v1.1.5, commit e637c06), > historique git, tracker Gitea, artefacts de release. ### 15.1 ✅ Ce qui est livrĂ© - **Tout le pĂ©rimĂštre versionnĂ©** : J0/v0.3.0, J1/v0.4.1, J2/v0.6.0, v0.7.0 (providers), J3/v1.0.0, Ă©pique v1.1.0 (onboarding/copilot) et les maintenances v1.0.1 → v1.1.5. - **0 issue ouverte** sur le tracker Gitea (issues #1 → #97 clĂŽturĂ©es). - `main` synchronisĂ© avec `origin/main` ; Cargo.toml/Cargo.lock en **v1.1.5** ; suite de tests : **455 tests passĂ©s, 0 Ă©chec** le 2026-08-23 (23 suites, hors `doctor_test` qui hang — §15.4). - VĂ©rifiĂ© prĂ©sent dans le code : favoris/notes/tags (#39), dashboard, monitor, web, serve, lab, sync, migrate, models, sandbox, registry, ask, ai, setup + rĂŽles copilot, self-update, services, schedule, i18n, packaging, complĂ©tions, man pages. ### 15.2 ⬜ FonctionnalitĂ©s du roadmap NON livrĂ©es (jamais dĂ©coupĂ©es en issues) | FonctionnalitĂ© | Axe | Effort | Constat dans le code | |---|---|---|---| | `am compare a b` — tableau cĂŽte Ă  cĂŽte | Axe 7 | S | aucune commande `Compare` dans `src/cli.rs` | | `am news` — derniĂšres releases des agents installĂ©s | Axe 7 | M | aucun module, 0 occurrence dans `src/` | | `settings.shortcuts` — raccourcis REPL (i → install
) | Axe 10 | S | 0 occurrence de `shortcuts` dans `src/` | | Extensions sƓurs Axe 13 (`am summarize`, `am explain`, `am fix`, 
) | Axe 13 | M | absentes — voir §13.5 et l'idĂ©e N10 (§16) | âžĄïž Suggestion : crĂ©er 3 issues Gitea (compare, news, shortcuts) en P1 — petits efforts Ă  forte valeur, seuls restes des jalons « cockpit ». ### 15.3 📩 ActivitĂ©s de release / opĂ©rations | ActivitĂ© | DĂ©tail | |---|---| | **Publier la release v1.1.5** | Le commit `e637c06` (fix aichat ≄ 0.30) est sur `main` **sans tag ni release Gitea** → installateurs et `am self-update` servent encore la v1.1.4. Taguer `v1.1.5` pour dĂ©clencher `.gitea/workflows/release.yml`. | | **ComplĂ©ter les assets v1.1.4** | La release v1.1.4 publiĂ©e ne contient **que** `am-windows-x86_64.zip` : binaires Linux (x86_64/aarch64) et macOS absents → les installateurs Linux/macOS retombent sur `cargo install --git`. | | **ArtĂ©facts `dist/` obsolĂštes** | Les archives de `dist/` datent de l'Ăšre v0.6.0 (2026-08-19) ; laisser la CI rĂ©gĂ©nĂ©rer celles de v1.1.5. | | **Stash obsolĂšte** | `stash@{0}` « WIP issue #39 : favoris, notes, tags » (2026-08-17 09:12) — la fonctionnalitĂ© a Ă©tĂ© livrĂ©e autrement dans v0.4.1 (champs prĂ©sents dans `src/state.rs`) ; Ă  purger (`git stash drop`) aprĂšs confirmation. | ### 15.4 🐛 Bug dĂ©couvert pendant l'analyse (2026-08-23) — Ă  corriger en prioritĂ© **`cargo test` se suspend** sur `doctor_test::report_contains_core_checks` sur cette machine (reproduit 3 fois, dont une exĂ©cution > 20 min), et le mĂȘme hang peut frapper l'utilisateur final via `am doctor`. - **Cause racine** : `SystemRunner::run` (`src/runner.rs`, branche `capture`) attend `Command::output()` **sans timeout** et sans protection contre l'hĂ©ritage des pipes. `am doctor` sonde les outils du PATH (`ollama ls`, `llama-server --version`, `git --version`
) ; quand le processus fils engendre un petit-enfant qui conserve les handles stdout/stderr (cas rĂ©el observĂ© : `conhost.exe` allouĂ© pour `ollama.exe ls` lancĂ© sans console), `output()` attend l'EOF des pipes **indĂ©finiment**. - **Reproduction** : `target\debug\deps\doctor_test-*.exe --nocapture report_contains_core_checks` → hang > 40 s avec enfants `ollama.exe ls` + `conhost.exe` sous le processus de test ; l'ancien binaire de test du 2026-08-21 passait en 2,2 s (dĂ©clenchement du conhost non dĂ©terministe). - **PĂ©rimĂštre touchĂ©** : tout ce qui passe par `SystemRunner::run` avec capture — `am doctor` donc, et les sondes d'installation. (`am models`, `am lab`, les plugins et la sonde externe utilisent dĂ©jĂ  `wait_timeout` et sont immunisĂ©s.) - **Correctif proposĂ©** : aligner `SystemRunner::run` sur le pattern dĂ©jĂ  Ă©prouvĂ© dans `src/models.rs` / `src/lab.rs` / `src/plugins.rs` : spawn + `wait_timeout` (30 s par dĂ©faut, `settings.probe_timeout_secs`) + drain des pipes avant l'attente + kill de l'arbre Ă  l'expiration — les commentaires de `lab.rs` et `plugins.rs` documentent exactement ce deadlock. À complĂ©ter par un test de rĂ©gression (faux binaire qui engendre un enfant garde-fou). - **Contournement immĂ©diat** : lancer les suites une Ă  une, sans `--test doctor_test`. --- ## 16. 💡 IdĂ©es neuves (post-v1.1.5) > AjoutĂ©es lors de l'analyse du 2026-08-23. Toutes ⬜ (proposĂ©es), non > planifiĂ©es. Respectent l'ADN du projet : zĂ©ro dĂ©pendance runtime, local > par dĂ©faut, contrats `--json` stables. | # | IdĂ©e | Description | Axe | Effort | Phase | |---|---|---|---|---|---| | N1 | ⬜ **`am mcp` — serveur MCP** | Exposer am comme serveur *Model Context Protocol* : les agents (Claude Code, Codex, aichat
) dĂ©couvrent et pilotent le parc via des outils MCP (`am__list`, `am__stats`, `am__sessions`, `am__start`
). am devient le hub de coopĂ©ration entre agents. | nouveau | L | P3 | | N2 | ⬜ **Budgets & alertes de coĂ»ts** | Budget par agent/projet avec alertes Ă  seuils (80 % / 100 %) et blocage doux, branchĂ© sur le suivi des coĂ»ts (#49). | Axe 1 | M | P2 | | N3 | ⬜ **Webhooks de notification** | Alertes `am watch` / `schedule` / `doctor --watch` vers un webhook (Discord, Slack, n8n, Gotify) en plus du `--notify` local. | Axe 6 | S | P2 | | N4 | ⬜ **`am test ` — smoke test** | VĂ©rification normalisĂ©e post-install/post-update : le binaire rĂ©pond, ping provider, tĂąche minimale — gĂ©nĂ©ralise le ping de `am setup` Ă  tout le catalogue. | Axe 7 | M | P2 | | N5 | ⬜ **`am diff` — comparaison de configs** | Diff de config/Ă©tat entre deux machines ou deux points de sync ; complĂšte `am sync` (#66) et `am migrate` (#68) pour le multi-machine. | Axe 9 | S | P2 | | N6 | ⬜ **Transcripts de session** | `am sessions transcript ` : export Markdown lisible et partageable d'une session (commandes + sorties), complĂ©ment de `sessions export` (#53). | Axe 4 | S | P2 | | N7 | ⬜ **`am doctor --report`** | Rapport de diagnostic complet anonymisĂ© (versions, doctor, Ă©vĂ©nements rĂ©cents) prĂȘt Ă  joindre Ă  un bug report. | Axe 12 | S | P2 | | N8 | ⬜ **Catalogue air-gapped** | `am catalog snapshot` : instantanĂ© hors-ligne complet du catalogue distant (dĂ©finitions + binaires) pour machines sans internet. | Axe 7 | M | P3 | | N9 | ⬜ **Export OpenTelemetry** | Export opt-in du journal `events.jsonl` vers OTLP/Grafana pour les Ă©quipes qui ont dĂ©jĂ  une pile d'observabilitĂ©. | Axe 1 | M | P3 | | N10 | ⬜ **Épique « BoĂźte Ă  outils IA »** | Formaliser les commandes sƓurs §13.5 sur les rĂŽles copilot aichat (v1.1.0) : `am commit`, `am review`, `am explain`, `am fix`, `am summarize`, `am doc`, `am translate`, `am ask-code`, `am search-web`, `am note`. Une commande = un rĂŽle + un raccourci de prompt, sĂ©curitĂ© `--exec` hĂ©ritĂ©e de `am ai`. | Axe 13 | L | P2 → P3 | | N11 | ⬜ **Suite de tests 100 % hermĂ©tique** | `update_policy_test` (> 60 s/test) appelle rĂ©ellement l'API GitHub via `installers::latest_version` ; prĂ©voir un mode hors-ligne des sondes de version (flag test/offline ou mock), pour une suite rapide et dĂ©terministe partout. | Axe 12 | S | P1 | --- ## 8. 🚀 Jalons versionnĂ©s | Jalon | Version | Contenu principal | DurĂ©e | CritĂšre de sortie | |---|---|---|---|---| | **J0 — Fondations** | v0.3.0 | events.jsonl, sessions, am stats, am log, am history, am init, quick wins | ≈ 2 sem | 100 % des actions tracĂ©es · 100+ tests | | **J1 — Cockpit** | v0.4.0 | recherche fuzzy, Ctrl-R, projects, timeline, dashboard TUI, hooks, secret, favoris, packaging | ≈ 3 sem | retrouver n'importe quelle action passĂ©e en < 2 s | | **J2 — Automatisation** | v0.5.0 | watch, services, schedule, news/compare, catalogue distant, lab, models, sync | ≈ 4 sem | parc auto-supervisĂ© (crash = redĂ©marrage + alerte) | | **J3 — Plateforme** | v1.0 | am web, am serve, am ask, registry, tĂ©lĂ©mĂ©trie opt-in, sandbox | ≈ 6 sem | dashboard web complet + API distante | --- ## 9. 📈 Indicateurs de succĂšs (KPI) | Indicateur | Cible | |---|---| | Part des actions tracĂ©es dans events.jsonl | 100 % dĂšs la v0.3.0 | | Temps pour retrouver une commande ou session passĂ©e | < 2 s | | am list Ă  chaud, journal actif | < 100 ms | | DĂ©pendances runtime ajoutĂ©es | 0 | | Couverture de tests | ≄ 100 tests en v0.3, +25 par jalon | | Contrats --json cassĂ©s entre versions mineures | 0 | --- ## 10. ⚠ Risques & garde-fous 1. **ADN « zĂ©ro runtime »** : toute dĂ©pendance nouvelle est compilĂ©e dans le binaire, jamais requise Ă  l'exĂ©cution. 2. **Performance** : le journal grossit — fenĂȘtres temporelles, index dĂ©rivĂ©s, rotation mensuelle, caches façon probe.rs. 3. **Vie privĂ©e** : local par dĂ©faut ; tĂ©lĂ©mĂ©trie opt-in, agrĂ©gĂ©e, anonyme. 4. **Contrats --json** : ajout de champs sans retrait (scripts utilisateurs). 5. **CompatibilitĂ©** : migrations additives ; les exports 0.2.x restent importables en 0.3+. 6. **ComplexitĂ© UX** : les fonctions avancĂ©es restent derriĂšre settings.experimental jusqu'Ă  maturitĂ©. 7. **PĂ©rimĂštre** : rester un orchestrateur — ne pas rĂ©implĂ©menter les fonctionnalitĂ©s propres aux agents (tokens, MCP, prompts), sauf valeur transversale (stats, sessions, secrets, coĂ»ts). --- ## 11. 🏁 Par oĂč commencer *Le suivi est en place sur Gitea : 4 milestones (v0.3.0 → v1.0), 22 labels (P0–P3, axe-1
axe-12, S/M/L/XL, quick-win, epic) et les issues ci-dessous. Chaque PR doit rĂ©fĂ©rencer son issue avec `closes #N` pour une clĂŽture automatique. Ordre de construction proposĂ© pour la phase 0 — chaque Ă©tape est un PR indĂ©pendant et testĂ© :* 1. **[PR 1](https://git.dracodev.net/Projets/agent-manager/issues/2)** — src/events.rs : journal JSONL + rotation + tests. 2. **[PR 2](https://git.dracodev.net/Projets/agent-manager/issues/3)** — instrumentation start/stop/run (process.rs, run_cmd.rs) — dĂ©pend de PR 1. 3. **[PR 3](https://git.dracodev.net/Projets/agent-manager/issues/4)** — state.json v2 + migration additive — dĂ©pend de PR 1. 4. **[PR 4](https://git.dracodev.net/Projets/agent-manager/issues/5)** — sessions.json + am sessions + rĂ©conciliation — dĂ©pend de PR 2. 5. **[PR 5](https://git.dracodev.net/Projets/agent-manager/issues/6)** — am stats + am log (lecture du journal) — dĂ©pend de PR 2. 6. **[PR 6](https://git.dracodev.net/Projets/agent-manager/issues/7)** — historique structurĂ© + am history (migration de history.txt). 7. **[PR 7](https://git.dracodev.net/Projets/agent-manager/issues/8)** — am init + dĂ©tection de contexte (git, stack, cache) — dĂ©pend de PR 1. 8. **En parallĂšle** — les quick wins de la section 3 : [am logs #9](https://git.dracodev.net/Projets/agent-manager/issues/9) · [am list --sort #10](https://git.dracodev.net/Projets/agent-manager/issues/10) · [am config set #11](https://git.dracodev.net/Projets/agent-manager/issues/11) · [am alias add #12](https://git.dracodev.net/Projets/agent-manager/issues/12) · [dedup history.txt #13](https://git.dracodev.net/Projets/agent-manager/issues/13) · [am doctor --json #14](https://git.dracodev.net/Projets/agent-manager/issues/14) · [am version --json #15](https://git.dracodev.net/Projets/agent-manager/issues/15) · [am open #16](https://git.dracodev.net/Projets/agent-manager/issues/16). Épique de suivi : [issue #1](https://git.dracodev.net/Projets/agent-manager/issues/1) (Phase 0). ### Phase 1 — Cockpit (v0.4.0) — dĂ©coupage créé le 2026-08-17 Épique : [issue #25](https://git.dracodev.net/Projets/agent-manager/issues/25) · milestone v0.4.0 · 17 issues. | # | Issue | Effort | |---|---|---| | [#26](https://git.dracodev.net/Projets/agent-manager/issues/26) | Recherche fuzzy dans am search | M | | [#27](https://git.dracodev.net/Projets/agent-manager/issues/27) | Ctrl-R + rĂ©exĂ©cution dans le REPL | M | | [#28](https://git.dracodev.net/Projets/agent-manager/issues/28) | am history --rerun N | S | | [#29](https://git.dracodev.net/Projets/agent-manager/issues/29) | am projects + profils de projet | M | | [#30](https://git.dracodev.net/Projets/agent-manager/issues/30) | am start contextuel (dĂ©pend de #29) | S | | [#31](https://git.dracodev.net/Projets/agent-manager/issues/31) | am timeline (vue chronologique unifiĂ©e) | M | | [#32](https://git.dracodev.net/Projets/agent-manager/issues/32) | am sessions resume | M | | [#33](https://git.dracodev.net/Projets/agent-manager/issues/33) | am dashboard (TUI temps rĂ©el) | L | | [#34](https://git.dracodev.net/Projets/agent-manager/issues/34) | Hooks on_install/on_start/on_stop/on_update | M | | [#35](https://git.dracodev.net/Projets/agent-manager/issues/35) | am watch --restart-on-crash --notify | M | | [#36](https://git.dracodev.net/Projets/agent-manager/issues/36) | am secret (keyring OS) + injection --env | M | | [#37](https://git.dracodev.net/Projets/agent-manager/issues/37) | am top + am report (rapport hebdo/mensuel) | M | | [#38](https://git.dracodev.net/Projets/agent-manager/issues/38) | am log --follow (flux en direct) | S | | [#39](https://git.dracodev.net/Projets/agent-manager/issues/39) | Favoris, notes et tags personnels | M | | [#40](https://git.dracodev.net/Projets/agent-manager/issues/40) | Profils d'environnement (am profile dev/prod) | M | | [#41](https://git.dracodev.net/Projets/agent-manager/issues/41) | ComplĂ©tions dynamiques + man pages | S | | [#42](https://git.dracodev.net/Projets/agent-manager/issues/42) | Packaging officiel (winget/scoop/deb/Homebrew) + CI | M | CritĂšre de sortie du jalon : retrouver n'importe quelle action passĂ©e en moins de 2 secondes. ### Phase 2 — Automatisation (v0.5.0) — dĂ©coupage créé le 2026-08-17 Épique : [issue #47](https://git.dracodev.net/Projets/agent-manager/issues/47) · milestone v0.5.0 · 27 issues. | # | Issue | Effort | |---|---|---| | [#49](https://git.dracodev.net/Projets/agent-manager/issues/49) | Suivi des coĂ»ts — tokens/€ par session (stats --costs, cost_models) ✅ | M | | [#50](https://git.dracodev.net/Projets/agent-manager/issues/50) | am monitor — TUI temps rĂ©el (CPU/mĂ©moire par PID, alertes) ✅ | L | | [#51](https://git.dracodev.net/Projets/agent-manager/issues/51) | ✅ Playbooks — am history --save + am playbook | L | | [#52](https://git.dracodev.net/Projets/agent-manager/issues/52) | ✅ Templates — am init --template web/python/rust/cli (substitution + validation) | M | | [#53](https://git.dracodev.net/Projets/agent-manager/issues/53) | ✅ am sessions export + rĂ©tention configurable (sessions_retention_days) | M | | [#54](https://git.dracodev.net/Projets/agent-manager/issues/54) | ✅ am web — serveur local + API JSON + graphiques (dashboard embarquĂ©, contrats --json, 127.0.0.1) | XL | | [#55](https://git.dracodev.net/Projets/agent-manager/issues/55) | Services systĂšme — am service install (systemd/launchd/tĂąches Windows) ✅ | L | | [#56](https://git.dracodev.net/Projets/agent-manager/issues/56) | Planification — am schedule (add --at / list / remove / run) ✅ | M | | [#57](https://git.dracodev.net/Projets/agent-manager/issues/57) | Orchestration de groupes (ordre, --parallel, attente de santĂ©) ✅ | L | | [#58](https://git.dracodev.net/Projets/agent-manager/issues/58) | Conteneurs — profils docker/podman par agent ✅ | L | | [#59](https://git.dracodev.net/Projets/agent-manager/issues/59) | am doctor --watch — vĂ©rifications pĂ©riodiques avec alertes ✅ | M | | [#60](https://git.dracodev.net/Projets/agent-manager/issues/60) | ✅ Catalogue distant — am catalog update / am catalog add | M | | [#61](https://git.dracodev.net/Projets/agent-manager/issues/61) | ✅ am suggest — « un agent pour du Python » (tags + usage rĂ©el) | M | | [#62](https://git.dracodev.net/Projets/agent-manager/issues/62) | ✅ am lab — benchmark : mĂȘme tĂąche sur N agents | L | | [#63](https://git.dracodev.net/Projets/agent-manager/issues/63) | ✅ am audit — qui a modifiĂ© quoi quand | M | | [#64](https://git.dracodev.net/Projets/agent-manager/issues/64) | ✅ am update --rollback — backup automatique avant mise Ă  jour | M | | [#65](https://git.dracodev.net/Projets/agent-manager/issues/65) | ✅ Politiques — pin de version, settings.update_policy | S | | [#66](https://git.dracodev.net/Projets/agent-manager/issues/66) | ✅ Synchronisation git automatique — am sync (sync_repo, sync_on_exit, secrets exclus) | L | | [#67](https://git.dracodev.net/Projets/agent-manager/issues/67) | ✅ Partage de catalogue d'Ă©quipe (include par URL) | S | | [#68](https://git.dracodev.net/Projets/agent-manager/issues/68) | ✅ am migrate — assistant de transfert machine A → B (bundle .amx + doctor) | M | | [#69](https://git.dracodev.net/Projets/agent-manager/issues/69) | ✅ ThĂšmes couleurs du REPL | S | | [#70](https://git.dracodev.net/Projets/agent-manager/issues/70) | ✅ am models — inventaire des modĂšles locaux (ollama, llama.cpp, LM Studio) | M | | [#71](https://git.dracodev.net/Projets/agent-manager/issues/71) | ✅ Lien agent ↔ modĂšle — am run --model | M | | [#72](https://git.dracodev.net/Projets/agent-manager/issues/72) | ✅ doctor vĂ©rifie ollama / llama-server comme n'importe quel outil | S | | [#73](https://git.dracodev.net/Projets/agent-manager/issues/73) | ✅ am models prune — purge des modĂšles inutilisĂ©s | S | | [#74](https://git.dracodev.net/Projets/agent-manager/issues/74) | ✅ i18n — messages EN/FR (--lang, AM_LANG/LANG, catalogue tr/tr_fmt) | L | | [#75](https://git.dracodev.net/Projets/agent-manager/issues/75) | ✅ Plugin scripts (hooks avancĂ©s, intĂ©gration CI) | M | CritĂšre de sortie du jalon : parc auto-supervisĂ© (crash = redĂ©marrage + alerte). ### Phase 3 — Plateforme (v1.0) — dĂ©coupage créé le 2026-08-17 Épique : [issue #48](https://git.dracodev.net/Projets/agent-manager/issues/48) · milestone v1.0 · 5 issues. | # | Issue | Effort | |---|---|---| | [#76](https://git.dracodev.net/Projets/agent-manager/issues/76) | ✅ TĂ©lĂ©mĂ©trie anonyme opt-in (compteurs agrĂ©gĂ©s uniquement) | M | | [#77](https://git.dracodev.net/Projets/agent-manager/issues/77) | ✅ Registre communautaire — am registry (publication + recherche sur Gitea) | L | | [#78](https://git.dracodev.net/Projets/agent-manager/issues/78) | ✅ am ask — langage naturel → commande am (fournisseur LLM optionnel) | L | | [#79](https://git.dracodev.net/Projets/agent-manager/issues/79) | ✅ Profils sandbox par agent (commandes/rĂ©pertoires autorisĂ©s) | L | | [#80](https://git.dracodev.net/Projets/agent-manager/issues/80) | ✅ am serve --token — API HTTP + WebSocket pour piloter Ă  distance | XL | CritĂšre de sortie du jalon : dashboard web complet + API distante. ### Phase v0.7.0 — Providers & configuration automatisĂ©e (P0, PRIORITAIRE) Épique : [issue #87](https://git.dracodev.net/Projets/agent-manager/issues/87) · milestone v0.7.0 · 5 issues · **prioritĂ© P0 : livrĂ©e AVANT la Phase 3 (v1.0, #76–#80 en P3), sauf dĂ©pendances**. Centralise tokens/providers/modĂšles dans UN registre (settings.providers + keyring partagĂ©) et configure automatiquement les agents Ă  l'installation : `am install ` branche le provider/modĂšle par dĂ©faut, `--provider/--model` pour surcharger, `--no-config` pour le comportement actuel, `am run --provider` pour surcharger au lancement (cloud inclus). S'appuie sur #36 (secrets), #40 (profils), #71 (modĂšle), #66 (sync) — livrĂ©s. | # | Issue | Effort | DĂ©pend de | |---|---|---|---| | [#88](https://git.dracodev.net/Projets/agent-manager/issues/88) | ✅ Registre de providers + commandes `am providers` (settings.providers, default_provider) | M | — | | [#89](https://git.dracodev.net/Projets/agent-manager/issues/89) | ✅ Secrets partagĂ©s par provider (namespace keyring + rĂ©solution `@secret` fallback) | S | #88 | | [#90](https://git.dracodev.net/Projets/agent-manager/issues/90) | ✅ AgentDef provider/model + flags `--provider/--model/--no-config` Ă  l'install | M | #88 | | [#91](https://git.dracodev.net/Projets/agent-manager/issues/91) | ✅ Configuration post-install : bloc `config:` par agent (env_map + fichiers) | L | #89, #90 | | [#92](https://git.dracodev.net/Projets/agent-manager/issues/92) | ✅ `am run/start --provider` : override au lancement (providers cloud inclus) | M | #90 | CritĂšre de sortie du jalon : un agent installĂ© est opĂ©rationnel sans configuration manuelle (tokens au keyring, provider/modĂšle par dĂ©faut). --- *Document gĂ©nĂ©rĂ© Ă  partir de l'analyse du code (v0.2.7, commit d886de3). Phases livrĂ©es : 0 (v0.3.0), 1 (v0.4.1), 2 (v0.6.0), v0.7.0 (providers, 2026-08-19), 3 (v1.0.0, #76–#80, 2026-08-20) ; maintenance v1.0.1/v1.0.2 (self-update dĂ©compression, REPL), v1.0.3 (dĂ©tection externe), v1.0.4 (catalogue shell AI, #94 #95), v1.0.5 (commande am ai, #93 #96 #97), v1.0.6 (installateur Windows accepte l'entrĂ©e am-windows-x86_64.exe), > v1.1.0 (onboarding/copilot) → v1.1.5 (aichat ≄ 0.30). Bilan & idĂ©es > neuves ajoutĂ©s le 2026-08-23 (§15, §16).*