Browser Use CLI 2.0をローカルLLMで動かしたら完全無料でブラウザ自律操作できた話

※この記事は個人の見解であり、特定の企業・団体を批判する意図はありません。

「ブラウザ操作、AIに丸投げしたい」

わかる。

Xのタイムラインに Browser Use CLI 2.0 のリリースツイートが流れてきた。50万views超え、4000ブックマーク。「2倍速、半分のコスト、CDP直接接続」。気になったので触ってみた。

結論: ローカルの122Bモデルと組み合わせたら、API課金ゼロでブラウザ自律操作ができた。

Browser Use CLI 2.0って何

ブラウザをAIエージェントが自律操作するCLIツール。「このサイトからXXを探してきて」とワンコマンドで投げると、AIが勝手にページを開いて、要素を解析して、クリックして、結果を返してくれる。

従来のPlaywright経由ではなくCDP(Chrome DevTools Protocol)直接接続。これがスピードの秘密らしい。

主な特徴:

・CLIからワンコマンドでブラウザ操作
・内蔵Chromiumで起動が速い
・セッション永続(ブラウザ開きっぱなしで複数コマンド投げられる)
・OpenAI / Anthropic / Google / Ollama 対応
・MITライセンス、オープンソース

セキュリティチェックしてから入れた

新しいツールをいきなりインストールするのは怖い。先にセキュリティチェックした。

確認した項目:
・PyPIパッケージの正当性 → GitHub/PyPI一致、問題なし
・既知のCVE → なし
・テレメトリ → タスク内容・URL・操作履歴をPostHogに送信。要注意
・CDP接続 → Cookie・セッション・DOM全アクセス可能。専用プロファイル推奨
・依存関係 → 自作パッケージ3つ含む、使わないLLM SDKも全部入る

最大の懸念はテレメトリ。「匿名化テレメトリ」と称してるけど、送信データにタスク内容(ユーザーが入力した指示文そのもの)、訪問URL一覧、操作履歴が含まれる。これは無効化必須。

ANONYMIZED_TELEMETRY=false

.envに入れるか環境変数に設定する。これだけでOK。

パッケージ自体は悪意あるものではない。テレメトリOFFにすれば安心して使える。インストール

Python 3.11以上が必要。venvを作って入れるだけ。

python3.12 -m venv venv
venv/Scripts/pip install "browser-use[cli]"

69GBのモデルファイルとかないので一瞬で終わる。

まず普通に使ってみた

browser-use --headed open https://news.ycombinator.com
browser-use state
browser-use click 106
browser-use screenshot out.png
browser-use close

stateコマンドが優秀。ページ上のクリック可能な要素をインデックス付きで全部返してくれる。「106番の要素をクリック」みたいに指定できる。

--headedをつけるとブラウザウィンドウが見えるので、何やってるか確認できる。デフォルトはヘッドレス。

ここまでは手動操作のCLI版。便利だけど、真骨頂はrunコマンド。

ローカルLLMで自律操作してみた

browser-use CLIのrunコマンドは、LLMエージェントがブラウザを自律操作する。「XXしてきて」と投げるだけ。

公式対応はOpenAI / Anthropic / Google / Ollamaだけど、OpenAI互換APIなら何でも使える。つまりllama-serverやLM Studioも使える。

手元にあったQwen3.5-122B-A10B(Q4_K_M、GGUF)をllama-serverで起動してみた。

llama-server \
  -m "Qwen3.5-122B-A10B-Q4_K_M-00001-of-00002.gguf" \
  -ngl 99 --port 8080 --ctx-size 16384

RTX PRO 6000(96GB VRAM)で全レイヤーGPUオフロード。VRAM使用量は約72GB。CLIの修正が必要だった

ただし一つ問題があった。browser-use CLIのrunコマンドは、モデル名を内部のリストと照合して、知らないモデル名だとrejectする。qwen3.5-122bは当然リストにない。

skill_cli/commands/agent.pyのget_llm関数に3行追加した。

# 不明なモデルでもOPENAI_BASE_URLが設定されてたらOpenAI互換として扱う
if os.environ.get('OPENAI_BASE_URL'):
    return ChatOpenAI(model=model)

動いた

ANONYMIZED_TELEMETRY=false \
OPENAI_API_KEY=dummy \
OPENAI_BASE_URL=http://localhost:8080/v1 \
browser-use --headed --session note run \
  "Go to https://note.com/cute_agapan9087" \
  --llm qwen3.5-122b

ブラウザが開いて、noteのページに遷移して、記事一覧を取得した。CLIの方はタイムアウトしたけど(122Bの推論速度がCLI側のタイムアウトより遅い)、ブラウザ自体はちゃんと目的のページにたどり着いた。

完全ローカル。API課金ゼロ。既存ツールとの比較

うちではもともとlocal-chrome MCPでブラウザ操作をしていた。比較するとこうなる。

browser-use CLI:
・LLMエージェントで自律操作できる(runコマンド)
・内蔵Chromiumで起動が速い
・CLIからスクリプトやパイプラインに組み込みやすい
・セッション管理が名前付きで複数並列可能

local-chrome MCP:
・Claude Codeから直接MCP呼び出し(ツール呼び出しがネイティブ)
・今開いてるChromeタブにそのままアタッチ
・ログイン済みセッションがそのまま使える

完全な代替というより併用が最強。手動のブラウザ操作はlocal-chrome MCP、「XXやっといて」的な自律タスクはbrowser-use CLI。

使えるLLMプロバイダ

公式対応に加えて、OpenAI互換APIなら何でも使える。

・Ollama(ローカル)→ 無料
・llama-server(ローカル)→ 無料
・LM Studio(ローカル)→ 無料
・vLLM(ローカル)→ 無料
・OpenAI → API課金
・Anthropic → API課金
・Google → API課金

ローカルLLMを使えば完全無料。ただしstructured output(JSON schema付きレスポンス)に対応しているモデルが必要。Qwen3クラス以上なら問題ない。

検証環境

GPU: NVIDIA RTX PRO 6000 Blackwell (96GB GDDR7)
OS: Windows 11
モデル: Qwen3.5-122B-A10B Q4_K_M (GGUF)
推論: llama-server b8192
browser-use: 0.12.2

まとめ

Browser Use CLI 2.0、ローカルLLMと組み合わせると完全無料でブラウザ自律操作ができる。テレメトリだけOFFにすれば安心して使える。

ただし122Bクラスだとレスポンスが遅くてCLI側がタイムアウトする場面もあった。日常使いなら30B前後のモデルの方がバランスいいかもしれない。

ブラウザ操作のAI自動化に興味がある人は試してみるといい。pip install browser-use[cli]で入る。

---

※本記事の情報は執筆時点のものです。バージョンアップ等により動作が変わる可能性があります。
※AI支援で作成しています。誤りがあればコメントでご指摘ください。

いいなと思ったら応援しよう!

cute_agapan9087 応援いただけると励みになります

ピックアップされています

Claude Code

  • 8本

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
Browser Use CLI 2.0をローカルLLMで動かしたら完全無料でブラウザ自律操作できた話|cute_agapan9087
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1