mcpField
D
doubao-web

doubao-web

github.com/pjf6568创意与媒体2849 次安装31 周前更新
代码仓库

关于 doubao-web

通过 Playwright 在真实浏览器会话中自动化豆包 Web 生图的技能和命令行工具。它可将生成的图像保存到本地,并从响应流中提取原图链接。

主要功能

  1. 01Playwright 浏览器自动化
  2. 02保存登录会话
  3. 03按提示词生成图像
  4. 04解析 SSE 响应
  5. 05设置输出路径、画质和比例

适用场景

  1. 01通过命令行提示词生成图像
  2. 02将生成图像保存到指定路径
  3. 03选择图像画质和宽高比

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pjf6568/doubao-web-image --skill doubao-web

安装后在 Claude Code 中输入/doubao-web确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

package-lock.json
.gitignore
package.json
README.md
LICENSE
tsconfig.json
scripts/
main.ts
scripts/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显示帮助菜单 / 显示帮助菜单

技术原理 (技术原理)

  1. 浏览器托管 (浏览器托管):使用 Playwright 启动真实的 Chromium 浏览器,并加载用户数据目录。(利用 Playwright 启动一个真实的 Chromium 浏览器,加载用户数据目录。)
  2. UI 自动化 (UI 自动化):定位输入框,自动填入 Help me generate an image: {prompt} 并模拟按下 Enter 键。(定位输入框,自动填入 帮我生成图片:{prompt} 并模拟回车。)
  3. 网络拦截 (网络拦截):监听 /samantha/chat/completion 的 POST 请求响应,获取完整的 SSE 数据流。(监听 /samantha/chat/completion 的 POST 请求响应,获取完整的 SSE 数据流。)
  4. 数据解析 (数据解析):使用正则表达式匹配响应流中的 image_ori URL。(使用正则匹配响应流中的 image_ori 的 URL。)

目录结构 (目录结构)

  • scripts/doubao-webapi/client.ts - Playwright 客户端核心逻辑 (核心 Playwright 客户端逻辑)
  • scripts/main.ts - 命令行入口文件 (命令行入口文件)
  • package.json - 项目依赖 (项目依赖)

评论

支持 Markdown