browser-mate について
browser-mate は、ブラウザー自動化用の専用 Chrome インスタンスを起動・管理するスキルです。専用プロファイルとポートを使ってメインブラウザーを開いたままにし、agent-browser と連携して操作します。
主な機能
- 01専用デバッグ Chrome の起動・再利用
- 02名前付きブラウザープロファイルの管理
- 03インスタンス状態の確認と安全な停止
- 04実行間でのログイン状態の保持
活用シーン
- 01開いているタブを閉じずにサイトを自動操作
- 02自動化タスクごとにブラウザープロファイルを分離
- 03agent-browser を専用 Chrome セッションに接続
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ glebis/ claude-skills --skill browser-mateインストール後、Claude Code で/browser-mateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/profiles.example.jsonreferences/agent-browser.mdscripts/browser.py詳細
browser-mate
非破壊的な Chrome 自動化です。解決する問題:CDP/agent-browser
セッションをアタッチするには、Chrome を --remote-debugging-port 付きで実行する必要があります。real-browser スキルでは、まず Chrome Beta を終了させることでこれを実現しますが、ユーザーが開いているタブが失われます。これに対し、browser-mate
は専用のデバッグ用 Chrome インスタンス(独自の --user-data-dir とポート)を起動し、ユーザーのメインブラウザーと共存させます。データディレクトリが異なれば Chrome は複数のインスタンスを同時に実行できるため、終了は不要です。
唯一の不変条件(決して破らないこと)
ブラウザーを終了したり、pkill や osascript quit を実行したりしてはいけません。 このスキルが行うのは、新しい専用インスタンスの起動、または既存インスタンスの再利用だけです。唯一の stop 処理では、専用の user_data_dir とデバッグポートの両方に一致するプロセスにのみ SIGTERM を送信し、ユーザーのブラウザーには決して送信しません。
使い方
# Ensure a profile's debug Chrome is up (launch or reuse); prints the PORT on stdout
PORT=$(python3 scripts/browser.py chatgpt)
# Then drive it with agent-browser (always pass --cdp $PORT). See references/agent-browser.md
SID=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | head -c 6)
agent-browser --cdp $PORT --session $SID open "https://chatgpt.com/"
agent-browser --cdp $PORT --session $SID snapshot -i
その他のサブコマンド:
python3 scripts/browser.py list # configured profiles
python3 scripts/browser.py status [profile] # up/down
python3 scripts/browser.py stop chatgpt # SIGTERM OUR instance only (graceful)
agent-browser の全コマンド(クリック、入力、アップロード、スクリーンショット、信頼性、アップグレード時の注意点)については、references/agent-browser.md を参照してください。
プロファイル
設定ファイル:~/.config/browser-mate/profiles.json(初回実行時に assets/profiles.example.json
から自動作成されます)。各プロファイル:
{ "default": "automation",
"profiles": {
"automation": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/automation", "port": 9222 },
"chatgpt": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/chatgpt", "port": 9223, "default_url": "https://chatgpt.com/" }
} }
- 各プロファイルは独自のログイン状態を保持します。プロファイルごとに一度ログインすれば、その状態は保持されます。
- JSON を編集してプロファイルを追加できます。一意のポートと専用の
user_data_dirを指定してください(ランチャーは一意性を検証し、ユーザーの実際の Chrome プロファイルを指すディレクトリは拒否します)。
認証
パスワードは入力できず、入力してはいけません。初回ログイン時はプロファイルを起動してから、そのウィンドウで一度だけ手動でログインするようユーザーに依頼してください。セッションは以降のすべての実行で使えるよう、プロファイルの
user_data_dir に保持されます。
安全性と制限
- ループバックのみ。 デバッグポートは
127.0.0.1にバインドされます(Chrome のデフォルト)。CDP には認証機能がありません。ローカルの誰もが操作できます。信頼できるマシンで使用し、--remote-debugging-addressは決して渡さないでください。 - 専用データディレクトリ。 プロファイルの
user_data_dirにユーザーの実際の Chrome プロファイル(~/Library/Application Support/Google/Chrome*)を指定してはいけません。ランチャーはこれを拒否します。 - ロック中のディレクトリ。 プロファイルのディレクトリがデバッグ用ではない Chrome ウィンドウですでに開かれている場合、ランチャーは終了させずに明示的なエラーで失敗します。
real-browserの起動手順を置き換えます。操作には引き続きagent-browserを使用します。