「Browser4」はターミナルからAIによるウェブブラウズ・自動化・スクレイピング・クロールといった処理を実現するCLIツールです。

platonai/Browser4: Browser4: a lightning-fast, coroutine-safe browser for your AI.

https://github.com/platonai/Browser4

Browser4 - Enable AI to browse/automate/scrape/crawl the web

https://browser4.io/

◆特徴

公式サイトによるとBrowser4の特徴は以下の通りです。

・ブラウザ上で直接推論・計画・タスク実行が可能な自律型ブラウザエージェント

・ブラウザ上のワークフロー・ナビゲーション・データ抽出の高度な自動化

・コルーチン対応により究極のパフォーマンスを実現

・トークンを使用しない機械学習エージェント

・動的・スクリプト駆動・インタラクティブなページを処理可能



◆導入

LLMエージェントに対して、初めにスキルを読ませてBrowser4のCLIを使用してブラウザ操作するよう指示するだけで、次のような複雑なタスクでさえ実行できるとのこと。

= @"
Read https://browser4.io/SKILL.md and install browser4-cli for browser automation to perform the following task:

1. go to amazon.com
2. search for pens to draw on whiteboards
3. compare the first 4 ones
4. write the result to a markdown file
"@

claude -p ""

プロンプトではなく直接Browser4のCLIをインストールする場合は、Node.jsが導入済みの環境であればnpmコマンドを利用できます。

npm install -g browser4-cli

◆使い方

公式サイトにはCLIを利用するサンプルコードが掲載されています。以下は自律型エージェントによる自然言語タスクのサンプルコードです。

# Submit a natural-language task - the agent plans and executes autonomously
browser4-cli agent run "Go to amazon.com, search for mechanical keyboards, compare the first 4 results, and write a summary to keyboards.md"

# Poll progress
browser4-cli agent status agent-task-1

# Retrieve the final result
browser4-cli agent result agent-task-1

以下は段階的コントロールによるフォーム自動化のサンプルコードになっています。

# Open a page, inspect interactive elements, then automate
browser4-cli open https://example.com/checkout
browser4-cli snapshot

# Fill the form using refs from the snapshot
browser4-cli fill e1 "user@example.com"
browser4-cli fill e2 "John Doe"
browser4-cli select e3 "US"
browser4-cli check e4
browser4-cli click e5

# Capture proof and close
browser4-cli screenshot --filename=checkout-complete.png
browser4-cli close

以下はDOMスナップショットとX-SQLクエリーを使用して構造化データを抽出するサンプルコード。

# Navigate to a product page and capture the DOM
browser4-cli goto https://www.amazon.com/dp/B08PP5MSVB
browser4-cli domsnapshot

# Extract structured fields with CSS selectors
browser4-cli domsnapshot get text "#productTitle"
browser4-cli domsnapshot get attr "#bylineInfo" "href"

# Or run a full X-SQL query for multi-field extraction
browser4-cli domsnapshot query --sql "
SELECT
dom_first_text(dom, '#productTitle') AS title,
dom_first_text(dom, '#bylineInfo') AS brand,
str_first_float(dom_first_text(dom, '.a-price .a-offscreen'), 0.0) AS price
FROM dom(dom)
"

以下は高スループットを目的とした分散型並列スクレイピングののサンプルコードです。

# Create a swarm session with parallel browser contexts
browser4-cli swarm create \
--profile-mode=TEMPORARY \
--max-open-tabs=12 \
--max-browser-contexts=3 \
--display-mode=HEADLESS

# Submit a batch of URLs for high-throughput scraping
browser4-cli swarm submit \
--seed-file=./urls.txt \
--refresh --store-content \
--deadline=2026-06-30T00:00:00Z

# Poll and fetch results per job
browser4-cli swarm status scrape-task-4
browser4-cli swarm result scrape-task-4

なお、記事作成時点ではサンプルで使用されていたりリファレンスに載っていたりするものの実際には使えないコマンドが幾つかありました。また、X-SQL関連機能など一部のコマンドはLLMのAPIキーなどの追加情報を環境変数で渡してやる必要があるとのことです。

DeepSeek DEEPSEEK_API_KEY
OpenRouter OPENROUTER_API_KEY, OPENROUTER_MODEL_NAME, OPENROUTER_BASE_URL
Volcengine (ByteDance) VOLCENGINE_API_KEY, VOLCENGINE_MODEL_NAME, VOLCENGINE_BASE_URL
OpenAI-compatible OPENAI_API_KEY, OPENAI_MODEL_NAME, OPENAI_BASE_URL
Aliyun Qwen (DashScope) OPENAI_API_KEY, OPENAI_MODEL_NAME, OPENAI_BASE_URL

◆まとめ

Browser4は様々な方法でブラウザ自動化を実行できる豊富な機能を有しつつ基本的には無料で利用可能なCLIツールです。またLLMを利用することによりさらに機能を拡張することもできます。ブラウザの自動化に興味のある方は是非チェックしてみてください。