资讯动态

OpenClaw 钉钉集成完整实战:从零到消息收发

发布时间:2026/10/8 17:32:21 来源:尧图企业网站定制
1. 为什么要在 OpenClaw 里接钉钉机器人OpenClaw 钉钉集成这件事本质上解决的是「让本地或容器里的 AI Agent 直接出现在团队日常沟通工具里」的问题。OpenClaw 是一个可自托管的 Agent 运行框架支持通过插件方式接入不同聊天通道钉钉则是很多团队已经在用的协作平台。把两者打通之后你在钉钉里 一下机器人消息会经 Stream 长连接推到 OpenClawAgent 处理完再把结果回传到钉钉会话里整个过程不需要公网 IP也不需要自己写 Webhook 转发服务。这套方案适合谁我梳理了三类第一类是团队里已经用钉钉做日常沟通想让 AI 助手直接在群里回答问题的开发者第二类是在 WSL2 或 Docker 里跑 OpenClaw、希望把通道能力扩展到国内办公 IM 的同学第三类是想拿钉钉当入口做内部工具机器人、但不想折腾内网穿透的运维或后端。核心检索词就是 OpenClaw 钉钉集成、钉钉机器人消息收发、Stream 模式回调配置。我实测下来整个链路里最容易卡住的不是 OpenClaw 本身而是钉钉开放平台那边的应用权限和发布状态。很多人 Client ID 和 Secret 填对了但应用没发布、或者权限没勾全通道状态就会一直停在 not configured 或者连接测试 403。所以这篇会按「钉钉侧准备 → OpenClaw 侧安装插件 → 配置通道 → 验证消息收发 → 排错」的顺序走一遍每一步都给可复制的命令和参数。环境信息先对齐一下避免版本差异导致命令对不上OpenClaw 版本 2026.6.10钉钉插件 soimy/dingtalk v3.6.4运行环境 Docker WSL2钉钉应用类型选企业内部应用消息接收模式用 Stream 模式。Stream 模式的好处是不需要公网回调地址OpenClaw 主动和钉钉建立长连接消息通过这条连接推过来对本地开发环境非常友好。下面从钉钉开放平台开始一步步把应用建出来。2. 钉钉开放平台应用创建与权限配置打开钉钉开发者平台 open-dev.dingtalk.com用企业管理员或有开发者权限的账号登录。进入「应用开发」→「企业内部应用」→「创建应用」填应用名称和描述。创建完成后在「凭证与基础信息」页面能看到两个关键值Client ID也就是 AppKey和 Client SecretAppSecret。这两个值后面要填进 OpenClaw 的通道配置里先复制到安全的地方。接下来是机器人配置。在应用详情页找到「机器人」标签开启机器人能力。消息接收模式这里选Stream 模式不要选 HTTP 回调。Stream 模式不需要你提供公网 URLOpenClaw 侧用钉钉 SDK 建立长连接即可。机器人名称可以自定义比如叫「OpenClaw 助手」这个名称就是后面在钉钉里搜索机器人时用的关键词。权限这块是重灾区。进入「权限管理」页面至少开通以下三个权限权限标识用途Card.Streaming.Write流式卡片写入Agent 分段回复时用Card.Instance.Write卡片实例创建与更新qyapi_robot_sendmsg机器人主动发送消息少任何一个消息回传阶段都可能报权限不足。开通后记得点保存。然后必须做的一步是发布应用。进入「版本管理与发布」创建新版本至少发布一个测试版本。很多人配置全对但通道连不上就是因为应用还停在草稿状态钉钉不会把 Stream 连接授权给未发布的应用。发布后状态变成「已发布」或「测试中」都可以。注意企业内部应用的可见范围要包含你自己否则在钉钉里搜不到机器人。在「应用发布」→「可见范围」里把测试人员加进去。到这里钉钉侧的准备就完成了。把 Client ID、Client Secret、机器人名称记好下一步进 OpenClaw 容器装插件。3. OpenClaw 钉钉插件安装与通道配置先进入 OpenClaw 容器。如果你是用 Docker 跑的命令是docker exec -it openclaw bash进去之后安装钉钉插件。官方源用 npmopenclaw plugins install npm:soimy/dingtalk如果这一步卡住不动大概率是 npm 源的问题换 clawhub 源重试openclaw plugins install clawhub:soimy/dingtalk安装完成后添加钉钉通道openclaw channels add交互式向导会依次问你几个问题按下面选通道类型选DingTalk (钉钉)账户选择Add default account是否自动获取凭证选No手动输入输入 Client ID 和 Client Secret私聊策略选Open - anyone can DM群聊策略选Open - any group can use bot回复类型选Markdown高级选项选No如果向导跑完提示 allowFrom 相关警告手动补一条配置openclaw config set channels.dingtalk.allowFrom [*]这一步是放开来源限制测试阶段用[*]最省事上线前再收紧到具体用户或部门。配置写完后退出容器并重启让插件和通道生效exit docker restart openclaw docker exec -it openclaw bash对应的openclaw.json核心片段长这样你可以直接对照检查字段名和层级{ channels: { dingtalk: { enabled: true, clientId: 你的Client ID, clientSecret: 你的Client Secret, dmPolicy: open, groupPolicy: open, allowFrom: [*] } }, bindings: [ { agentId: main, match: { channel: dingtalk, accountId: default } } ] }这里三个关键字段必须齐全Base URL 概念上对应钉钉的 Stream 接入点插件内部处理无需手填、Client ID、Client Secret。bindings 里的 accountId 要和 channels 里的账户名一致默认就是 default改过名字的话两边要同步。配置完成后下一步验证通道状态和消息收发。4. 通道状态检查与消息收发验证先看通道状态openclaw channels status期望输出里 DingTalk 那一行应该是DingTalk default: enabled, configured, running, connected四个状态词缺一不可。如果只到 configured 没有 running说明插件加载了但连接没建立如果连 configured 都没有说明 clientId 或 clientSecret 没读到。状态正常后打开钉钉客户端搜索你设置的机器人名称进入单聊窗口发送一条「你好」。同时在容器里跟日志openclaw logs --follow日志里应该能看到消息进入、Agent 处理、回复发出的完整链路。钉钉窗口里几秒内会收到 Markdown 格式的回复。这条消息的完整路径是钉钉 → Stream 长连接 → OpenClaw 通道 → binding 匹配到 main agent → Agent 生成回复 → 通过 qyapi_robot_sendmsg 权限回传 → 钉钉会话显示。群聊验证同理把机器人拉进一个群 它发消息日志和回复行为一致。如果单聊通、群聊不通检查群聊策略是不是 open以及机器人是否真的在群里。提示测试阶段建议先只验证单聊链路最短排错变量最少。单聊通了再测群聊和卡片流式回复。到这一步端到端就跑通了。下面把常见的报错和排查方法整理出来。5. 常见报错排查403、not configured 与消息无响应连接测试 403。这是最高频的问题原因通常有三个Client ID 或 Secret 填错、应用没发布、Stream 模式没启用。先用 curl 直接验证凭证有效性curl -X POST https://api.dingtalk.com/v1.0/oauth2/accessToken \ -H Content-Type: application/json \ -d {appKey:你的Client ID,appSecret:你的Client Secret}返回里有 accessToken 说明凭证没问题403 就出在应用状态或 Stream 配置上。返回错误码说明凭证本身错了回钉钉后台重新复制。通道状态显示 not configured。检查openclaw.json里channels.dingtalk是否同时包含 clientId 和 clientSecret字段名大小写要对。改完配置必须重启容器热加载不一定生效。消息无响应。按这个顺序查第一channels.dingtalk.allowFrom是否包含[*]或你的用户 ID第二bindings 里的 accountId 是否和 channels 里的账户名一致第三openclaw logs --follow看消息有没有进来。如果日志里连入站消息都没有问题在钉钉侧或 Stream 连接如果有入站没出站问题在 Agent 或发送权限。local proxy failed 类报错。这类通常是容器网络或插件下载源的问题换 clawhub 源重装插件或者检查容器 DNS 配置。OAuth 相关报错。钉钉新版 API 用 accessToken 机制如果日志里出现 OAuth 字样多半是插件版本和 OpenClaw 版本不匹配确认插件是 soimy/dingtalk v3.6.4 及以上。reading choices 类解析错误。这通常出现在 Agent 返回结构不符合预期时检查回复类型是否设成 Markdown以及 Agent 输出是否被截断。排查时记住一个原则先确认钉钉侧应用已发布、权限齐全再确认 OpenClaw 侧配置字段完整、容器已重启最后看日志定位是入站还是出站问题。三步走能覆盖九成以上的故障。6. 把钉钉通道接入你的 Agent 工作流通道跑通只是起点。真正让 OpenClaw 钉钉集成产生价值是把它接进你的 Agent 工作流比如在钉钉群里 机器人触发代码审查、查询内部文档、跑定时任务汇报。这些能力依赖 OpenClaw 的 agent 配置和模型接入。模型接入这块如果你需要统一管理 API Key 和模型路由可以用 TaoToken 的控制台创建密钥然后在 OpenClaw 的模型配置里填对应的 Base URL 和 Model ID。具体操作路径是先到 TaoToken API Keys 页面 生成 Key再参考 接入文档 把 Base URL 和 Key 写进 OpenClaw 的模型配置。想先验证模型连通性可以直接在 模型对话页面 发一条测试消息确认 Key 和模型都正常再回 OpenClaw 配通道。如果你打算长期跑编码类或 Agent 类任务Coding Plan 更适合按周期使用临时调试用按量计费的 Key 就够了。控制台入口在 console密钥管理在 api-keys。回到钉钉通道本身上线前建议做三件事把 allowFrom 从[*]收紧到具体用户或部门 ID给机器人加频率限制避免群里刷屏把openclaw logs接到日志系统方便回溯消息链路。这三步做完OpenClaw 钉钉集成就算从「能跑」进入「能用」了。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑