OpenClaw是一款开源的 AI 自动化执行框架,支持多渠道接入,钉钉是其中最为实用的国内办公渠道之一。通过配置 Gateway 与钉钉机器人 API,你可以在钉钉群聊或私聊中直接与 OpenClaw 交互,将 AI 能力无缝融入日常办公流程,实现智能助理、任务自动化等功能。
一、准备工作
在正式开始配置之前,请确认以下事项:
-
Node.js 环境:已安装 Node.js ≥ 22。
-
钉钉账号:拥有一个具有企业管理员权限的钉钉账号(用于创建和发布企业内部应用)。
-
部署环境:可以选择本地部署(Windows/MacOS/Linux)或云服务器部署(推荐阿里云 ECS/轻量应用服务器、UCloud 等)。云部署可实现 7×24 小时稳定运行,更适合企业场景。阿里云计算巢提供一键部署模板,5 分钟即可完成云端部署。
-
网络环境 :确保服务器可以正常访问钉钉开放平台 API。若使用代理环境,建议将钉钉相关域名加入
NO_PROXY白名单,避免代理干扰。
二、安装与启动 OpenClaw
2.1 全局安装
bash
npm install -g openclaw-cn@latest
2.2 初始化配置
bash
openclaw-cn onboard --install-daemon
在初始化向导中,可以暂时跳过渠道绑定,后续单独配置钉钉渠道。完成上述步骤后,OpenClaw Gateway 将以守护进程模式运行,负责管理所有会话、协调 Agent 执行、在各渠道间路由消息。
2.3 安装钉钉插件
OpenClaw 本身不自带钉钉通道,需要额外安装插件。有两种方式:
方式一(推荐):通过 Git URL 安装
bash
openclaw-cn plugins install git+http://gitlab.alibaba-inc.com/trip/openclaw-channel-dingtalk.git
方式二:通过 npm 安装
bash
openclaw-cn plugins install @moltybob/dingtalk
安装后运行以下命令确认插件已成功加载:
bash
openclaw-cn plugins list
如果列表中显示 dingtalk,说明安装成功。
⚠️ 重要安全提示 :从 OpenClaw 新版本开始,需要在配置文件中显式声明信任的插件白名单。在 ~
/.openclaw/openclaw.json中添加以下配置:json
{ "plugins": { "allow": ["dingtalk"] } }否则插件可能不会被加载。
三、在钉钉开放平台创建应用
有两种创建机器人应用的方式,可根据实际需求选择:
3.1 方式一:企业内部应用(Stream 模式)------ 推荐
这种方式采用 WebSocket 长连接模式,无需公网 IP,部署最简便,是绝大多数场景的首选。
操作步骤:
-
登录钉钉开发者后台,使用企业管理员账号登录。
-
点击"应用开发" → "企业内部应用" → "创建应用",填写应用名称和描述,点击保存。
-
进入应用详情页,点击"添加应用能力" → 选择"机器人"。
-
配置机器人信息:
-
机器人名称:默认使用应用名称
-
机器人图标:上传 JPG/PNG 格式、240×240px 以上、1:1 比例、2MB 以内的图片
-
机器人简介:最多 10 个字符
-
机器人描述:最多 200 字符
-
消息接收模式:选择 Stream 模式(WebSocket 长连接)
-
-
配置完成后,点击"发布",然后进入"版本管理与发布",填写版本号和版本描述,确认发布。
-
在"权限管理"中添加必要的权限:
-
成员读取权限(通讯录权限)
-
发送应用消息权限
-
发送群消息权限(群会话权限)
-
-
在"凭证与基础信息"中获取以下关键参数:
-
Client ID(对应 AppKey)
-
Client Secret(对应 AppSecret)
-
Agent ID(可选,但推荐填写,用于发送消息)
-
-
在企业管理后台的"企业信息"页面获取 Corp ID(企业 ID)。
3.2 方式二:自定义机器人(Webhook 模式)
这种方式适合简单的群内消息推送场景,配置相对简单但功能受限。
操作步骤:
-
在 PC 端钉钉打开目标群聊 → 群设置 → 智能群助手 → 添加机器人。
-
选择"自定义机器人",填写机器人名称。
-
安全设置(三选一,推荐加签):
-
加签:生成签名密钥,安全性最高
-
自定义关键词:设置触发机器人的关键词
-
IP 白名单:限制请求来源 IP
-
-
勾选同意相关条款,点击完成。
-
记录生成的 Webhook URL 和 加签密钥(如选择加签方式)。
安全建议 :生产环境强烈推荐使用企业内部应用(Stream 模式) ,相比自定义机器人具有更完善的权限控制和安全性。
四、配置 OpenClaw 钉钉渠道
4.1 企业内部应用配置(推荐)
使用交互式配置(最简单):
bash
openclaw-cn onboard
在向导中选择 DingTalk 渠道,依次输入 Client ID、Client Secret、Corp ID、Robot Code 等信息即可完成配置。
或手动编辑 ~/.openclaw/openclaw.json:
json
{
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "your-app-key",
"clientSecret": "your-app-secret",
"corpId": "your-corp-id",
"robotCode": "your-robot-code",
"agentId": "your-agent-id",
"dmPolicy": "open",
"groupPolicy": "open",
"messageType": "markdown"
}
}
}
配置项说明:
-
clientId/clientSecret:从钉钉开发者后台获取的 AppKey 和 AppSecret -
corpId:企业 ID,在管理后台的"企业信息"页面查看 -
robotCode:机器人的唯一标识,在机器人配置页面获取 -
agentId:应用的 Agent ID,可选但推荐填写 -
dmPolicy:私聊策略,open表示允许所有人私聊,也可设为allowlist限制白名单 -
groupPolicy:群聊策略,同上 -
messageType:消息格式,建议使用markdown -
enabled:是否启用该渠道
4.2 自定义机器人配置(Webhook 模式)
json
{
"channels": {
"dingtalk": {
"enabled": true,
"webhook": "https://oapi.dingtalk.com/robot/send?access_token=xxxx",
"secret": "your-custom-bot-secret"
}
}
}
4.3 配置代理(如适用)
若部署环境需通过代理访问外网,可在配置中添加代理设置:
json
{
"channels": {
"dingtalk": {
"enabled": true,
"clientId": "your-app-key",
"clientSecret": "your-app-secret",
"proxy": "http://proxy.local:8080"
}
}
}
同时建议设置环境变量,避免钉钉相关域名走代理:
bash
export NO_PROXY="dingtalk.com,.dingtalk.com,api.dingtalk.com,wss-open-connection.dingtalk.com"
4.4 配置大模型 API(可选但推荐)
OpenClaw 本身不自带大模型能力,需要配置外部模型 API 来实现智能回复。推荐配置阿里云千问大模型或免费 Coding Plan API:
bash
openclaw-cn config set models.default.provider qwen
openclaw-cn config set models.default.apiKey your-qwen-api-key
4.5 保存并重启 Gateway
完成配置后,重启 Gateway 使配置生效:
bash
openclaw-cn gateway restart
五、验证接入
5.1 检查渠道状态
bash
openclaw-cn channels list
若配置正确,钉钉渠道应显示为已连接状态。
5.2 查看连接日志
bash
openclaw-cn logs
看到类似如下日志,说明钉钉已成功连接:
text
[dingtalk] Connected to DingTalk server
5.3 钉钉端测试
-
私聊测试:在钉钉中搜索你创建的机器人,发送消息如"你好",验证是否收到回复。
-
群聊测试:将机器人添加到群聊中,@机器人发送消息。
5.4 频率限制说明
钉钉自定义机器人有调用频率限制:每个机器人每分钟最多发送 20 条消息到群里。如果超过限制,会限流 10 分钟。建议对于大量消息发送的场景(如系统监控告警),将信息整合后以 Markdown 摘要形式发送。
六、深度集成与技能扩展
6.1 Skills 技能系统
OpenClaw 的 Skills 技能系统是其核心扩展机制,可以让 AI 从"能说会道"变为"能说会做"。通过安装不同的 Skill,你可以让钉钉助理执行以下任务:
-
日常办公:生成日报、整理会议纪要、处理 PDF 文件
-
数据查询:查询天气、获取新闻、分析 Excel 表格
-
自动化操作:定时任务推送、文件处理、代码生成
-
团队协作:多群消息同步、知识库问答
安装 Skill 示例:
bash
openclaw-cn skills install email # 安装邮件处理技能
openclaw-cn skills install pdf # 安装 PDF 处理技能
你也可以通过对话直接告诉 OpenClaw:"从技能商店安装天气查询技能",OpenClaw 会自动完成搜索、下载与安装。
Skills 的加载遵循优先级顺序:工作区技能 > 本地技能 > 内置技能 ,同名技能按优先级覆盖。每个 Skill 需包含 SKILL.md 说明文件方可被正确加载。
6.2 钉钉 MCP 集成(进阶)
如果你希望 OpenClaw 获得钉钉的操作能力(如日程预约、AI 表格操作等),可以接入钉钉 MCP 服务。钉钉 MCP 广场提供 100+ 精选 MCP 能力,覆盖从基础办公到垂直行业全场景。
接入步骤:
-
访问钉钉 MCP 广场,使用企业管理员账号登录
-
搜索并选择需要的 MCP 服务(如"钉钉日历""钉钉通讯录"等)
-
点击"获取 MCP Server 服务配置",复制 MCP Server URL
-
在 OpenClaw 对话中直接粘贴 URL,OpenClaw 会自动安装
使用示例(配置完成后,在钉钉中直接对话):
-
"帮我查一下张三的 user_id"
-
"帮我创建一个明天上午 10 点的会议,邀请张三和李四"
-
"预订一间明天下午 3 点的会议室"
6.3 高级配置:多群接入
若需要将 OpenClaw 接入多个钉钉群,可以为每个群创建独立的机器人,在 channels 中配置多个实例:
json
{
"channels": {
"dingtalk": {
"enabled": true,
"instances": {
"sales-group": {
"clientId": "xxx",
"clientSecret": "yyy"
},
"support-group": {
"clientId": "aaa",
"clientSecret": "bbb"
}
}
}
}
}
6.4 支持的消息类型
钉钉渠道支持以下消息类型:
-
文本消息:基础文字交互
-
Markdown 消息:支持富文本格式回复
-
互动卡片:支持流式更新,适用于 AI 实时输出
-
图片/文件:支持图片、语音(自带识别)、视频、文件等多种媒体类型
七、常见问题排查
7.1 插件未加载
问题现象 :配置完成后,钉钉渠道显示未连接或插件列表中找不到 dingtalk。
解决方案:
-
检查
plugins.allow白名单是否包含dingtalk -
运行
openclaw-cn plugins list确认插件已安装 -
若通过向导安装的插件不完整,建议手动安装源码目录的插件
7.2 能私聊但不能在群里回复
解决方案:
-
确认
groupPolicy设置为open -
检查机器人是否已被添加到目标群聊中
7.3 一直重连
解决方案:
-
检查网络能否正常访问钉钉服务器
-
确认 Client ID、Client Secret、Corp ID 等参数填写正确
-
若使用代理环境,设置 NO_PROXY 环境变量
-
开启 debug 模式查看详细日志
7.4 配置完成后无响应
解决方案:
-
确认钉钉应用已发布(仅在开发者后台发布机器人无效,需同步发布应用版本)
-
检查 Gateway 是否正常运行:
openclaw-cn gateway status -
确认大模型 API 配置正确(若未配置大模型,OpenClaw 无法生成回复)
-
在钉钉中创建新群(仅添加自己和机器人)进行测试,默认测试群可能屏蔽第三方机器人消息
7.5 HTTP 401 或 403 错误
解决方案:
-
检查 AppKey 或 AppSecret 是否填写错误
-
确认应用权限配置完整(成员读取权限、发送消息权限等)
-
检查消息接收地址 URL 格式是否正确
7.6 自定义机器人无回复
解决方案:
-
确认 Webhook URL 中的 access_token 正确无误
-
若选择加签方式,确认 secret 已正确配置
-
检查安全设置(关键词触发/IP 白名单)是否限制了消息接收
7.7 配置文件语法错误
OpenClaw 使用 JSON5 格式的配置文件,支持注释和更宽松的语法,但仍需确保 JSON 格式正确。建议使用 JSON 校验工具检查配置文件。
八、安全最佳实践
-
使用企业内部应用(Stream 模式) :相比自定义机器人,企业内部应用具有更完善的权限控制和安全性。
-
谨慎保管凭证:Client Secret、加签密钥等敏感信息切勿暴露或提交到公开代码仓库。
-
配置访问控制 :生产环境中建议将
dmPolicy和groupPolicy设为allowlist,仅允许指定成员或群聊触发指令。 -
环境隔离:避免在具有根权限的环境下运行 OpenClaw,建议使用普通用户权限运行。
-
定期更新:定期更新 OpenClaw 和插件版本,获取最新的安全修复和功能改进。
-
使用插件白名单 :通过
plugins.allow显式声明信任的插件,防止加载未经授权的插件。
九、总结
通过以上步骤,你可以将 OpenClaw 成功接入钉钉,实现以下核心价值:
-
全场景办公联动:在钉钉群聊/私聊中 @ 机器人,远程控制 OpenClaw,随时随地执行办公任务
-
自然语言交互:发送自然语言指令,AI 自动理解并执行
-
双向消息互通:OpenClaw 可通过钉钉发送通知、结果、文件
-
权限可控:支持企业级权限配置,保障办公安全
无论是个人日常办公还是团队协作场景,OpenClaw + 钉钉的集成方案都能有效提升办公效率,让 AI 真正成为你的专属智能助理。如果在配置过程中遇到任何问题,建议开启 debug 模式查看详细日志,或在 OpenClaw 社区中寻求帮助。