---
read_when:
    - Настройка постоянно активных групповых комнат или комнат канала
    - Вы хотите, чтобы агент следил за обсуждением в комнате, не публикуя итоговый текст автоматически
    - Отладка типизации и использования токенов без видимого сообщения в комнате
sidebarTitle: Ambient room events
summary: Позволять поддерживаемым групповым комнатам предоставлять фоновый контекст, если только агент не отправляет сообщение с помощью инструмента сообщений
title: Фоновые события комнаты
x-i18n:
    generated_at: "2026-06-28T22:33:34Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 6423bea8aa1371fe53b610ae1ca794fc6d7866ecd767eee7b837a75004eebf83
    source_path: channels/ambient-room-events.md
    workflow: 16
---

События фоновой комнаты позволяют OpenClaw обрабатывать неупомянутую болтовню в группе или канале как тихий контекст. Агент может обновлять память и состояние сеанса, но комната остается безмолвной, если агент явно не вызовет инструмент `message`.

Для постоянно включенных групповых чатов это рекомендуемый режим: сочетайте `messages.groupChat.unmentionedInbound: "room_event"` с `messages.groupChat.visibleReplies: "message_tool"`. Используйте его, когда агент должен слушать, решать, когда ответ полезен, и избегать старого шаблона промпта с ответом `NO_REPLY`.

Поддерживается сейчас: каналы гильдий Discord, каналы и приватные каналы Slack, групповые личные сообщения Slack, а также группы или супергруппы Telegram. Другие групповые каналы сохраняют свое существующее групповое поведение, если на странице их канала не указано, что они поддерживают события фоновой комнаты.

## Рекомендуемая настройка

Задайте глобальное поведение группового чата:

```json5
{
  messages: {
    groupChat: {
      unmentionedInbound: "room_event",
      visibleReplies: "message_tool",
      historyLimit: 50,
    },
  },
}
```

Затем настройте саму комнату как постоянно включенную, отключив для нее фильтрацию по упоминанию. Канал все равно должен быть разрешен его обычными `groupPolicy`, списком разрешенных комнат и списком разрешенных отправителей.

После сохранения конфигурации Gateway горячо перезагружает настройки `messages`. Перезапуск нужен только когда наблюдение за файлами или перезагрузка конфигурации отключены.

## Что меняется

С `messages.groupChat.unmentionedInbound: "room_event"`:

- неупомянутые разрешенные сообщения группы или канала становятся тихими событиями комнаты
- сообщения с упоминанием остаются пользовательскими запросами
- текстовые команды и нативные команды остаются пользовательскими запросами
- запросы abort или stop остаются пользовательскими запросами
- личные сообщения остаются пользовательскими запросами

События комнаты используют строгую видимую доставку. Итоговый текст ассистента является приватным. Агент должен вызвать `message(action=send)`, чтобы опубликовать сообщение в комнате.

## Пример Discord

```json5
{
  messages: {
    groupChat: {
      unmentionedInbound: "room_event",
      visibleReplies: "message_tool",
      historyLimit: 50,
    },
  },
  channels: {
    discord: {
      groupPolicy: "allowlist",
      guilds: {
        "<DISCORD_SERVER_ID>": {
          requireMention: false,
          users: ["<YOUR_DISCORD_USER_ID>"],
        },
      },
    },
  },
}
```

Используйте конфигурацию Discord для отдельного канала, когда фоновым должен быть только один канал:

```json5
{
  channels: {
    discord: {
      guilds: {
        "<DISCORD_SERVER_ID>": {
          channels: {
            "<DISCORD_CHANNEL_ID_OR_NAME>": {
              allow: true,
              requireMention: false,
            },
          },
        },
      },
    },
  },
}
```

## Пример Slack

Списки разрешенных каналов Slack в первую очередь используют ID. Используйте ID каналов, например `C12345678`, а не `#channel-name`.

```json5
{
  messages: {
    groupChat: {
      unmentionedInbound: "room_event",
      visibleReplies: "message_tool",
      historyLimit: 50,
    },
  },
  channels: {
    slack: {
      groupPolicy: "allowlist",
      channels: {
        "<SLACK_CHANNEL_ID>": {
          allow: true,
          requireMention: false,
        },
      },
    },
  },
}
```

## Пример Telegram

Для групп Telegram бот должен иметь возможность видеть обычные групповые сообщения. Если `requireMention: false`, отключите режим приватности BotFather или используйте другую настройку Telegram, которая доставляет боту весь групповой трафик.

```json5
{
  messages: {
    groupChat: {
      unmentionedInbound: "room_event",
      visibleReplies: "message_tool",
      historyLimit: 50,
    },
  },
  channels: {
    telegram: {
      groups: {
        "<TELEGRAM_GROUP_CHAT_ID>": {
          groupPolicy: "open",
          requireMention: false,
        },
      },
    },
  },
}
```

ID групп Telegram обычно являются отрицательными числами, например `-1001234567890`. Прочитайте `chat.id` из `openclaw logs --follow`, перешлите групповое сообщение боту-помощнику для определения ID или проверьте `getUpdates` в Bot API.

## Политика для конкретного агента

Используйте переопределение агента, когда несколько агентов используют одну комнату, но только один должен воспринимать неупомянутую болтовню как фоновый контекст:

```json5
{
  messages: {
    groupChat: {
      visibleReplies: "message_tool",
    },
  },
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          unmentionedInbound: "room_event",
          mentionPatterns: ["@openclaw", "openclaw"],
        },
      },
    ],
  },
}
```

Значение `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 не завершится успешно, чтобы тихий контекст не был потерян до доставки через инструмент сообщений.

## Устранение неполадок

Если в комнате отображается набор текста или расход токенов, но видимого сообщения нет:

1. Убедитесь, что комната разрешена списком разрешенных каналов и списком разрешенных отправителей.
2. Убедитесь, что `requireMention: false` задан на ожидаемом уровне комнаты.
3. Проверьте, имеет ли `messages.groupChat.unmentionedInbound` или переопределение агента значение `"room_event"`.
4. Проверьте журналы на наличие метаданных подавленной итоговой полезной нагрузки или `didSendViaMessagingTool: false`.
5. Для обычных групповых запросов оставьте или восстановите `messages.groupChat.visibleReplies: "automatic"`, если хотите, чтобы итоговые ответы публиковались автоматически. Для фоновых комнат, использующих `message_tool`, используйте модель или среду выполнения, которая надежно вызывает инструменты.

Если фоновые комнаты Telegram вообще не срабатывают, проверьте режим приватности BotFather и убедитесь, что Gateway получает обычные групповые сообщения.

Если фоновые комнаты Slack не срабатывают, убедитесь, что ключ канала является ID канала Slack и что у приложения есть требуемая область `channels:history` или `groups:history` для этого типа комнаты.

## См. также

- [Группы](/ru/channels/groups)
- [Discord](/ru/channels/discord)
- [Slack](/ru/channels/slack)
- [Telegram](/ru/channels/telegram)
- [Устранение неполадок каналов](/ru/channels/troubleshooting)
- [Справочник конфигурации каналов](/ru/gateway/config-channels)
