钉钉机器人应用配置与OpenClaw集成指南

本指南将帮助您完成钉钉机器人应用的创建、配置以及与 OpenClaw 的集成。


目录


所需凭证

  • Client ID
  • Client Secret
  • Robot Code
  • Corp ID
  • Agent ID
  • 卡片模板 ID

相关链接


注意事项

  • 必须加入组织才能使用钉钉开发者后台
  • 发布应用前需填写版本详情
  • 手动安装插件后需执行npm install
  • 配置文件中需要填写正确的凭证信息

创建钉钉应用

步骤 1:打开钉钉开发者后台

访问:https://open-dev.dingtalk.com

注意:必须加入组织才能使用钉钉开发者后台。

步骤 2:创建应用

找到 应用开发钉钉应用创建应用 → 填写相关信息

在这里插入图片描述

步骤 3:添加机器人能力

创建应用成功之后会自动打开新的标签页,在"添加应用能力"选择机器人

在这里插入图片描述

步骤 4:配置机器人

把机器人配置打开,填写相关信息之后直接发布。

步骤 5:发布应用

点击凭证与基础信息查看版本详情 → 第一次发布需要填写详情 → 确认发布之后就能在钉钉里面搜索到机器人。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

步骤 6:配置权限管理

在应用的权限管理页面,需要开启以下权限:

  • ✅ Card.Instance.Write — 创建和投放卡片实例
  • ✅ Card.Streaming.Write — 对卡片进行流式更新

在这里插入图片描述

步骤 7:建立卡片模板

如需使用 AI 互动卡片功能,需要在钉钉卡片平台创建模板:

  1. 访问钉钉卡片平台:https://open-dev.dingtalk.com/fe/card
  2. 点击「新建模板」
  3. 卡片模板场景选择 「AI 卡片」
  4. 无需选择预设模板,直接点击保存
  5. 复制模板 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:手动安装

  1. 执行 openclaw plugins list 找到系统插件所在的目录(如:D:\Program Files\nodejs\node_global\node_modules\openclaw\extensions

    在这里插入图片描述

  2. 创建dingtalk目录:D:\Program Files\nodejs\node_global\node_modules\openclaw\extensions\dingtalk

  3. 把openclaw-channel-dingtalk下的文件复制到创建的dingtalk目录

    在这里插入图片描述

  4. 打开dingtalk目录,执行安装依赖:npm install

    在这里插入图片描述

  5. 运行 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地址https://github.com/soimy/openclaw-channel-dingtalk

AI API 聚合平台快速、稳定、低价


钉钉机器人应用配置与OpenClaw集成指南 | 最后更新: 2026年2月

注意:本文档中的图片使用相对路径访问,请确保图片文件位于正确目录

插件GitHub地址https://github.com/soimy/openclaw-channel-dingtalk

AI API 聚合平台快速、稳定、低价


钉钉机器人应用配置与OpenClaw集成指南 | 最后更新: 2026年2月

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐