remote-browser は何をしますか?
サンドボックス化されたリモートマシンからローカルブラウザを制御します。エージェントがサンドボックス(GUIなし)で実行されており、Webサイトの閲覧、Webページとの対話、フォーム入力、スクリーンショットの取得、ローカル開発サーバーのトンネル経由公開が必要な場合に使用します。
概要
このスキルは、AIエージェントがリモートのサンドボックス環境で動作している際に、実際のブラウザインスタンスを制御するための手段を提供します。ブラウザはエージェントの実行環境とは別のマシンで動作し、エージェントはAPIを介してブラウザにコマンドを送信します。
使用例
- Webアプリケーションの自動テスト(E2E)を実行する
- 動的なWebページからデータをスクレイピングする
- フォーム入力やボタンクリックなどのユーザー操作をシミュレートする
- ページのスクリーンショットを撮って視覚的に確認する
- ローカル開発サーバーを一時的に外部に公開する
仕組み
- ローカルマシンでブラウザ自動化ライブラリ(例:Playwright, Puppeteer)を起動します
- ブラウザはリモートエージェントからの接続を待機します
- エージェントはブラウザに操作指示をJSON形式で送信します
- ブラウザは指定された操作を実行し、結果(スクリーンショット、HTML、テキストなど)を返します
- 必要に応じて、
ngrokなどのトンネリングツールを使用してローカルサーバーを公開できます
セットアップ
# 必要なパッケージをインストール
pip install playwright
playwright install
# ブラウザを起動(例:Playwrightを使用)
python -m playwright codegen
設定
環境変数または設定ファイルで以下のパラメータを指定できます。
BROWSER_HOST(デフォルト:localhost): ブラウザをホストするアドレスBROWSER_PORT(デフォルト:9222): ブラウザのデバッグポートTUNNEL_ENABLED(デフォルト:false): トンネル機能を有効にするかどうかTUNNEL_SERVICE(デフォルト:ngrok): 使用するトンネリングサービス
注意事項
- セキュリティ上、ブラウザにアクセスできるのは信頼できるエージェントのみに制限してください
- トンネルを使用する場合は、公開時間を最小限に抑え、認証を追加することを推奨します
- サンドボックス環境によっては、外部接続が制限されている場合があります。その場合は適宜ネットワーク設定を調整してください。