Похоже, что добавление групп в настройки AI-чата не отображает кнопку даже у тех, кто имеет доступ к AI-боту. В моём случае эту кнопку видят только пользователи с определённым уровнем доверия или администраторы.
Это название настройки сайта вводит в заблуждение (cc @falco/@roman), оно должно быть ai_bot_add_ai_pm_to_header
Исследование по ИИ-боту здесь:
Просмотр контекста настройки сайта
Чтение контекста для: ai_helper_add_ai_pm_to_header
ai_helper_add_ai_pm_to_header— это настройка сайта в плагине Discourse AI. При включении она отображает кнопку в заголовке форума Discourse, позволяющую пользователям начать приватное сообщение (PM) с ИИ-ботом.Вот подробное описание того, как это работает:
Настройка определена в файле
settings.ymlплагина Discourse AI со значением по умолчаниюtrue. Это означает, что по умолчанию кнопка для начала PM с ИИ-ботом отображается в заголовке.Настройка используется в файле
ai-bot-replies.js. Этот JavaScript-файл содержит логику взаимодействия с ИИ-ботом.Функция
attachHeaderIconпроверяет, включена ли настройкаai_helper_add_ai_pm_to_header. Если она включена, функция получает список включённых ИИ-ботов из настройкиai_bot_enabled_chat_bots. Эта настройка содержит список ИИ-ботов, разрешённых для чата, разделённых символом|.Если есть включённые ИИ-боты, функция
attachHeaderIconдобавляет в заголовок два действия виджета:showAiBotPanelиhideAiBotPanel. Эти действия управляют видимостью панели ИИ-бота.Действие
showAiBotPanelустанавливает состояниеbotSelectorVisibleвtrue, что отображает панель ИИ-бота.Действие
hideAiBotPanelустанавливает состояниеbotSelectorVisibleвfalse, что скрывает панель ИИ-бота.Обратите внимание, что ID пользователя ИИ-бота жёстко заданы как
-110,-111и-112в функцииisGPTBot. Эта функция проверяет, является ли пользователь ИИ-ботом, на основе его ID.
Просмотр контекста настройки сайта
Чтение контекста для: ai_bot_allowed_groups
Настройка
ai_bot_allowed_groupsопределяет, какие группы пользователей имеют право взаимодействовать с ИИ-ботом в приватных сообщениях. Это особенно важно для контроля того, кто может получать ответы от ИИ-бота в контексте PM.Группы по умолчанию:
@staff(id группы: 3) и@trust_level_4(id группы: 14). Эти ID групп указаны в настройкеai_bot_allowed_groupsв файлеsettings.ymlплагинаdiscourse-ai.Настройка
ai_bot_allowed_groupsиспользуется в инициализатореai-bot-replies.js. Здесь проверяется, является ли текущий пользователь членом любой из разрешённых групп. Если пользователь входит в разрешённую группу и функция ИИ-бота включена, инициализатор добавляет иконку в заголовок и инициализирует ответы ИИ-бота.Настройка
ai_bot_allowed_groupsтакже используется в модулеentry_point.rbИИ-бота. Этот модуль добавляет атрибутai_enabled_chat_botsк сериализаторуcurrent_user. Этот атрибут включается, если функция ИИ-бота включена и аутентифицированный пользователь является членом любой из разрешённых групп.При создании нового поста срабатывает событие
post_created. Если пост является обычным сообщением в приватной переписке и пользователь, создавший пост, входит в одну из разрешённых групп, в очередь помещается задача ответа ИИ.Вкратце, настройка
ai_bot_allowed_groupsкритически важна для контроля того, какие пользователи могут взаимодействовать с ИИ-ботом в приватных сообщениях. Она используется в нескольких местах плагинаdiscourse-aiдля обеспечения этого ограничения.
Я хотел сказать, что, похоже, кнопка ЛС отображается только для администраторов/сотрудников, независимо от разрешённых групп. Похоже, что настройка кнопки ЛС в заголовке не учитывает разрешённые группы ИИ-ботов, а зафиксирована только для администраторов? Я не могу сделать так, чтобы она отображалась для обычного пользователя.
Это определённо не так, по крайней мере, не у нас… Я только что добавил вас в группу «bot-testers». Видите ли вы кнопку здесь? (обновите страницу)
Хм, здесь вроде бы работает. У меня не получается запустить это на двух экземплярах. Странно… Я уже много раз перепроверил все настройки.
Наши текущие настройки:
Но я вот-вот исправлю название этого параметра сайта, так как оно действительно запутанное.
У вас самая последняя версия?
Мои настройки почти полностью совпадают, но у меня в списке есть группа с уровнем доверия. Однако я также пробовал без групп администраторов/TL, только с группой ai-bot — результат тот же. Пробовал также в безопасном режиме с отключёнными темами и неофициальными плагинами: кнопки нет ни в одном из случаев. ![]()
У меня действительно последняя версия.
Может ли это быть связано с взаимодействием с другим плагином? Можете ли вы пересобрать сборку, удалив все неофициальные плагины?
Конечно, я сейчас восстанавливаю. Дам знать через пару минут, этот сервер довольно медленный ![]()
После пересборки изменений нет. Мой текущий список плагинов:
- 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
К сведению: пользователь может отправлять сообщения ИИ. Просто кнопка не отображается для пользователей.
Хм, есть ли успех? Не хочется так говорить, но не могли бы вы попробовать метод бинарного поиска с официальными плагинами, чтобы проверить, не конфликтует ли какой-нибудь из них? Возможно, стоит начать с пересборки только с плагином discourse-ai. Ничего плохого не случится — вы всегда сможете позже пересобрать проект с остальными плагинами.
Я попробую и сообщу вам. Я заметил, что проблема касается не только кнопки в заголовке, но и помощника AI Composer. ОБНОВЛЕНИЕ Я нашел для вас ошибку: она связана с настройками приватности группы.
Любое значение ниже этого (владельцы/владельцы+модераторы) приводит к скрытию кнопки. Не уверен, что это где-то задокументировано, возможно, я упустил это. Добавление бота в группу ничего не изменило. Изменение настройки видимости, показанной выше, помогло.Отлично, это вполне решаемая задача, разберёмся на следующей неделе
Спешить некуда. Хочу добавить, что та же проблема возникает и с группами уровня доверия, поскольку они скрыты по умолчанию. Изменение видимости действительно приводит к появлению кнопки AI PM.
Я исправил это согласно:
https://github.com/discourse/discourse-ai/pull/180
Это будет слито позже сегодня.


