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.