Comment définir des invites d'aide personnalisées

D’accord, j’ai fini par réutiliser des helpers actuellement disponibles (mais non utilisés dans notre communauté) et déjà livrés avec Discourse.

Emplacement Paramètre Valeur Renommer le libellé (Personnaliser → Texte)
Demander à l’IA (publications/sujets) ai_helper_translator_agent agent de recherche personnalisé discourse_ai.ai_helper.prompts.translate → libellé de recherche personnalisé
Traduction du composeur ai_helper_markdown_tables_agent agent Traducteur intégré discourse_ai.ai_helper.prompts.markdown_table → Traduire
Formatteur Markdown du composeur ai_helper_smart_dates_agent agent formateur Markdown (déplacé) discourse_ai.ai_helper.prompts.replace_dates → Formater en Markdown

Ensuite, deux extraits :

javascripts/discourse/api-initializers/ai-helper-slots.gjs

import { apiInitializer } from "discourse/lib/api";

const AI_HELPER_ICONS = {
  translate: "ph-dt-magnifying-glass", // pour l'agent de recherche du forum
  markdown_table: "ph-dt-translate", // composeur : Traducteur intégré
  replace_dates: "ph-dt-markdown", // composeur : formateur Markdown
};

export default apiInitializer((api) => {
  api.getCurrentUser()?.ai_helper_prompts?.forEach((prompt) => {
    prompt.icon = AI_HELPER_ICONS[prompt.name] ?? prompt.icon;
  });
});

common.scss

.ai-composer-helper-menu ul.ai-helper-options li[data-value="translate"] {
  display: none;
}

Note : j’utilise un ensemble d’icônes Phosphor personnalisé ; les nouvelles icônes peuvent être intégrées dans Font Awesome, Material, ou tout autre ensemble d’icônes.