결국 현재 사용 가능하지만(우리 커뮤니티에서는 아직 사용되지 않는) Discourse에 이미 포함된 헬퍼를 재사용하게 되었습니다.
| 위치 | 설정 | 값 | 레이블 이름 변경 (Customize → Text) |
|---|---|---|---|
| Ask AI (게시물/주제) | ai_helper_translator_agent | custom search agent | discourse_ai.ai_helper.prompts.translate → custom search label |
| Composer Translate | ai_helper_markdown_tables_agent | built-in Translator agent | discourse_ai.ai_helper.prompts.markdown_table → Translate |
| Composer Markdown formatter | ai_helper_smart_dates_agent | Markdown formatter agent (moved) | discourse_ai.ai_helper.prompts.replace_dates → Format as Markdown |
그리고 스니펫 두 개:
javascripts/discourse/api-initializers/ai-helper-slots.gjs
import { apiInitializer } from "discourse/lib/api";
const AI_HELPER_ICONS = {
translate: "ph-dt-magnifying-glass", // for forum search agent
markdown_table: "ph-dt-translate", // composer: built-in Translator
replace_dates: "ph-dt-markdown", // composer: Markdown formatter
};
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;
}
참고: 저는 커스텀 Phosphor 아이콘 세트를 사용 중입니다. 새로운 아이콘은 Font Awesome, Material 또는 기타 어떤 아이콘 세트에든 번들링할 수 있습니다.