广播组(Broadcast Groups)是 OpenClaw 2026.1.9 新增的实验性功能,允许多个 Agent 同时处理同一条消息,实现专业化 Agent 团队协作。
当前范围:仅支持 WhatsApp(web channel)。广播组在频道白名单和群组激活规则之后生效——即 OpenClaw 正常情况下会回复时,才触发广播。
核心使用场景
1. 专业化 Agent 团队
每个 Agent 专注一个职责,处理同一条消息并提供各自的专业视角:
群组:「开发团队」
Agents:
- CodeReviewer(代码审查)
- DocumentationBot(自动生成文档)
- SecurityAuditor(安全漏洞扫描)
- TestGenerator(建议测试用例)
2. 多语言支持
群组:「国际支持」
Agents:
- Agent_CN(中文回复)
- Agent_EN(英文回复)
- Agent_JP(日文回复)
3. 质量保障工作流
群组:「客服支持」
Agents:
- SupportAgent(提供答案)
- QAAgent(审核质量,仅在发现问题时回复)
4. 任务自动化
群组:「项目管理」
Agents:
- TaskTracker(更新任务数据库)
- TimeLogger(记录工时)
- ReportGenerator(生成摘要报告)
配置方法
基础配置
在顶层(与 bindings 同级)添加 broadcast 配置块,键为 WhatsApp peer id:
{
"broadcast": {
"120363403215116621@g.us": ["alfred", "baerbel", "assistant3"]
}
}结果:当 OpenClaw 在此群组中正常会回复时,同时触发三个 Agent 运行。
Peer ID 格式
| 类型 | 格式 | 示例 |
|---|---|---|
| 群组 | WhatsApp 群组 JID | 120363403215116621@g.us |
| 私信(DM) | E.164 格式电话号码 | +15551234567 |
处理策略
并行模式(默认,推荐)
所有 Agent 同时处理消息,互不等待:
{
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["alfred", "baerbel"]
}
}优点:响应速度最快,适合 Agent 之间无依赖关系的场景。
顺序模式
Agent 按配置顺序依次处理,前一个完成后下一个才开始:
{
"broadcast": {
"strategy": "sequential",
"120363403215116621@g.us": ["first-agent", "second-agent"]
}
}适用场景:后续 Agent 需要依赖前一个 Agent 输出的场景(如审核流水线)。
完整配置示例
代码审查团队
{
"agents": {
"list": [
{
"id": "code-reviewer",
"name": "代码审查",
"workspace": "~/.openclaw/workspace-reviewer",
"model": "claude-opus-4-6"
},
{
"id": "security-auditor",
"name": "安全审计",
"workspace": "~/.openclaw/workspace-security"
},
{
"id": "doc-writer",
"name": "文档生成",
"workspace": "~/.openclaw/workspace-docs"
}
]
},
"broadcast": {
"strategy": "parallel",
"120363403215116621@g.us": ["code-reviewer", "security-auditor", "doc-writer"]
}
}多语言客服
{
"broadcast": {
"strategy": "parallel",
"+15551234567": ["agent-cn", "agent-en", "agent-jp"]
}
}工作原理
消息流
用户在群组发消息
↓
频道白名单检查(groupPolicy)
↓
群组激活规则检查(requireMention 等)
↓
广播组规则匹配(broadcast config)
↓
同时分发给所有配置的 Agent
↓
各 Agent 独立运行,各自回复
会话隔离
每个 Agent 维护独立的会话历史:
Agent alfred: agent:alfred:whatsapp:group:120363403215116621@g.us
Agent baerbel: agent:baerbel:whatsapp:group:120363403215116621@g.us
这意味着 alfred 的上下文历史与 baerbel 完全独立,互不干扰。
最佳实践
1. 保持 Agent 职责单一
每个 Agent 只做一件事,避免职责重叠导致重复回复和用户困惑。
2. 使用描述性名称
{
"agents": {
"list": [
{ "id": "code-reviewer", "name": "🔍 Code Review" },
{ "id": "security-bot", "name": "🛡️ Security Check" }
]
}
}清晰的名称帮助用户识别每条回复来自哪个 Agent。
3. 为不同 Agent 配置不同工具权限
{
"agents": {
"list": [
{
"id": "code-reviewer",
"tools": { "allow": ["group:fs", "group:runtime"] }
},
{
"id": "logger",
"tools": { "allow": ["group:sessions"] }
}
]
}
}最小权限原则:每个 Agent 只拥有完成职责所需的工具权限。
4. 监控性能
并行模式下,多个 Agent 同时调用 API 会增加计费。建议:
- 用 Status Line 实时监控费用
- 非必要场景减少广播 Agent 数量
- 仅在有实际价值的群组配置广播
5. 优雅处理失败
单个 Agent 失败不会影响其他 Agent。建议在每个 Agent 的 SOUL.md 中明确:若无法提供有价值的回复,返回 NO_REPLY 而非强行输出。
兼容性
| 维度 | 说明 |
|---|---|
| 平台 | 当前仅 WhatsApp(web channel) |
| 版本 | OpenClaw 2026.1.9+ |
| 状态 | Experimental(实验性) |
| 与路由关系 | 广播组与 bindings 路由规则不冲突,在路由之后生效 |
常见问题排查
所有 Agent 都不响应?
- 检查群组是否在白名单中(
groupPolicy+groupAllowFrom) - 确认激活条件是否满足(
requireMention时是否 @了 Bot) - 检查
broadcast配置的 peer id 是否正确
只有一个 Agent 响应?
- 确认
broadcast列表中所有 Agent id 都在agents.list中定义 - 检查其他 Agent 的日志是否有错误
性能问题?
- 考虑改用
sequential模式,减少同时并发的 API 请求 - 减少广播 Agent 数量
原文:Broadcast Groups - OpenClaw | 来源:OpenClaw 官方文档