ghost-browser について
Ghost Browser は、自然言語のタスクでログイン済みの Chrome セッションを操作するスキルです。LLM がページを閲覧・操作し、明示的に送信を許可しない限り、公開を伴う最終操作の前に停止します。
主な機能
- 01CDP と Playwright による Chrome 操作
- 02自然言語でのブラウザータスク実行
- 03ログイン状態を保つプロファイル
- 04取り消せない操作の前に停止
- 05スクリプトによる低レベル操作
活用シーン
- 01求人を検索して情報をまとめる
- 02コメントを公開せずに下書きする
- 03応募内容を入力して送信前に停止する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aiagentwithdhruv/ skills --skill ghost-browserインストール後、Claude Code で/ghost-browserを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
ghost_agent.pyghost_chrome.pyghost_launch.py詳細
Ghost Browser — Dhruv の実際の Chrome をエージェントで操作
英語で目標を伝えると、実際にログイン済みの Chrome を人間のように操作します — スクロール、クリック、入力、読み取りを行い、取り消せない公開アクションの前に停止します。
ランタイムの場所: Social-Media-Agent-1.0/browser-automation/
エンジン: browser-use(0.13.x)+ Playwright CDP 接続 + 実際の Google Chrome
頭脳: OpenAI gpt-5.4-mini(アクション)+ gpt-5.4(正確なページ読み取り)。キーはこのフォルダーの .env にあります。
通常の自動化より優れている理由
- ブロックされない: 実際のログイン済みセッションと住宅用 IP を使って、実際の Chrome を操作します — Manus と同じ手法です。ヘッドレスボットではないため、ボット検知で捕捉されることがありません。
- 継続性: Chrome は一度だけ起動し、そのまま開いた状態を保ちます。アクションごとにタブを開き直す必要はありません。
- 人間のペース: 小刻みなスクロール、短い待機、慎重な操作を行います — 安全な場面では速く、ブロックのリスクがある場面ではゆっくり動作します。
- LLM による操作: 目標を伝えると、クリックする場所を判断します。LinkedIn などのサイトでボタン名が変更されても対応できます(壊れやすいセレクターは使いません)。
- ブランドアカウントを安全に保護: 最後の送信/投稿/メッセージ送信/応募確定ボタンはクリックせず、1 回の実行につき 3 件を超える投稿にリアクションしません。すべて入力したところで停止し、Dhruv のクリックを待ちます。
--allow-submitでこの制限を解除できます。
実行方法(2 ステップ)
ステップ 1 — プロファイルに接続する(セッションごとに 1 回)。Chrome を終了し、ログイン情報をクリーンコピーして、デバッグポートで再起動します。普段使いの Chrome は変更されません(コピー上で動作します)。
cd "Social-Media-Agent-1.0/browser-automation"
./.venv/bin/python ghost_launch.py aiv # or: onsite | msbc | dhruv | agi | default
# waits for "✅ READY"
ステップ 2 — 英語で指示する(何度でも繰り返せます。Chrome は開いたままです)。
./.venv/bin/python ghost_agent.py "open Jobs, search Solution Consultant remote India, list the top 5 with company + location"
./.venv/bin/python ghost_agent.py "scroll my feed and draft a thoughtful comment on the top AI post — do NOT post it"
./.venv/bin/python ghost_agent.py "open this job <url>, fill the application with my details, stop before Submit"
プロファイル一覧(名前 → Chrome プロファイル)
| 指定 | プロファイル | アカウント |
|---|---|---|
aiv | Profile 6 | Ai with Dhruv ([email protected]) — デフォルト |
dhruv | Profile 2 | Dhruv Tomar |
onsite | Profile 4 | [email protected] |
msbc | Profile 12 | MSBC |
agi | Profile 8 | [email protected] |
安全モデル(Dhruv の明示的な許可なしに緩和しないでください)
- 読み取り、スクロール、移動、検索、投稿を開く操作、コメント/メッセージ/応募欄への入力は、自動化されます。
- 最後に行う公開/取り消し不能なアクション(投稿、送信、応募、公開、接続、1 回の実行につき 3 件を超えるリアクション)は、
--allow-submitを含むコマンドを実行しない限り、Dhruv がクリックします。 - この設定により、就職活動中にブランドアカウントが利用規約違反としてフラグ付けされるのを防ぎます。
ファイル
| ファイル | 役割 |
|---|---|
ghost_launch.py | プロファイルを終了してクリーンコピーし、CDP ポート 9222 で Chrome を再起動します |
ghost_agent.py | LLM 駆動のエージェント(自然言語のタスク → 人間のペースでの操作) |
ghost_chrome.py | 低レベルの Playwright CDP ドライバー(スクリプトによる非 LLM 操作用) |
.env | OpenAI + Euri のキー(Git で追跡されません) |
注意事項/落とし穴
- Chrome 136 以降では、通常のプロファイルディレクトリでデバッグポートがブロックされます。そのため
ghost_launch.pyは.chrome-cdp-<name>/のクリーンコピーを使います(Git で追跡されません)。 - 別の頭脳を使うには、
GHOST_MODEL/GHOST_READ_MODEL環境変数を設定してください。コストを重視したプロダクトの実行向けに Euri のキーも設定されています。 - エンジンには各実行を評価する LLM 判定機能が組み込まれています。読み違いを見つけるため、判定結果を確認してください。
- ランタイムのビルドが必要です:
python3 -m venv .venv && .venv/bin/pip install browser-use playwright && .venv/bin/playwright install chromium。
代替手段:Claude for Chrome(公式、補完的)
「Claude、ブラウザーでこれをして」と頼む対話的な場面では、Anthropic 公式の Claude for Chrome 拡張機能(Max プラン)が、コード不要で最も安全な選択肢です。ワークフローの記録と再実行、タスクのスケジュール設定、ライブセッションの利用ができます。Ghost Browser は、Dhruv が制御する自動化向けの、スクリプト化可能で所有可能なバージョンです。