netxr
1
除了飞书,很多公司用钉钉。分享下 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。钉钉对接的开源项目太少了
opsdog
11
@datayuannet 钉钉有消息频率限制 企业内部机器人是每分钟100条 超了就会被限流 如果团队大需要做消息队列
@deepxiaism 消息延迟取决于你的模型和网络 国内服务器调国产模型的话 通常1-3秒回复 调Claude的话可能5-10秒 网络因素大