惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
V
V2EX
博客园 - 叶小钗
雷峰网
雷峰网
小众软件
小众软件
量子位
V
Visual Studio Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
G
Google Developers Blog
博客园_首页
博客园 - Franky
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享

東风

从vps到边缘函数-我都经历了什么? 新主题设计理念 魔法玩具 alwaysdata 博客后台和域名 我给博客加了AI审核评论功能 我给博客加了AI审核评论功能 把 RSS 监控搬到了 EdgeOne 上,这次带了个前端 评论等级系统——从庶民到太师的九品十八阶 评论等级系统——从庶民到太师的九品十八阶 给 D1 数据库加了个只读副本,评论 API 快了 30% 给 D1 数据库加了个只读副本,评论 API 快了 30% 我退订了 Kimi 和 MiniMax 的 Coding Plan 我退订了 Kimi 和 MiniMax 的 Coding Plan 写了一个 RSS 博客订阅自动监控工具 写了一个 RSS 博客订阅自动监控工具 飞书同步机器人 — 部署教程 飞书同步机器人 — 部署教程 给博客评论加个飞书通知 给博客评论加个飞书通知 飞书发布测试 飞书发布测试 1700公里的旅程 1700公里的旅程 1700公里的旅程 Hello World - 欢迎来到我的博客 Hello World - 欢迎来到我的博客
豆包图片下载器:一键保存豆包对话里的图片
東风 · 2026-07-21 · via 東风

豆包图片下载器:一键保存豆包对话里的图片

東风 技术 2026.07.20 4 分钟 1.3k 字

为什么做这个

豆包生成的图片质量不错,但是保存的时候有个蛋疼的水印。写这个小工具就是为了解决这个问题的。粘贴一个豆包分享链接,点提取,所有图片就出来了(包括去水印的图片),一键全部下载。

技术方案

豆包的分享链接格式是 https://www.doubao.com/thread/{share_id}。我逆向了豆包前端的JS,发现这个share_id的前缀决定了它走哪个后端接口:

前缀接口场景
x/im/message/share/getIM消息分享
w/samantha/thread/share/snapshot/get网页话题
c/samantha/collection/thread/share收藏夹
d/samantha/bookmark/dir/share/conversation/get书签
其他/alice/message/share/get移动端/默认

工具拿到链接后解析出ID前缀,直接调用对应的内部API。整个过程大概200毫秒,不需要启动浏览器,不消耗浏览器渲染配额。

这是主路径。快、免费、大部分情况下够用。

双路径设计

豆包的某些分享需要客户端生成的msToken才能通过验证,API会返回不了数据。这时候工具自动切换到备用方案:用Cloudflare的浏览器渲染服务,启动一个真实的Chromium实例加载页面,从渲染后的HTML里提取图片URL。

备用方案慢一些(几秒钟),而且消耗浏览器渲染配额,但胜在稳定。两条路总有一条能走通。

架构大概长这样:

用户粘贴链接

解析 share_id → 判断前缀

调用对应 API(~200ms)
    ↓ 成功
返回图片列表
    ↓ 失败
启动浏览器渲染(~3s)

从 HTML 提取图片

返回图片列表

部署

这是一个Cloudflare Worker,部署很简单:

git clone https://github.com/cheungray123/doubao-downloader.git
cd doubao-downloader
npm install
npm run deploy

或者fork到你的仓库,在cf新建workers选择此仓库即可

点击预览

Cloudflare的免费额度对个人使用完全够。

如果你想启用浏览器渲染作为备用方案,在 wrangler.jsonc 里取消注释browser配置块:

"browser": {
  "binding": "MYBROWSER",
  "remote": true
},

不取消注释也行,工具会以纯API模式运行。

前端

打开部署后的URL,界面很简洁:标题、输入框、提取按钮。粘贴链接,点提取,图片就出来了。每张图可以单独下载或查看原图,也可以一键全部下载。移动端也做了适配。

前端是原生HTML/CSS/JS,没有框架,没有构建步骤。整个项目大概500行TypeScript加一个400行的HTML文件。

技术栈

  • 运行时: Cloudflare Workers(边缘计算)
  • 语言: TypeScript
  • 浏览器渲染: @cloudflare/puppeteer(可选)
  • 前端: 原生 HTML/CSS/JS
  • 部署: Wrangler CLI

安全

工具不存储任何数据。图片URL直接从豆包API获取,通过工具代理下载,不经过任何第三方。做了SSRF防护、输入校验,加了安全响应头。

限制

这不是官方工具,是逆向工程的产物。豆包哪天改了接口,这个工具可能就不好使了。API端点、请求格式、验证机制——这些都可能变。到时候得跟着改。

只能处理公开分享的链接。需要登录才能查看的私密对话,处理不了。

最后

就是个小工具,解决一个小问题。代码都在仓库里,想改随时改。有bug或者豆包改了什么导致不好使了,欢迎提issue。