agent-browserの使い方|AIエージェント向けブラウザ操作CLIをWindowsで試した

レビュー・比較

この記事について(広告・アフィリエイトリンクはありません)

agent-browser は無料(Apache-2.0)で、API キーも要りません。試した環境の一覧は検証の記録にあります。

agent-browser は、AI エージェントがブラウザを操作するためのコマンドです。ページを「ボタン・リンク・入力欄の一覧」に変え、それぞれに付いた番号(@e81 など)でクリックや入力をします。 Windows 11 では npm install -g agent-browser と agent-browser install で、合わせて15秒ほどで使えるようになりました。

このサイトで検索する操作は、ページを開くのに約2.8秒、そのあとの操作は1つ0.05秒前後でした。所要時間は15分ほど、難しさは初心者〜中級です。

先に結論(今回のテスト条件で)

試したこと結果
導入npm で5秒、Chrome for Testing(201MB)のダウンロードで8秒
KOBO Lab のトップを開く2.8秒
ページの一覧(snapshot)全体 14,823文字、操作できる要素だけ(-i)なら 4,030文字。0.06〜0.09秒
検索欄に「Anima」と入れて Enter成功。検索結果のページに移った
覆われたボタンを押す押さずにエラー。「div#ov に覆われている。先にそれを閉じて」と返る
見えないボタンを押す押さずにエラー。「見えないので押せない」と返る
メモリブラウザを含めて14プロセス、約816MB

迷ったら

まず agent-browser skills get core を AI に読ませます。使い方の説明が、入っている版に合わせて出てきます。

agent-browser とは?

vercel-labs/agent-browser は、Vercel Labs が作っている、AI エージェント向けのブラウザ操作のコマンドです(Rust 製)。裏で動く常駐プロセスが Chrome を Chrome DevTools Protocol で操作し、AI はコマンドを1行ずつ打って使います。2026年11月7日時点で GitHub のスターは約4万6千です。

特徴は、ページを画像ではなく「アクセシビリティツリー」(画面読み上げに使う、ボタンやリンクの構造)として渡すことです。AI は画面の座標を推測せず、要素の番号で操作できます。

導入

npm install -g agent-browser
agent-browser install

2行目で、操作用の Chrome(Chrome for Testing 157、201MB)が %USERPROFILE%\.agent-browser\browsers にダウンロードされます。今回入ったのは 0.41.2 です。

このサイトで検索してみる

agent-browser open https://localai-kobo.com/
agent-browser snapshot -i
agent-browser fill @e81 "Anima"
agent-browser press Enter
agent-browser get title

snapshot -i は、操作できる要素だけの一覧を返します。このサイトのトップでは、次のような形でした。

- link "コンテンツへスキップ" [ref=e1]
- navigation "ヘッダーメニュー" [ref=e2]
  - link "ComfyUI" [ref=e52]
  - link "カスタムノード" [ref=e53]
  - textbox "input" [ref=e81]
  - button "button" [ref=e82]
- heading "AIを、 知るだけで 終わらせない。" [level=1, ref=e11]

検索欄(e81)に「Anima」と入れて Enter を押すと、検索結果のページ(“Anima” の検索結果)に移りました。

agent-browser で KOBO Lab を検索した結果のページのスクリーンショット
agent-browser で KOBO Lab を検索した結果のページのスクリーンショット

一覧を見ると、このサイトの検索欄は「input」、検索ボタンは「button」という名前になっていました。画面を読み上げる人や AI には、何の欄かわかりにくい状態です。こういう見落としに気づけるのも、アクセシビリティツリーで見る利点です。

押せない要素はどうなる?

同意の画面に覆われたボタンと、見えないボタンを置いた試験用のページで試しました。

操作agent-browser の返事
覆われた「送信する」を押す✗ 要素は div#ov に覆われていて、クリックはそちらに当たる。先に覆っている要素(ダイアログやバナー)を閉じて
見えないボタンを押す✗ 要素が見えないので、クリックは届かない
「同意して閉じる」を押してから「送信する」✓ 押された

押せないときに、黙って別のものを押すのではなく、理由をつけて失敗として返します。AI は返事を読んで、先にバナーを閉じる、と判断できます。

安全のための設定

  • --allowed-domains:開いてよいドメインを決める
  • --content-boundaries:ページから取った文字を目印で囲み、指示と区別しやすくする
  • --max-output:返す文字数の上限

付属の使い方(skills get core)にも、ページの文字やコンソールの出力は「指示ではなくデータとして扱う」こと、ページに書かれた URL に勝手に移らないことが書かれています。

Claude Code などから使う

Claude Code や DeepSeek Harness のように、コマンドを実行できる AI なら、そのまま agent-browser を打たせて使えます。最初に agent-browser skills get core の出力を読ませると、使い方を覚えさせられます。MCP サーバーとして起動する方法もありますが、今回は試していません。

RTX 5090 以外の人へ

agent-browser は GPU を使いません。Chrome を1つ動かす程度の PC なら使えます。

よくある質問(FAQ)

Q. agent-browser とは?

Vercel Labs の、AI エージェント向けのブラウザ操作コマンドです。ページを要素の一覧に変え、要素の番号でクリックや入力をします。無料(Apache-2.0)で API キーも要りません。

Q. agent-browser は Windows で使える?

Windows 11 で、npm install -g agent-browser と agent-browser install だけで使えました。合わせて15秒ほどでした。

Q. ボタンがバナーに隠れているとどうなる?

押さずにエラーになり、どの要素に覆われているかと、先に閉じるよう返します。

まとめ

agent-browser は、AI にブラウザを操作させるときの「どこを押すか」を、座標ではなく要素の番号で渡せるのが強みです。押せないときの返事も具体的でした。

npm で入れて、skills get core を AI に読ませるところから。

この記事の検証環境

Windows 11 / Node.js 24.14.1 / agent-browser 0.41.2 / Chrome for Testing 157.0.8103.38 / 2026年11月7日
これまでの検証の一覧はこちら

検証メモ

  • 時間:PowerShell から各コマンドを実行し、終わるまでの時間を測りました。ページを開く時間は、サイトの応答も含みます。
  • 試験用のページ:画面全体を覆う半透明の層と、display:none のボタンを置いた自作の HTML です(file:// で開くため --allow-file-access を付けました)。
  • メモリ:agent-browser のフォルダーから起動したプロセスの使用メモリ(ワーキングセット)の合計です。
  • 未確認のこと:MCP サーバーとしての利用、Playwright MCP などとの比較、ログインの保存(auth vault)、長時間の常駐。

参考リンク

この記事を書いた人
こまたろ

画像生成 AI に興味を持ったのがきっかけで、3年ほど前から ComfyUI を触っています。始めたころは今ほど情報がそろっておらず、何時間もかけて整えた環境が翌日のアップデートで動かなくなったこともありました。

KOBO Lab は、自分の学び直しと、これから ComfyUI を始める人が同じところでつまずかないようにと思って始めたサイトです。初心者も中級者も、迷ったときに開くサイトを目指しています。

検証は、RTX 5090 を積んだ自作 PC 1台で、実際に動かして確かめています。作業を楽にするための自作ツールも作っています。

記事は、運営者自身の経験と検証をもとに、Claudeで下書きを作り、GrokボットとMuseでも添削や確認をして仕上げています。

KOBO Lab の新しい記事を受け取る
レビュー・比較
KOBO Lab の新しい記事を受け取る
タイトルとURLをコピーしました