Vale, al final terminé reutilizando helpers que están disponibles actualmente (aunque no se usan en nuestra comunidad) y que ya se incluyen con Discourse.
| Dónde | Configuración | Establecido en | Renombrar etiqueta (Personalizar → Texto) |
|---|---|---|---|
| Preguntar a la IA (publicaciones/temas) | ai_helper_translator_agent | Agente de búsqueda personalizado | discourse_ai.ai_helper.prompts.translate → etiqueta de búsqueda personalizada |
| Traducción en el compositor | ai_helper_markdown_tables_agent | Agente de traducción integrado | discourse_ai.ai_helper.prompts.markdown_table → Traducir |
| Formateador Markdown en el compositor | ai_helper_smart_dates_agent | Agente de formateador Markdown (movido) | discourse_ai.ai_helper.prompts.replace_dates → Formatear como Markdown |
Luego, dos fragmentos de código:
javascripts/discourse/api-initializers/ai-helper-slots.gjs
import { apiInitializer } from "discourse/lib/api";
const AI_HELPER_ICONS = {
translate: "ph-dt-magnifying-glass", // para el agente de búsqueda del foro
markdown_table: "ph-dt-translate", // compositor: traductor integrado
replace_dates: "ph-dt-markdown", // compositor: formateador 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: estoy utilizando un conjunto de iconos Phosphor personalizado; los nuevos iconos pueden integrarse en Font Awesome, Material o cualquier otro conjunto de iconos.