message.
Для постоянно включенных групповых чатов это рекомендуемый режим: сочетайте messages.groupChat.unmentionedInbound: "room_event" с messages.groupChat.visibleReplies: "message_tool". Используйте его, когда агент должен слушать, решать, когда ответ полезен, и избегать старого шаблона промпта с ответом NO_REPLY.
Поддерживается сейчас: каналы гильдий Discord, каналы и приватные каналы Slack, групповые личные сообщения Slack, а также группы или супергруппы Telegram. Другие групповые каналы сохраняют свое существующее групповое поведение, если на странице их канала не указано, что они поддерживают события фоновой комнаты.
Рекомендуемая настройка
Задайте глобальное поведение группового чата:groupPolicy, списком разрешенных комнат и списком разрешенных отправителей.
После сохранения конфигурации Gateway горячо перезагружает настройки messages. Перезапуск нужен только когда наблюдение за файлами или перезагрузка конфигурации отключены.
Что меняется
Сmessages.groupChat.unmentionedInbound: "room_event":
- неупомянутые разрешенные сообщения группы или канала становятся тихими событиями комнаты
- сообщения с упоминанием остаются пользовательскими запросами
- текстовые команды и нативные команды остаются пользовательскими запросами
- запросы abort или stop остаются пользовательскими запросами
- личные сообщения остаются пользовательскими запросами
message(action=send), чтобы опубликовать сообщение в комнате.
Пример Discord
Пример Slack
Списки разрешенных каналов Slack в первую очередь используют ID. Используйте ID каналов, напримерC12345678, а не #channel-name.
Пример Telegram
Для групп Telegram бот должен иметь возможность видеть обычные групповые сообщения. ЕслиrequireMention: false, отключите режим приватности BotFather или используйте другую настройку Telegram, которая доставляет боту весь групповой трафик.
-1001234567890. Прочитайте chat.id из openclaw logs --follow, перешлите групповое сообщение боту-помощнику для определения ID или проверьте getUpdates в Bot API.
Политика для конкретного агента
Используйте переопределение агента, когда несколько агентов используют одну комнату, но только один должен воспринимать неупомянутую болтовню как фоновый контекст:agents.list[].groupChat.unmentionedInbound для конкретного агента переопределяет messages.groupChat.unmentionedInbound для этого агента.
Режимы видимого ответа
messages.groupChat.visibleReplies по умолчанию имеет значение "automatic" для обычных пользовательских запросов в группе или канале. Оставьте это значение по умолчанию, если хотите, чтобы итоговый текст ассистента публиковался видимо без обязательного явного вызова инструмента сообщений.
Для фоновых постоянно включенных комнат messages.groupChat.visibleReplies: "message_tool" по-прежнему рекомендуется, особенно с моделями последнего поколения, надежно использующими инструменты, такими как GPT 5.5. Это позволяет агенту решать, когда говорить, вызывая инструмент сообщений. Если модель возвращает итоговый текст без вызова инструмента, OpenClaw оставляет этот итоговый текст приватным и записывает метаданные подавленной доставки в журнал.
События комнаты остаются строгими даже когда другие групповые запросы используют автоматические ответы. Неупомянутые фоновые события комнаты все равно требуют message(action=send) для видимого вывода.
История
messages.groupChat.historyLimit управляет глобальным значением по умолчанию для истории группы. Каналы могут переопределять его с помощью channels.<channel>.historyLimit, а некоторые каналы также поддерживают лимиты истории для отдельных учетных записей.
Задайте historyLimit: 0, чтобы отключить контекст истории группы.
Поддерживаемые каналы событий комнаты сохраняют недавние фоновые сообщения комнаты как контекст. Discord сохраняет историю событий комнаты, пока видимая отправка в Discord не завершится успешно, чтобы тихий контекст не был потерян до доставки через инструмент сообщений.
Устранение неполадок
Если в комнате отображается набор текста или расход токенов, но видимого сообщения нет:- Убедитесь, что комната разрешена списком разрешенных каналов и списком разрешенных отправителей.
- Убедитесь, что
requireMention: falseзадан на ожидаемом уровне комнаты. - Проверьте, имеет ли
messages.groupChat.unmentionedInboundили переопределение агента значение"room_event". - Проверьте журналы на наличие метаданных подавленной итоговой полезной нагрузки или
didSendViaMessagingTool: false. - Для обычных групповых запросов оставьте или восстановите
messages.groupChat.visibleReplies: "automatic", если хотите, чтобы итоговые ответы публиковались автоматически. Для фоновых комнат, использующихmessage_tool, используйте модель или среду выполнения, которая надежно вызывает инструменты.
channels:history или groups:history для этого типа комнаты.