mcpField
A
Agent Browser

Agent Browser

github.com/am-willエージェントワークフロー1.0k1.2k 回インストール15 週間前に更新
リポジトリ

Agent Browser について

Agent Browserは、Rust製でNode.jsへのフォールバックを備えたヘッドレスブラウザー自動化CLIです。AIエージェントが構造化コマンドでページを操作でき、スナップショットによる要素参照、機械可読出力、分離セッションに対応します。

主な機能

  1. 01ページの移動と操作
  2. 02ページスナップショットの取得と絞り込み
  3. 03参照による要素の特定
  4. 04テキスト、HTML、ページ情報の抽出
  5. 05分離ブラウザーセッションの管理
  6. 06CDP経由のChrome接続

活用シーン

  1. 01フォーム入力とページ移動の自動化
  2. 02構造化されたページ内容の抽出
  3. 03ログイン済みブラウザーセッションの利用

インストール

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

$npx skills add https://github.com/am-will/codex-skills --skill agent-browser

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

同梱ファイル.clawdhub/origin.json

詳細

Agent Browser

AI エージェントが構造化コマンドを使ってページを移動、クリック、入力し、スナップショットを取得できる、高速な Rust ベースのヘッドレスブラウザー自動化 CLI です。Node.js によるフォールバックも備えています。

インストール

npm(推奨)
npm install -g agent-browser
agent-browser install
agent-browser install --with-deps
ソースから
git clone https://github.com/vercel-labs/agent-browser
cd agent-browser
pnpm install
pnpm build
agent-browser install

クイックスタート

agent-browser open example.com
agent-browser snapshot
agent-browser click @e2
agent-browser fill @e3 "[email protected]"
agent-browser get text @e1
agent-browser screenshot page.png
agent-browser close

実際の Chrome プロファイルを使用する(OAuth/ログイン済みセッション向け)

Google/Discord などへのログインが必要なサイト(star-swap.com など)で使用します。

方法 1:カスタムプロファイルで Chrome を起動し、CDP 経由で接続する

# Terminal 1: Launch Chrome with your real profile and remote debugging
google-chrome --remote-debugging-port=9222 --user-data-dir=/home/willr/.config/google-chrome/Default &

# Terminal 2: Connect agent-browser to that Chrome instance
agent-browser --cdp 9222 open "https://star-swap.com"
agent-browser --cdp 9222 snapshot -i
agent-browser --cdp 9222 click e2

# This reuses your existing Google session - no re-login needed!
# Works for: Google OAuth, Discord OAuth, any site you're logged into in Chrome

方法 2:セッションを保持する(初回は手動でログイン)

# First time: headed mode, login manually
agent-browser --headed --session starswap open "https://star-swap.com"
# Complete Google OAuth manually in the browser window
# Close when done

# Future runs: cookies persist!
agent-browser --session starswap open "https://star-swap.com"
# Already logged in automatically

am.will.ryan の Chrome プロファイル: /home/willr/.config/google-chrome/Default

基本コマンド

ナビゲーション
agent-browser open <url>
agent-browser back
agent-browser forward
agent-browser reload
操作
agent-browser click <sel>
agent-browser dblclick <sel>
agent-browser focus <sel>
agent-browser type <sel> <text>
agent-browser fill <sel> <text>
agent-browser clear <sel>
agent-browser press <key>
agent-browser keydown <key>
agent-browser keyup <key>
agent-browser hover <sel>
agent-browser select <sel> <val>
agent-browser check <sel>
agent-browser uncheck <sel>
agent-browser drag <src> <tgt>
agent-browser upload <sel> <files>
抽出と情報
agent-browser snapshot
agent-browser get text <sel>
agent-browser get html <sel>
agent-browser get value <sel>
agent-browser get attr <sel> <attr>
agent-browser get title
agent-browser get url
agent-browser get count <sel>
agent-browser get box <sel>
agent-browser screenshot [path]
agent-browser pdf <path>
状態の確認
agent-browser is visible <sel>
agent-browser is enabled <sel>
agent-browser is checked <sel>
要素を検索する
  • agent-browser find role [value]
  • agent-browser find text
  • agent-browser find label [value]
  • agent-browser find placeholder [value]
  • agent-browser find alt
  • agent-browser find title
  • agent-browser find testid [value]

アクションには、クリック、入力、チェック、ホバー、テキスト取得があります。

待機とタイミング
agent-browser wait <selector>
agent-browser wait <ms>
agent-browser wait --text "Welcome"
agent-browser wait --url "**/dash"
agent-browser wait --load networkidle
高度な制御
agent-browser scroll <dir> [px]
agent-browser scrollintoview <sel>
agent-browser eval <js>
agent-browser mouse move <x> <y>
agent-browser cookies
agent-browser storage local
agent-browser tab new [url]
agent-browser frame <sel>
agent-browser dialog accept [text]

セッション

複数の分離されたブラウザーインスタンスを実行します。

agent-browser --session agent1 open site-a.com
agent-browser --session agent2 open site-b.com

スナップショットのオプション

snapshot コマンドでは、出力サイズを抑えるためにフィルタリングできます。

  • agent-browser snapshot -i
  • agent-browser snapshot -c
  • agent-browser snapshot -d 3
  • agent-browser snapshot -s "#main"

セレクターと参照

参照を使うと、スナップショットから要素を確実に選択できます。@ref 構文を使用してください。

agent-browser snapshot
agent-browser click @e2

エージェントモード

機械で読み取り可能な出力には --json を使用します。

agent-browser snapshot --json
最適な AI ワークフロー
  • agent-browser open でページに移動します
  • agent-browser snapshot -i --json でページを確認します
  • スナップショットの @ref を使って操作します
  • agent-browser snapshot で確認します

トラブルシューティング

  • Linux ARM64 でコマンドが見つからない場合は、bin フォルダー内のフルパスを使用してください。
  • 要素が見つからない場合は、snapshot を使って正しい参照を確認してください。
  • ページが読み込まれていない場合は、ナビゲーションの後に wait コマンドを追加してください。
  • デバッグ時にブラウザーウィンドウを表示するには、--headed を使用してください。

オプション

  • --session は分離されたセッションを使用します。
  • --json は JSON 出力を行います。
  • --full はページ全体のスクリーンショットを撮影します。
  • --headed はブラウザーウィンドウを表示します。
  • --timeout はコマンドのタイムアウトをミリ秒単位で設定します。

注意事項

  • 参照はページの読み込み中は安定していますが、ナビゲーションすると変わります。
  • 新しい参照を取得するため、ナビゲーション後は必ずスナップショットを取得してください。
  • 入力欄の既存のテキストを確実に消去するには、type ではなく fill を使用してください。

コメント