关于 dingtalk_channel_connect
dingtalk_channel_connect 是通过有头浏览器创建并发布 DingTalk 应用的技能,随后指导将凭据绑定到 QwenPaw 频道。遇到登录时暂停,并由用户手动填写凭据,不直接修改 QwenPaw 配置。
主要功能
- 01要求使用有头浏览器
- 02登录时暂停并等待用户确认
- 03配置并发布 DingTalk 机器人
- 04检查并上传机器人图片
- 05指导手动设置 QwenPaw 凭据
适用场景
- 01为 QwenPaw 创建 DingTalk 机器人
- 02发布应用配置变更
- 03指导将 DingTalk 凭据绑定到频道
- 04用户登录后恢复浏览器自动化
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ agentscope-ai/ qwenpaw --skill dingtalk_channel_connect安装后在 Claude Code 中输入/dingtalk_channel_connect确认已加载。
详细介绍
钉钉渠道自动连接(有头浏览器)
本技能使用有头浏览器自动创建钉钉应用并绑定 QwenPaw 渠道。
强制规则
- 必须以有头浏览器模式启动:
{"action": "start", "headed": true}
-
遇到登录关卡时必须暂停:
- 如果页面显示登录界面(例如登录提示、扫码登录、手机号/密码登录),立即停止自动化操作。
- 明确提示用户先手动登录,然后等待用户回复“已登录 / 继续”。
- 在用户确认之前,不要继续执行后续步骤。
-
任何应用配置变更都只在创建新版本并发布后才会生效:
- 配置完机器人相关信息后,你必须发布机器人。
- 无论是新建应用还是修改应用信息(名称、描述、图标、机器人配置等),最后都必须执行“创建新版本 + 发布”。
- 如果尚未完成发布,不要声称配置已生效。
执行前确认(必须首先执行)
在开始自动点击之前,先与用户进行“配置确认”,明确告知可自定义字段、图片规格和默认值。使用以下结构化确认:
-
允许用户自定义以下字段:
- 应用名称
- 应用描述
- 机器人图标图片 URL 或本地路径
- 机器人消息预览图 URL 或本地路径
-
明确说明图片规格(重点提示):
- 机器人图标:仅支持 JPG/PNG,
240*240px或更大,1:1比例,小于2MB,无圆角。 - 机器人消息预览图:格式为
png/jpeg/jpg,不超过2MB。
- 机器人图标:仅支持 JPG/PNG,
-
明确说明默认值(用户未指定时自动使用):
- 应用名称:
QwenPaw - 应用描述:
Your personal assistant - 机器人图标:
https://img.alicdn.com/imgextra/i4/O1CN01M0iyHF1FVNzM9qjC0_!!6000000000492-2-tps-254-254.png - 机器人消息预览图:
https://img.alicdn.com/imgextra/i4/O1CN01M0iyHF1FVNzM9qjC0_!!6000000000492-2-tps-254-254.png
- 应用名称:
-
如果用户未提供自定义值,你必须先明确回复:
- “将全部使用默认设置(QwenPaw / Your personal assistant / 默认图片)。现在开始执行。”
图片上传策略(链接和路径均支持)
- 如果用户提供本地路径,直接使用该路径上传。
- 如果用户提供图片链接,先将其下载到本地临时文件,然后再上传。
- 上传动作顺序必须为:
- 先点击页面上传入口(以触发选择器)
- 然后使用本地路径数组(
paths_json)调用file_upload
- 如果因图片规格不匹配(尺寸、比例、大小、格式)导致上传失败:
- 立即暂停自动化
- 明确要求用户手动上传符合要求的图片
- 在用户确认“已上传 / 继续”后,从当前步骤恢复
实操上传提示
file_upload的paths_json必须是“JSON 字符串数组”——注意转义:
{
"action": "file_upload",
"paths_json": "[\"xxx.png\"]",
"frame_selector": "iframe[src*=\"/fe/app?isHideOuterFrame=true\"]"
}
-
如果页面位于 iframe 中,优先包含
frame_selector;否则可能找不到上传控件或无法触发选择器。 -
必须先点击上传入口,然后再调用
file_upload;直接调用会得到:No chooser. Click upload then file_upload.
-
机器人图标区域的常见结构特征,可用于定位元素(示例;这些在钉钉控制台中可能显示为中文 UI 文案):
text: "* 机器人图标"(机器人图标)button: "使用应用图标"(使用应用图标)button: "avatar"(通常内部包含img "avatar")
-
当快照同时显示“使用应用图标”(“Use App Icon”)和“avatar”时,优先点击
avatar按钮以触发上传,然后调用file_upload。
自动化流程
第 1 步:打开钉钉开发者后台
- 以有头模式启动浏览器(
headed: true) - 访问
https://open-dev.dingtalk.com/ - 调用
snapshot检查是否需要登录
如果需要登录,请暂停并提示以下信息:
需要登录钉钉开发者后台。我已暂停自动化操作。请在已打开的浏览器中完成登录。完成后回复“继续”,我将从当前页面恢复操作。
第 2 步:创建企业内部应用
用户确认登录后,继续:
- 进入创建路径:
- 应用开发 -> 企业内部应用 -> 钉钉应用 -> 创建应用
- 填写应用信息(优先使用用户自定义值,否则使用默认值):
- 应用名称:默认
QwenPaw - 应用描述:默认
Your personal assistant
- 应用名称:默认
- 保存并创建应用
如果页面文本或结构与预期不符,请重新运行 snapshot,并根据可见文本语义重新定位元素。
第 3 步:添加机器人能力并发布
- 在 应用能力 下点击 添加应用能力,找到 机器人 并添加
- 将 机器人配置 右侧的开关按钮切换为启用
- 填写 机器人名称、机器人简介 和 机器人描述
- 上传 机器人图标(用户自定义或默认图片):
- 点击机器人图标标签下方的图片
- 默认图片 URL:
https://img.alicdn.com/imgextra/i4/O1CN01M0iyHF1FVNzM9qjC0_!!6000000000492-2-tps-254-254.png - 如果是链接,请先下载到本地,再上传
- 如果图片不符合规格,请暂停并要求用户手动上传符合规格的图片后再继续
- 上传 机器人消息预览图(用户自定义或默认图片):
- 点击机器人消息预览图标签下方的图片
- 默认图片 URL:
https://img.alicdn.com/imgextra/i4/O1CN01M0iyHF1FVNzM9qjC0_!!6000000000492-2-tps-254-254.png - 如果是链接,请先下载到本地,再上传
- 如果图片不符合规格,请暂停并要求用户手动上传符合规格的图片后再继续
- 确认消息接收模式设置为
Stream Mode(中文界面可能显示为Stream 模式) - 选择 发布;会出现进一步的确认对话框 -- 选择发布。注意:进入下一步前 必须先发布机器人
第 4 步:创建版本并发布
- 进入
应用发布 -> 版本管理与发布 - 创建新版本(每次配置变更后都必须创建)
- 填写版本描述;将应用可见范围设置为全部员工
- 按照页面提示完成发布;会出现新的对话框 -- 选择确认发布
- 只有在看到发布成功状态后,才能继续后续步骤或告知用户“配置已生效”
第 5 步:获取凭证
- 进入
基础信息 -> 凭证与基础信息 - 告知用户
Client ID(AppKey)和Client Secret(AppSecret)位于此页面。不要主动进行更改;引导用户自行绑定
QwenPaw 绑定方式
获取凭证后,引导用户选择以下方式之一:
-
控制台前端配置:
- 在 QwenPaw 控制台中,进入
Control -> Channels -> DingTalk - 输入
Client ID和Client Secret
- 在 QwenPaw 控制台中,进入
-
配置文件方式:
"dingtalk": {
"enabled": true,
"bot_prefix": "[BOT]",
"client_id": "Your Client ID",
"client_secret": "Your Client Secret"
}
路径:~/.qwenpaw/config.json,位于 channels.dingtalk 下。
凭据交付要求(强制)
- Agent 仅负责引导用户前往凭据页面,获取并展示
Client ID与实际Client Secret。 - Agent 不得主动修改
console配置或~/.qwenpaw/config.json。 - 你必须指导用户使用以下两种方式之一手动填写凭据:
- 控制台前端:
Control -> Channels -> DingTalk - 配置文件:编辑
~/.qwenpaw/config.json中的channels.dingtalk字段
- 控制台前端:
浏览器工具使用模式
默认按以下顺序执行:
- 使用
start,并设置headed: true opensnapshot- 按需执行
click/type/select_option/press_key - 页面跳转后频繁执行
snapshot - 完成后执行
stop
稳定性与恢复策略
- 优先使用最新
snapshot中的ref;仅在必要时使用selector。 - 每次关键点击或导航后,使用短暂等待(
wait_for)并立即重新执行snapshot。 - 如果会话过期或流程中途需要重新登录,请再次暂停并等待用户登录,然后从当前步骤继续。
- 如果自动化因租户权限或管理员审批而受阻,请清晰描述阻塞原因,并请用户手动完成该步骤后再继续。