tuzi-danger-gemini-web について
Gemini Web API を通じてテキストと画像を生成するスキルです。コマンドラインで Gemini を使う用途向けで、参照画像や複数ターンの会話に対応し、セッションを保存できます。
主な機能
- 01テキストと画像の生成
- 02参照画像の入力
- 03複数ターンの会話
- 04Gemini モデルの選択
- 05JSON 出力
活用シーン
- 01プロンプトからテキストを生成
- 02参照画像を使った画像生成
- 03保存済みの複数ターン会話を継続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ tuziapi/ tuzi-skills --skill tuzi-danger-gemini-webインストール後、Claude Code で/tuzi-danger-gemini-webを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/main.tsscripts/gemini-webapi/client.tsconstants.tsexceptions.tsindex.tsscripts/gemini-webapi/components/gem-mixin.tsindex.tsscripts/gemini-webapi/types/candidate.tsgem.tsgrpc.tsimage.tsindex.tsmodeloutput.tsscripts/gemini-webapi/utils/cookie-file.tsdecorators.tsget-access-token.tshttp.tsindex.tsload-browser-cookies.tslogger.tsparsing.tspaths.tsrotate-1psidts.tsupload-file.ts詳細
Gemini Web クライアント
Gemini Web API を介したテキスト/画像生成に対応しています。参照画像と複数ターンの会話をサポートします。
スクリプトディレクトリ
重要:すべてのスクリプトは、このスキルの scripts/ サブディレクトリにあります。
エージェントの実行手順:
- この SKILL.md ファイルのディレクトリパスを
SKILL_DIRとして特定します - スクリプトのパス =
${SKILL_DIR}/scripts/<script-name>.ts - このドキュメント内の
${SKILL_DIR}をすべて実際のパスに置き換えます
スクリプト一覧:
| スクリプト | 目的 |
|---|---|
scripts/main.ts | テキスト/画像生成用の CLI エントリーポイント |
scripts/gemini-webapi/* | gemini_webapi の TypeScript 移植版(GeminiClient、型、ユーティリティ) |
同意の確認(必須)
初回使用前に、リバースエンジニアリングされた API の使用についてユーザーの同意を確認してください。
同意ファイルの保存場所:
- macOS:
~/Library/Application Support/tuzi-skills/gemini-web/consent.json - Linux:
~/.local/share/tuzi-skills/gemini-web/consent.json - Windows:
%APPDATA%\tuzi-skills\gemini-web\consent.json
手順:
accepted: trueとdisclaimerVersion: "1.0"を含む同意ファイルが存在するか確認します- 有効な同意がある場合 →
acceptedAtの日付を記載した警告を出力し、続行します - 同意がない場合 → 免責事項を表示し、
AskUserQuestionを通じてユーザーに確認します:- 「はい、同意します」→ ISO 形式のタイムスタンプを含む同意ファイルを作成し、続行します
- 「いいえ、同意しません」→ 同意しない旨のメッセージを出力し、停止します
- 同意ファイルの形式:
{"version":1,"accepted":true,"acceptedAt":"<ISO>","disclaimerVersion":"1.0"}
設定(EXTEND.md)
Bash を使用して EXTEND.md の存在を確認します(優先順):
# Check project-level first
test -f .tuzi-skills/tuzi-danger-gemini-web/EXTEND.md && echo "project"
# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.tuzi-skills/tuzi-danger-gemini-web/EXTEND.md" && echo "user"
┌──────────────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .tuzi-skills/tuzi-danger-gemini-web/EXTEND.md │ プロジェクトディレクトリ │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.tuzi-skills/tuzi-danger-gemini-web/EXTEND.md │ ユーザーホーム │ └──────────────────────────────────────────────────────────┴───────────────────┘
┌───────────┬───────────────────────────────────────────────────────────────────────────┐ │ 結果 │ アクション │ ├───────────────────────────────────────────────────────────────────────────────────────┤ │ 見つかった │ 読み込み、解析し、設定を適用する │ ├───────────────────────────────────────────────────────────────────────────────────────┤ │ 見つからない │ デフォルトを使用する │ └───────────┴───────────────────────────────────────────────────────────────────────────┘
EXTEND.md で設定可能:デフォルトモデル | プロキシ設定 | カスタムデータディレクトリ
使い方
# Text generation
npx -y bun ${SKILL_DIR}/scripts/main.ts "Your prompt"
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Your prompt" --model gemini-3-flash
# Image generation
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cute cat" --image cat.png
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png
# Vision input (reference images)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Describe this" --reference image.png
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Create variation" --reference a.png --image out.png
# Multi-turn conversation
npx -y bun ${SKILL_DIR}/scripts/main.ts "Remember: 42" --sessionId session-abc
npx -y bun ${SKILL_DIR}/scripts/main.ts "What number?" --sessionId session-abc
# JSON output
npx -y bun ${SKILL_DIR}/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 | 保存済みセッションを一覧表示します |
--json | JSON 形式で出力します |
--login | Cookie を更新して終了します |
--cookie-path | カスタム Cookie ファイルのパス |
--profile-dir | Chrome プロファイルディレクトリ |
モデル
| モデル | 説明 |
|---|---|
gemini-3-pro | デフォルト、最新の 3.0 Pro |
gemini-3-flash | 高速で軽量な 3.0 Flash |
gemini-3-flash-thinking | 思考機能付き 3.0 Flash |
gemini-3.1-pro-preview | 3.1 Pro プレビュー(空のヘッダー、自動ルーティング) |
認証
初回起動時にブラウザーが開き、Google 認証が行われます。Cookie は自動的にキャッシュされます。
対応ブラウザー(自動検出):Chrome、Chrome Canary/Beta、Chromium、Edge。
強制更新:--login フラグを使用します。ブラウザーの指定:GEMINI_WEB_CHROME_PATH 環境変数を使用します。
環境変数
| 変数 | 説明 |
|---|---|
GEMINI_WEB_DATA_DIR | データディレクトリ |
GEMINI_WEB_COOKIE_PATH | Cookie ファイルのパス |
GEMINI_WEB_CHROME_PROFILE_DIR | Chrome プロファイルディレクトリ |
GEMINI_WEB_CHROME_PATH | Chrome 実行ファイルのパス |
HTTP_PROXY, HTTPS_PROXY | Google アクセス用のプロキシ(コマンドと合わせてインラインで設定) |
セッション
セッションファイルは、データディレクトリ内の sessions/<id>.json に保存されます。
含まれる情報:id、metadata(Gemini のチャット状態)、messages 配列、タイムスタンプ。
拡張機能のサポート
EXTEND.md を使用してカスタム設定を行えます。パスと対応オプションについては、Preferences セクションを参照してください。