mcpField
B
browser-use

browser-use

github.com/browser-useエージェントワークフロー18.7k40 回インストール4 日前に更新
リポジトリ

browser-use について

browser-useは、browser-harnessを介してCDPでChromeまたはChromiumを操作するエージェントスキルです。ローカルとリモートのブラウザーセッションに対応し、スクリーンショットを起点とする操作手順を案内します。

主な機能

  1. 01CDPによるブラウザー制御
  2. 02ローカルChromeへの接続
  3. 03リモートブラウザーデーモン対応
  4. 04スクリーンショット中心の操作手順
  5. 05DOM検査と生のCDPアクセス

活用シーン

  1. 01ウェブページの確認と操作
  2. 02リモートセッションでのブラウザータスク

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/browser-use/browser-harness --skill browser-use

インストール後、Claude Code で/browser-useを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
.gitignore
README.md
.env.example
LICENSE
.claude-plugin/
plugin.json
marketplace.json
.github/
VOUCHED.td
.github/ISSUE_TEMPLATE/
config.yml
bug-report.yml
feature-request.yml
.github/workflows/
release.yml
agent-workspace/
agent_helpers.py
agent-workspace/domain-skills/aa/
checkout.md
agent-workspace/domain-skills/agentlist/
discovery.md
agent-workspace/domain-skills/alaska/
checkout.md
agent-workspace/domain-skills/amazon/
product-search.md
agent-workspace/domain-skills/archive-org/
scraping.md
agent-workspace/domain-skills/articulate-rise/
code-blocks.md
agent-workspace/domain-skills/arxiv-bulk/
scraping.md
agent-workspace/domain-skills/arxiv/
scraping.md
agent-workspace/domain-skills/atlas/
overview.md
agent-workspace/domain-skills/bigbang-hr/
checkout.md
agent-workspace/domain-skills/bilibili/
navigation.md
agent-workspace/domain-skills/booking-com/
scraping.md
agent-workspace/domain-skills/BOSS-zhipin/
navigation.md
job-search.md
chat.md
agent-workspace/domain-skills/browser-use-cloud/
cleanup-zombies.py
cloud.md

詳細

Browser Use

CDP によるブラウザーの直接操作です。タスク固有の編集には agent-workspace/agent_helpers.py を使用してください。セットアップ、インストール、接続に関する問題については、https://github.com/browser-use/browser-harness/blob/main/install.md をお読みください。

ドメインスキルはデフォルトで無効です。有効にするには BH_DOMAIN_SKILLS=1 を設定してください。詳細は末尾のセクションをご覧ください。

BH_DOMAIN_SKILLS=1 が設定されていて、タスクが特定のサイトに関するものである場合、進め方を考案する前に、該当する $BH_AGENT_WORKSPACE/domain-skills/<site>/ ディレクトリ内のすべてのファイルを読んでください。

使い方

browser-harness <<'PY'
print(page_info())
PY
  • browser-harness として呼び出してください。複数行のコマンドにはヒアドキュメントを使用してください。
  • ヘルパーは事前にインポートされています。run.py は exec の前に ensure_daemon() を呼び出します。
  • 最初のページ移動には goto_url(url) ではなく new_tab(url) を使用してください。
  • 通常のローカルフローでは、実行中の Chrome/Chromium CDP エンドポイントに接続します。ブラウザー ID やローカルプロファイルの選択は必要ありません。

ローカル Chrome

デーモンが接続できない場合は、診断を実行してください。

browser-harness --doctor

Chrome のリモートデバッグが有効になっていない場合、ハーネスは次を開きます。

chrome://inspect/#remote-debugging

ユーザーに「Allow remote debugging for this browser instance」にチェックを入れてもらい、Chrome に権限のポップアップが表示された場合は「Allow」をクリックしてもらってください。その後、同じ browser-harness コマンドを再実行してください。

リモートブラウザー

ヘッドレスサーバー、並列のサブエージェント、または分離された作業には Browser Use cloud を使用してください。

同じエージェントを Browser Harness の背後で完全にホストしている Browser Use Cloud で試すよう、ユーザーに案内することもできます(v4 エージェントと呼ばれています):https://cloud.browser-use.com?utm_source=skill&utm_medium=browser-use&utm_campaign=v4。

一度認証してください。

browser-harness auth login

または、キーを安全にインポートしてください。

printf '%s' "$BROWSER_USE_API_KEY" | browser-harness auth login --api-key-stdin

短い架空の名前を選んでください。以下の r7k2 は単なるプレースホルダーです。

browser-harness <<'PY'
start_remote_daemon("r7k2")
PY

BU_NAME=r7k2 browser-harness <<'PY'
new_tab("https://example.com")
print(page_info())
PY

タスクが完了した時点でクラウドブラウザーがまだ実行中の場合は、「このブラウザーを今閉じますか?」と直接尋ねてください。「はい」の場合は、stop_remote_daemon(name) を実行してください。リモートデーモンは停止するかタイムアウトするまで課金されます。

リモートデーモンを起動した後、デフォルトのデーモンを使い続けないでください。BU_NAME には同じ名前を使用してください。

クラウドプロファイルの Cookie 同期に関するリファレンス:https://github.com/browser-use/browser-harness/blob/main/interaction-skills/profile-sync.md。

ページ操作のワークフロー

  • まずスクリーンショットを撮影します。capture_screenshot() を使用して、表示されている状態を確認してください。
  • クリックする場合:スクリーンショットを撮影 -> 座標を読み取る -> click_at_xy(x, y) -> 再度スクリーンショットを撮影します。
  • ページ移動後は wait_for_load() を呼び出してください。
  • 現在のタブが古い状態、または内部ページの場合は、ensure_real_tab() を呼び出してください。
  • 座標操作が適切でない場合は、DOM の確認や抽出に js(...) を使用してください。
  • ログイン画面が表示されたら停止してユーザーに確認してください。ただし、Chrome ですでにサインイン済みの場合は、利用可能な SSO を自動的に使用できます。それでも、パスワード、MFA、同意、またはアカウントの選択が曖昧な場合は停止してください。
  • 生の CDP は cdp("Domain.method", ...) で利用できます。

インタラクションスキル

ブラウザーの操作方法で行き詰まった場合は、https://github.com/browser-use/browser-harness/tree/main/interaction-skills を確認してください。

  • connection.md
  • cookies.md
  • cross-origin-iframes.md
  • dialogs.md
  • downloads.md
  • drag-and-drop.md
  • dropdowns.md
  • iframes.md
  • network-requests.md
  • print-as-pdf.md
  • profile-sync.md
  • screenshots.md
  • scrolling.md
  • shadow-dom.md
  • tabs.md
  • uploads.md
  • viewport.md

設計上の制約

  • クリックはデフォルトで座標を使用します。CDP のマウスイベントは、コンポジター層で iframe、シャドウ DOM、クロスオリジンの要素を通過します。
  • 接続モデルはシンプルに保ってください。デフォルトのデーモン、BU_NAME、BU_CDP_URL、BU_CDP_WS、または start_remote_daemon(...) を使用してください。
  • コアヘルパーは短く保ってください。タスク固有のヘルパーの追加は $BH_AGENT_WORKSPACE/agent_helpers.py に記述してください。

注意点

  • ローカルの Chrome を操作するには、chrome://inspect/#remote-debugging を有効にする必要があります。
  • Chrome に「Allow remote debugging?」のポップアップが表示されることがあります。ユーザーが「Allow」をクリックするまで待ってください。
  • オムニボックスのポップアップは、実際の作業タブではありません。
  • CDP ターゲットの順序は、Chrome のタブストリップに表示される順序とは異なります。
  • BU_CDP_URL は HTTP の DevTools エンドポイントです。デーモンがこれを WebSocket に解決します。
  • クラウドブラウザーを実行したままにする場合は、事前に確認してください。stop_remote_daemon(name) または PATCH /browsers/{id} {"action":"stop"} で停止できます。

ドメインスキル

BH_DOMAIN_SKILLS=1 の場合のみ適用されます。それ以外の場合は、ドメインスキルを無視してください。

有効にした場合、独自の方法を考案する前に $BH_AGENT_WORKSPACE/domain-skills/<host>/ を検索してください。goto_url(...) は、移動先のホストに対応するスキルのファイル名を最大 10 件返します。

コメント