OpenClaw 接入钉钉完整指南

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,部署最简便,是绝大多数场景的首选。

操作步骤:

  1. 登录钉钉开发者后台,使用企业管理员账号登录。

  2. 点击"应用开发" → "企业内部应用" → "创建应用",填写应用名称和描述,点击保存。

  3. 进入应用详情页,点击"添加应用能力" → 选择"机器人"。

  4. 配置机器人信息:

    • 机器人名称:默认使用应用名称

    • 机器人图标:上传 JPG/PNG 格式、240×240px 以上、1:1 比例、2MB 以内的图片

    • 机器人简介:最多 10 个字符

    • 机器人描述:最多 200 字符

    • 消息接收模式:选择 Stream 模式(WebSocket 长连接)

  5. 配置完成后,点击"发布",然后进入"版本管理与发布",填写版本号和版本描述,确认发布。

  6. 在"权限管理"中添加必要的权限:

    • 成员读取权限(通讯录权限)

    • 发送应用消息权限

    • 发送群消息权限(群会话权限)

  7. 在"凭证与基础信息"中获取以下关键参数:

    • Client ID(对应 AppKey)

    • Client Secret(对应 AppSecret)

    • Agent ID(可选,但推荐填写,用于发送消息)

  8. 在企业管理后台的"企业信息"页面获取 Corp ID(企业 ID)。

3.2 方式二:自定义机器人(Webhook 模式)

这种方式适合简单的群内消息推送场景,配置相对简单但功能受限。

操作步骤:

  1. 在 PC 端钉钉打开目标群聊 → 群设置 → 智能群助手 → 添加机器人。

  2. 选择"自定义机器人",填写机器人名称。

  3. 安全设置(三选一,推荐加签):

    • 加签:生成签名密钥,安全性最高

    • 自定义关键词:设置触发机器人的关键词

    • IP 白名单:限制请求来源 IP

  4. 勾选同意相关条款,点击完成。

  5. 记录生成的 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 能力,覆盖从基础办公到垂直行业全场景。

接入步骤:

  1. 访问钉钉 MCP 广场,使用企业管理员账号登录

  2. 搜索并选择需要的 MCP 服务(如"钉钉日历""钉钉通讯录"等)

  3. 点击"获取 MCP Server 服务配置",复制 MCP Server URL

  4. 在 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 校验工具检查配置文件。


八、安全最佳实践

  1. 使用企业内部应用(Stream 模式) :相比自定义机器人,企业内部应用具有更完善的权限控制和安全性。

  2. 谨慎保管凭证:Client Secret、加签密钥等敏感信息切勿暴露或提交到公开代码仓库。

  3. 配置访问控制 :生产环境中建议将 dmPolicygroupPolicy 设为 allowlist,仅允许指定成员或群聊触发指令。

  4. 环境隔离:避免在具有根权限的环境下运行 OpenClaw,建议使用普通用户权限运行。

  5. 定期更新:定期更新 OpenClaw 和插件版本,获取最新的安全修复和功能改进。

  6. 使用插件白名单 :通过 plugins.allow 显式声明信任的插件,防止加载未经授权的插件。


九、总结

通过以上步骤,你可以将 OpenClaw 成功接入钉钉,实现以下核心价值:

  • 全场景办公联动:在钉钉群聊/私聊中 @ 机器人,远程控制 OpenClaw,随时随地执行办公任务

  • 自然语言交互:发送自然语言指令,AI 自动理解并执行

  • 双向消息互通:OpenClaw 可通过钉钉发送通知、结果、文件

  • 权限可控:支持企业级权限配置,保障办公安全

无论是个人日常办公还是团队协作场景,OpenClaw + 钉钉的集成方案都能有效提升办公效率,让 AI 真正成为你的专属智能助理。如果在配置过程中遇到任何问题,建议开启 debug 模式查看详细日志,或在 OpenClaw 社区中寻求帮助。

相关推荐
Teable任意门互动3 小时前
多维表格本地化部署实践解析 企业如何实现数据自主可控路径
数据库·excel·钉钉·飞书·开源软件
水文摸鱼怪2 天前
HHU校园网自动连接监控系统(钉钉机器人版)操作说明书
机器人·钉钉
QDYOKR1682 天前
一文了解什么是OKR
大数据·人工智能·笔记·钉钉·企业微信
MarkHD3 天前
从“能跑”到“好用”:Python脚本监控与告警实战(邮件/钉钉/企业微信)
python·钉钉·企业微信
liangdabiao4 天前
[开源]钉钉CLI上10个APP - skills适合使用 openclaw - 养龙虾
钉钉
weixin_449310848 天前
实现钉钉报销到金蝶付款单的技术方案
钉钉
WeskyNet9 天前
Claude Code钉钉双向交互集成
钉钉
TG_yunshuguoji11 天前
阿里云代理商:用 AppFlow 给钉钉机器人配置定时任务 阿里云自动化办公效率翻倍
阿里云·机器人·钉钉
SAP小崔说事儿11 天前
SAP B1 &钉钉集成解决方案—采购申请单审批
钉钉·sap·hana·无锡sap·sap和钉钉集成·sap集成开发·erp集成开发