feat(ai): commandes @/ & skills, analyse d'images et capacites des modeles (#81)
CI / lint (push) Successful in 1m10s
CI / security (push) Successful in 43s
CI / test (push) Successful in 2m34s
CI / build (push) Successful in 43s
CI / e2e (push) Successful in 10m59s

This commit is contained in:
2026-09-12 11:38:46 -04:00
parent 88bb817a62
commit f049e208b6
25 changed files with 2581 additions and 31 deletions
+34
View File
@@ -128,6 +128,35 @@
"ai.model_offline": "offline",
"ai.model_load_error": "Load error",
"ai.model_settings": "Provider & model",
"ai.add_context": "Add context",
"ai.attach_image": "Attach an image",
"ai.cap_audio_speech": "Audio Speech",
"ai.cap_audio_transcription": "Audio Transcriptions",
"ai.cap_chat": "Chat",
"ai.cap_embeddings": "Embeddings",
"ai.cap_images": "Images",
"ai.cap_rerank": "Rerank",
"ai.cap_video": "Video",
"ai.cap_vision": "Vision capable",
"ai.commands": "Commands",
"ai.create_skill": "Create a skill",
"ai.image": "image",
"ai.keys": "Stored API keys",
"ai.model_changed": "Model changed: {name}",
"ai.no_results": "No results",
"ai.none": "None",
"ai.provider_changed": "Provider changed: {name}",
"ai.providers": "Active providers",
"ai.remove": "Remove",
"ai.resize_panel": "Resize panel",
"ai.skill_created": "Skill \"{name}\" created",
"ai.skill_id": "Identifier",
"ai.skill_label": "Name",
"ai.skill_prompt": "Prompt / instructions",
"ai.skill_prompt_placeholder": "Describe the expected behaviour of the skill…",
"ai.usage_model": "Available models: {list}",
"ai.usage_provider": "Available providers: {list}",
"ai.vision_unsupported": "The selected model does not support image analysis",
"ai.quota_exceeded": "AI: quota exceeded or payment required",
"ai.rewrite": "💬 Rewrite",
"ai.rewrite_done": "AI: text rewritten",
@@ -317,6 +346,7 @@
"config.add_webhook": "Add",
"config.ai_deepseek_label": "DeepSeek API Key",
"config.ai_default_model": "Default model",
"config.ai_capabilities": "Model capabilities",
"config.ai_default_provider": "Default provider",
"config.ai_gemini_label": "Gemini API Key",
"config.ai_keys": "AI API keys",
@@ -1236,6 +1266,10 @@
"help.assistant_links": "Cited files and paths are links: click a file to open it, a folder to reveal it in the tree.",
"help.assistant_sessions": "The header history icon lists past sessions (reopen or delete); “+” starts a new conversation.",
"help.assistant_agent": "The \"agent mode\" button enables tools (read, list, search); modifying actions require confirmation with a change preview.",
"help.assistant_resize": "The left edge of the panel is resizable; the width is remembered.",
"help.assistant_at": "Type @ to attach a file or directory to the context, or to attach an image from a directory.",
"help.assistant_slash": "Type / to run a skill (research, summary, correction, plan…) or an admin command (/help, /providers, /model, /keys).",
"help.assistant_images": "Paste an image into the composer (or attach one) to analyse it with a vision-capable model; the selected model's capabilities are displayed.",
"help.toolbar_section": "AI toolbar",
"help.tree_section": "Vault tree",
"help.use_cases": "Use cases",
+34
View File
@@ -128,6 +128,35 @@
"ai.model_offline": "hors ligne",
"ai.model_load_error": "Erreur de chargement",
"ai.model_settings": "Fournisseur & modèle",
"ai.add_context": "Ajouter un contexte",
"ai.attach_image": "Joindre une image",
"ai.cap_audio_speech": "Audio Speech",
"ai.cap_audio_transcription": "Audio Transcriptions",
"ai.cap_chat": "Chat",
"ai.cap_embeddings": "Embeddings",
"ai.cap_images": "Images",
"ai.cap_rerank": "Rerank",
"ai.cap_video": "Video",
"ai.cap_vision": "Vision capable",
"ai.commands": "Commandes",
"ai.create_skill": "Créer un skill",
"ai.image": "image",
"ai.keys": "Clés API enregistrées",
"ai.model_changed": "Modèle changé : {name}",
"ai.no_results": "Aucun résultat",
"ai.none": "Aucun",
"ai.provider_changed": "Fournisseur changé : {name}",
"ai.providers": "Fournisseurs actifs",
"ai.remove": "Retirer",
"ai.resize_panel": "Redimensionner le panneau",
"ai.skill_created": "Skill « {name} » créé",
"ai.skill_id": "Identifiant",
"ai.skill_label": "Nom",
"ai.skill_prompt": "Prompt / instructions",
"ai.skill_prompt_placeholder": "Décris le comportement attendu du skill…",
"ai.usage_model": "Modèles disponibles : {list}",
"ai.usage_provider": "Fournisseurs disponibles : {list}",
"ai.vision_unsupported": "Le modèle sélectionné ne supporte pas l'analyse d'images",
"ai.quota_exceeded": "AI: quota dépassé ou paiement requis",
"ai.rewrite": "💬 Réécrire",
"ai.rewrite_done": "AI: texte réécrit",
@@ -317,6 +346,7 @@
"config.add_webhook": "Ajouter",
"config.ai_deepseek_label": "DeepSeek API Key",
"config.ai_default_model": "Modèle par défaut",
"config.ai_capabilities": "Capacités du modèle",
"config.ai_default_provider": "Fournisseur par défaut",
"config.ai_gemini_label": "Gemini API Key",
"config.ai_keys": "Clés API IA",
@@ -1236,6 +1266,10 @@
"help.assistant_links": "Les fichiers et chemins cités sont des liens : cliquez sur un fichier pour l'ouvrir, sur un dossier pour le révéler dans l'arborescence.",
"help.assistant_sessions": "L'icône historique de l'en-tête liste les sessions passées (recharger ou supprimer) ; « + » démarre une nouvelle conversation.",
"help.assistant_agent": "Le bouton « mode agent » active les outils (lire, lister, chercher) ; les actions de modification demandent une confirmation avec aperçu des changements.",
"help.assistant_resize": "Le bord gauche du panneau est redimensionnable ; la largeur est mémorisée.",
"help.assistant_at": "Tapez @ pour joindre un fichier ou un répertoire au contexte, ou pour attacher une image d'un répertoire.",
"help.assistant_slash": "Tapez / pour lancer un skill (recherche, résumé, correction, plan…) ou une commande admin (/help, /providers, /model, /keys).",
"help.assistant_images": "Collez une image dans la zone de saisie (ou joignez-la) pour l'analyser avec un modèle compatible vision ; les capacités du modèle sélectionné sont affichées.",
"help.toolbar_section": "Barre d'outils AI",
"help.tree_section": "Arborescence des vaults",
"help.use_cases": "Cas d'usage",