mcpField
B
baoyu-danger-gemini-web

baoyu-danger-gemini-web

github.com/jimliuクリエイティブ・メディア27.0k28.0k 回インストール7 週間前に更新
リポジトリ

baoyu-danger-gemini-web について

Gemini Web APIを通じてテキストや画像を生成するコマンドラインスキルです。参照画像と複数ターンのセッションに対応し、プロンプトや保存した会話からGemini Webを利用したいユーザー向けです。

主な機能

  1. 01モデルを選べるテキスト生成
  2. 02プロンプトによる画像生成
  3. 03参照画像の入力
  4. 04セッションを使った複数ターンの会話
  5. 05ブラウザー経由のGoogle認証

活用シーン

  1. 01プロンプトからのテキスト生成
  2. 02参照画像を使った画像作成
  3. 03保存済みセッションでの会話継続

インストール

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

$npx skills add https://github.com/jimliu/baoyu-skills --skill baoyu-danger-gemini-web

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

同梱ファイル

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

scripts/
bun.lock
main.ts
package.json
scripts/gemini-webapi/
client.test.ts
client.ts
constants.ts
exceptions.ts
index.ts
scripts/gemini-webapi/components/
gem-mixin.ts
index.ts
scripts/gemini-webapi/types/
candidate.ts
gem.ts
grpc.ts
image.ts
index.ts
modeloutput.ts
scripts/gemini-webapi/utils/
cookie-file.ts
decorators.ts
get-access-token.ts
http.ts
index.ts
load-browser-cookies.ts
logger.ts
parsing.ts
paths.ts
rotate-1psidts.ts
upload-file.ts

詳細

Gemini Web クライアント

Gemini Web API を使用したテキスト/画像生成です。参照画像と複数ターンの会話に対応しています。

ユーザー入力ツール

このスキルがユーザーに入力を求める場合は、次のツール選択ルール(優先順位順)に従ってください。

  1. 組み込みのユーザー入力ツールを優先してください。現在のエージェントランタイムで公開されているものを使用します。例:AskUserQuestion、request_user_input、clarify、ask_user、または同等のツール。
  2. フォールバック:そのようなツールがない場合は、番号付きのプレーンテキストメッセージを出力し、各質問についてユーザーに番号または回答で返信するよう求めてください。
  3. まとめて質問:ツールが1回の呼び出しで複数の質問に対応している場合は、該当する質問をすべてまとめてください。1つずつしか質問できない場合は、優先順位に従って1問ずつ尋ねてください。

以下のAskUserQuestionに関する具体例は参考例です。他のランタイムでは、ローカルの同等ツールに置き換えてください。

スクリプトディレクトリ

重要:すべてのスクリプトは、このスキルの scripts/サブディレクトリにあります。

エージェントの実行手順:

  1. このSKILL.mdファイルのディレクトリパスを{baseDir}として特定します
  2. スクリプトのパス = {baseDir}/scripts/<script-name>.ts
  3. ${BUN_X}ランタイムを解決します:bunがインストールされている場合はbun、npxが利用できる場合はnpx -y bun、どちらもない場合はbunのインストールを提案します
  4. このドキュメント内のすべての{baseDir}と${BUN_X}を実際の値に置き換えます

スクリプトの参照:

スクリプト用途
scripts/main.tsテキスト/画像生成用のCLIエントリーポイント
scripts/gemini-webapi/*gemini_webapiのTypeScript移植版(GeminiClient、型、ユーティリティ)

同意の確認(必須)

初回使用の前に、リバースエンジニアリングされたAPIの使用についてユーザーの同意を確認してください。

同意ファイルの場所:

  • macOS:~/Library/Application Support/baoyu-skills/gemini-web/consent.json
  • Linux:~/.local/share/baoyu-skills/gemini-web/consent.json
  • Windows:%APPDATA%\baoyu-skills\gemini-web\consent.json

手順:

  1. accepted: trueかつdisclaimerVersion: "1.0"の同意ファイルが存在するか確認します
  2. 有効な同意がある場合は、acceptedAtの日付を含む警告を出力して続行します
  3. 同意がない場合は、免責事項を表示し、AskUserQuestionでユーザーに確認します:
    • 「はい、同意します」→ ISOタイムスタンプを含む同意ファイルを作成して続行します
    • 「いいえ、同意しません」→ 同意しない旨のメッセージを出力して停止します
  4. 同意ファイルの形式:{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}

設定(EXTEND.md)

優先順位に従ってEXTEND.mdを確認します。最初に見つかったものを使用します。

優先度パススコープ
1.baoyu-skills/baoyu-danger-gemini-web/EXTEND.mdプロジェクト
2${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-danger-gemini-web/EXTEND.mdXDG
3$HOME/.baoyu-skills/baoyu-danger-gemini-web/EXTEND.mdユーザーホーム

見つからない場合は、デフォルト設定を使用します。

EXTEND.mdで設定できる項目:デフォルトモデル、プロキシ設定、カスタムデータディレクトリ。

使い方

# Text generation
${BUN_X} {baseDir}/scripts/main.ts "Your prompt"
${BUN_X} {baseDir}/scripts/main.ts --prompt "Your prompt" --model gemini-3-flash

# Image generation
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cute cat" --image cat.png
${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png

# Vision input (reference images)
${BUN_X} {baseDir}/scripts/main.ts --prompt "Describe this" --reference image.png
${BUN_X} {baseDir}/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png

# Multi-turn conversation
${BUN_X} {baseDir}/scripts/main.ts "Remember: 42" --sessionId session-abc
${BUN_X} {baseDir}/scripts/main.ts "What number?" --sessionId session-abc

# JSON output
${BUN_X} {baseDir}/scripts/main.ts "Hello" --json

オプション

オプション説明
--prompt、-pプロンプトのテキスト
--promptfilesファイルからプロンプトを読み込みます(連結)
--model、-mモデル:gemini-3-pro(デフォルト)、gemini-3-flash、gemini-3-flash-thinking、gemini-3.1-pro-preview
--image [path]画像を生成します(デフォルト:generated.png)
--reference、--refビジョン入力用の参照画像
--sessionId複数ターンの会話用セッションID
--list-sessions保存済みセッションを一覧表示します
--jsonJSON形式で出力します
--loginCookieを更新して終了します
--cookie-pathカスタムCookieファイルのパス
--profile-dirChromeプロファイルディレクトリ

モデル

モデル説明
gemini-3-proデフォルト、最新の3.0 Pro
gemini-3-flash高速で軽量な3.0 Flash
gemini-3-flash-thinking思考機能を備えた3.0 Flash
gemini-3.1-pro-preview3.1 Proのプレビュー版(空のヘッダー、自動ルーティング)

認証

初回起動時にブラウザーが開き、Google 認証を行います。Cookie は自動的にキャッシュされます。

プロファイルディレクトリが明示的に設定されていない場合、Cookie の更新時に、標準のユーザーデータディレクトリに関連付けられた、すでに実行中のローカル Chrome/Chromium のデバッグセッションが再利用されることがあります。 専用プロファイルを強制し、既存セッションの再利用をスキップするには、--profile-dir または GEMINI_WEB_CHROME_PROFILE_DIR を設定してください。 これはベストエフォートの CDP セッション再利用経路であり、Chrome の公式ドキュメントに記載されている、Chrome DevTools MCP のプロンプトベースの --autoConnect フローではありません。

サポート対象ブラウザー(自動検出):Chrome、Chrome Canary/Beta、Chromium、Edge。

強制更新:--login フラグ。ブラウザーの変更:GEMINI_WEB_CHROME_PATH 環境変数。

環境変数

変数説明
GEMINI_WEB_DATA_DIRデータディレクトリ
GEMINI_WEB_COOKIE_PATHCookie ファイルのパス
GEMINI_WEB_CHROME_PROFILE_DIRChrome プロファイルディレクトリ
GEMINI_WEB_CHROME_PATHChrome 実行ファイルのパス
HTTP_PROXY、HTTPS_PROXYGoogle アクセス用プロキシ(コマンドと同時に設定)

セッション

セッションファイルは、データディレクトリ内の sessions/<id>.json に保存されます。

内容:id、metadata(Gemini のチャット状態)、messages 配列、タイムスタンプ。

拡張機能のサポート

EXTEND.md を使ってカスタム設定を行えます。パスとサポートされているオプションについては、Preferences セクションを参照してください。

コメント