OpenClaw 对接钉钉机器人的踩坑实录

除了飞书,很多公司用钉钉。分享下 OpenClaw 对接钉钉的经验。

和飞书的区别

钉钉的机器人开发体验比飞书差一些:

  • 文档更新不及时
  • API 设计不够一致
  • 回调验签逻辑更复杂

但钉钉的用户量大,很多企业都在用,所以还是得对接。

核心步骤

1. 创建钉钉企业应用

在钉钉开放平台创建企业内部应用,获取 AppKey 和 AppSecret。

2. 配置消息订阅

钉钉的消息回调用的是 HTTP POST,需要实现一个回调接口。OpenClaw 原生不支持钉钉,我写了个中间层转发。

3. 消息格式

钉钉的消息格式是自定义的 JSON,不是标准 Markdown。需要做格式转换。

最大的坑:签名验证

钉钉的回调签名验证算法和飞书不一样,用的是 HMAC-SHA256 + Base64。如果签名对不上,钉钉会持续重试,5 分钟后把你的回调地址标记为失败。

我在这上面卡了一天,最后发现是时间戳的精度问题——钉钉用的是毫秒级时间戳,我用了秒级。

效果

对接完之后体验还不错。在钉钉群里 @Bot 就能和 OpenClaw 对话,响应时间 3-5 秒。

如果你的团队用钉钉,可以参考我的方案。有具体问题欢迎留言讨论。

钉钉的开发体验确实比飞书差。API命名不一致,文档里的示例代码有时候是错的

回调验签那块是最坑的。钉钉的签名算法和飞书不一样,而且文档写得不清楚

我们公司用钉钉,一直想接龙虾但怕踩坑。看到楼主的经验心里有底了

钉钉机器人有消息发送频率限制吗?如果团队使用量大会不会被限流

对比飞书和钉钉的开发体验,飞书确实好很多。但没办法,公司用什么我就对接什么

消息格式方面钉钉支持ActionCard,效果比纯文本好。建议用ActionCard展示AI回复

请问对接后的消息延迟大概多少?从发消息到收到AI回复

钉钉的Webhook方案比自建应用简单很多。如果只是单向推送,Webhook就够了

建议楼主把代码开源到GitHub。钉钉对接的开源项目太少了

@datayuannet 钉钉有消息频率限制 企业内部机器人是每分钟100条 超了就会被限流 如果团队大需要做消息队列

@deepxiaism 消息延迟取决于你的模型和网络 国内服务器调国产模型的话 通常1-3秒回复 调Claude的话可能5-10秒 网络因素大

钉钉的开放平台文档真的烂

踩坑记录太有用了

签名验证那步最容易出问题