群组消息

群消息(WhatsApp web 频道)

目标:让 Clawd 在 WhatsApp 群里待命,只有被点名才唤醒,并且群聊与个人 DM 会话分开。

注意:agents.list[].groupChat.mentionPatterns 现在也被 Telegram/Discord/Slack/iMessage 使用;本文聚焦 WhatsApp 的具体行为。多 Agent 设置下,请给每个 Agent 设置 agents.list[].groupChat.mentionPatterns(或用 messages.groupChat.mentionPatterns 作为全局回退)。

已实现内容(2025-12-03)

配置示例(WhatsApp)

~/.openclaw/openclaw.json 中添加 groupChat,即使 WhatsApp 文本中不显示 @,显示名的 ping 也能工作:

{
  channels: {
    whatsapp: {
      groups: {
        "*": { requireMention: true } // 中文注释:所有群都需要被提及才触发
      }
    }
  },
  agents: {
    list: [
      {
        id: "main",
        groupChat: {
          historyLimit: 50, // 中文注释:注入的历史上限
          mentionPatterns: [
            "@?openclaw", // 中文注释:匹配显示名提及
            "\\+?15555550123" // 中文注释:匹配号码(可带 +)
          ]
        }
      }
    ]
  }
}

说明:

激活命令(仅所有者)

在群聊中使用:

只有所有者号码(来自 channels.whatsapp.allowFrom,或当未设置时使用机器人自己的 E.164)可以更改该设置。在群里发送 /status 作为独立消息可查看当前激活模式。

如何使用

  1. 将运行 OpenClaw 的 WhatsApp 账号加入群。
  2. @openclaw ...(或包含号码)。除非你设置 groupPolicy: "open",否则只有允许列表发送者能触发。
  3. Agent 提示会包含最近群上下文,并带 [from: …] 标记以便对正确的人回复。
  4. 会话级指令(/verbose on/think high/new/reset/compact)仅作用于该群的会话;请作为独立消息发送以便注册。个人 DM 会话保持独立。

测试 / 验证

已知注意事项