Vibium - AIと人間のためのブラウザ自動化ツール
(github.com/VibiumDev)- 21年前にSeleniumを開発した Jason Huggins が、AIエージェントを念頭に置いて再設計したブラウザ自動化オープンソースプロジェクト
- Vibiumは AIエージェント向けのブラウザ自動化インフラで、単一バイナリでブラウザのライフサイクルと WebDriver BiDi プロトコルを管理し、MCP サーバーを公開
- 10MB の単一 Go バイナリ Clicker は Chrome を自動検出・起動し、BiDi プロキシと MCP サーバーを通じてAIモデルや JS クライアントがブラウザを制御できるようにする
- JS/TS クライアントは同期・非同期 API の両方をサポートし、
npm install vibiumでインストール後すぐに利用可能 - Claude Code のような LLM エージェントは
claude mcp add vibiumコマンド 1 行でブラウザ制御機能を追加可能 - AI 自動化とテスト自動化の両方に適しており、設定不要のブラウザ制御環境を提供
Vibium 概要
- Vibiumは AIエージェントと人間のユーザー向けのブラウザ自動化インフラストラクチャ
- 単一の Go バイナリでブラウザ管理、WebDriver BiDi プロキシ、MCP サーバー機能を統合
- Claude Code、Codex、Gemini などさまざまな LLM モデルと互換
- インストール手順なしですぐ動作する構成で、AIエージェントやテスト自動化環境で活用可能
構成要素
- Clicker: 約 10MB サイズの Go バイナリで、次の機能を実行
- Chrome の自動検出と BiDi モードでの起動
- WebSocket ベースのBiDi プロキシサーバーとしてコマンドを中継
- MCP サーバーを通じて LLM エージェントと通信
- Auto-Wait 機能で要素を待機してから操作
- スクリーンショット取得機能を提供
- JS/TS クライアント: npm パッケージとして提供され、同期(
browserSync)と非同期(browser) API の両方をサポートvibe.go(),vibe.find(),vibe.click(),vibe.quit()などのシンプルなコマンドでブラウザを制御- スクリーンショット保存、要素検索、クリックなど基本的な自動化機能を含む
AIエージェント統合
- Claude Code にブラウザ制御機能を追加するコマンド:
claude mcp add vibium -- npx -y vibium- Chrome は自動でダウンロードされるため、追加設定は不要
- 提供コマンド一覧
browser_launch: ブラウザ起動browser_navigate: URL へ移動browser_find: CSS セレクタで要素を検索browser_click: 要素をクリックbrowser_type: テキスト入力browser_screenshot: ビューポートをキャプチャbrowser_quit: ブラウザ終了
人間のユーザー向けインストール
npm install vibiumコマンドで自動インストール- プラットフォームごとに Clicker バイナリ、Chrome for Testing、chromedriver をキャッシュにダウンロード
- Linux:
~/.cache/vibium/, macOS:~/Library/Caches/vibium/, Windows:%LOCALAPPDATA%\vibium\
- 環境変数
VIBIUM_SKIP_BROWSER_DOWNLOAD=1でブラウザのダウンロードを省略可能
プラットフォーム対応
- Linux x64、macOS(Intel/Apple Silicon)、Windows x64 をすべてサポート
クイックスタート
- ライブラリ利用例
import { browser } from "vibium"; const vibe = await browser.launch(); await vibe.go("https://example.com"); const el = await vibe.find("a"); await el.click(); await vibe.quit(); - Claude Code 連携例
- インストール後、「Go to example.com and click the first link」のような命令でブラウザ操作が可能
ロードマップ
- V1: MCP と JS クライアントを通じたブラウザ制御に注力
- V2 計画
- Python および Java クライアント
- Cortex(メモリ・ナビゲーション層)
- Retina(録画拡張機能)
- 動画録画、AI ベースの要素検索機能
1件のコメント
Hacker Newsのコメント
Seleniumのおかげでキャリアに大きな変化があった。本当に感謝している
最近はPlaywrightを使っているが、Vibiumの新しいアプローチが気になる
VibiumがJS注入、DOM変更、ネットワークリクエストの監視・変更をサポートするのか気になる。Playwrightを使うときはほぼ常にこれらの機能を使っている
面白い。最近はdev-browserを使ってコンテキスト節約と高速化の恩恵を得ていた。Vibiumもぜひ試してみる予定
10年以上UI自動化で生計を立ててきた立場から、Seleniumには感謝している。今はPlaywrightが事実上の標準だが、Seleniumが元祖ブラウザドライバだった。VibiumがPlaywrightとどう違うのか気になる
以前SeleniumでAtlassianのテスト拡張を手伝っていた者。13〜15年前くらいに会話した記憶がある。いまもこの分野で活動しているのはうれしい
古いSeleniumスクリプトをVibiumに移行したら、**テスト失敗時の自己修復(self-heal)**機能を活用できるのか気になる
エージェントが
browser_screenshotで画面をキャプチャしたあとクリックするには、CSSセレクタをどう見つけるのかが気になる。スクリーンショットだけでは要素タイプを判断しにくいbrowser_evaluateツールを追加し、JSでアクセシビリティツリーを取得してそれを基に探索できるようにした。詳しくはV2ロードマップを参照Claudeのようなツールにブラウザ自動化を自由に使わせるには、特定のURLだけを許可するブラウザロック機能が必要。こうした機能がロードマップにあるのか気になる
browser_navigateフックで簡単に制御できる。ホワイトリスト用スクリプトは5分で設定できる。より複雑なポリシーはcupcakeとRegoで実装できる。参考: Claude Code HooksドキュメントSkyvernに似たものを作ろうと考えていたが、なぜSelenium拡張ではなく新しいVibiumを作ったのかが気になる
ブラウザとLLM間の**コンテキスト肥大化(context bloat)**問題をどう処理しているのか気になる。Playwrightのようにトレーシングファイルを公開したり、JS実行を許可したりする予定があるのかも質問している