深度

OpenClaw 群组配置深度指南:跨平台群组策略、工具权限控制与单 Agent 双模式运行

OpenClaw 群组配置深度解析:跨平台(WhatsApp/Telegram/Discord/Slack/iMessage/Teams)一致性群组策略、mentionPatterns 正则提及识别、群组工具权限控制(toolsBySender 五种键格式和优先级)、单 Agent 双模式运行(DM 全权限 + 群组 Docker 沙箱隔离),以及群组会话系统提示内容详解。

2026/3/45分钟 阅读ClaudeEagle

OpenClaw 对 WhatsApp、Telegram、Discord、Slack、Signal、iMessage、Microsoft Teams、Zalo 等所有支持的平台提供一致的群组处理机制。本文深度解析群组配置的每个细节。

核心设计原则

OpenClaw「住」在你自己的消息账号里——没有独立的 Bot 账号。如果你在某个群组,OpenClaw 就能在那个群组里响应。

默认行为

  • 群组被限制(groupPolicy: "allowlist"
  • 回复需要被 @提及

群组消息处理流程

groupPolicy = disabled? → 丢弃 groupPolicy = allowlist → 群组在允许列表中? 否 → 丢弃 requireMention = true → 被提及? 否 → 仅存入上下文,不触发回复 否则 → 触发 Agent 回复

快速配置速查

目标配置
允许所有群组但仅 @提及响应groups: { "*": { requireMention: true } }
禁止所有群组回复groupPolicy: "disabled"
仅允许特定群组���配置具体群组 ID,不含 "*" 通配符
仅主人可以在群组触发groupPolicy: "allowlist" + groupAllowFrom: ["+1555..."]

多平台群组策略配置

WhatsApp

json
{
  "channels": {
    "whatsapp": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["+15551234567"],
      "groups": {
        "*": { "requireMention": true },
        "123@g.us": { "requireMention": false }
      }
    }
  }
}

Telegram

json
{
  "channels": {
    "telegram": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["123456789"],
      "groups": {
        "*": { "requireMention": true },
        "-1001234567890": { "requireMention": false }
      }
    }
  }
}

iMessage

json
{
  "channels": {
    "imessage": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["chat_id:123"],
      "groups": {
        "chat_id:123": { "requireMention": true }
      }
    }
  }
}

iMessage 路由推荐使用 chat_id:<id> 格式,可用 imsg chats --limit 20 列出群组 ID。

@提及识别配置

json
{
  "agents": {
    "list": [
      {
        "id": "main",
        "groupChat": {
          "mentionPatterns": ["@openclaw", "openclaw", "\\+15555550123"],
          "historyLimit": 50
        }
      }
    ]
  }
}

注意事项

  • mentionPatterns 是大小写不敏感的正则表达式
  • 平台提供的原生 @提及(mentionedJids)仍然有效,mentionPatterns 是补充
  • 多 Agent 场景:每个 Agent 单独设置 mentionPatterns
  • 回复 Bot 消息本身被视为隐式提及(Telegram、WhatsApp、Slack、Discord、Teams 支持)

全局回退(所有 Agent 共用):

json
{
  "messages": {
    "groupChat": {
      "mentionPatterns": ["@openclaw"],
      "historyLimit": 30
    }
  }
}

群组工具权限控制

按群组限制工具

json
{
  "channels": {
    "telegram": {
      "groups": {
        "*": { "tools": { "deny": ["exec"] } },
        "-1001234567890": {
          "tools": { "deny": ["exec", "read", "write"] },
          "toolsBySender": {
            "id:123456789": { "alsoAllow": ["exec"] }
          }
        }
      }
    }
  }
}

权限解析优先级(从高到低)

  1. toolsBySender 精确匹配(最高优先级)
  2. 群组/频道级 tools
  3. 默认 "*" toolsBySender
  4. 默认 "*" tools

toolsBySender 键格式

前缀示例匹配依据
id:id:123456789发送者 ID
e164:e164:+15555550123E.164 电话号码
username:username:johndoe用户名
name:name:John Doe显示名称
"*""*"所有用户(通配)

不同平台的配置键差异

平台配置路径
Discordchannels.discord.guilds.*.channels.*
Slackchannels.slack.channels.*
MS Teamschannels.msteams.teams.*.channels.*

单 Agent 双模式运行:个人 DM + 公开群组

这是一个非常实用的架构模式——一个 Agent「大脑」,DM 和群组使用不同的执行策略

json
{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main",
        "scope": "session",
        "workspaceAccess": "none"
      }
    }
  },
  "tools": {
    "sandbox": {
      "tools": {
        "allow": ["group:messaging", "group:sessions"],
        "deny": ["group:runtime", "group:fs", "group:ui", "nodes", "cron", "gateway"]
      }
    }
  }
}

工作原理

会话类型Session Key执行环境可用工具
DMagent:main:main宿主机(全权限)所有工具
群组agent:main:<channel>:group:<id>Docker 沙箱仅消息相关工具

优点:共享同一个工作区和长期记忆,同时对公开群组实施严格工具隔离。

更进一步——挂载特定目录给群组沙箱

json
{
  "agents": {
    "defaults": {
      "sandbox": {
        "mode": "non-main",
        "scope": "session",
        "workspaceAccess": "none",
        "docker": {
          "binds": [
            "/home/user/SharedDocs:/data:ro"
          ]
        }
      }
    }
  }
}

群组中的 Agent 只能只读访问 /data,主工作区完全隔离。

Agent 系统提示中的群组上下文

群组会话第一轮自动注入系统提示:

你正在 WhatsApp 群「<群名称>」中回复。 群成员:Alice (+44...), Bob (+43...), ... 激活模式:仅触发模式(被提及时响应) 请根据消息上下文中标注的发送者来称呼对方。

此外,系统提示还会提醒 Agent:

  • 像真实人类一样回复
  • 避免 Markdown 表格(移动端渲染不佳)
  • 不要输出字面 \n 换行符

原文:Groups - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

深度OpenClaw 多渠道路由完全指南:同时管理 Telegram、WhatsApp、Slack 的统一 AI 助手OpenClaw 多渠道路由(Channel Routing)完整教程:如何在一个 OpenClaw 实例上同时运行 Telegram、WhatsApp、Slack 等多个渠道、每个渠道使用独立 Agent(SOUL.md)的路由配置、基于渠道类型和群组 ID 的路由规则、同一消息跨渠道广播(Broadcast Groups)、根据渠道身份动态调整 AI 人格与语言风格,以及多渠道管理的最佳实践(避免消息混淆/保持上下文独立/渠道专属配置)。2026/3/23深度OpenClaw 多 Gateway 架构完全指南:一台机器运行多个独立 AI 助手实例OpenClaw 多 Gateway(Multi-Gateway)架构完整教程:多实例的隔离优势、同一台机器运行多个 Gateway(不同端口/配置文件/workspace)、systemd 管理多个 Gateway 服务、Nginx 虚拟主机为每个实例分配独立域名、API Key 隔离与成本拆分、单机多实例 vs 多机方案对比,以及 Docker Compose 多容器隔离部署方案。2026/3/26深度OpenClaw Hooks 自动化进阶:消息前后的智能拦截、转换与触发机制OpenClaw Hooks(钩子)自动化系统进阶教程:Hooks 的触发时机(before-send/after-receive/on-tool-call)、用 Hooks 拦截消息并修改内容(自动翻译/过滤/格式化)、基于条件的 Hook 触发(渠道过滤/关键词匹配)、Hook 中调用外部 API(Notion 记录/Bark 通知/监控告警)、exec 工具二次确认 Hook,以及 Hooks 与 SOUL.md 和 Standing Orders 的优先级关系详解。2026/3/26深度OpenClaw 插件开发完全指南:从零构建自定义渠道和工具插件OpenClaw 插件(Plugin)开发完整教程:插件类型(渠道插件/工具插件/Provider插件)、插件的目录结构和 package.json 规范、使用 Plugin SDK 开发自定义消息渠道(实现 onMessage/sendMessage 接口)、开发自定义工具(Tool)的函数签名和参数 Schema、本地插件安装与调试(openclaw plugins install ./local-plugin)、发布到 npm 的规范要求(@openclaw/ 命名空间)、插件的权限声明(capabilities)、社区插件列表(Plugin Bundles)获取,以及常见插件开发错误和调试技巧。2026/3/25深度OpenClaw 安全威胁模型深度解析:MITRE ATLAS 框架下的 AI 助手攻防分析OpenClaw 安全架构深度分析:个人助手信任模型(单用户/单 Gateway 边界)、形式化验证的认证逻辑、基于 MITRE ATLAS 框架的 AI 系统威胁分类(直接提示注入/间接提示注入/工具滥用/数据泄露/会话劫持)、多租户共享 Gateway 的风险与安全边界说明、exec/browser/文件工具的权限最小化配置、频道白名单与沙箱配置对应的威胁缓解措施,以及 `openclaw security audit` 命令的使用方法。2026/3/24深度OpenClaw 多模型路由完全指南:30+ 模型提供商接入、智能切换与故障转移OpenClaw 多模型路由系统完整教程:支持的 30+ 模型提供商全览(Anthropic/OpenAI/Gemini/Ollama/OpenRouter/DeepSeek/Qwen/GLM 等)、provider/model 格式的模型指定方式、按渠道/Agent/任务类型设置不同默认模型、Model Failover 故障转移配置(主模型失败自动切换备用模型)、Claude Max API Proxy 接入方式、本地模型(Ollama/vLLM)与云端模型混用策略,以及 Token 限制和费用控制实践。2026/3/24