feat(agent): v4.10.1 - config LLM dans l'UI (sélecteur provider/modèle, config runtime, admin + test connexion)
FlowDeck CI / test (push) Failing after 7s
FlowDeck CI / docker (push) Skipped

- Panneau agent : selects provider/modèles connus persistés par conversation
  (colonnes agent_conversations.provider/model, migration idempotente)
- GET /api/agent/providers enrichi (liste providers + modèles + requires_key)
- PATCH /api/agent/providers (admin) : config runtime DB-backed (table llm_config)
- POST /api/agent/providers/test : test connexion via LLMClient.ping() sans fallback mock
- Settings > Admin > Agent & IA : provider, modèle, clé API, URL API, save + test
- VERSION -> 4.10.1, CHANGELOG + ROADMAP mis à jour, 232 tests verts
This commit is contained in:
2026-09-05 10:58:09 -04:00
parent e752e46583
commit 3cb9edc1f3
11 changed files with 546 additions and 19 deletions
+35
View File
@@ -1,5 +1,40 @@
# Changelog — FlowDeck
## v4.10.1 (2026-09-05) — Agent IA : configuration LLM dans l'UI
> Comble le trou UX de v4.10.0 : l'utilisateur pouvait discuter avec l'agent mais **ne pouvait
> configurer ni provider ni modèle**. Ajout d'un sélecteur provider/modèle dans le panneau, d'une
> config runtime persistée en base (table `llm_config`) et d'un écran admin avec test de connexion.
### Added
- **Sélecteur provider/modèle dans le panneau agent** (`agent_panel.html`) : deux `<select>`
(provider + modèles connus par provider) dans l'en-tête du chat, branchés sur `POST /run` et
**persistés par conversation** (colonnes `provider`/`model` sur `agent_conversations`,
migrées automatiquement). Bouton ⚙️ pointant vers la config admin.
- **Endpoints API** :
- `GET /api/agent/providers` enrichi : liste complète des providers avec modèles connus,
`requires_key`, `api_base` et `has_api_key`.
- `PATCH /api/agent/providers` (admin) : persiste provider/modèle/clé/base en runtime.
- `POST /api/agent/providers/test` (admin) : test de connexion **sans fallback mock**
(méthode `LLMClient.ping()`) ; le provider `offline` répond sans réseau.
- **Table `llm_config`** (1 ligne, id=1) + service `app/services/llm_config.py` :
précédence **base (runtime) > `.env`**, créée seulement au premier enregistrement.
- **Écran admin** : nouvelle section *Agent & IA* dans Settings (onglet Admin) : provider,
modèle, clé API (masquée / réaffichable), URL API optionnelle, boutons
**Save configuration** et **Test connection** avec retour d'état inline.
### Fixed
- `LLMClient.__init__` : le modèle par défaut suit maintenant la config runtime
(DB > `.env`) au lieu d'être toujours `gpt-4o` ; `PROVIDER_MODELS` documente les modèles
connus par provider.
### Infra
- `VERSION` → 4.10.1 ; migration idempotente des colonnes `agent_conversations.provider/model`.
### Tests
- **232 tests verts** (+6 : providers enrichi, PATCH config (admin + 403 non-admin),
test connexion offline, test connexion clé manquante, persistance provider/modèle par conversation).
## 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