mcpField
D
doubao-web

doubao-web

github.com/pjf6568クリエイティブ・メディア2849 回インストール31 週間前に更新
リポジトリ

doubao-web について

Playwright で実際のブラウザーセッションを操作し、Doubao Web で画像を生成するスキル兼 CLI です。生成画像をローカルに保存し、レスポンスストリームからオリジナル画像の URL を取得できます。

主な機能

  1. 01Playwright によるブラウザー自動化
  2. 02ログインセッションの保存
  3. 03プロンプトによる画像生成
  4. 04SSE レスポンスの解析
  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

詳細

Doubao Web Image Generator

このプロジェクト/スキルは、Playwright を使ってブラウザ操作を自動化し、Doubao Web の実際の環境を直接利用して画像を生成することで、a_bogus 署名のリスクコントロール問題を完全に回避します。(这个项目/技能通过 Playwright 自动化控制浏览器的方式,直接利用豆包 Web 端的真实环境进行图片生成,从而完美避开 a_bogus 签名风控问题。)

Features (機能)

  • ログイン状態を ~/.doubao-web-session に自動保存します (自动保存登录状态在 ~/.doubao-web-session)
  • 実際のブラウザ環境で画像生成プロンプトを送信します (在真实浏览器环境中发送生图 Prompt)
  • SSE ストリーミング応答を傍受して解析し、ウォーターマークなしの原画像 URL を取得します (拦截并解析 SSE 流式响应,获取无水印原图 URL)

How to Run (実行方法)

# 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
Command Line Arguments (コマンドライン引数の説明)
Parameter (パラメータ)Description (説明)Default (デフォルト値)
prompt(必須) 画像を生成するためのプロンプト / (必填) 生成图片的提示词A cute golden retriever (一只可爱的金毛犬)
--output=<path> / --image=<path>ダウンロードした画像を保存するローカルパス / 图片下载保存的本地路径./generated.png
--quality=<value>画像品質の要件: preview または original (高解像度) / 图片画质要求,可选 preview (预览图) 或 original (高清原图)original
--ratio=<value>画像のアスペクト比の選択。対応: 1:1 (正方形のアバター), 2:3 (SNS の自撮り), 3:4 (クラシックな写真), 4:3 (記事の挿絵), 9:16 (スマホ壁紙の縦向き), 16:9 (デスクトップ壁紙の横向き) / 图片比例选择,支持:1:1 (正方形头像), 2:3 (社交媒体自拍), 3:4 (经典比例拍照), 4:3 (文章配图插画), 9:16 (手机壁纸人像), 16:9 (桌面壁纸风景)
--uiブラウザのインターフェースを表示します (初回ログイン時に必ず使用してください) / 显示浏览器界面(首次登录时必须使用)バックグラウンドでサイレント実行 (后台静默运行)
--help, -hヘルプメニューを表示します / 显示帮助菜单

Technical Principle (技術原理)

  1. Browser Hosting (ブラウザホスティング): Playwright を使って実際の Chromium ブラウザを起動し、ユーザーデータディレクトリを読み込みます。(利用 Playwright 启动一个真实的 Chromium 浏览器,加载用户数据目录。)
  2. UI Automation (UI 自動化): 入力ボックスを特定し、Help me generate an image: {prompt} を自動入力して、Enter キーを押す動作をシミュレートします。(定位输入框,自动填入 帮我生成图片:{prompt} 并模拟回车。)
  3. Network Interception (ネットワーク傍受): /samantha/chat/completion の POST リクエスト応答を監視し、完全な SSE データストリームを取得します。(监听 /samantha/chat/completion 的 POST 请求响应,获取完整的 SSE 数据流。)
  4. Data Parsing (データ解析): 正規表現を使って、応答ストリーム内の image_ori の URL をマッチングします。(使用正则匹配响应流中的 image_ori 的 URL。)

Directory Structure (ディレクトリ構造)

  • scripts/doubao-webapi/client.ts - コアとなる Playwright クライアントロジック (核心 Playwright 客户端逻辑)
  • scripts/main.ts - コマンドラインエントリーファイル (命令行入口文件)
  • package.json - プロジェクトの依存関係 (项目依赖)

コメント