gemini-computer-use は何をしますか?
Gemini 2.5 Computer Use ブラウザ制御エージェントを Playwright で構築・実行します。ユーザーが Web ブラウザタスクを自動化したい場合、エージェントループ(スクリーンショット → function_call → アクション → function_response)が必要な場合、またはリスクのある UI 操作に対する安全確認の統合を求められた場合に使用します。
概要
このスキルは Google の Gemini 2.5 モデルの Computer Use 機能を利用して、ブラウザを自律的に操作するエージェントを作成します。Playwright を使用してブラウザを制御し、モデルがスクリーンショットを分析し、適切なアクションを決定・実行するループを実装します。
前提条件
- Python 3.10 以上
- Google AI Studio または Vertex AI の API キー(
GEMINI_API_KEYまたはGOOGLE_API_KEY) - Playwright ブラウザのインストール
インストール
pip install google-generativeai playwright pillow
playwright install chromium
環境変数
export GEMINI_API_KEY="your-api-key-here"
# または
export GOOGLE_API_KEY="your-api-key-here"
使用方法
基本的なエージェントループ
import asyncio
from gemini_computer_use import GeminiComputerUseAgent
async def main():
agent = GeminiComputerUseAgent()
# タスクを実行
result = await agent.run_task(
task="Google 検索で 'Playwright Python' と検索し、最初の結果をクリックしてください",
headless=False # ブラウザを表示
)
print(result)
asyncio.run(main())
安全確認の統合
リスクのある操作(例:削除、フォーム送信)に対して安全確認を統合できます。
async def safety_callback(action_type, details):
if action_type in ["click_submit", "delete_element"]:
print(f"警告: {details['description']}")
confirm = input("この操作を実行しますか? (y/n): ")
return confirm.lower() == 'y'
return True
agent = GeminiComputerUseAgent(safety_callback=safety_callback)
カスタマイズ
- モデルの指定:
model_name="gemini-2.5-pro"のように指定可能。 - ブラウザの種類: Chromium、Firefox、WebKit から選択可能。
- タイムアウト:
timeout=60000でミリ秒単位で設定。
トラブルシューティング
- API キーが設定されていない場合:
GEMINI_API_KEYまたはGOOGLE_API_KEYが設定されているか確認。 - Playwright ブラウザが見つからない場合:
playwright install chromiumを実行。 - タイムアウトエラー:
timeoutパラメータを増やすか、タスクを分割。
ライセンス
MIT