1. 先搞清楚 OpenClaw 和钉钉机器人到底怎么串起来
OpenClaw v2.7.9 是一个本地运行的智能体客户端,你可以把它理解成「跑在自己电脑上的 AI 员工」——它负责接收消息、调用大模型、执行任务。钉钉机器人则是这个员工在企业里的「工位」,同事在钉钉里发消息,消息通过钉钉开放平台推给 OpenClaw,OpenClaw 处理完再把结果回传。
这套链路里有两个关键角色:
- 钉钉侧:提供 Client ID(旧称 AppKey)和 Client Secret(旧称 AppSecret),负责身份认证和事件订阅。没有这两组凭证,OpenClaw 根本不知道自己是哪个机器人。
- 模型侧:OpenClaw 收到消息后要调用大模型生成回复。这里就是 TaoToken 发挥作用的地方——用一套统一 Key 管理模型调用,不用在 OpenClaw 里到处填不同厂商的地址和密钥。
适合谁看:手里有钉钉企业/组织空间、想在办公场景跑通一个能问答的机器人、又不想在模型接入上折腾多套凭证的开发者或 IT 管理员。
整篇按「钉钉建应用 → 拿凭证 → OpenClaw 装插件 → 填配置 → 用 TaoToken 接模型 → 联调验证 → 排错」的顺序走,每一步都给可复制的片段。
2. 前置准备:TaoToken 统一 Key 与钉钉开发者账号
2.1 为什么模型侧建议走 TaoToken
OpenClaw 本身支持多种模型通道,但如果你要同时试 Claude、GPT 或者国产模型,逐个配 Base URL 和 Key 会很乱。TaoToken 的做法是给你一个统一的 API 入口和一把 Key,OpenClaw 里只填一次,换模型只改 Model ID。
你需要先拿到两样东西:
- API Key:在 TaoToken 控制台创建,地址是 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_dingtalk&utm_campaign=rewrite
- Base URL:统一填
https://taotoken.net/api(这个地址不加 UTM 参数)
如果你还没注册,从官网进:https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=
2.2 钉钉侧要准备什么
- 钉钉开发者后台账号,且在所属组织内有「应用创建」权限
- 一个可用的钉钉企业/组织空间,用来承载机器人
- OpenClaw v2.7.9 已在本地跑起来,顶部 Gateway 服务显示在线
钉钉开发者后台入口:https://open-dev.dingtalk.com
注意:刚重启过 OpenClaw 的话,等 Gateway 稳定在线再去改渠道配置,否则保存时容易失败。
3. 可复制配置:钉钉建应用 + OpenClaw 渠道绑定
3.1 钉钉侧创建机器人应用
- 登录钉钉开发者后台,点顶部「应用开发」
- 左侧出现「钉钉应用」「机器人」分类,说明位置对了
- 找到适配 OpenClaw 的快捷创建入口,点创建
- 填机器人名称(比如「OpenClaw 助手」)、简介(「智能协作、本地任务调度」)、图标
- 创建完成后,页面会展示Client ID和Client Secret,点复制按钮保存好
Client Secret 是私密密钥,别截图外传,也别贴到公开仓库里。
3.2 OpenClaw 侧安装钉钉连接器
OpenClaw v2.7.9 整合包不会内置所有第三方通讯渠道,钉钉连接器要单独装:
- 打开 OpenClaw 客户端 → 设置 → 聊天渠道 → 选中钉钉配置卡片
- 卡片上会出现「安装插件」按钮,点它
- 等进度条走到 100%,期间会看到运行日志
- 安装完成后 Gateway 大概率自动重启,等弹窗提示安装完毕再关窗口
下载网络波动时别中途终止进程,插件文件残缺后面会报奇怪的错。
3.3 填入凭证并绑定模型通道
回到钉钉渠道配置卡片,填入:
- Client ID 栏:粘贴钉钉后台的 Client ID
- Client Secret 栏:粘贴钉钉后台的 Client Secret
- 渠道总开关:切到开启
- 等页面状态变成「已配置」
模型侧在 OpenClaw 的模型配置里填 TaoToken 的统一通道。如果你用的是 JSON 配置文件(路径以你本地 OpenClaw 安装目录下的config为准),结构大致如下:
{ "model": { "provider": "openai-compatible", "base_url": "https://taotoken.net/api", "api_key": "你的_TaoToken_API_Key", "model_id": "claude-sonnet-4-20250514" }, "channels": { "dingtalk": { "enabled": true, "client_id": "你的_Client_ID", "client_secret": "你的_Client_Secret" } } }如果你更习惯 TOML 风格(部分 OpenClaw 版本支持):
[model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "你的_TaoToken_API_Key" model_id = "claude-sonnet-4-20250514" [channels.dingtalk] enabled = true client_id = "你的_Client_ID" client_secret = "你的_Client_Secret"三件套记牢:Base URL + Key + Model ID,缺一个都调不通。
填完点右上角「保存渠道配置」。
4. 验证请求:从钉钉发一条消息看全链路
配置保存后,别急着庆祝,先做三步验证。
4.1 验证 Gateway 在线
OpenClaw 顶部 Gateway 状态必须是「在线」。如果显示离线,点页面上的重启按钮,等它重新上线。
4.2 验证模型通道
在 OpenClaw 里找一个测试对话入口(或者直接用模型对话功能),发一句「你好,测试一下」。如果返回正常,说明 TaoToken 的 Base URL 和 Key 没问题。你也可以直接在 TaoToken 的模型对话页面先验证 Key 是否可用:https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_dingtalk&utm_campaign=rewrite
4.3 验证钉钉消息收发
- 打开钉钉客户端
- 搜索刚创建的机器人会话窗口
- 发送任意文字,比如「帮我查一下今天的待办」
- 观察 OpenClaw 是否收到消息、是否调用模型、是否把回复推回钉钉
如果钉钉里能看到机器人回复,说明 Client ID/Client Secret、事件订阅、消息收发全链路通了。
5. 常见报错排查:401、local proxy failed、reading choices
5.1 报 401 Unauthorized
大概率是 TaoToken 的 API Key 填错或过期。检查:
- Key 前后有没有多余空格、换行
- Key 是否在 TaoToken 控制台被删除或重置
- Base URL 是否写成了
https://taotoken.net/api(别多加斜杠或路径)
5.2 报 local proxy failed
这是 OpenClaw 本地代理层的问题,常见原因:
- Gateway 没在线就保存了配置
- 钉钉连接器插件没装完就点了保存
- 本地端口被占用
处理:重启 Gateway,确认插件安装进度 100%,再重新保存。
5.3 报 reading choices 相关错误
这个通常出现在模型返回结构解析阶段,说明请求发出去了但返回格式不对。检查:
- Model ID 是否拼写正确
- 该 Model ID 是否在 TaoToken 支持的模型列表里
- 是否误把非 chat 类模型填到了对话通道
5.4 钉钉机器人不回复
按顺序排查:
- Gateway 是否在线
- 钉钉渠道开关是否开启
- Client ID/Client Secret 是否带入了空格
- 插件安装后是否等网关重启稳定
- 钉钉账号是否属于机器人创建的组织
- 配置是否点了保存
5.5 关于 OAuth 报错
如果出现 OAuth 相关提示,多半是钉钉应用权限或事件订阅没配全。回钉钉开发者后台检查机器人应用的事件订阅是否开启、权限是否勾选完整。
6. 长期跑企业机器人,建议这样管理模型通道
如果你打算把这个机器人长期放在企业里用,模型调用会越来越频繁,建议:
- 用 TaoToken 的 Coding Plan 统一管理调用额度,避免每个模型单独充值:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_dingtalk&utm_campaign=rewrite
- 在控制台集中查看 Key 使用情况:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_dingtalk&utm_campaign=rewrite
- 接入文档放在手边,换模型或加通道时对照:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=openclaw_dingtalk&utm_campaign=rewrite
OpenClaw 负责本地任务调度和钉钉消息收发,TaoToken 负责模型调用的统一入口,两边各司其职,配置一次后面换模型只改 Model ID 就行。