OpenClawSkills
GitHub
核心概念 • 5 分钟阅读

群组消息

WhatsApp 群组消息处理的行为和配置(mentionPatterns 跨界面共享)

WhatsApp 群组消息处理的行为和配置。mentionPatterns 在所有界面(CLI、TUI、Web UI)之间共享。

本页面主要关注 WhatsApp 特定的群组消息处理行为,包括激活模式、历史上下文注入和 mention gating。

Tutorial.step

激活模式(mention vs always)

WhatsApp 群组支持两种激活模式:

- ''mention''(默认):只有在群里被 @mention 或匹配 mentionPatterns 时才触发回复。

- ''always'':对所有群消息都触发回复(不推荐用于公共群)。

配置方式:

- 全局:''channels.whatsapp.groupPolicy = mention|always''

- Per-group: ''channels.whatsapp.groups.<jid>.requireMention = false'' (set to false for always mode)

Tutorial.step

Mention Patterns 配置

mentionPatterns 是正则表达式数组,用于匹配群消息中的文本,即使没有 @mention 也能触发回复。

Json5
{ "messages": { "groupChat": { "mentionPatterns": [ "^(?i)\\b(bot|assistant|help|ai)\\b", "^@openclaw", "^(?i)\\b(hey|hello|hi)\\s+openclaw" ] } } }

也可以按 agent 覆盖:

''agents.list[].groupChat.mentionPatterns''

Tutorial.step

待处理历史缓冲区

当群里消息没有触发回复(没有 mention / 被 allowlist 阻止)时,OpenClaw 会把这些消息暂存为 pending。

在下一次触发时,这些 pending 消息会被注入到 prompt 中作为上下文,帮助模型理解对话历史。

这确保了即使机器人不回复每条消息,它仍然能够了解群里的最新讨论。

Tutorial.step

历史上下文注入

当群消息触发回复时,OpenClaw 会注入最近的历史消息到 prompt 中。

历史消息分为两部分:

- Pending 消息:上次回复之后但未被处理的消息(最多 historyLimit 条)。

- Transcript 消息:已写入会话记录的历史消息。

Tutorial.step

配置选项

WhatsApp 群组消息处理的主要配置选项:

- ''channels.whatsapp.groupPolicy'':全局激活模式(mention/always)。

- ''channels.whatsapp.groups.<jid>.requireMention'': Override activation mode per group.

- ''channels.whatsapp.historyLimit'':pending 历史消息的最大数量(默认 50)。

Tutorial.step

运行时激活控制

部分通道支持 ''/activation'' 命令(只影响当前会话):

- ''/activation mention'':需要 mention(默认)。

- ''/activation always'':对所有消息回复。

注意:该命令通常只对授权发送者有效(owner/allowlist)。要持久化行为,请写配置,而不是依赖会话命令。