Broadcast Groups(广播群组)让你用一条消息同时投递到多个目的地(跨不同渠道)。适合统一通知、事故告警、跨团队同步等场景。
状态
实验性(Experimental)。新增于 2026.1.9。
概述
- 一个 broadcast group 是一组
{channel, to}目标。 - 投递时网关进行 fanout:对每个目标独立发送。
- 仅影响外发消息,不会合并会话或消息上下文。
使用场景
- 管理员通知:同时发到 Slack + Telegram
- 多渠道状态更新:公告推送到多个空间/群组
- 多区域/多团队同步:同一消息分发给不同群组
- 紧急告警:在所有通信平台发布关键通知
创建广播群组
在配置中声明广播组(示例:ops):
{
channels: {
broadcast: {
groups: {
ops: [
{ channel: "slack", to: "channel:C1234567890" },
{ channel: "telegram", to: "-1001234567890" },
{ channel: "discord", to: "channel:123456789012345678" }
]
}
}
}
}
每个目标遵循该渠道的 to 格式(如 Slack 的 channel ID、Telegram 的 chat ID、Discord 的 channel ID)。
发送到广播群组
通过 CLI 发送:
openclaw message send --channel broadcast:ops --message "Maintenance starts in 5 minutes. Expect downtime."
在代理中使用 message 工具:
await message({
channel: "broadcast:ops",
message: "Maintenance starts in 5 minutes. Expect downtime."
});
工作原理
Fanout
网关会把一条消息展开为多条“单播”消息,并交由各渠道适配器发送。失败不会阻塞其它目的地。
顺序
同一目标的顺序会保持,但跨目标不保证一致顺序。
会话模型
- 每个目标使用自己的会话键(由频道 + 目标 ID 派生)。
- 广播不会产生统一的“组会话”。
- 回复仍回到各自的渠道/空间/群组。
兼容性
- 可用于所有接受
channel的路径:CLI、工具调用、cron 交付等。 - 配对/权限策略仍由各渠道自身规则控制。
故障排除
- 若报 “unknown broadcast group”,检查配置中是否存在该组名。
- 个别目标发送失败,请查看对应渠道日志与权限设置。