5.21 群组功能

OpenClaw 在 WhatsApp、Telegram、Discord、Slack、Signal、iMessage 和 Microsoft Teams 中一致地处理群组聊天。

访问控制

  • 群组默认受限(groupPolicy: "allowlist"
  • 回复需要提及,除非禁用
  • 直接消息访问由 *.allowFrom 控制
  • 群组访问由 *.groupPolicy + 允许列表控制
  • 回复触发由提及门控控制

群组策略选项

  • "open" - 允许所有群组
  • "disabled" - 禁用所有群组
  • "allowlist" - 仅允许列表中的群组(默认)

提及门控

默认需要 @mentions,带有回退模式如 "@openclaw"

{
  groups: {
    "*": {
      requireMention: true
    }
  }
}

会话键

群组使用特定格式:

agent:<agentId>:<channel>:<accountId>:group:<groupId>

Telegram 论坛主题在群组键中嵌入 :topic:<topicId>

群组消息流程

  1. 检查 groupPolicy
  2. 检查群组允许列表
  3. 检查提及状态

沙盒支持

  • 允许主机上的直接消息
  • 允许 Docker 中具有受限工具的群组

显示标签

使用 displayName 格式化为 name:label

工具限制

可以针对每个群组或每个发送者应用工具限制。

激活命令

/activation mention 这样的命令允许所有者切换行为。

上下文字段

包括:

  • ChatType=group
  • GroupSubject - 群组名称
  • GroupMembers - 成员列表
  • WasMentioned - 是否被提及

特定平台说明

  • iMessage: 使用 chat_id: 进行路由
  • WhatsApp: 具有特定的历史和提及规则
  • Telegram: 支持论坛主题
  • Discord/Slack: 支持线程
提示
群组功能允许 OpenClaw 在多个消息平台上提供一致的体验。使用允许列表和提及门控可以精确控制 agent 的回复行为。