結局、現在利用可能だが(コミュニティでは未使用)Discourseに同梱されているヘルパーを再利用することになりました。
| 場所 | 設定 | 設定値 | ラベルの名前変更(カスタマイズ → テキスト) |
|---|---|---|---|
| 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 |
次に、スニペットを2つ:
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、またはその他のアイコンセットにバンドルできます。