🤖
Dingding
钉钉群机器人工具与开放平台开发指南。Use for: (1) 用附带的零依赖 CLI 向钉钉群发通知——文本/markdown/链接卡片,支持加签安全模式和@人, (2) CI/监控/日报等自动化通知场景, (3) 钉钉开放平台 API(token/审批/通讯录)开发指导。DingTalk group-robot...
安全通过
技能说明
name: "钉钉" version: "2.0.0" description: "钉钉群机器人工具与开放平台开发指南。Use for: (1) 用附带的零依赖 CLI 向钉钉群发通知——文本/markdown/链接卡片,支持加签安全模式和@人, (2) CI/监控/日报等自动化通知场景, (3) 钉钉开放平台 API(token/审批/通讯录)开发指导。DingTalk group-robot CLI (zero-dependency, HMAC-signed webhook) plus Open Platform development guide." tags: ["dingtalk", "dingding", "bot", "webhook", "enterprise", "cli"] author: "ClawSkills Team" category: "enterprise"
钉钉 Skill
附带零依赖 CLI(scripts/dingbot.py,仅 Python 标准库),agent 可直接
向钉钉群发通知——这是 agent 自动化里最高频的钉钉需求:任务完成、
构建结果、监控告警、定时日报,一条命令送达。
快速开始
# 群设置 → 智能群助手 → 添加机器人 → 自定义。安全设置选"加签"
export DING_WEBHOOK='https://oapi.dingtalk.com/robot/send?access_token=xxx'
export DING_SECRET='SECxxxxxx' # 加签密钥;用关键词/IP模式则不设
python3 scripts/dingbot.py text "部署完成 ✅" @all
python3 scripts/dingbot.py markdown "巡检日报" report.md
python3 scripts/dingbot.py link "新版本发布" "点击查看详情" https://example.com
脚本行为声明:仅请求 oapi.dingtalk.com;markdown 命令的第二参数
若是本地文件路径则读取该文件,其余不读写本地文件。
命令手册
| 命令 | 作用 |
|---|---|
text <内容> [@手机号,手机号|@all] | 文本消息,可@指定成员或所有人 |
markdown <标题> <md文件或内容> | markdown 消息(标题显示在会话列表) |
link <标题> <正文> <跳转URL> [图片URL] | 链接卡片 |
加签算法已内置:sign = base64(hmac_sha256(secret, "{毫秒时间戳}\n{secret}"))
再 urlencode 拼进 URL——手写这个签名是接钉钉机器人最常见的翻车点。
Agent 典型用法
- CI/CD 通知:构建、测试、部署完成后
text一条结果到项目群 - 监控告警:脚本巡检发现异常 →
markdown发结构化告警 (标题带级别 emoji,正文列指标) - 定时日报:cron 任务生成 md 报告 →
markdown推送 - @ 精确提醒:告警 @值班人手机号 而不是打扰全群
实战要点与错误码(实测)
| errcode | 含义 | 处理 |
|---|---|---|
| 300005 | token 不存在 | webhook URL 拼错或机器人被移除 |
| 310000 | 安全设置校验失败 | 关键词模式=内容必须含设定词;加签模式=检查 DING_SECRET;IP模式=出口IP不在白名单 |
| 130101 | 发送太快被限流 | 每机器人 20 条/分钟,超限封 10 分钟 |
- 安全模式三选一(关键词/加签/IP 白名单),推荐加签:关键词模式 会强迫每条消息都带那个词,IP 模式对动态出口不友好
- markdown 支持的语法是子集:标题/引用/加粗/链接/图片/有序无序列表, 不支持表格——需要表格就发正文截图或链接卡片
- @手机号 只在
text类型生效;markdown 里 @ 需正文含@手机号且 at 字段同时传(本脚本 text 已封装)
开放平台开发速查(服务端 API)
- 旧版域名
oapi.dingtalk.com(gettoken 参数式),新版api.dingtalk.com(token 放 Headerx-acs-dingtalk-access-token),新旧接口长期并存 - access_token:
GET /gettoken?appkey=&appsecret=,有效期 7200 秒, 必须中心化缓存 - 常用能力:工作通知(
/topapi/message/corpconversation/asendv2)、 审批实例、通讯录、考勤打卡数据。参数以 open.dingtalk.com 文档为准 - 企业内部应用最简单(免审核);第三方应用要走应用市场审核
本 skill 不做什么
- 不含钉钉个人号自动化(协议逆向属封号高危区)
- Stream 模式回调、AI 助理(钉钉 AI PaaS)等新能力未覆盖, 以官方文档 open.dingtalk.com 为准
- 群发通知打扰面大,@all 使用前 agent 应向用户确认
如何使用「Dingding」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Dingding」技能完成任务
- 结果即时呈现,支持继续对话优化