feat(agent): v4.10.0 FlowDeck Agent - agent IA ReAct (SSE, 18 outils + rollback, permissions, skills, triggers, multi-LLM)
FlowDeck CI / test (push) Failing after 7s
FlowDeck CI / docker (push) Skipped

This commit is contained in:
2026-09-05 09:58:04 -04:00
parent 9eedfa67ca
commit e752e46583
17 changed files with 2638 additions and 36 deletions
+37
View File
@@ -1,5 +1,42 @@
# Changelog — FlowDeck
## v4.10.0 (2026-09-05) — FlowDeck Agent : agent IA natif conversationnel
> Implémentation complète du pilier « Agent IA » : un agent ReAct intégré qui **agit** sur le
> workspace (pas seulement répond) — panneau de chat, boucle raisonnement→action, streaming SSE,
> 18 outils avec snapshots rollback, permissions par rôle, contexte automatique, custom agents,
> déclencheurs planifiés, skills réutilisables et multi-LLM (offline mock + 8 providers).
### Added
- **Interface conversationnelle** : panneau agent dans le sidebar (🤖 Agents) piloté par Alpine.js +
streaming SSE ; FAB ouvrant le chat ; historique de conversations.
- **Boucle ReAct** (`app/services/agent_engine.py`) : raisonnement → action → observation, max 12
itérations, budget de tokens, timeout, journal d'audit + fonction `undo_action()` (rollback).
- **Streaming SSE** : endpoint `/api/agent/conversations/{id}/run` qui émet `reasoning`, `action`
et `final` en temps réel.
- **18 outils** (`app/services/tool_registry.py`) : `search_workspace`, `read_collection`,
`read_page`, `create_collection`, `create_view`, `add_property`, `create_page`, `update_page`,
`write_blocks`, `add_relation`, `create_sub_item`, `add_dependency`, `apply_template`,
`delete_page`, `delete_collection`, `read_gitea_issues`, `sync_gitea`, `create_gitea_issue` —
chacun avec `ToolResult` + snapshot d'undo réversible.
- **Permissions** (`app/services/permission_manager.py`) : même ACL que l'utilisateur par rôle
workspace (viewer/editor/admin/owner) + gating des outils.
- **Contexte automatique** (`app/services/context_builder.py`) : snapshot du workspace actif,
collections, pages, mentions `@`, fichiers uploadés injectés dans le prompt système.
- **Multi-LLM** (`app/services/llm_client.py`) : OpenAI, Anthropic, Google, Ollama, DeepSeek,
QwenCloud, NVIDIA, OpenRouter + **offline mock** (planner déterministe, aucune clé requise).
- **Custom agents, skills, déclencheurs** : CRUD agents + conversations, `agent_*` tables
(`agents`, `agent_conversations`, `agent_messages`, `agent_actions`, `agent_skills`,
`agent_triggers`), skills (`/api/agent/skills`, apply), scheduler de fond pour triggers planifiés.
### Infra
- `VERSION` → 4.10.0 ; config LLM (`LLM_PROVIDER/MODEL/API_KEY/API_BASE`, `AGENT_MAX_*`) ;
exclusions CSRF `/api/agent` ; routeur agent + tâche scheduler dans le lifespan de `app/main.py`.
### Tests
- **226 tests verts** (+18 v4.10.0 : schéma DB, mock LLM, permissions, outils+undo, engine ReAct +
audit + rollback, CRUD agents/conversations, streaming SSE, skills, tools, providers).
## v4.9.0 (2026-09-04) — Collaboration : commentaires inline, mentions @, notifications
> Implémentation complète du pilier « Collaboration » — basée sur la revue des docs Notion