关于 doubao-web
通过 Playwright 在真实浏览器会话中自动化豆包 Web 生图的技能和命令行工具。它可将生成的图像保存到本地,并从响应流中提取原图链接。
主要功能
- 01Playwright 浏览器自动化
- 02保存登录会话
- 03按提示词生成图像
- 04解析 SSE 响应
- 05设置输出路径、画质和比例
适用场景
- 01通过命令行提示词生成图像
- 02将生成图像保存到指定路径
- 03选择图像画质和宽高比
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pjf6568/ doubao-web-image --skill doubao-web安装后在 Claude Code 中输入/doubao-web确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
package-lock.json.gitignorepackage.jsonREADME.mdLICENSEtsconfig.jsonscripts/main.tsscripts/doubao-webapi/client.ts详细介绍
豆包 Web 图片生成器
本项目/技能通过 Playwright 自动化控制浏览器,直接利用豆包 Web 端的真实环境生成图片,从而完美绕过 a_bogus 签名风控问题。
功能 (功能)
- 自动将登录状态保存到
~/.doubao-web-session(自动保存登录状态在~/.doubao-web-session) - 在真实浏览器环境中发送图片生成提示词(在真实浏览器环境中发送生图 Prompt)
- 拦截并解析 SSE 流式响应,获取无水印原图 URL(拦截并解析 SSE 流式响应,获取无水印原图 URL)
如何运行 (如何运行)
# Default headless mode (silent background run) and original image quality, saving to generated.png
# 默认使用无头模式 (后台静默运行) 和 获取原图画质,并默认保存为 generated.png
npx ts-node scripts/main.ts "A cyberpunk style cat (一只赛博朋克风格的猫咪)"
# Specify image save path (--output or --image)
# 指定图片保存路径 (--output 或 --image)
npx ts-node scripts/main.ts "A cyberpunk style cat" --output="./my_cyber_cat.png"
# Specify image quality (--quality=preview or --quality=original)
# preview fetches faster, original attempts to get high-res quality (default)
# 指定图片画质 (--quality=preview 或 --quality=original)
# preview 抓取速度更快,original 尝试获取大图画质 (默认)
npx ts-node scripts/main.ts "A cyberpunk style cat" --quality=preview --output="./preview_cat.png"
# For the first run or when login is required, you must use the --ui parameter to show the browser window
# 首次运行或需要登录时,必须使用 --ui 参数显示浏览器窗口
npx ts-node scripts/main.ts "Test" --ui
命令行参数 (命令行参数说明)
| 参数 (参数) | 说明 (说明) | 默认值 (默认值) |
|---|---|---|
prompt | (必填)生成图片的提示词 / (必填) 生成图片的提示词 | A cute golden retriever (一只可爱的金毛犬) |
--output=<path> / --image=<path> | 保存下载图片的本地路径 / 图片下载保存的本地路径 | ./generated.png |
--quality=<value> | 图片画质要求:preview 或 original(高清)/ 图片画质要求,可选 preview (预览图) 或 original (高清原图) | original |
--ratio=<value> | 图片宽高比选项。支持:1:1(正方形头像)、2:3(社交媒体自拍)、3:4(经典照片)、4:3(文章配图)、9:16(手机壁纸人像)、16:9(桌面壁纸风景)/ 图片比例选择,支持:1:1 (正方形头像), 2:3 (社交媒体自拍), 3:4 (经典比例拍照), 4:3 (文章配图插画), 9:16 (手机壁纸人像), 16:9 (桌面壁纸风景) | |
--ui | 显示浏览器界面(首次登录时必须使用)/ 显示浏览器界面(首次登录时必须使用) | 后台静默运行 (后台静默运行) |
--help, -h | 显示帮助菜单 / 显示帮助菜单 |
技术原理 (技术原理)
- 浏览器托管 (浏览器托管):使用 Playwright 启动真实的 Chromium 浏览器,并加载用户数据目录。(利用 Playwright 启动一个真实的 Chromium 浏览器,加载用户数据目录。)
- UI 自动化 (UI 自动化):定位输入框,自动填入
Help me generate an image: {prompt}并模拟按下 Enter 键。(定位输入框,自动填入帮我生成图片:{prompt}并模拟回车。) - 网络拦截 (网络拦截):监听
/samantha/chat/completion的 POST 请求响应,获取完整的 SSE 数据流。(监听/samantha/chat/completion的 POST 请求响应,获取完整的 SSE 数据流。) - 数据解析 (数据解析):使用正则表达式匹配响应流中的
image_oriURL。(使用正则匹配响应流中的image_ori的 URL。)
目录结构 (目录结构)
scripts/doubao-webapi/client.ts- Playwright 客户端核心逻辑 (核心 Playwright 客户端逻辑)scripts/main.ts- 命令行入口文件 (命令行入口文件)package.json- 项目依赖 (项目依赖)
评论
支持 Markdown