环境信息
- Qoder Wake 版本:V0.1.19
- IM 渠道:钉钉(阿里钉/集团内部版)
- 消息模式:Stream API
- 卡片类型:普通卡片
- 准入策略:配对模式
问题描述
在钉钉群聊中,用户通过「@机器人 + 图片」方式发送物料审核请求时,Waker 能正常读取文案文字,但所有图片均下载失败,提示「X 张图片下载失败,无法识别图片内容。」(X 为图片数量)。
已多次复现,发送 3 张、4 张图片均全部失败,无一例外。
已排查项
- 钉钉开发者后台「企业机器人数据读取权限」(含"下载机器人授权的图片"接口):已开通
- Qoder Wake IM 渠道配置:AppKey/AppSecret 已正确填写,通道已启用,工作目录正确
- Qoder Wake 版本:V0.1.19(远高于修复多图 BAD_REQUEST 的 v0.0.12)
- 单聊测试:无法执行(未开通单聊权限)
根因推测
钉钉群聊中触发机器人必须 @它,因此「图片 + @机器人」的消息类型是 richText(而非纯 picture 类型)。图片的 downloadCode 嵌套在 richText 结构的子段中。怀疑 Qoder Wake 在解析 richText 消息时,未能正确提取嵌套的图片 downloadCode 并调用钉钉 robotMessageFileDownload 接口完成下载。
期望行为
Waker 应能正确解析群聊中 richText 类型消息中嵌套的图片 downloadCode,完成图片下载并传递给 Skill 进行识别。
复现步骤
- 在已配对的钉钉群中,@机器人 并同时附带 1-4 张图片发送
- 等待 Waker 响应
- 观察到返回「X 张图片下载失败,无法识别图片内容」