From 0b63ed17bc1c5d8c732006864e0b15387f669319 Mon Sep 17 00:00:00 2001 From: Bruno Charest Date: Sun, 6 Sep 2026 00:37:56 -0400 Subject: [PATCH] feat(agent): v4.13.0 - panneau Agent style Notion AI, ouverture fiable (Ctrl+J), contexte universel epingle a l'ouverture, selecteur provider/modele --- CHANGELOG.md | 35 ++ VERSION | 2 +- app/main.py | 2 +- app/templates/agent_panel.html | 633 ++++++++++++++++++++++++--------- app/templates/base.html | 8 +- 5 files changed, 501 insertions(+), 179 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4d5057f..d9993b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,40 @@ # Changelog — FlowDeck +## v4.13.0 (2026-09-06) — Agent : panneau « Notion AI », ouverture fiable (Ctrl+J) & contexte universel + +> Refonte complète du panneau Agent (style Notion AI) : ouverture/fermeture **fiable** (API +> `window.fdAgent.open/close/toggle`, bouton flottant + sidebar « Agents » + raccourci `Ctrl/Cmd+J`), +> **contexte détecté et épinglé à l'ouverture** (document en cours, bibliothèque, My Tasks, +> espaces, base de données, board, corbeille…) et sélecteur **fournisseur + modèle** intégré à la +> zone de saisie. + +### Added +- **Ouverture robuste** : `window.fdAgent.open()/close()/toggle()` appliquent l'état directement + (classe `.open` + attribut) ; FAB, entrée « Agents » du sidebar, icône Chat et `fdAgent.ask` + ouvrent explicitement le panneau (fini le toggle silencieux). Raccourci **`Ctrl/Cmd+J`** global. +- **Contexte universel `window.FlowDeckCtx`** : détection par priorité — + (1) marqueur d'écran (`window.fdViewContext` / `data-fd-context`), (2) **document ouvert** + (éditeur : titre + contenu des blocs), (3) **route** de l'application (Accueil, Bibliothèque, + Corbeille, My Tasks, Espaces, Espace local/Gitea, Base `/db`, Board, Notes, Paramètres…). + Le contexte est **épinglé à l'ouverture** du panneau, affiché en chip (« Contexte : … ») et + **rafraîchi** automatiquement si l'utilisateur ouvre un autre document avant d'envoyer. +- **Fournisseur & modèle affichés** : sous-titre du panneau `Provider · Modèle` (ex. `OpenAI · + gpt-4o`) dès qu'un modèle réel fonctionnel est sélectionné ; « hors-ligne (mock) » n'apparaît + que lorsqu'aucun fournisseur actif n'existe. Sélecteurs provider → modèle regroupés dans une + pastille « Auto · » au-dessus de la zone de saisie. +- **Actions rapides contextuelles** (état vide) en français selon la section : Résumer / Traduire / + Améliorer un document, Créer une note de réunion, Analyser une base, Mes tâches / planifier, + ou guides « Comment utiliser FlowDeck ? » et création de collection/board. + +### Changed +- **Panneau redessiné façon Notion AI** : largeur 470 px, en-tête « How can I help you today? », + icône avatar, ligne de contexte, historique, grande `textarea` arrondie auto-redimensionnable + (jusqu'à ~220 px) avec toolbar (`+`-équivalent, contexte, modèle, flèche d'envoi) et sélection + de modèle en popover. + +### Infra +- `VERSION` → 4.13.0 ; `app/main.py` version → 4.13.0. + ## v4.12.1 (2026-09-05) — Corrections configuration Agent & IA + AI Meeting Note > Correctifs UI sur la section **Settings → Agent & IA** et remplacement de l'ancien bouton diff --git a/VERSION b/VERSION index 53cf85e..813b83b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.12.1 +4.13.0 diff --git a/app/main.py b/app/main.py index b33952d..03363bb 100644 --- a/app/main.py +++ b/app/main.py @@ -60,7 +60,7 @@ async def lifespan(_app: FastAPI): app = FastAPI( title="FlowDeck", - version="4.12.1", + version="4.13.0", docs_url="/docs" if settings.log_level == "DEBUG" else None, redoc_url=None, lifespan=lifespan, diff --git a/app/templates/agent_panel.html b/app/templates/agent_panel.html index 0ed6f7a..675b543 100644 --- a/app/templates/agent_panel.html +++ b/app/templates/agent_panel.html @@ -1,121 +1,196 @@ -{# ════════ FlowDeck Agent panel (v4.10.0) — sidebar-triggered chat + floating button ════════ #} +{# ════════════ FlowDeck Agent panel v4.13.0 — Notion-AI-style sidebar ════════════ #} - +{# ── Global Agent API (available before Alpine for the FAB / shortcut) ── #} + -
-
-
🤖 Agent
- - +{# ── Floating button ── #} + + +{# ── Panel ── #} +