AIチャットボットの設定にグループを追加しても、AIボットにアクセスできる場合にボタンが表示されないと思います。私の場合は、信頼レベル/管理者にのみこのボタンが表示されます。
このサイト設定名は誤解を招きます(cc @falco/@roman)。ai_bot_add_ai_pm_to_header にするべきです。
AI ボットに関する調査はこちら:
サイト設定のコンテキストを検索 コンテキストの読み込み中: ai_helper_add_ai_pm_to_header
ai_helper_add_ai_pm_to_headerは、Discourse AI プラグインのサイト設定です。有効にすると、Discourse フォーラムのヘッダーに、ユーザーが AI ボットとのプライベートメッセージ(PM)を開始できるボタンが表示されます。以下に、その仕組みの詳細な内訳を示します。
- この設定は、Discourse AI プラグインの
settings.ymlファイルで定義されており、デフォルト値はtrueです。これは、デフォルトでは、AI ボットとの PM を開始するためのボタンがヘッダーに表示されることを意味します。- この設定は、
ai-bot-replies.jsファイルで使用されます。この JavaScript ファイルには、AI ボットとの対話ロジックが含まれています。attachHeaderIcon関数は、ai_helper_add_ai_pm_to_header設定が有効かどうかを確認します。有効な場合、ai_bot_enabled_chat_bots設定から有効な AI ボットのリストを取得します。この設定には、パイプ(|)で区切られた、チャット用に有効化されている AI ボットのリストが含まれています。- 有効な AI ボットが存在する場合、
attachHeaderIcon関数はヘッダーにshowAiBotPanelとhideAiBotPanelの 2 つのウィジェットアクションをアタッチします。これらのアクションは、AI ボットパネルの表示/非表示を制御します。showAiBotPanelアクションは、botSelectorVisible状態をtrueに設定し、AI ボットパネルを表示します。hideAiBotPanelアクションは、botSelectorVisible状態をfalseに設定し、AI ボットパネルを非表示にします。
isGPTBot関数では、AI ボットのユーザー ID が-110、-111、-112としてハードコードされていることに注意してください。この関数は、ユーザー ID に基づいてユーザーが AI ボットであるかどうかを確認します。
サイト設定のコンテキストを検索 コンテキストの読み込み中: ai_bot_allowed_groups
ai_bot_allowed_groups設定は、どのユーザーグループが AI ボットとのプライベートメッセージでのやり取りを許可されているかを制御します。これは、特に PM コンテキストで AI ボットからの返信を受け取ることができるユーザーを制御する上で重要です。許可されるデフォルトのグループは
@staff(グループ ID: 3)と@trust_level_4(グループ ID: 14)です。これらのグループ ID は、discourse-aiプラグインのsettings.ymlファイルのai_bot_allowed_groups設定で指定されています。
ai_bot_allowed_groups設定は、ai-bot-replies.jsの初期化処理で使用されます。ここで、現在のユーザーが許可されたグループのいずれかのメンバーであるかどうかがチェックされます。ユーザーが許可されたグループに属しており、AI ボット機能が有効な場合、初期化処理によってヘッダーアイコンがアタッチされ、AI ボットの返信が初期化されます。
ai_bot_allowed_groups設定は、AI ボットのentry_point.rbモジュールでも使用されます。このモジュールは、current_userシリアライザーにai_enabled_chat_bots属性を追加します。この属性は、AI ボット機能が有効で、認証されたユーザーが許可されたグループのいずれかのメンバーである場合にインクルードされます。新しい投稿が作成されると、
post_createdイベントがトリガーされます。投稿がプライベートメッセージ内の通常の投稿であり、投稿のユーザーが許可されたグループのいずれかに属している場合、AI 返信ジョブがキューに入れられます。要約すると、
ai_bot_allowed_groups設定は、どのユーザーがプライベートメッセージで AI ボットとやり取りできるかを制御するために不可欠です。この制限を強制するために、discourse-aiプラグインのいくつかの場所で使用されています。
管理者/スタッフのみに表示されるようで、許可されたグループに関係なく、このPMボタンはそうなるようです。ヘッダー設定のPMボタンは、許可されたAIボットグループを尊重せず、管理者のみに固定されているようです。一般ユーザーに表示させることができません。
これは確かにそうではありません。少なくともここでは… bot-testers グループに追加しました。ここでボタンが見えますか? (リロード)
うーん、ここでは機能するようです。2つのインスタンスでは機能させることができません。奇妙です。設定はすべて何度も確認しました。
私の設定はほとんど同じですが、リストに信頼レベルグループがあります。しかし、管理者/TLグループなしでも試しましたが、ai-botグループのみで結果は同じでした。テーマ/非公式をオフにしたセーフモードも試しましたが、どのケースでもボタンはありませんでした:thinking:
確かに最新です。
他のプラグインとの競合の可能性があります。公式以外のすべてのプラグインを削除して再構築できますか?
はい、今再構築中です。しばらくしたらお知らせします。このサーバーはかなり遅いです ![]()
再構築後も変更はありません。現在のプラグインリストは以下の通りです。
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-whos-online.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/discourse/discourse-fingerprint.git
- git clone https://github.com/discourse/discourse-adplugin.git
- git clone https://github.com/discourse/discourse-chat-integration.git
- git clone https://github.com/discourse/discourse-docs.git
- git clone https://github.com/discourse/discourse-chat.git
- git clone https://github.com/discourse/discourse-gamification
- git clone https://github.com/discourse/discourse-openid-connect
- git clone https://github.com/discourse/discourse-rss-polling
- git clone https://github.com/discourse/discourse-ai
参考までに、ユーザーはAIにメッセージを送信できます。表示されないのはボタンだけです。
何かうまくいきましたか? 言いたくありませんが、公式プラグインも bisect して競合がないか確認していただけますか? まずは discourse-ai だけで再構築してみてはどうでしょうか? 何も悪いことは起こりません。すぐに他のプラグインすべてで再構築できます。
試してみます。お知らせします。ヘッダーボタンだけでなく、AIコンポーザーヘルパーも同じ問題を抱えていることに気づきました。
更新
バグを見つけました。グループのプライバシーに関する問題です。
これ(オーナー/オーナー+モデレーター)より下のすべての値で、ボタンが非表示になります。どこかに記載されているか分かりませんが、見落としたかもしれません。
ボットをグループに追加しても変化はありませんでした。上記で示した表示設定を変更したところ、変化がありました。
いいですね、これは非常に解決可能です。来週対応します。
急ぎではありません。同じ問題がトラストレベルグループでも発生していることを付け加えたいと思います。デフォルトでは非表示になっているためです。表示を変更すると、AI PMボタンが表示されるようになります。
修正しました:
本日中にマージされる予定です。


