本教程将帮助你安装和配置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. 创建钉钉应用
- 访问 钉钉开发者后台
- 创建企业内部应用
- 添加「机器人」能力
- 配置消息接收模式为 Stream 模式
- 发布应用
2. 配置权限管理
在应用的权限管理页面,需要开启以下权限:
- ✅ Card.Instance.Write — 创建和投放卡片实例
- ✅ Card.Streaming.Write — 对卡片进行流式更新
步骤:
- 进入应用 → 权限管理
- 搜索「Card」相关权限
- 勾选上述两个权限
- 保存权限配置
3. 建立卡片模板
如需使用 AI 互动卡片功能,需要在钉钉卡片平台创建模板:
步骤:
- 访问 钉钉卡片平台
- 进入「我的模板」
- 点击「创建模板」
- 卡片模板场景选择 「AI 卡片」
- 无需选择预设模板,直接点击保存
- 复制模板 ID(格式如:xxxxx-xxxxx-xxxxx.schema)
- 将 templateId 配置到 openclaw.json 的 cardTemplateId 字段
- 或在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