xpai-doubao-web について
ブラウザーのログイン Cookie を使い、Doubao Web で画像やテキストを生成する CLI です。スクリプトから利用する人向けに、プロンプトファイル、参照画像、プリセット、セッションに対応します。自動化の初回実行前に明示的な同意が必要です。
主な機能
- 01画像またはテキストの生成
- 02プロンプトファイルと参照画像の読み込み
- 03プロンプト前後の定型文プリセット
- 04セッションの保存と一覧表示
- 05JSON 出力とログイン更新
活用シーン
- 01プロンプトから画像を生成
- 02参照画像を視覚入力として利用
- 03セッションで複数ターンの会話を行う
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hunduncn/ xpai-doubao-web --skill xpai-doubao-webインストール後、Claude Code で/xpai-doubao-webを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdagents/openai.yamlreferences/presets.example.jsonscripts/main.tsscripts/doubao-webapi/config.tspresets.tstypes.tsclient.ts詳細
XPAI Doubao Web
概要
このスキルを使用すると、ブラウザーのログイン Cookie を再利用して、Doubao Web から画像やテキストを生成できます。プロンプトファイル、オプションの参照画像、プリセット、セッション、JSON 出力に対応する CLI ラッパーを提供します。
スクリプトディレクトリ
すべてのスクリプトは、このスキルの scripts/ サブディレクトリにあります。
スクリプトのリファレンス:
scripts/main.ts:CLI エントリーポイント(画像/テキスト)scripts/doubao-webapi/*:TypeScript クライアントとヘルパー
同意の確認(初回使用前に必須)
このスキルはリバースエンジニアリングされた Web の挙動に依存し、Doubao Web の Cookie にアクセスして保存します。 自動化を実行する前に、ユーザーから明示的な同意を得てください。
同意ファイルの保存場所:
- macOS:
~/Library/Application Support/xpai-skills/doubao-web/consent.json - Linux:
~/.local/share/xpai-skills/doubao-web/consent.json - Windows:
%APPDATA%\\xpai-skills\\doubao-web\\consent.json
同意ファイルの形式:
{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}
設定(EXTEND.md)
次の順序で、オプションの EXTEND.md による上書き設定を確認します。
# Project-level first
test -f .xpai-skills/xpai-doubao-web/EXTEND.md && echo "project"
# Then user-level
test -f "$HOME/.xpai-skills/xpai-doubao-web/EXTEND.md" && echo "user"
対応している設定(読み込み処理を追加した場合):デフォルトモデル、プロキシ設定、カスタムデータディレクトリ。
使用方法
# Text-to-image
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts "Your prompt"
# Text-only
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --mode text --prompt "Summarize this article"
# Specify model
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --prompt "Your prompt" --model doubao-default
# Generate an image file
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --prompt "A cute cat" --image out.png
# Prompt from files
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --promptfiles system.md content.md --image out.png
# Vision input (reference images)
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png
# Preset (aspect ratio via prompt prefix/suffix)
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --preset xiaohongshu_cover --prompt "Minimalist poster" --image out.png
# List presets
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts --list-presets
# Multi-turn sessions
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts "Remember: 42" --sessionId session-abc
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts "What number?" --sessionId session-abc
# JSON output
npx -y bun /Users/aqxp/Aicodingmac/test2/xpai-doubao-web/scripts/main.ts "Hello" --json
オプション
--prompt、-p:プロンプトのテキスト--promptfiles:ファイルからプロンプトを読み込み(連結)--model、-m:モデル文字列(そのまま渡します)--mode:image(デフォルト)またはtext--preset:プリセット名(プロンプトの接頭辞/接尾辞を適用。デフォルトはxiaohongshu_cover)--image [path]:画像を生成(デフォルト:generated.png)--reference、--ref:ビジョン入力用の参照画像--sessionId:複数ターンの会話用セッション ID--list-sessions:保存済みのセッションを一覧表示--list-presets:プリセット名と設定ファイルのパスを一覧表示--json:JSON 形式で出力--login:Cookie を更新してから終了--cookie-path:カスタム Cookie ファイルのパス--profile-dir:Chrome プロファイルディレクトリ
認証
ログインにはブラウザーの Cookie を使用します。CLI は次の機能に対応しています。
--loginでブラウザーベースの更新を実行します(Playwright で実装)。--cookie-pathまたはDOUBAO_WEB_COOKIE_PATHで、エクスポートした Cookie ファイルを指定します。
フローに関する注意事項:
--loginを実行すると、表示モードのブラウザーウィンドウが開き、Cookie が保存されます。- 画像/テキストの生成は、デフォルトでヘッドレスモード(ウィンドウなし)で実行されます。ブラウザーを表示するには、
DOUBAO_WEB_HEADLESS=0を設定してください。 - Cookie ファイルがすでに存在する場合、ブラウザーを開かずに生成を続行します。
- 新たにログインするには、Cookie ファイルを削除するか、再度
--loginを実行してください。
--login と画像生成を使用するには、Playwright とそのブラウザーをインストールしてください。
npm i -D playwright
npx playwright install
対応ブラウザー(Playwright):Chromium/Chrome/Edge。
DOUBAO_WEB_CHROME_PATH でブラウザーのパスを指定できます。--profile-dir を渡すと、そのディレクトリを Playwright のユーザーデータディレクトリとして使用します。
プリセット
プリセット設定ファイルの優先順位:
DOUBAO_WEB_PRESETS_PATH.xpai-skills/xpai-doubao-web/presets.json(プロジェクト)$HOME/.xpai-skills/xpai-doubao-web/presets.json(ユーザー)
形式:
{
"default": "xiaohongshu_cover",
"presets": {
"xiaohongshu_cover": { "prefix": "...", "suffix": "..." }
}
}
サンプルファイル:references/presets.example.json
環境変数
DOUBAO_WEB_DATA_DIR:データディレクトリDOUBAO_WEB_COOKIE_PATH:Cookie ファイルのパスDOUBAO_WEB_HEADLESS:0に設定すると、ブラウザーを表示モードで実行します(デフォルト:ヘッドレス)DOUBAO_WEB_MAX_IMAGES:保存する画像の最大数(デフォルト:1)DOUBAO_WEB_LOGIN_URL:ブラウザーで開くログイン URL(デフォルト:https://www.doubao.com/)DOUBAO_WEB_COOKIE_DOMAIN:ドメインで Cookie をフィルタリングします(デフォルト:doubao.com)DOUBAO_WEB_PRESETS_PATH:プリセット設定ファイルのパスDOUBAO_WEB_INPUT_SELECTOR:プロンプト入力欄のカスタムセレクターDOUBAO_WEB_OUTPUT_SELECTOR:最新のアシスタントメッセージ用のカスタムセレクターDOUBAO_WEB_CHROME_PROFILE_DIR:Chrome プロファイルディレクトリDOUBAO_WEB_CHROME_PATH:Chrome 実行ファイルのパスHTTP_PROXY、HTTPS_PROXY:Web アクセス用のプロキシ
セッション
セッションファイルは、データディレクトリ内の sessions/<id>.json に保存されます。
含まれる項目:id、conversationUrl、messages、タイムスタンプ。--sessionId を設定すると、ログイン状態を維持するため、永続的な Playwright プロファイルが profiles/<id>/ に保存されます。