mcpField
X
xpai-doubao-web

xpai-doubao-web

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

xpai-doubao-web について

ブラウザーのログイン Cookie を使い、Doubao Web で画像やテキストを生成する CLI です。スクリプトから利用する人向けに、プロンプトファイル、参照画像、プリセット、セッションに対応します。自動化の初回実行前に明示的な同意が必要です。

主な機能

  1. 01画像またはテキストの生成
  2. 02プロンプトファイルと参照画像の読み込み
  3. 03プロンプト前後の定型文プリセット
  4. 04セッションの保存と一覧表示
  5. 05JSON 出力とログイン更新

活用シーン

  1. 01プロンプトから画像を生成
  2. 02参照画像を視覚入力として利用
  3. 03セッションで複数ターンの会話を行う

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/hunduncn/xpai-doubao-web --skill xpai-doubao-web

インストール後、Claude Code で/xpai-doubao-webを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
agents/
openai.yaml
references/
presets.example.json
scripts/
main.ts
scripts/doubao-webapi/
config.ts
presets.ts
types.ts
client.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 のユーザーデータディレクトリとして使用します。

プリセット

プリセット設定ファイルの優先順位:

  1. DOUBAO_WEB_PRESETS_PATH
  2. .xpai-skills/xpai-doubao-web/presets.json(プロジェクト)
  3. $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>/ に保存されます。

コメント