Channels 导读
Ambient room events:消息从哪扇门跑进来
Ambient room events 像一扇接消息的门。你要看清门铃装在哪、钥匙交给谁、什么人能进来,以及门口最容易被绊一跤的是哪块砖。原文最响的一记鼓点,其实是:Ambient room events let OpenClaw process unmentioned 大家一起的房间 or 消息通道 chatter as quiet c…。
先听这页的人话版
Ambient room events
这一页不是在堆术语,它像把“Ambient room events”这台小机器搬到桌上,当着你的面拆开给你看。你先不用全记住,先抓住它到底在忙什么:Ambient room events let OpenClaw process unmentioned 大家一起的房间 or 消息通道 chatter as quiet context.…。
如果把这页当成“给普通人看的版本”,你最应该带走的是:它到底在教你一件什么事、什么时候要这样做、以及哪里最容易踩坑。
第 1 站
Start Here
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
你理解的是能力边界,不只是功能名字。
如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Ambient room events let OpenClaw process unmentioned 大家一起的房间 or 消息通道 chatter as quiet context. The 机器人朋友 can update mem…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Ambient room events let OpenClaw process unmentioned 大家一起的房间 or 消息通道 chatter as quiet context. The 机器人朋友 can update mem…。
Ambient room events let OpenClaw process unmentioned group or channel chatter as quiet context. The agent can update memory and session state, but the room stays silent unless the agent explicitly calls the message tool.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For always-on 大家一起的房间 chats, this is the recommended mode: combine 小纸条消息s.大家一起的房间Chat.unmentionedInbound: "room_event"…。
For always-on group chats, this is the recommended mode: combine messages.groupChat.unmentionedInbound: "room_event" with messages.groupChat.visibleReplies: "message_tool". Use it when the agent should listen, decide when a reply is useful, and avoid the old prompt pattern of answering NO_REPLY.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Supported today: Discord guild 消息通道s, Slack 消息通道s and private 消息通道s, Slack multi-person DMs, and Telegram 大家一起的房间s or s…。
Supported today: Discord guild channels, Slack channels and private channels, Slack multi-person DMs, and Telegram groups or supergroups. Other group channels keep their existing group behavior unless their channel page says they support ambient room events.
第 2 站
Recommended setup
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set the global 大家一起的房间-chat behavior: Then 设置说明书ure the room itself as always-on by disabling mention gating for that r…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set the global 大家一起的房间-chat behavior:。
Set the global group-chat behavior:
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“messages”挂牌子,告诉系统它该指向“{”。
- 这里在给“groupChat”挂牌子,告诉系统它该指向“{”。
{
messages: {
groupChat: {
unmentionedInbound: "room_event",
visibleReplies: "message_tool",
historyLimit: 50,
},
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Then 设置说明书ure the room itself as always-on by disabling mention gating for that room. The 消息通道 must still be allowed by…。
Then configure the room itself as always-on by disabling mention gating for that room. The channel must still be allowed by its normal groupPolicy, room allowlist, and sender allowlist.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:After saving the 设置说明书, the 门口的小门卫 hot-reloads 小纸条消息s settings. Restart only when file watching or 设置说明书 reload is disa…。
After saving the config, the Gateway hot-reloads messages settings. Restart only when file watching or config reload is disabled.
第 3 站
What changes
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:With 小纸条消息s.大家一起的房间Chat.unmentionedInbound: "room_event": Room events use strict visible delivery. Final assistant text…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:With 小纸条消息s.大家一起的房间Chat.unmentionedInbound: "room_event":。
With messages.groupChat.unmentionedInbound: "room_event":
这一串条目别硬背,把它当成“What changes”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:unmentioned allowed 大家一起的房间 or 消息通道 小纸条消息…、mentioned 小纸条消息s stay user requests、text 魔法口令s and native 魔法口令s stay user req…、abort or stop requests stay user requests。
- unmentioned allowed group or channel messages become quiet room events
- mentioned messages stay user requests
- text commands and native commands stay user requests
- abort or stop requests stay user requests
- direct messages stay user requests
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Room events use strict visible delivery. Final assistant text is private. The 机器人朋友 must call 小纸条消息(action=send) to pos…。
Room events use strict visible delivery. Final assistant text is private. The agent must call message(action=send) to post in the room.
第 4 站
Discord example
这一节主要在解释“Discord example”到底是干什么的,以及你什么时候会遇到它。
这一节主要在解释“Discord example”到底是干什么的,以及你什么时候会遇到它。
如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。
真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use per-消息通道 Discord 设置说明书 when only one 消息通道 should be ambient:。
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“messages”挂牌子,告诉系统它该指向“{”。
- 这里在给“groupChat”挂牌子,告诉系统它该指向“{”。
{
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
"],
},
},
},
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use per-消息通道 Discord 设置说明书 when only one 消息通道 should be ambient:。
Use per-channel Discord config when only one channel should be ambient:
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“channels”挂牌子,告诉系统它该指向“{”。
- 这里在给“discord”挂牌子,告诉系统它该指向“{”。
{
channels: {
discord: {
guilds: {
"
DISCORD_SERVER_ID
": {
channels: {
"
DISCORD_CHANNEL_ID_OR_NAME
": {
allow: true,
requireMention: false,
},
},
},
},
},
},
}
第 5 站
Slack example
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Slack 消息通道 allowlists are ID-first. Use 消息通道 IDs such as C12345678, not #消息通道-name.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Slack 消息通道 allowlists are ID-first. Use 消息通道 IDs such as C12345678, not #消息通道-name.
Slack channel allowlists are ID-first. Use channel IDs such as C12345678, not #channel-name.
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“messages”挂牌子,告诉系统它该指向“{”。
- 这里在给“groupChat”挂牌子,告诉系统它该指向“{”。
{
messages: {
groupChat: {
unmentionedInbound: "room_event",
visibleReplies: "message_tool",
historyLimit: 50,
},
},
channels: {
slack: {
groupPolicy: "allowlist",
channels: {
"
SLACK_CHANNEL_ID
": {
allow: true,
requireMention: false,
},
},
},
},
}
第 6 站
Telegram example
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For Telegram 大家一起的房间s, the bot must be able to see normal 大家一起的房间 小纸条消息s. If requireMention: false, disable BotFather p…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For Telegram 大家一起的房间s, the bot must be able to see normal 大家一起的房间 小纸条消息s. If requireMention: false, disable BotFather p…。
For Telegram groups, the bot must be able to see normal group messages. If requireMention: false, disable BotFather privacy mode or use another Telegram setup that delivers full group traffic to the bot.
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“messages”挂牌子,告诉系统它该指向“{”。
- 这里在给“groupChat”挂牌子,告诉系统它该指向“{”。
{
messages: {
groupChat: {
unmentionedInbound: "room_event",
visibleReplies: "message_tool",
historyLimit: 50,
},
},
channels: {
telegram: {
groups: {
"
TELEGRAM_GROUP_CHAT_ID
": {
groupPolicy: "open",
requireMention: false,
},
},
},
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Telegram 大家一起的房间 IDs are usually negative numbers such as -1001234567890. Read chat.id from openclaw logs --follow, for…。
Telegram group IDs are usually negative numbers such as -1001234567890. Read chat.id from openclaw logs --follow, forward a group message to an ID helper bot, or inspect Bot API getUpdates.
第 7 站
机器人朋友 specific policy
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
这一节在讲一类能力是怎么工作的:它能做什么、不能做什么、适合在什么场景下调用。
你理解的是能力边界,不只是功能名字。
如果这节里同时出现命令、配置和例子,优先先看例子,再回头看配置。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use an 机器人朋友 override when several 机器人朋友s share the same room but only one should treat unmentioned chatter as ambient…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Use an 机器人朋友 override when several 机器人朋友s share the same room but only one should treat unmentioned chatter as ambient…。
Use an agent override when several agents share the same room but only one should treat unmentioned chatter as ambient context:
这段不是对白,而是一叠设置卡片,像在给系统贴门牌、路线和规矩。
- 大括号像两只手把同一组设置拢住,意思是“这些东西算一伙”。
- 这里在给“messages”挂牌子,告诉系统它该指向“{”。
- 这里在给“groupChat”挂牌子,告诉系统它该指向“{”。
{
messages: {
groupChat: {
visibleReplies: "message_tool",
},
},
agents: {
list: [
{
id: "main",
groupChat: {
unmentionedInbound: "room_event",
mentionPatterns: ["@openclaw", "openclaw"],
},
},
],
},
}
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:The 机器人朋友-specific 机器人朋友s.list[].大家一起的房间Chat.unmentionedInbound value overrides 小纸条消息s.大家一起的房间Chat.unmentionedInbound f…。
The agent-specific agents.list[].groupChat.unmentionedInbound value overrides messages.groupChat.unmentionedInbound for that agent.
第 8 站
Visible reply modes
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:小纸条消息s.大家一起的房间Chat.visibleReplies defaults to "automatic" for normal 大家一起的房间/消息通道 user requests. Keep that default when…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:小纸条消息s.大家一起的房间Chat.visibleReplies defaults to "automatic" for normal 大家一起的房间/消息通道 user requests. Keep that default when…。
messages.groupChat.visibleReplies defaults to "automatic" for normal group/channel user requests. Keep that default when you want final assistant text to post visibly without requiring an explicit message-tool call.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:For ambient always-on rooms, 小纸条消息s.大家一起的房间Chat.visibleReplies: "小纸条消息_工具小帮手" is still recommended, especially with lat…。
For ambient always-on rooms, messages.groupChat.visibleReplies: "message_tool" is still recommended, especially with latest-generation, tool-reliable models such as GPT 5.5. It lets the agent decide when to speak by calling the message tool. If the model returns final text without calling the tool, OpenClaw keeps that final text private and logs suppressed delivery metadata.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Room events stay strict even when other 大家一起的房间 requests use automatic replies. Unmentioned ambient room events still r…。
Room events stay strict even when other group requests use automatic replies. Unmentioned ambient room events still require message(action=send) for visible output.
第 9 站
History
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:小纸条消息s.大家一起的房间Chat.historyLimit controls the global 大家一起的房间 history default. 消息通道s can override it with 消息通道s.<消息通道>.hi…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:小纸条消息s.大家一起的房间Chat.historyLimit controls the global 大家一起的房间 history default. 消息通道s can override it with 消息通道s.<消息通道>.hi…。
messages.groupChat.historyLimit controls the global group history default. Channels can override it with channels.<channel>.historyLimit, and some channels also support per-account history limits.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Set historyLimit: 0 to disable 大家一起的房间 history context.
Set historyLimit: 0 to disable group history context.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:Supported room-event 消息通道s keep recent ambient room 小纸条消息s as context. Discord keeps room-event history until a visible…。
Supported room-event channels keep recent ambient room messages as context. Discord keeps room-event history until a visible Discord send succeeds, so quiet context is not lost before message-tool delivery.
第 10 站
Troubleshooting
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这一节在讲规则和边界:什么默认允许、什么必须显式打开、什么被禁止。
这种内容决定了 OpenClaw 是“能做”还是“现在还不能做”,读懂它比记术语更重要。
你可以把这一节当成权限说明书,真正配置时优先盯住 default、required、allow、deny 这几个词。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the room shows typing or token usage but no visible 小纸条消息: 1. Confirm the room is allowed by the 消息通道 allowlist and…。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If the room shows typing or token usage but no visible 小纸条消息:。
If the room shows typing or token usage but no visible message:
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:1. Confirm the room is allowed by the 消息通道 allowlist and sender allowlist. 2. Confirm requireMention: false is set at t…。
1. Confirm the room is allowed by the channel allowlist and sender allowlist. 2. Confirm requireMention: false is set at the room level you expect. 3. Check whether messages.groupChat.unmentionedInbound or the agent override is "room_event". 4. Inspect logs for suppressed final payload metadata or didSendViaMessagingTool: false. 5. For normal group requests, keep or restore messages.groupChat.visibleReplies: "automatic" if you want final replies posted automatically. For ambient rooms using message_tool, use a model/runtime that reliably calls tools.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If Telegram ambient rooms do not trigger at all, check BotFather privacy mode and verify the 门口的小门卫 is receiving normal…。
If Telegram ambient rooms do not trigger at all, check BotFather privacy mode and verify the Gateway is receiving normal group messages.
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:If Slack ambient rooms do not trigger, verify the 消息通道 key is the Slack 消息通道 ID and the app has the required 消息通道s:hist…。
If Slack ambient rooms do not trigger, verify the channel key is the Slack channel ID and the app has the required channels:history or groups:history scope for that room type.
第 11 站
Related
这一节主要在解释“Related”到底是干什么的,以及你什么时候会遇到它。
这一节主要在解释“Related”到底是干什么的,以及你什么时候会遇到它。
如果你是第一次接触 OpenClaw,这一节最值得看的不是术语本身,而是它背后的使用场景和限制。
真正动手时,先看它有没有默认值、有没有必须打开的选项、以及会不会影响安全边界。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。
这一串条目别硬背,把它当成“Related”门口贴出来的几张便签就行。它们在提醒你先备好什么、别漏掉什么、哪里最容易走错:大家一起的房间s、Discord、Slack、Telegram。
如果把这一段摆成一个小场景,你会看到几样东西正在互相打招呼、拦路或者传东西。别急着记名词,先抓住它此刻到底在发生什么:---。
---
AdSense 连接验证已经放在页面头部;广告单元等站点审批通过后再启用。
google-adsense-account: ca-pub-3833673520933536