OpenClaw接入钉钉教程

本教程将帮助你安装和配置OpenClaw的钉钉插件,使你能够通过钉钉与OpenClaw进行交互。

钉钉开发者后台

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

钉钉插件

https://github.com/soimy/openclaw-channel-dingtalk

方法 A:通过远程仓库安装 (推荐)

直接运行 openclaw 插件安装命令,openclaw 会自动处理下载、安装依赖和注册:

openclaw plugins install https://github.com/soimy/clawdbot-channel-dingtalk.git

方法 B:通过本地源码安装

如果你想对插件进行二次开发,可以先克隆仓库:

# 1. 克隆仓库
git clone https://github.com/soimy/openclaw-channel-dingtalk.git
cd openclaw-channel-dingtalk

# 2. 安装依赖 (必需)
npm install

# 3. 以链接模式安装 (方便修改代码后实时生效)
openclaw plugins install -l .

配置

1. 创建钉钉应用
  1. 访问 钉钉开发者后台
  2. 创建企业内部应用
  3. 添加「机器人」能力
  4. 配置消息接收模式为 Stream 模式
  5. 发布应用
2. 配置权限管理

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

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

步骤:

  1. 进入应用 → 权限管理
  2. 搜索「Card」相关权限
  3. 勾选上述两个权限
  4. 保存权限配置
3. 建立卡片模板

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

步骤:

  1. 访问 钉钉卡片平台
  2. 进入「我的模板」
  3. 点击「创建模板」
  4. 卡片模板场景选择 「AI 卡片」
  5. 无需选择预设模板,直接点击保存
  6. 复制模板 ID(格式如:xxxxx-xxxxx-xxxxx.schema)
  7. 将 templateId 配置到 openclaw.json 的 cardTemplateId 字段
  8. 或在OpenClaw控制台的Channel标签->Dingtalk配置面板-> Card Template Id填入

模板配置示例:

{
  "channels": {
    "dingtalk": {
      "messageType": "card",
      "cardTemplateId": "你复制的模板ID" // 粘贴复制的模板 ID
    }
  }
}
4. 获取凭证

从开发者后台获取:

  • Client ID (AppKey)
  • Client Secret (AppSecret)
  • Robot Code (与 Client ID 相同)
  • Corp ID (企业 ID)
  • Agent ID (应用 ID)
5. 配置 OpenClaw

在 ~/.openclaw/openclaw.json 的 channels 下添加:

只添加dingtalk部分,内容自己替换

{
  ...
  "channels": {
    "telegram": { ... },

    "dingtalk": {
      "enabled": true,
      "clientId": "dingxxxxxx",
      "clientSecret": "your-app-secret",
      "robotCode": "dingxxxxxx",
      "corpId": "dingxxxxxx",
      "agentId": "123456789",
      "dmPolicy": "open",
      "groupPolicy": "open",      
      "messageType": "markdown",       
      "debug": false
    }
  },
  ...
}
6. 重启 Gateway
openclaw gateway restart