Agent Skills by ALSEL
Google GeminiLLM・AI開発⭐ リポ 2品質スコア 64/100

gemini-bridge

Safari自動化経由でGeminiと対話 - APIキー不要のGemini向けREST API + CLIツール

description の原文を見る

Talk to Gemini via Safari automation - REST API + CLI tool for Gemini without API key

SKILL.md 本文

Gemini Bridge v1.0

Google Gemini を REST API + CLI ツールに変換します。APIキーは不要です。

アーキテクチャ

Client → Safari JS injection → gemini.google.com → DOM extraction → Response

コア機能

  • ゼロパーミッション: アクセシビリティ不要、システムイベント不要、純粋な AppleScript + JS
  • ゼロ依存: Python 標準ライブラリのみ、外部パッケージなし
  • grok-bridge ベース: 同じ実績のあるアーキテクチャを Gemini に適応

前提条件

  1. Safari を搭載した macOS
  2. gemini.google.com にログイン済み(Gemini Pro 推奨)
  3. Safari > 設定 > 詳細 > Web 開発者機能を表示 ✓
  4. Safari > 開発 > Apple イベントから JavaScript を許可 ✓

使用方法

REST API モード(推奨)

# サーバー起動
bash ~/脚本/skiils/gemini-bridge/start_server.sh

# どこからでもクエリ実行
curl -X POST http://localhost:19999/chat \
  -H "Content-Type: application/json" \
  -d '{"prompt":"What is quantum computing?","timeout":60}'

# ヘルスチェック
curl http://localhost:19999/health

# 会話履歴を読込
curl http://localhost:19999/history

# 新規会話開始
curl -X POST http://localhost:19999/new

CLI モード

bash ~/脚本/skiils/gemini-bridge/scripts/gemini_chat.sh "Explain blockchain" --timeout 30

API エンドポイント

メソッドパス説明
POST/chatプロンプトを送信、レスポンス待機
POST/new新規会話開始
GET/healthヘルスチェック(Safari URL、Gemini ステータス)
GET/history現在のページの会話を読込

技術詳細

入力方法

  • document.execCommand('insertText') - React 制御入力をバイパス
  • Gemini の contenteditable div で動作

送信方法

  • button[aria-label="Send message"] の JS button.click()
  • パーミッション不要

レスポンス抽出

  • document.body.innerText を 2 秒ごとにポーリング
  • 安定性検出(2 回連続の同一読み取り)
  • UI アーティファクトをクリーン化(ボタン、サジェスション等)
  • 「Gemini said」マーカー後のコンテンツを抽出

パフォーマンス

  • 平均レスポンスタイム:単純なクエリで約 10 秒、複雑なクエリで約 20 秒
  • タイムアウト:設定可能(CLI デフォルト 60 秒、API 120 秒)
  • 並行リクエスト:スレッド処理で対応(API モード)

Grok Bridge との主な違い

  • 成長閾値: 20 文字(Grok は 30)- Gemini の応答はより短い
  • レスポンスマーカー: 「Gemini said」(Grok はユーザープロンプト)
  • 入力要素: div[contenteditable=true](Grok は textarea
  • デフォルトポート: 19999(Grok は 19998)

セキュリティに関する注記

  • 認証情報は保存なし: 既存の Safari ログインセッションを使用
  • デフォルトではローカルのみ: リモートアクセスは 0.0.0.0 にバインド(注意して使用)
  • レート制限: Gemini のレート制限を継承(Gemini Pro 推奨)

トラブルシューティング

「osascript エラー」

  • Safari > 開発 > Apple イベントから JavaScript を許可 を確認
  • Safari が実行中で、ウィンドウが開いていることを確認

「input not found」

  • gemini.google.com にログインしていることを確認
  • Gemini UI が変更されていないか確認(gemini_bridge.py の INPUT_SELECTORS を更新)

「timeout」またはレスポンスが不完全

  • タイムアウトパラメータを増加
  • ネットワーク接続を確認
  • Gemini Pro サブスクリプションを確認(より高速なレスポンス)

ユースケース

  1. 無料 LLM API: 有料 API を Gemini Pro サブスクリプションで置き換え
  2. バッチ処理: REST API で複数のクエリを自動化
  3. 統合: Gemini をカスタムワークフロー/スクリプトに接続
  4. A/B テスト: Gemini と Grok のレスポンスを並べて比較
  5. マルチモデル戦略: 異なるタスクに Grok と Gemini の両方を使用

クレジット

  • アーキテクチャ:grok-bridge (ythx-101)をベース
  • Gemini 適応:驼哥的专属架构师 (Claude Opus 4.6)

ライセンス

MIT

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yangtuo8
リポジトリ
yangtuo8/gemini-bridge
ライセンス
MIT
最終更新
2026/3/16

Source: https://github.com/yangtuo8/gemini-bridge / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yangtuo8 · yangtuo8/gemini-bridge · ライセンス: MIT