bruno
92af59a71f
feat: v1.0 — profils sandbox par agent : commandes autorisées (allowlist, stem Windows), périmètre de répertoires, politique réseau best-effort, refus journalisés pour l'audit, --no-sandbox pour contourner ( closes #79 )
...
- src/sandbox.rs : profile_of + enforce (basename/stem allowlist, cwd starts_with périmètre, proxy env si network:false), EventKind::Sandbox
- enforcement au run et au start (start_one, --parallel, restart) ; AgentDef.sandbox + doc config.yaml
- 6 tests : défaut non sandboxé, refus + journalisation, stem .exe, périmètre cwd, env réseau, bypass --no-sandbox
2026-08-19 22:57:45 -04:00
bruno
6d51ce9504
feat: v0.7.0 — am run/start --provider/--model : résolution cloud via le registre (base_url + keyring + modèle), fallback cloud quand le modèle local est inconnu, canal model_env/model_arg/env_map, jamais de token en clair ( closes #92 )
...
- apply_provider : providers::resolve_for (flag > agent > défaut) + apply_env_map_resolved (api_key = @secret, base_url/model du provider résolu)
- start/run/restart : --provider et --model dans le CLI, le REPL et la complétion ; specs help + man pages
- Tests unitaires : résolution, cascade, canal déclaré, erreur provider inconnu (liste), absence de fuite (env sans valeur sk-), fallback embarqué
2026-08-19 21:05:39 -04:00
bruno
63dc36660b
feat: phase 2 — automatisation: doctor --watch, schedule, service, orchestration, conteneurs ( closes #55 #56 #57 #58 #59 )
2026-08-18 10:57:00 -04:00
bruno
22bc529818
feat: phase 2 — modèles locaux + catalogue distant + suggest ( closes #70 #71 #73 #60 #67 #61 )
...
Axe 11 (modèles) :
- am models : inventaire des runtimes locaux (ollama list --format json,
llama.cpp .gguf sur disque, LM Studio API locale) avec cache façon
probe.rs (TTL 30s) et absence de runtime signalée sans erreur fatale
- am run <agent> --model <m> : résolution dans l'inventaire, transmission
via model_env/model_arg de l'agent (défaut AM_MODEL), tracé en session
- am models --prune : candidats inutilisés depuis settings.models_prune_days
(défaut 30), :latest toujours protégé, dry-run + confirmation + événement
EventKind::Model journalisé
Axes 7/9 (catalogue) :
- am catalog update : fetch du catalogue officiel, diff (ajoutés/retirés/
modifiés), confirmation, enregistrement en include
- am catalog add <url> : validation du format (parse + validate), cache
catalog-cache.json (TTL 3600s), événement EventKind::Catalog journalisé
- include par URL (http/https/file) dans config.yaml, résolu au chargement
avec cache + TTL ; override local toujours prioritaire (issue #67 )
- am suggest <requête> : réutilise le scoring fuzzy du catalogue, boost par
usage réel (lancements + durée depuis le journal), top 5 justifié, --json
REPL : commandes models/catalog/suggest (parse, complétion, descriptions),
help specs, tip cheat sheet, man pages régénérées (49 pages, dont 3 nouvelles).
Version bump 0.4.5, ROADMAP cases cochées, 266 tests verts.
2026-08-18 09:06:16 -04:00
bruno
56732d672b
v0.4.1 : Phase 1 complete (17/17) - dashboard TUI ( #33 ), favoris/notes/tags ( #39 ), profils d'environnement ( #40 ), completions dynamiques + man pages ( #41 ), packaging officiel + CI ( #42 ), self-update Gitea, state v3, 212 tests
release / linux (push) Failing after 23s
release / windows (push) Canceled after 0s
release / macos (push) Canceled after 0s
2026-08-17 10:50:13 -04:00
bruno
18784ba9f7
hooks : on_install/on_start/on_stop/on_update globaux (settings.hooks) et par projet (issue #34 ) - echec non bloquant, dry-run respecte, ordre global puis projet
2026-08-17 08:55:35 -04:00
bruno
30cc49de3c
sessions : am sessions --resume <id> (issue #32 ) - relance en arriere-plan avec les arguments et le cwd d'origine, cwd optionnel dans spawn_background, gardes running/repl/erreurs claires
2026-08-17 08:48:30 -04:00
bruno
5f8b973789
start contextuel : am start sans argument lance l'agent par defaut du projet (issue #30 ) - resolution pure resolve_start_target, restart identique, REPL sans agent obligatoire
2026-08-17 08:13:19 -04:00
bruno
85d44f9e56
init+contexte : am init genere un agent-manager.yaml selon la stack detectee + contexte projet (git root, branche, stack) attache aux evenements et sessions (issue #8 )
2026-08-16 22:40:00 -04:00
bruno
38b7a3a915
sessions : registre des sessions + commande am sessions (issue #5 ) - lifecycle agent/repl, reconciliation des sessions interrompues, compteur sessions_count, filtres agent/projet/statut, show avec extrait de log
2026-08-16 22:22:09 -04:00
bruno
c6518bcfd5
state : v2 avec sessions_count et last_used (issue #4 ) - migration additive persistee au premier contact, touch() sur start/run, fixture v1 testee
2026-08-16 22:16:44 -04:00
bruno
310da96a63
events : instrumentation start/stop/run/install/update/uninstall/doctor/repl/shell (issue #3 ) - un evenement JSONL par action reelle, dry-run sans evenement, session id sur start, duree et exit code sur stop/run
2026-08-16 22:13:49 -04:00
bruno
8ee3ddf3db
agent-manager v0.2.0 : gestionnaire d'agents IA locaux
...
- CLI Rust (am) : list/install/uninstall/update/start/stop/restart/run/status/search/info/config/doctor/completion/export/import/self-update + shell interactif (Tab, historique)
- 9 methodes d'installation (npm, pip, uv, cargo, go, bun, curl, binary, git)
- catalogue de 72 agents, dependances, processus, securite (dry-run, checksums)
- sondes de version paralleles + cache (am list ~25 ms a chaud)
- installateurs one-liner : install.sh, install.ps1
2026-08-15 11:26:34 -04:00