ブラウザ自動化ツールのSeleniumを開発したジェイソン・ハギンズ氏が新たにAIエージェントとの親和性を高めた新しいブラウザ自動化ツール「Vibium」を公開しました。

VibiumDev/vibium: Browser automation for AI agents and humans

https://github.com/VibiumDev/vibium

Vibium - Browser automation without the drama

https://vibium.com/



今回はWindows 11でNode.jsが利用できる環境を用意した上で、公式のチュートリアルの手順を参考にインストールします。プロジェクトフォルダを作成し、プロジェクトを初期化します。


mkdir my-first-bot
cd my-first-bot
npm init -y


Vibiumをnpmでインストール。


npm install vibium


任意のエディタでテスト用スクリプトファイル「test.js」を作成します。


const fs = require('fs')
const { browserSync } = require('vibium')

// Launch a browser (you'll see it open!)
const vibe = browserSync.launch()

// GIGAZINEを表示
vibe.go('https://gigazine.net')
console.log('Loaded https://gigazine.net')

// スクリーンショットを取得
const png = vibe.screenshot()
fs.writeFileSync('screenshot.png', png)
console.log('Saved screenshot.png')

// 最初の記事をクリック
const link = vibe.find('.content a')
link.click()
console.log('Clicked!')


test.jsを実行します。


node test.js


ブラウザが起動しtest.jsに記述した「GIGAZINEのトップページを表示しスクリーンショットを取得してから最初の記事ページのリンクをクリックする」というスクリプトの内容通りの動作が行われました。ブラウザを閉じ「Ctrl+C」で実行を停止します。



起動したフォルダにscreenshot.pngファイルが作成されているので確認すると、トップページのスクリーンショットが以下のような感じで保存されていました。



npmによりvibiumがインストールされている環境では、AIエージェント用のMCPサーバーとしての利用も可能です。Visual Studio CodeのGitHub Copilotの場合、MCPサーバーの設定用jsonファイルに以下の設定を追加します。


{
"servers": {
"vibium": {
"type": "stdio",
"command": "npx",
"args": ["-y", "vibium"]
}
}
}


設定ファイルを保存後、Copilot Chatのツールアイコンをクリック。



vibium関連のツール一覧が表示されます。



チャットで「vibiumを起動してgigazine.netにアクセスしてください」と入力すると、ブラウザが起動しページが表示されました。



自然言語による操作指示が可能ということで「検索欄にJavaScriptと入力して検索ボタンをクリックしてください」と指示したところ、AIエージェントが検索欄で一般的に使われるcssセレクタを想定し検索欄を探します。見つからなければ別のcssセレクタ候補から探すという動作が繰り返し行われました。



何度かの再検索後、検索欄が見つかり入力は行われたのですが「検索ボタンが非表示の状態のようです」と検索ボタンを見つけることができなかったので「検索というボタンがあるはずです」と追加の指示をしたところ「検索」という文字の入ったボタンを見つけ、すぐにクリックが行われました。



検索結果ページへ移動し、検索結果が表示されています。



◆Vibiumの特徴

・JavaScriptおよびPython向けのライブラリが用意されており導入や実行が簡単

・Model Context Protocolに対応しておりAIエージェントとの自然言語での指示も可能

・バイナリは10MB程度で軽量

・WebDriver Bidiに対応しておりブラウザの操作を直接制御することや双方向通信が可能でブラウザ側からイベントを受信することも可能

なお、ソーシャル系ニュースサイトのHacker Newsでは、Vibiumに対しての議論が行われており「JavaScriptの注入やDOMの操作、およびネットワークリクエストの監視などはまだ未実装でPlaywrightにまだ追いついていない」という話題や意見、バージョン1ではクリック程度の機能しかできないがバージョン2ではロボット工学のフレームワーク「感知−思考−実行」ができるように進化させるという方針が提示されていました。