钉钉机器人应用配置与OpenClaw集成指南
本指南将帮助您完成钉钉机器人应用的创建、配置以及与 OpenClaw 的集成。
目录
所需凭证
- Client ID
- Client Secret
- Robot Code
- Corp ID
- Agent ID
- 卡片模板 ID
相关链接
注意事项
- 必须加入组织才能使用钉钉开发者后台
- 发布应用前需填写版本详情
- 手动安装插件后需执行npm install
- 配置文件中需要填写正确的凭证信息
创建钉钉应用
步骤 1:打开钉钉开发者后台
注意:必须加入组织才能使用钉钉开发者后台。
步骤 2:创建应用
找到 应用开发 → 钉钉应用 → 创建应用 → 填写相关信息
步骤 3:添加机器人能力
创建应用成功之后会自动打开新的标签页,在"添加应用能力"选择机器人。
步骤 4:配置机器人
把机器人配置打开,填写相关信息之后直接发布。
步骤 5:发布应用
点击凭证与基础信息 → 查看版本详情 → 第一次发布需要填写详情 → 确认发布之后就能在钉钉里面搜索到机器人。
步骤 6:配置权限管理
在应用的权限管理页面,需要开启以下权限:
- ✅ Card.Instance.Write — 创建和投放卡片实例
- ✅ Card.Streaming.Write — 对卡片进行流式更新
步骤 7:建立卡片模板
如需使用 AI 互动卡片功能,需要在钉钉卡片平台创建模板:
- 访问钉钉卡片平台:open-dev.dingtalk.com/fe/card
- 点击「新建模板」
- 卡片模板场景选择 「AI 卡片」
- 无需选择预设模板,直接点击保存
- 复制模板 ID(格式如:xxxxx-xxxxx-xxxxx.schema)
步骤 8:获取凭证
从开发者后台获取以下凭证并保存下来:
- Client ID (AppKey)
- Client Secret (AppSecret)
- Robot Code (与 Client ID 相同)
- Corp ID (企业 ID)
- Agent ID (应用 ID)
- 模板 ID (卡片模板)
配置选项
| 选项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
enabled | boolean | true | 是否启用 |
clientId | string | 必填 | 应用的 AppKey |
clientSecret | string | 必填 | 应用的 AppSecret |
robotCode | string | - | 机器人代码 |
corpId | string | - | 企业 ID |
agentId | string | - | 应用 ID |
dmPolicy | string | "open" | 私聊策略:open/pairing/allowlist |
groupPolicy | string | "open" | 群聊策略:open/allowlist |
allowFrom | string[] | [] | 允许的发送者 ID 列表 |
messageType | string | "markdown" | 消息类型:markdown/card |
cardTemplateId | string | "382e4302-551d-4880-bf29-a30acfab2e71.schema" | AI 互动卡片模板 ID(仅当 messageType=card) |
debug | boolean | false | 是否开启调试日志 |
安全策略
私聊策略 (dmPolicy)
- open — 任何人都可以私聊机器人
- pairing — 新用户需要通过配对码验证
- allowlist — 只有 allowFrom 列表中的用户可以使用
群聊策略 (groupPolicy)
- open — 任何群都可以 @机器人
- allowlist — 只有配置的群可以使用
配置OpenClaw
步骤 1:自动安装(推荐)
如果有VPN可以直接执行:
openclaw plugins install https://github.com/soimy/clawdbot-channel-dingtalk.git
没有VPN就用手动安装方式。
步骤 2:手动安装
- 执行
openclaw plugins list找到系统插件所在的目录(如:D:\Program Files\nodejs\node_global\node_modules\openclaw\extensions)
-
创建dingtalk目录:
D:\Program Files\nodejs\node_global\node_modules\openclaw\extensions\dingtalk -
把openclaw-channel-dingtalk下的文件复制到创建的dingtalk目录
- 打开dingtalk目录,执行安装依赖:
npm install
- 运行
openclaw plugins list确认 dingtalk 已显示在列表中
步骤 3:编辑配置文件
可以通过 openclaw gateway status 查看配置文件目录
编辑文件 ~/.openclaw/openclaw.json,添加 dingtalk 字段内容,将上面获取到的ID填入相应的字段:
{
...
"channels": {
"telegram": { ... },
"dingtalk": {
"enabled": true,
"clientId": "dingvex0dgwcce9fexxd",
"clientSecret": "your-app-secret",
"robotCode": "dingvex0dgwcce9fexxd",
"corpId": "dingvex0dgwcce9fexxd",
"agentId": "4250080956",
"dmPolicy": "open",
"groupPolicy": "open",
"messageType": "card",
"cardTemplateId": "1fd68835-1571-4b33-a5d1-1b0c969ae85e.schema",
"debug": false
}
}
...
}
步骤 4:重启服务
重新启动:openclaw gateway --port 18789 --verbose
或者重启 Gateway:openclaw gateway restart
步骤 5:⚠️ 常见问题提示
如果通过 Git 拉取代码后,AI 回复无法显示卡片,并在日志中出现类似以下错误:
04:44:02 [dingtalk] [AICard] conversationType=1, conversationId=20376554481106336
04:44:02 [dingtalk] [AICard] POST /v1.0/card/instances/createAndDeliver body={"cardTemplateId":"daee59fc-bcf6-4669-873f-b38eec80eaff.schema","outTrackId":"card_86f9c23a-906e-41f4-8f5b-fbe5f7a3650a","cardData":{"cardParamMap":{}},"callbackType":"STREAM","imGroupOpenSpaceModel":{"supportForward":true},"imRobotOpenSpaceModel":{"supportForward":true},"openSpaceId":"dtv1.card//IM_ROBOT.20376554481106336","userIdType":1,"imRobotOpenDeliverModel":{"spaceType":"IM_ROBOT"}}
04:44:03 [dingtalk] [AICard] Create failed: Request failed with status code 400
04:44:03 [dingtalk] [AICard] Error response: status=400 data={"requestid":"D85C4B2D-E655-7412-9FFA-89341F737BAA","code":"param.empty","message":"param.empty"}
解决方案:编辑 src/channel.ts 文件,找到 createAICard 方法,将 cardParamMap: {} 替换为以下代码:
cardParamMap: {
// Provide default parameters to avoid empty param error
timestamp: Date.now().toString(),
},
然后重新重启服务。
最终结果
插件GitHub地址:github.com/soimy/openc…
AI API 聚合平台:快速、稳定、低价
钉钉机器人应用配置与OpenClaw集成指南 | 最后更新: 2026年2月
注意:原创文章,转载请标明来处