この記事について(広告・アフィリエイトリンクはありません)
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 とは?
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” の検索結果)に移りました。

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

