AgentBrowser
@mastra/agent-browser パッケージは、アクセシビリティを優先した要素指定を使用する Playwright ベースのブラウザ自動化を提供します。ページのアクセシビリティツリーから取得した ref で要素を識別するため、ページレイアウトが変わっても安定して操作できます。
AgentBrowser を使用する場面AgentBrowser を使用する場面への直接リンク
次のような場合に AgentBrowser を使用します。
- アクセシビリティ ref を利用して要素を確実に指定したい
- ブラウザ操作を細かく制御したい
- Playwright の信頼性の高い自動化機能を利用したい
- キーボードショートカットや複雑な操作をサポートしたい
クイックスタートクイックスタートへの直接リンク
パッケージをインストールします。
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/agent-browser
pnpm add @mastra/agent-browser
yarn add @mastra/agent-browser
bun add @mastra/agent-browser
ブラウザインスタンスを作成し、Agent に割り当てます。
import { Agent } from '@mastra/core/agent'
import { AgentBrowser } from '@mastra/agent-browser'
const browser = new AgentBrowser({
headless: false,
})
export const browserAgent = new Agent({
id: 'browser-agent',
name: 'Browser Agent',
model: 'openai/gpt-5.6-sol',
browser,
instructions: `You are a web automation assistant.
When interacting with pages:
1. Use browser_snapshot to get the current page state and element refs
2. Use the refs (like @e1, @e2) to target elements for clicks and typing
3. After actions, take another snapshot to verify the result`,
})
ローカル起動(デフォルト)の場合、AgentBrowser には Playwright でインストールした Chromium バイナリが必要です。通常は @mastra/agent-browser のインストール時に自動でダウンロードされます。ブラウザの起動時に "browser executable is missing" というエラーが発生した場合は、npx playwright install chromium を実行してください。cdpUrl オプションでリモートブラウザに接続する場合、Chromium はリモートブラウザ側から提供されます。
スクリーンショットスクリーンショットへの直接リンク
Agent が browser_screenshot Tool を使用すると、現在のページを PNG 画像としてキャプチャし、Vision 対応モデルが直接解釈できる画像コンテンツとして返します。
画像、レイアウト、色など、ページを視覚的に確認する必要がある場合はスクリーンショットを使用します。テキストや構造化データには、代わりに browser_snapshot を使用してください。
Vision をサポートしないモデルでスクリーンショット Tool を無効にするには、excludeTools を使用します。
const browser = new AgentBrowser({
headless: false,
excludeTools: ['browser_screenshot'],
})
要素の ref要素の refへの直接リンク
AgentBrowser は、アクセシビリティツリーの ref を使用して要素を識別します。Agent が browser_snapshot を呼び出すと、@e1、@e2 などの ref を含むページのテキスト表現を受け取ります。Agent はこれらの ref をほかの Tool で使用して要素を操作します。
録画録画への直接リンク
AgentBrowser では、アルファ版のブラウザ録画 Tool をオプトインで有効にできます。
const browser = new AgentBrowser({
headless: false,
recording: {
outputDir: './browser-recordings',
},
})
これにより、Agent の Tool セットに browser_record と browser_record_caption が追加されます。詳細はブラウザ録画(アルファ版)を参照してください。すべての設定オプションと Tool の詳細については、AgentBrowser リファレンスを参照してください。