非スタッフ向けヘッダーにAIボットアイコンが表示されない

AIチャットボットの設定にグループを追加しても、AIボットにアクセスできる場合にボタンが表示されないと思います。私の場合は、信頼レベル/管理者にのみこのボタンが表示されます。

「いいね!」 1

このサイト設定名は誤解を招きます(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)を開始できるボタンが表示されます。

以下に、その仕組みの詳細な内訳を示します。

  1. この設定は、Discourse AI プラグインの settings.yml ファイルで定義されており、デフォルト値は true です。これは、デフォルトでは、AI ボットとの PM を開始するためのボタンがヘッダーに表示されることを意味します。
  2. この設定は、ai-bot-replies.js ファイルで使用されます。この JavaScript ファイルには、AI ボットとの対話ロジックが含まれています。
  3. attachHeaderIcon 関数は、ai_helper_add_ai_pm_to_header 設定が有効かどうかを確認します。有効な場合、ai_bot_enabled_chat_bots 設定から有効な AI ボットのリストを取得します。この設定には、パイプ(|)で区切られた、チャット用に有効化されている AI ボットのリストが含まれています。
  4. 有効な AI ボットが存在する場合、attachHeaderIcon 関数はヘッダーに showAiBotPanelhideAiBotPanel の 2 つのウィジェットアクションをアタッチします。これらのアクションは、AI ボットパネルの表示/非表示を制御します。
  5. showAiBotPanel アクションは、botSelectorVisible 状態を true に設定し、AI ボットパネルを表示します。
  6. 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 プラグインのいくつかの場所で使用されています。

「いいね!」 2

管理者/スタッフのみに表示されるようで、許可されたグループに関係なく、このPMボタンはそうなるようです。ヘッダー設定のPMボタンは、許可されたAIボットグループを尊重せず、管理者のみに固定されているようです。一般ユーザーに表示させることができません。

これは確かにそうではありません。少なくともここでは… bot-testers グループに追加しました。ここでボタンが見えますか? (リロード)

うーん、ここでは機能するようです。2つのインスタンスでは機能させることができません。奇妙です。設定はすべて何度も確認しました。

現在の設定は以下のとおりです。

しかし、このサイト設定名は非常に紛らわしいので修正するつもりです。

最新ですか?

私の設定はほとんど同じですが、リストに信頼レベルグループがあります。しかし、管理者/TLグループなしでも試しましたが、ai-botグループのみで結果は同じでした。テーマ/非公式をオフにしたセーフモードも試しましたが、どのケースでもボタンはありませんでした:thinking:

確かに最新です。

他のプラグインとの競合の可能性があります。公式以外のすべてのプラグインを削除して再構築できますか?

「いいね!」 1

はい、今再構築中です。しばらくしたらお知らせします。このサーバーはかなり遅いです :grinning_face:

再構築後も変更はありません。現在のプラグインリストは以下の通りです。


    - 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 だけで再構築してみてはどうでしょうか? 何も悪いことは起こりません。すぐに他のプラグインすべてで再構築できます。

「いいね!」 1

試してみます。お知らせします。ヘッダーボタンだけでなく、AIコンポーザーヘルパーも同じ問題を抱えていることに気づきました。

更新
バグを見つけました。グループのプライバシーに関する問題です。

これ(オーナー/オーナー+モデレーター)より下のすべての値で、ボタンが非表示になります。どこかに記載されているか分かりませんが、見落としたかもしれません。

ボットをグループに追加しても変化はありませんでした。上記で示した表示設定を変更したところ、変化がありました。

「いいね!」 2

いいですね、これは非常に解決可能です。来週対応します。

「いいね!」 2

急ぎではありません。同じ問題がトラストレベルグループでも発生していることを付け加えたいと思います。デフォルトでは非表示になっているためです。表示を変更すると、AI PMボタンが表示されるようになります。

「いいね!」 1

修正しました:

本日中にマージされる予定です。

「いいね!」 6