OpenClaw 钉钉插件安装指南
OpenClaw 钉钉插件安装指南
概述
想把OpenClaw AI助手搬到钉钉里,随时跟你聊天互动吗?这个指南,就是帮你打通这条“任督二脉”的。简单来说,完成配置后,你就能在钉钉里直接跟机器人对话,实现双向的消息收发。
一、钉钉开放平台配置
1. 创建应用
第一步,得在钉钉的“大本营”创建一个应用。打开钉钉开放平台,找到“应用开发”,选择“企业内部应用”,然后点击“创建应用”。把应用名称和描述填上就行。
2. 添加机器人能力
应用创建好后,进入应用详情页。在“功能”列表里,找到“添加应用能力”,勾选“机器人”。接着,配置一下机器人的基本信息,比如它叫什么名字、长什么头像,这些都会在钉钉里展示给用户看。
3. 开启 Stream 模式(重要!)
这一步非常关键,直接关系到后续能否成功连接。在机器人的配置页面,找到“消息接收模式”。务必选择 **Stream 模式**。它的好处是无需你准备公网域名,连接方式更轻量,特别适合本地或内网环境调试。
4. 获取凭证
接下来,我们要拿到机器人的“身份证”。在左侧菜单进入「凭证与基础信息」页面,这里有两串关键信息:
AppKey (clientId):看起来像 dingxxxxxxxxxx
AppSecret (clientSecret):是一长串复杂的字符
把它们记下来,下一步配置插件时需要用到。
5. 发布应用
凭证到手,就可以发布应用了。进入“版本管理与发布”页面,创建一个新版本并发布。在设置可见范围时,如果只是自己测试,可以先选择「仅自己可见」,这样更安全。
二、OpenClaw 插件安装
1. 安装插件
打开你的终端,执行以下命令来安装钉钉插件:
openclaw plugins install @moltybob/dingtalk
如果安装过程中遇到依赖报错,别慌。可以手动进入插件目录安装依赖:
cd ~/.openclaw/extensions/dingtalk && npm install --omit=dev --ignore-scripts
2. 验证插件加载
安装完成后,怎么确认插件已经成功加载了呢?跑一下这个命令看看:
openclaw plugins list | grep dingtalk
如果一切顺利,终端应该会显示 dingtalk | loaded 的字样。
三、配置钉钉凭证
现在,要把我们从钉钉平台拿到的“身份证”交给OpenClaw。有两种方式:
方法一:直接编辑配置文件
打开配置文件 ~/.openclaw/openclaw.json,在合适的位置添加以下配置块(如果已有`channels`字段,则合并进去):
{
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "你的AppKey",
"clientSecret": "你的AppSecret",
"dmPolicy": "pairing"
}
}
}
方法二:使用命令行逐项设置
如果你更喜欢命令行,可以依次执行:
openclaw config set channels.dingtalk.enabled true
openclaw config set channels.dingtalk.clientId “你的AppKey”
openclaw config set channels.dingtalk.clientSecret “你的AppSecret”
openclaw config set channels.dingtalk.dmPolicy "pairing"
dmPolicy 选项说明
这里配置的 dmPolicy 决定了机器人如何响应私聊:
pairing: (推荐) 需要先与机器人配对才能私聊,安全性更高。open: 任何人(在应用可见范围内)都可以直接私聊机器人。allowlist: 只允许指定用户列表内的成员私聊。
四、重启 Gateway
配置完成后,需要重启OpenClaw的网关服务,让所有改动生效:
openclaw gateway restart
五、验证连接
重启后,是时候验证一下劳动成果了。执行状态检查命令:
openclaw channels status
如果配置正确,你应该能看到类似这样的输出:
DingTalk default: enabled, configured, mode:stream
为了更放心,可以再看看连接日志:
openclaw channels logs | grep dingtalk
在日志中搜索到 Successfully connected to DingTalk stream 这句话,就意味着大功告成,连接已经建立。
六、使用机器人
私聊
在钉钉顶部的搜索框里,直接搜索你创建的应用名(机器人名),找到它并打开聊天窗口,现在你就可以直接给它发消息了。
群聊
如果你想在群里@机器人:
- 进入目标群。
- 点击右上角「…」进入群设置。
- 找到「群机器人」选项。
- 点击「添加机器人」,从列表中选择你刚创建的应用。
- 添加成功后,在群里@这个机器人,它就能响应了。
七、已知问题与修复
问题:控制面板返回 {"success":true} 而非页面
现象:访问OpenClaw的Web控制面板时,只看到一串JSON {"success":true},而不是正常的操作界面。
原因:钉钉插件的Webhook处理函数意外地拦截了所有HTTP请求,包括本该由控制面板处理的请求。
修复:需要手动修改一下插件源码。
- 打开文件:
~/.openclaw/extensions/dingtalk/src/monitor.ts - 找到名为
handleDingTalkWebhookRequest的函数。 - 将其开头的判断逻辑修改为如下代码,核心是让非钉钉的请求通行:
export async function handleDingTalkWebhookRequest(req: import('node:http').IncomingMessage, res: import('node:http').ServerResponse): Promise {
// Only handle POST requests to dingtalk webhook paths
const url = req.url || '';
const isDingTalkPath = url.includes('/dingtalk') || url.includes('/webhook');
if (req.method !== 'POST' || !isDingTalkPath) {
return false; // Let other handlers process non-dingtalk requests
}
console.log(`[dingtalk] HTTP request received: ${req.method} ${req.url}`);
// ... 后面代码保持不变
}
4. 保存文件,并重启 Gateway 使修改生效。
八、相关文件位置
| 文件/目录 | 路径 |
|---|---|
| 插件目录 | ~/.openclaw/extensions/dingtalk/ |
| 配置文件 | ~/.openclaw/openclaw.json |
| 查看日志 | openclaw channels logs |
九、环境信息(本次安装)
- 系统: WSL2 Ubuntu 24.04
- 插件版本: @moltybob/dingtalk 0.1.0
- OpenClaw 版本: 2026.1.30
- 安装日期: 2026-02-02
by 小琳 ✨