news 2026/9/27 16:52:07

新手必看:钉钉连接OpenClaw保姆级教程(2026最新版)——TaoToken统一Key配置与Stream/Webhook联调

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手必看:钉钉连接OpenClaw保姆级教程(2026最新版)——TaoToken统一Key配置与Stream/Webhook联调

1. 为什么要在钉钉里接 OpenClaw

如果你已经在本地跑通了 OpenClaw,大概率会遇到一个尴尬:所有指令都得坐在电脑前敲。出门在外、开会途中、甚至只是躺在沙发上,想让 AI 帮你整理一下桌面文件、生成一份周报、查一下服务器状态,都做不到。

钉钉连接 OpenClaw 解决的正是这个问题。它把钉钉当成一个远程遥控器:你在钉钉里发一句话,本地 OpenClaw 在后台执行,结果再推回钉钉。整个链路里最关键的三个技术点是 Stream 长连接、Webhook 回调、内网穿透,而鉴权环节则统一交给 TaoToken 的 Key/API 通道来处理,省去到处找 Key、到处配环境变量的麻烦。

这篇教程面向的是刚装好 OpenClaw、还没接过任何 IM 的新手。我会把钉钉开放平台建应用、Stream 模式配置、Webhook 回调、内网穿透暴露本地服务、TaoToken 统一 Key 配置这几步拆开讲,每一步都给可复制的 config.toml 和 settings.json 骨架,最后给出 Stream 连通性和 Webhook 回调的验证动作。跟着做,一次跑通的概率很高。

适合谁:个人办公想远程操控电脑的、小团队想共用一个 AI 助手的、以及想拿钉钉当入口做自动化的开发者。不适合谁:指望零配置一键搞定的,这套链路还是需要你动手改几个文件。

2. 前置准备:TaoToken 统一 Key 与钉钉应用

2.1 为什么用 TaoToken 统一 Key

OpenClaw 本身要调模型,钉钉机器人要鉴权,Webhook 回调还要校验签名。如果每个环节各配一套 Key,配置文件会变得非常乱,换模型、换通道时到处改。TaoToken 的思路是提供一个统一的 API 通道,把模型调用和鉴权收敛到一个 Key 上。

你可以先去官网了解整体能力:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,然后在控制台创建 Key。API 入口是 https://taotoken.net/api ,注意这个地址不带 UTM 参数,配置里直接写它。

创建 Key 的入口在控制台:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite ,Key 管理页在:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。建议单独建一个给 OpenClaw 用的 Key,方便后续按项目排查用量。

2.2 钉钉侧准备

钉钉这边需要企业管理员或开发者权限,普通成员是建不了内部应用的。电脑端钉钉建议更新到 7.5.0 及以上,旧版本没有 Stream 机器人入口。手机端保持最新版即可,主要用于测试和远程发指令。

网络方面,Stream 模式走的是 WebSocket 长连接,本地电脑就能直接绑定,不需要公网 IP,也不需要域名备案。Webhook 模式才需要公网可达的地址,这时候才用得上内网穿透。防火墙和杀毒软件要放行 OpenClaw 网关端口,默认是 18789,否则钉钉连不上。

2.3 两种模式怎么选

Stream 长连接适合个人和小团队,本地部署,零门槛,长连接稳定不掉线,缺点是默认只在局域网可用,要远程得配合内网穿透。Webhook 回调适合团队协作和生产环境,支持公网访问、消息可靠,但需要公网地址,配置稍复杂。

新手建议先跑 Stream,跑通之后再决定要不要上 Webhook。

3. 可复制配置:config.toml 与 settings.json 骨架

3.1 config.toml 骨架

OpenClaw 的主配置我习惯放在~/.openclaw/config.toml。下面这份是 Stream 模式加 TaoToken 统一 Key 的骨架,把占位符替换成你自己的值即可。

# ~/.openclaw/config.toml [gateway] host = "0.0.0.0" port = 18789 auto_reconnect = true reconnect_interval = 5000 [provider.taotoken] # TaoToken 统一 API 通道,注意不带 UTM base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" default_model = "claude-sonnet-4" [channels.dingtalk] enabled = true mode = "stream" # stream 或 webhook client_id = "dingxxxxxxxxxxxxxx" client_secret = "你的ClientSecret" robot_code = "你的RobotCode" gateway_token = "openssl rand -hex 16 生成" # webhook 模式才需要下面两项 # webhook_path = "/dingtalk/webhook" # public_url = "https://xxx.trycloudflare.com"

provider.taotoken这一段就是统一 Key 的落点。OpenClaw 调模型时走这个 provider,钉钉通道鉴权时也复用同一个 Key 体系,不用再单独维护一套。

3.2 settings.json 骨架

有些插件和 IDE 侧配置读的是 settings.json,比如 CC Switch、Cline 这类工具。下面这份是给它们用的骨架,字段名按你实际用的工具微调。

{ "openclaw": { "gateway": "http://127.0.0.1:18789", "provider": { "name": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "claude-sonnet-4" }, "channels": { "dingtalk": { "enabled": true, "mode": "stream", "clientId": "dingxxxxxxxxxxxxxx", "clientSecret": "你的ClientSecret", "robotCode": "你的RobotCode" } } } }

3.3 CC Switch / Cline 配置片段

如果你用 CC Switch 管理多套模型配置,可以加一个 TaoToken 的 profile:

{ "profiles": { "taotoken-openclaw": { "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey", "model": "claude-sonnet-4", "note": "OpenClaw 钉钉通道专用" } } }

Cline 侧在设置里把 API Provider 选成 OpenAI Compatible,Base URL 填https://taotoken.net/api,API Key 填同一个,模型名按你控制台里可用的填。这样 IDE 里的编码助手和钉钉里的 OpenClaw 共用一套 Key,用量统计也集中。

4. 钉钉开放平台建应用与 Stream 配置

4.1 创建企业内部应用

登录钉钉开放平台,用企业账号扫码,进入应用开发里的企业内部开发,点创建应用,选企业内部应用。应用名称填 OpenClaw AI 助手,描述随便写一句,图标可传可不传。保存后应用就建好了。

4.2 添加机器人能力并选 Stream 模式

进入应用详情,左侧菜单找添加应用能力,找到机器人,点添加。机器人配置里把开关打开,名称填 OpenClaw AI,简介写 AI 办公自动化助手。最关键的一步:消息接收模式必须选 Stream 模式,选成 HTTP 会直接连不上。点发布,机器人配置完成。

4.3 拿凭证与开权限

左侧凭证与基础信息里复制 Client ID 和 Client Secret,Secret 只显示一次,复制到安全的地方。然后去权限管理,搜索并添加这几个权限:Card.Streaming.Write、Card.Instance.Write、robot.send、robot.receive。企业账号一般自动通过审核。

4.4 安装插件并启动网关

终端里执行插件安装,国内建议走镜像加速:

openclaw plugin install dingtalk --registry https://registry.npmmirror.com

看到Plugin dingtalk installed successfully就装好了。然后添加渠道:

openclaw channels add

按提示选钉钉,粘贴 Client ID 和 Client Secret,Gateway Token 用openssl rand -hex 16生成一个随机串。完成后启动网关:

openclaw gateway start --with dingtalk

出现Gateway started on http://0.0.0.0:18789和DingTalk Stream connection established,说明长连接建立成功。

4.5 配对授权

钉钉里找到 OpenClaw AI 机器人,发一句「你好」,机器人会回一个配对码和授权命令,形如openclaw pairing approve dingtalk 12345678。把这条命令复制到终端执行,显示Pairing approved就授权成功了。不做这一步机器人不会回复。

5. 内网穿透与 Webhook 回调联调

5.1 内网穿透暴露本地服务

Stream 模式本地就能用,但如果你想远程访问,或者要跑 Webhook 回调,就需要把本地 18789 端口暴露出去。Cloudflare Tunnel 是免费且够用的选择:

# macOS brew install cloudflared # Linux curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb | sudo dpkg -i # 创建隧道并映射端口 cloudflared tunnel create openclaw-dingtalk cloudflared tunnel run openclaw-dingtalk --url http://localhost:18789

跑起来后会生成一个https://xxx.trycloudflare.com的公网域名,这个就是你的回调地址前缀。

5.2 Webhook 模式配置

如果选 Webhook 模式,钉钉开放平台里机器人消息接收模式改成 HTTP,消息接收地址填https://xxx.trycloudflare.com/dingtalk/webhook。然后回到 config.toml,把 dingtalk 段的 mode 改成 webhook,补上 webhook_path 和 public_url:

[channels.dingtalk] enabled = true mode = "webhook" client_id = "dingxxxxxxxxxxxxxx" client_secret = "你的ClientSecret" robot_code = "你的RobotCode" webhook_path = "/dingtalk/webhook" public_url = "https://xxx.trycloudflare.com"

改完重启网关:openclaw gateway restart。

5.3 Stream 连通性验证

Stream 模式下,验证分两步。先在钉钉发「你好,帮我测试连接」,收到回复说明基础链路通。再发一条本地操作指令,比如「帮我查看电脑桌面文件数量,并告诉我结果」,如果回复里带上了真实文件数,说明本地操控也通了。终端里可以看网关日志确认长连接状态:

openclaw gateway status

显示 Running 且 DingTalk Stream 处于 connected 就稳了。

5.4 Webhook 回调验证

Webhook 模式下,钉钉开放平台保存回调地址时会做一次 URL 验证,如果提示「URL 验证失败」,先确认公网地址能访问:

curl -i https://xxx.trycloudflare.com/dingtalk/webhook

返回 200 或 405 都算正常,说明服务可达。然后在钉钉发指令,看网关日志里有没有收到回调请求。如果钉钉侧验证过了但消息没进来,多半是签名校验或 robot_code 填错了。

6. 本篇常见错排查

6.1 找不到 Stream 模式选项

钉钉版本低于 7.5.0,或者账号不是企业管理员。更新钉钉、清理缓存重启,再确认账号权限。

6.2 channels add 里没有钉钉选项

插件没装好。重新装一遍:openclaw plugin reinstall dingtalk,顺便更新 OpenClaw:npm update -g openclaw@latest。

6.3 发消息没有配对码也没回复

网关没在跑。openclaw gateway status看一下,没跑就openclaw gateway restart,然后重新配对。

6.4 Stream 连接超时

Client ID 或 Secret 填错了,或者防火墙拦了。核对凭证,关掉防火墙和杀毒软件再试。

6.5 Webhook URL 验证失败

公网地址不可达,或者路径写错。用 curl 测一下地址,确认 webhook_path 和钉钉后台填的一致。

6.6 内网穿透后远程无响应

隧道没在跑,或者 public_url 没配。检查 cloudflared 进程,确认 config.toml 里的 public_url 和实际域名一致。

6.7 指令执行成功但钉钉没收到推送

指令结尾没加「推送给我」,或者推送权限没开。补上推送指令,检查 robot.send 权限。

6.8 文件处理提示权限不足

OpenClaw 没用管理员身份跑,或者路径带中文。用管理员权限启动,路径尽量用英文。

6.9 电脑休眠后连接断开

系统休眠把网关进程挂起了。设置电脑永不休眠,或者用 nohup 后台跑:

nohup openclaw gateway start --with dingtalk &

6.10 远程频繁掉线

没用 Stream 模式,或者没开自动重连。config.toml 里把 auto_reconnect 设为 true,reconnect_interval 设 5000。

7. 下一步:把 Key 和通道用顺

链路跑通之后,日常最常打交道的其实是 Key 和通道管理。模型对话调试可以直接在 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 里试,换模型不用改代码。如果你打算长期用 OpenClaw 做编码和 Agent 任务,Coding Plan 会更划算:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,遇到鉴权或通道问题先翻这里。Claude Code 相关的接入说明在 https://taotoken.net/claudecode-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claudecode-anthropic&utm_campaign=rewrite 。

我自己的习惯是:Stream 模式常驻本地,Webhook 只在需要公网多人用时才开,Key 统一走 TaoToken,换模型只改 config.toml 里一行 default_model。这样钉钉那头永远不用动,本地这头也清爽。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 16:49:14

马斯克隔空宣战Kimi后,我用TaoToken统一Key把Grok与Kimi接进Cline实测

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华