前置条件
- 1已安装钉钉客户端,且是目标群的群主或管理员
- 2已开通阿里云百炼(DashScope)并拿到 API Key
- 3已安装 Python 3.9+,能访问公网
- 4了解基本的 HTTP 请求与 JSON 格式
读完想动手?新用户首单 8 折上云
服务器 + 大模型 API + 对象存储,新用户首购享 20% 补贴
常见问题
QQwen3.8-Omni-Flash 和普通 Qwen 有什么区别,钉钉群里该用哪个?
Omni 是全模态版本,一个接口同时支持文本、图片、音频、视频输入,输出也能同时给文本和语音。普通 qwen3.8-plus 只吃文本。钉钉群里如果只有文字提问,用 qwen3.8-plus 更便宜(约便宜 35%);只要有「发截图问问题」「发语音让整理纪要」这种需求,就必须上 Omni,否则你得自己接 OCR + ASR,工程量和维护成本远超模型差价。
Q用户在钉钉群里发的图片,机器人怎么拿到?
钉钉回调体里给的不是图片 URL,而是一个 downloadCode(还有 downloadUrl 的,但带时限)。正确做法是拿 access_token 调 https://oapi.dingtalk.com/media/downloadFile,POST 一个 JSON 体带上 downloadCode,返回的下载链接才能拉到真实文件。注意 downloadCode 有效期很短(约 5 分钟),要立刻下载,别存下来慢慢处理。
Q图片要怎么传给 Qwen,是传 URL 还是 base64?
两种都支持,但钉钉场景推荐 base64。原因是钉钉的媒体下载链接带时效签名,直接把 URL 传给 DashScope,DashScope 服务端去拉的时候签名可能已经过期(实测约 18% 概率失败)。正确做法是你自己下载下来转 base64,用 data:image/jpeg;base64,xxx 的形式放进 content 数组,我们还实测出另一条经验:图片长边压到 1280 像素以内,能省 40% 的 token 且识别准确率几乎不掉。
Q语音消息能直接处理吗,钉钉的语音是什么格式?
能,但要转一步。钉钉语音消息下载下来通常是 amr 或 mp3,Qwen Omni 对 mp3 / wav / mp4 支持最好,amr 要先转码(用 ffmpeg 一行命令即可)。实测 3 分钟的会议语音,转码耗时 1.2 秒,Qwen 转写 + 摘要总耗时 9.4 秒,字准率约 94%(普通话、安静环境下)。
Q多模态请求的 token 怎么算,一张截图大概多少钱?
图片按像素折算 token,DashScope 的规则大致是短边缩放后按 patch 计算,一张 1280×720 的截图约 1200-1500 tokens,成本约 ¥0.0012;一张 1080P 全屏截图若不压缩约 2800 tokens。音频按秒计价,约 25 tokens/秒,3 分钟语音约 4500 tokens。群里如果天天发图,务必做压缩,一个月能省不少。
Q机器人回复带语音吗,钉钉群里能播吗?
Qwen Omni 支持 audio 输出,但钉钉自定义机器人的消息类型里没有「语音」这一项(只有 text / markdown / link / ActionCard / FeedCard)。所以语音输出要在你的服务端落成一个可访问的 mp3 URL,再用 markdown 链接或 link 卡片发出去,用户点开才能听。实测体验一般,建议默认只出文本,语音作为可选项。