钉钉渠道接入
本文指导管理员完成钉钉机器人的接入:在钉钉开放平台创建应用与机器人、在管理后台配置渠道,并验证用户绑定与对话。渠道凭据通过管理后台「渠道」页配置并持久化到 identity-service,不要使用 DINGTALK_* 环境变量(见 业务配置 - 渠道连接器)。
前置准备
- 钉钉开发者后台账号(
https://open-dev.dingtalk.com),且所在组织具有开发者权限。 - FinClaw 已完成部署,且管理员账号已注册并加入
.env的ADMIN_EMAILS(见 管理员注册)。 - dingtalk-connector 服务正常运行(默认端口 26462,健康检查
GET /health,见服务健康检查)。
钉钉开放平台创建应用
创建应用并获取凭证
浏览器打开 https://open-dev.dingtalk.com,使用钉钉管理员账号登录,进入「应用开发」,点击「创建应用」,填写应用名称、应用描述,保存创建。

创建成功后,在应用列表中打开应用详情,在「凭证与基础信息」中记录 Client ID 和 Client Secret(下一步填入管理后台)。

启用机器人能力
在应用详情页左侧菜单「添加应用能力」中,为应用添加「机器人」能力;在机器人配置页面填写机器人名称等必填项,点击「发布」保存机器人配置。

消息接收模式保持默认的 Stream 模式即可,无需配置公网回调地址。
开通权限
在「权限管理」中,搜索并开通以下权限:
| 权限 | 用途 |
|---|---|
Card.Streaming.Write | 更新互动卡片(流式回复增量刷新) |
Card.Instance.Write | 创建互动卡片 |
qyapi_robot_sendmsg | 机器人发送消息 |

发布应用
在「版本管理与发布」中,点击「创建新版本」,填写应用版本号、版本描述,并按业务需要选择应用的可用范围,保存发布。

验证:应用详情页显示「已上线」状态。
管理后台配置渠道
浏览器打开 FinClaw 管理后台,使用管理员账号登录。渠道配置按租户生效,需先在租户下拉框中选择目标租户,再进入「渠道管理」页面。
找到「钉钉」渠道卡片,点击「编辑凭证」,填入上一节记录的 Client ID 和 Client Secret,保存。每个钉钉 Client ID 只能归属一个租户。
在「账号绑定」中填入绑定地址(bind_base_url,FinClaw 对外可达的 Web 地址,如 https://chat.example.com)。该地址为飞书、钉钉、企业微信三个渠道共用;若接入飞书时已设置过,此处无需重复填写。用户在钉钉中点击绑定链接时,打开 {bind_base_url}/dingtalk-bind?token=... 页面完成登录与绑定。
将钉钉渠道的「启用」开关置为开启,点击「保存」。

保存后 identity-service 会调用 dingtalk-connector 的 POST /internal/reload 通知其重新加载配置;connector 在进程内应用新配置(按需断开并重建钉钉 Stream 连接),不重启容器。
验证:
- 渠道卡片状态由「可用」变为「已连接」(状态来自 connector 的 Stream 连接上报,保存后需等待数秒刷新页面)。
- dingtalk-connector 日志出现
dingtalk.connector.reload、dingtalk.connector.connect事件(见服务日志查看)。 - 可运行
doctor.sh,其 "IM Channel Bind Config" 段会检查绑定地址配置是否完整(见渠道连通性巡检)。
用户绑定与使用
群聊:进入群聊(群归属组织需与创建应用的组织一致),打开「群设置」->「机器人」->「添加机器人」,搜索已发布的机器人并添加;在群内 @机器人 发送消息。

首次使用时,机器人检测到该用户未绑定 FinClaw 账号,会回复一条绑定链接。点击链接打开 {bind_base_url}/dingtalk-bind?token=... 页面,按提示登录(或注册)FinClaw 账号后即完成绑定。

绑定完成后,即可在钉钉中与机器人正常对话。
单聊:在钉钉顶部搜索框中搜索机器人名称,打开单聊会话,直接发送消息。
