feat(ai): assistant AI multi-contexte + ergonomie sidebar et clavier
CI / lint (push) Successful in 1m12s
CI / security (push) Successful in 43s
CI / test (push) Successful in 1m10s
CI / build (push) Successful in 35s
CI / e2e (push) Successful in 11m47s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
CI / lint (push) Successful in 1m12s
CI / security (push) Successful in 43s
CI / test (push) Successful in 1m10s
CI / build (push) Successful in 35s
CI / e2e (push) Successful in 11m47s
Desktop Build / build-windows (push) Canceled after 0s
Desktop Build / build-linux (push) Canceled after 0s
Contexte: - Repertoire (mode historique BooksLM, via menu contextuel dossier) - Documents (bouton flottant quand des documents sont ouverts) - General (bouton flottant sans document: aide app + creation de fichiers) - Le contexte est affiche dans le header; suggestions adaptees au mode - Blocs obsigate-action rendus en carte avec bouton Appliquer (pas d'execution auto) Backend: - /api/ai/bookslm/context et /chat acceptent mode + context_files - collect_files_context(), empty_context(), build_general_system_prompt() - mode documents degrade vers general si aucun fichier lisible Corrige: - bouton flottant passait le chemin d'un fichier comme repertoire -> erreur 'Aucun fichier markdown trouve dans ce dossier' - panneau precedent masque (localStorage) ne se rouvrait plus - selecteur fournisseur/modele deplace sur une ligne dediee (header actions visibles) - Entree envoie, Ctrl+Entree insere un saut de ligne Tests: test_bookslm.py (+13) et tests/frontend/ai.test.mjs (+8)
This commit is contained in:
@@ -78,8 +78,20 @@
|
||||
"admin.users_manage_btn": "Gérer les utilisateurs",
|
||||
"admin.users_manage_hint": "Ouvrir la modale de gestion des utilisateurs (CRUD complet)",
|
||||
"admin.users_title": "Gestion utilisateurs",
|
||||
"ai.action_applied": "Appliqué ✓",
|
||||
"ai.action_apply": "Appliquer",
|
||||
"ai.action_applying": "Application…",
|
||||
"ai.action_create_dir": "Créer le dossier {path}",
|
||||
"ai.action_create_file": "Créer le fichier {path}",
|
||||
"ai.action_created_dir": "Dossier créé : {path}",
|
||||
"ai.action_created_file": "Fichier créé : {path}",
|
||||
"ai.action_failed": "Échec de l'action : {error}",
|
||||
"ai.casual": "Ton décontracté",
|
||||
"ai.close": "Fermer l'assistant",
|
||||
"ai.completion_added": "AI: complétion ajoutée",
|
||||
"ai.context_documents": "{count} document(s) ouvert(s)",
|
||||
"ai.context_general": "Contexte général",
|
||||
"ai.context_general_desc": "Questions sur l'application et création de fichiers",
|
||||
"ai.continue": "Continuer",
|
||||
"ai.custom_rewrite": "Réécriture personnalisée",
|
||||
"ai.done": "AI: texte traité",
|
||||
@@ -89,6 +101,7 @@
|
||||
"ai.fix_spelling": "Corriger l'orthographe",
|
||||
"ai.fix_spelling_hint": "Corrige les fautes",
|
||||
"ai.frontmatter": "Générer frontmatter",
|
||||
"ai.fullscreen": "Plein écran",
|
||||
"ai.generate": "Générer",
|
||||
"ai.hint_add_details": "Ajoute des détails",
|
||||
"ai.hint_edit_selection": "Modifie le texte sélectionné",
|
||||
@@ -96,6 +109,7 @@
|
||||
"ai.hint_improve": "Améliore la qualité du texte",
|
||||
"ai.hint_translate": "Traduit le texte sélectionné",
|
||||
"ai.improve": "Améliorer",
|
||||
"ai.input_hint": "Entrée pour envoyer · Ctrl+Entrée pour un saut de ligne",
|
||||
"ai.inline_completion_title": "AI Inline Completion (Ctrl+J) — Complète le texte automatiquement",
|
||||
"ai.invalid_api_key": "AI: clé API invalide. Vérifiez DEEPSEEK_API_KEY dans .env",
|
||||
"ai.longer": "Allonger",
|
||||
@@ -110,6 +124,7 @@
|
||||
"ai.model_loading": "Chargement…",
|
||||
"ai.model_offline": "hors ligne",
|
||||
"ai.model_load_error": "Erreur de chargement",
|
||||
"ai.model_settings": "Fournisseur & modèle",
|
||||
"ai.quota_exceeded": "AI: quota dépassé ou paiement requis",
|
||||
"ai.rewrite": "💬 Réécrire",
|
||||
"ai.rewrite_done": "AI: texte réécrit",
|
||||
@@ -121,6 +136,12 @@
|
||||
"ai.shorter_hint": "Rend le texte plus concis",
|
||||
"ai.simplify": "Simplifier",
|
||||
"ai.simplify_hint": "Simplifie le langage",
|
||||
"ai.suggestion_capabilities": "Que sais-tu faire ?",
|
||||
"ai.suggestion_create_file": "Crée un fichier de notes de réunion",
|
||||
"ai.suggestion_docs_contradictions": "Y a-t-il des contradictions entre ces documents ?",
|
||||
"ai.suggestion_docs_keypoints": "Quels sont les points clés de ces documents ?",
|
||||
"ai.suggestion_docs_summary": "Résume les documents ouverts",
|
||||
"ai.suggestion_search": "Comment rechercher efficacement dans mes notes ?",
|
||||
"ai.summarize": "Résumer",
|
||||
"ai.text_processed": "AI: texte traité ✓",
|
||||
"ai.text_rewritten": "AI: texte réécrit",
|
||||
@@ -1614,7 +1635,9 @@
|
||||
"bookslm.context_too_large": "Répertoire trop volumineux — certains fichiers ont été tronqués",
|
||||
"bookslm.source": "Source",
|
||||
"palette.bookslm_open": "BooksLM: Ouvrir pour le répertoire courant",
|
||||
"palette.bookslm_open_desc": "Ouvre l'assistant AI pour le contexte courant (documents ouverts ou général)",
|
||||
"palette.bookslm_new": "BooksLM: Nouvelle conversation",
|
||||
"palette.bookslm_new_desc": "Réinitialise la conversation de l'assistant AI",
|
||||
"fab.open": "Ouvrir l'assistant AI",
|
||||
"fab.close": "Fermer l'assistant AI",
|
||||
"mfa.webauthn_title": "Clés de sécurité (WebAuthn)",
|
||||
|
||||
Reference in New Issue
Block a user