비직원 헤더에 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 함수는 헤더에 두 가지 위젵 액션을 연결합니다: showAiBotPanel과 hideAiBotPanel. 이 액션들은 AI 봇 패널의 가시성을 제어합니다.

  5. showAiBotPanel 액션은 botSelectorVisible 상태를 true로 설정하여 AI 봇 패널을 표시합니다.

  6. hideAiBotPanel 액션은 botSelectorVisible 상태를 false로 설정하여 AI 봇 패널을 숨깁니다.

참고: AI 봇의 사용자 ID는 isGPTBot 함수 내에서 -110, -111, -112로 하드코딩되어 있습니다. 이 함수는 사용자 ID를 기반으로 사용자가 AI 봇인지 확인합니다.


사이트 설정 컨텍스트 조회

ai_bot_allowed_groups 컨텍스트 읽기 중

ai_bot_allowed_groups 설정은 개인 메시지에서 AI 봇과 상호작용할 수 있는 사용자 그룹을 제어합니다. 이는 특히 AI 봇으로부터 개인 메시지(PM) 컨텍스트에서 답변을 받을 수 있는 사용자를 제어하는 데 중요합니다.

기본적으로 허용되는 그룹은 @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 초기화 프로그램(initializer)에서 사용됩니다. 여기서 현재 사용자가 허용된 그룹 중 하나에 속하는지 확인합니다. 사용자가 허용된 그룹에 속해 있고 AI 봇 기능이 활성화되어 있으면, 초기화 프로그램은 헤더 아이콘을 연결하고 AI 봇 답변을 초기화합니다.

ai_bot_allowed_groups 설정은 AI 봇의 entry_point.rb 모듈에서도 사용됩니다. 이 모듈은 AI 봇 기능이 활성화되어 있고 인증된 사용자가 허용된 그룹 중 하나에 속하는 경우 current_user 직렬화기(serializer)에 ai_enabled_chat_bots 속성을 추가합니다.

새 게시글이 생성되면 post_created 이벤트가 트리거됩니다. 게시글이 개인 메시지의 일반 게시글이고 게시글 작성자가 허용된 그룹 중 하나에 속해 있으면, AI 답변 작업(job)이 큐에 추가됩니다.

요약하자면, ai_bot_allowed_groups 설정은 개인 메시지에서 AI 봇과 상호작용할 수 있는 사용자를 제어하는 데 필수적입니다. 이 설정은 discourse-ai 플러그인의 여러 곳에서 이러한 제한을 강제하기 위해 사용됩니다.

2개의 좋아요

제가 말하려는 건, 이 PM 버튼이 허용된 그룹과 관계없이 관리자/스태프에게만 표시되는 것처럼 보인다는 겁니다. 헤더 설정의 PM 버튼은 허용된 AI 봇 그룹을 무시하고, 관리자만 고정되어 있는 것 같습니다. 일반 사용자에게 이 버튼을 표시하는 방법을 찾지 못하겠습니다.

그렇지 않습니다, 적어도 여기에서는요… 방금 봇-테스터 그룹에 추가했습니다. 여기서 버튼을 볼 수 있나요? (새로고침)

음, 제 환경에서는 잘 동작하는 것 같습니다. 두 인스턴스에서 작동하지 않네요. 이상하네요.. 모든 설정을 여러 번 다시 확인해 봤습니다.

현재 설정은 다음과 같습니다:

하지만 이 사이트 설정 이름이 정말로 혼란스러워서 곧 수정할 예정입니다.

최신 버전인가요?

제 설정은 거의 완전히 동일하지만, 목록에 신뢰 수준 그룹이 있습니다. 하지만 관리자/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에게 메시지를 보낼 수 있습니다. 다만 사용자 화면에는 버튼이 표시되지 않는 상태입니다.

음, 혹시 잘 되셨나요? 이 말 하기 싫지만, 공식 플러그인도 바이섹팅(bisecting)해서 충돌이 있는지 확인해 보실 수 있을까요? 먼저 discourse-ai만 남기고 재빌드해 보는 걸로 시작하면 좋겠습니다. 아무 일도 일어나지 않을 테니, 그다음 바로 나머지 플러그인들을 추가해서 재빌드하면 됩니다.

1개의 좋아요

한번 시도해 보고 결과를 알려드릴게요. 헤더 버튼뿐만 아니라 AI 작성기 헬퍼도 같은 문제가 있다는 걸 발견했어요.

업데이트
버그를 찾았어요. 그룹의 비공개 설정과 관련이 있네요.

이 설정(소유자/소유자+관리자)보다 아래 값으로 설정하면 버튼이 숨겨집니다. 이 내용이 어딘가에 문서화되어 있는지 모르겠고, 제가 놓친 건지 모르겠네요.

봇을 그룹에 추가하는 것만으로는 차이가 없었어요. 위 화면에 표시된 가시성 설정을 변경해야 했어요.

2개의 좋아요

좋아요, 이건 쉽게 해결할 수 있어요. 다음 주에 정리할게요.

2개의 좋아요

나한테는 급한 일이 아니에요. 같은 문제가 트러스트 레벨(Trust Level) 그룹에서도 발생하고 있다는 점도 추가하고 싶어요. 기본적으로 숨겨져 있기 때문이죠. 가시성을 변경하면 AI PM 버튼이 나타납니다.

1개의 좋아요

다음 링크에 따라 수정했습니다:

오늘 늦게 병합될 예정입니다.

6개의 좋아요