feat(ai): section Fournisseur & modele compacte + correctifs menus @/ (#82, BUG-007, BUG-008)
Refonte de la section Fournisseur & modele de l'assistant : capacites regroupees dans une bulle d'information (survol/clic/appui long) au lieu d'une liste permanente, et liste de modeles avec recherche. Correctifs : detection Unicode + filtrage insensible aux accents des commandes / et mentions @, navigation clavier fiable, et prise en compte du contexte ad-hoc en mode General cote backend.
This commit is contained in:
@@ -14,6 +14,15 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Ajouté
|
||||
|
||||
- **#82 Assistant IA — Section « Fournisseur & modèle » compacte** — la barre de sélection du
|
||||
modèle devient **discrète** : la liste complète des types d'endpoints (Chat, Embeddings, Vision…)
|
||||
est remplacée par un **bouton d'information ⓘ** qui affiche les capacités dans une **bulle** au
|
||||
survol, au clic ou par **appui long** (mobile). Le choix du modèle passe par une **liste
|
||||
déroulante avec recherche** (filtrage insensible aux accents) au lieu d'un `<select>` natif, tout
|
||||
en conservant un select masqué pour les commandes admin (`/model`). Le picker partagé
|
||||
(`frontend/js/ai.js`) est utilisé par l'assistant et la barre d'édition IA. Tests JSDOM
|
||||
(`tests/frontend/ai.test.mjs` +1).
|
||||
|
||||
- **#81 Assistant IA — Commandes `@`/`/`, skills, images & capacités des modèles** — l'assistant
|
||||
devient plus flexible et multimodal. **Panneau redimensionnable** à la souris (largeur 320–1000 px
|
||||
persistée). **Commande `@`** pour attacher des contextes ad-hoc (fichiers, répertoires) au contexte
|
||||
@@ -214,6 +223,20 @@ et [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
### Corrigé
|
||||
|
||||
- **BUG-007 — Assistant IA : menus `/` et `@` (navigation ↑/↓ et filtrage accentué)** — la
|
||||
détection des commandes/mentions et le filtrage des skills utilisaient des motifs ASCII
|
||||
(`[a-z0-9-]`, `\w`) : dès qu'un caractère accentué était saisi (`/résumé`, `@café`), le menu se
|
||||
fermait. Les motifs sont désormais **Unicode** (`\p{L}`) et la recherche est **insensible aux
|
||||
accents** (normalisation NFD). La navigation clavier est fiabilisée par un **jeton de séquence**
|
||||
qui ignore les rendus asynchrones obsolètes (frappe rapide) et fait défiler l'élément actif dans
|
||||
la vue (`scrollIntoView`). Tests JSDOM (`tests/frontend/ai.test.mjs` +3).
|
||||
|
||||
- **BUG-008 — Assistant IA : commande `@` et contexte ad-hoc en mode Général** — deux causes :
|
||||
(1) le backend ignorait les fichiers/répertoires ad-hoc en mode Général car `_resolve_system_prompt`
|
||||
ne résolvait pas de vault (`backend/bookslm_routes.py`) ; le vault optionnel est maintenant résolu
|
||||
dès que du contexte `@` est présent. (2) sans vault courant, la recherche de mention échouait ;
|
||||
elle bascule désormais sur `vault=all`. Tests backend (`tests/test_bookslm.py` +2) et frontend.
|
||||
|
||||
- **#77 Desktop — bannière de premier lancement réaffichée à chaque démarrage** —
|
||||
l'état du wizard « Choisissez votre vault » n'était mémorisé que dans le
|
||||
`localStorage` de la webview et le paramètre `hasVaultPath` n'était jamais
|
||||
|
||||
Reference in New Issue
Block a user