From c2e659472a754c69794625948aa16d046be2e472 Mon Sep 17 00:00:00 2001 From: Ayaan Zaidi Date: Wed, 13 May 2026 12:07:23 +0530 Subject: [PATCH] docs(channels): describe room events --- docs/channels/groups.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/channels/groups.md b/docs/channels/groups.md index 57dc042ae0fa..4b3f301edcfd 100644 --- a/docs/channels/groups.md +++ b/docs/channels/groups.md @@ -35,7 +35,8 @@ Quick flow (what happens to a group message): groupPolicy? disabled -> drop groupPolicy? allowlist -> group allowed? no -> drop requireMention? yes -> mentioned? no -> store for context only -otherwise -> reply +mention/reply/command/DM -> user request +always-on group chatter -> room event ``` ## Visible replies @@ -60,7 +61,7 @@ For direct chats and any other source turn, use `messages.visibleReplies: "messa This replaces the old pattern of forcing the model to answer `NO_REPLY` for most lurk-mode turns. In tool-only mode, doing nothing visible simply means not calling the message tool. -Typing indicators are still sent while the agent works in tool-only mode. The default group typing mode is upgraded from "message" to "instant" for these turns because there may never be normal assistant message text before the agent decides whether to call the message tool. Explicit typing-mode config still wins. +Typing indicators are still sent for direct group requests. Ambient always-on room events stay quiet unless the agent calls the message tool. To restore legacy automatic final replies for group/channel rooms: @@ -351,6 +352,8 @@ Replying to a bot message counts as an implicit mention when the channel support - Allowlisting a group or sender does not disable mention gating; set that group's `requireMention` to `false` when all messages should trigger. - Automatic group chat prompt context carries the resolved silent-reply instruction every turn; workspace files should not duplicate `NO_REPLY` mechanics. - Groups where automatic silent replies are allowed treat clean empty or reasoning-only model turns as silent, equivalent to `NO_REPLY`. Direct chats never receive `NO_REPLY` guidance, and message-tool-only group replies stay quiet by not calling `message(action=send)`. + - Ambient always-on group chatter is a room event. The model can use it as context, but visible room speech requires the message tool. + - Room events are not stored as fake user requests, and private assistant text from no-message-tool room events is not replayed as chat history. - Discord defaults live in `channels.discord.guilds."*"` (overridable per guild/channel). - Group history context is wrapped uniformly across channels. Mention-gated groups keep pending skipped messages; always-on groups may also retain recent processed room messages when the channel supports it. Use `messages.groupChat.historyLimit` for the global default and `channels..historyLimit` (or `channels..accounts.*.historyLimit`) for overrides. Set `0` to disable.