Come impostare prompt personalizzati per l'assistente

Ok, alla fine ho deciso di riutilizzare degli helper già disponibili (ma non utilizzati nella nostra community) e già inclusi in Discourse.

Dove Impostazione Imposta su Rinomina etichetta (Personalizza → Testo)
Chiedi all’AI (post/argomenti) ai_helper_translator_agent Agente di ricerca personalizzato discourse_ai.ai_helper.prompts.translate → etichetta di ricerca personalizzata
Traduzione nel Compositore ai_helper_markdown_tables_agent Agente Traduttore integrato discourse_ai.ai_helper.prompts.markdown_table → Traduci
Formattatore Markdown nel Compositore ai_helper_smart_dates_agent Agente formattatore Markdown (spostato) discourse_ai.ai_helper.prompts.replace_dates → Formatta come Markdown

Poi due snippet:

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

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

const AI_HELPER_ICONS = {
  translate: "ph-dt-magnifying-glass", // per l'agente di ricerca del forum
  markdown_table: "ph-dt-translate", // compositore: Traduttore integrato
  replace_dates: "ph-dt-markdown", // compositore: formattatore 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;
}

Nota: sto utilizzando un set di icone Phosphor personalizzato; le nuove icone possono essere incluse in Font Awesome, Material o in qualsiasi altro set di icone.