支持的通道类型
| 通道 | 配置键 | 主要用途 | 稳定程度 |
|---|---|---|---|
| Discord | discord | 日常推送、RSS、安全告警 | 稳定,主力通道 |
| DingTalk | dingtalk | 工作相关、黄利巡检 | 稳定但配置坑多 |
| Telegram | telegram | 国际通知、个人推送 | 稳定,需代理 |
| QQBot | qqbot | 社区互动 | 一般,API 偶尔变动 |
配置结构
{
"channels": {
"discord": {
"webhook": "https://discord.com/api/webhooks/...",
"enabled": true
},
"dingtalk": {
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=...",
"secret": "SEC...",
"enabled": true
},
"telegram": {
"token": "bot-token",
"chat_id": "123456",
"enabled": true
},
"qqbot": {
"app_id": "...",
"token": "...",
"enabled": false
}
}
}
# 查看当前通道配置
openclaw channels list --json
# 测试通道连通性
openclaw channels test discord
openclaw channels test dingtalk
钉钉踩坑指南
单聊 vs 群聊 Webhook
| 类型 | URL 格式 | 注意事项 |
|---|---|---|
| 群聊机器人 | oapi.dingtalk.com/robot/send?access_token=... | 需要加签(secret)或关键词 |
| 单聊(企业内部应用) | oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2 | 需要 agent_id,user_id 参数 |
groupPolicy 陷阱
钉钉通道配置里有个 groupPolicy 字段,控制消息是发到群还是个人。这个字段配错 = 消息消失。不会报错,不会重试,消息就是没了。
{
"dingtalk": {
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=xxx",
"secret": "SECxxx",
"groupPolicy": "group",
"enabled": true
}
}
groupPolicy: "group"— 发群聊 webhookgroupPolicy: "single"— 发单聊接口- 不设或设错 — 消息投递黑洞
通道选择原则
- Discord — 默认选择,格式支持最好,历史消息可查
- DingTalk — 工作场景专用,和黄利巡检绑定
- Telegram — 需要翻墙时用,移动端推送及时
- QQBot — 社区场景,目前禁用状态
通道配置的最高优先级:先确保能发出去,再考虑发得漂亮。格式花哨但投递失败,等于零。