mcpField
C
canghe-danger-gemini-web

canghe-danger-gemini-web

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

canghe-danger-gemini-web について

Gemini Web APIでテキストや画像を生成するコマンドラインスキルです。参照画像と複数ターンの会話に対応し、リバースエンジニアリングされたAPIの初回利用前に同意確認が必要です。

主な機能

  1. 01テキストと画像の生成
  2. 02参照画像の入力
  3. 03複数ターンの会話セッション
  4. 04Geminiモデルの選択
  5. 05ブラウザー経由のGoogle認証
  6. 06初回利用前の同意確認

活用シーン

  1. 01プロンプトからテキストを生成
  2. 02プロンプトから画像を作成
  3. 03参照画像をビジョン入力に使用
  4. 04保存済みの会話を継続または確認

インストール

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

$npx skills add https://github.com/freestylefly/canghe-skills --skill canghe-danger-gemini-web

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

同梱ファイル

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

scripts/
main.ts
scripts/gemini-webapi/
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 Client

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

スクリプトディレクトリ

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

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

  1. この SKILL.md ファイルのディレクトリパスを SKILL_DIR として特定します
  2. スクリプトのパス = ${SKILL_DIR}/scripts/<script-name>.ts
  3. このドキュメント内のすべての ${SKILL_DIR} を実際のパスに置き換えます

スクリプトの参照:

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

同意の確認(必須)

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

同意ファイルの場所:

  • macOS: ~/Library/Application Support/canghe-skills/gemini-web/consent.json
  • Linux: ~/.local/share/canghe-skills/gemini-web/consent.json
  • Windows: %APPDATA%\canghe-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 が存在するか Bash で確認します。

# Check project-level first
test -f .canghe-skills/canghe-danger-gemini-web/EXTEND.md && echo "project"

# Then user-level (cross-platform: $HOME works on macOS/Linux/WSL)
test -f "$HOME/.canghe-skills/canghe-danger-gemini-web/EXTEND.md" && echo "user"

┌──────────────────────────────────────────────────────────┬───────────────────┐ │ パス │ 場所 │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ .canghe-skills/canghe-danger-gemini-web/EXTEND.md │ プロジェクトディレクトリ │ ├──────────────────────────────────────────────────────────┼───────────────────┤ │ $HOME/.canghe-skills/canghe-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-2.5-pro

# 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-2.5-pro、gemini-2.5-flash
--image [path]画像を生成します(デフォルト:generated.png)
--reference, --refビジョン入力用の参照画像
--sessionId複数ターンの会話用セッション ID
--list-sessions保存済みセッションを一覧表示します
--jsonJSON 形式で出力します
--loginCookie を更新して終了します
--cookie-pathカスタム Cookie ファイルのパス
--profile-dirChrome プロファイルディレクトリ

モデル

モデル説明
gemini-3-proデフォルト、最新
gemini-2.5-pro以前の Pro モデル
gemini-2.5-flash高速、軽量

認証

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

対応ブラウザー(自動検出):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 を使用してカスタム設定ができます。パスとサポートされているオプションについては、設定セクションを参照してください。

コメント