このプロジェクトについて

agent-browserは、AIエージェント専用に設計された、ネイティブRustバイナリとして構築されたブラウザ自動化CLIです。npm、Homebrew、またはCargoを介してインストールされ、初回使用時にChrome for TestingからChromeをダウンロードします。既存のChrome、Brave、Playwright、Puppeteerのインストールは自動的に検出されます。デーモンにはPlaywrightやNode.jsは不要です。 コアワークフローは、エージェントがクリック、入力、テキスト読み取りに使用する安定した要素参照(@e1、@e2など)を割り当てるアクセシビリティツリーのスナップショットを中心としています。従来のCSSセレクターやセマンティックロケーター(ARIAロール、テキスト、ラベル、プレースホルダー、alt、タイトル、またはdata-testidによる)もサポートされています。クリックは、別の要素がターゲットを覆っている場合に早期に失敗し、覆っている要素を報告するため、エージェントはそれを閉じて再試行できます。 主な機能には、ページの開封とナビゲーション、スクリーンショットの撮影(注釈、変更検出、しきい値オプション付き)、PDFの保存、JavaScriptの評価、CDPを介した接続、WebSocketストリーミングが含まれます。readコマンドは、Chromeを起動せずにURLからエージェントが読み取り可能なテキストを取得し、llms.txtの発見、マークダウン抽出、概要生成をサポートします。 バッチ実行は、単一の呼び出しで複数のコマンドを実行し、コマンドごとのプロセス起動オーバーヘッドを回避します。ネットワーク機能には、リクエストインターセプト、モッキング、HAR記録、リクエストフィルタリングが含まれます。タブ管理は、安定したタブID(t1、t2)、ユーザー割り当てラベル、CDPターゲットIDをサポートします。フレーム切り替え、ダイアログ処理、クリップボードアクセス、人間らしい動きのマウス制御、ブラウザ設定(ビューポート、デバイスエミュレーション、地理位置情報、オフラインモード、ヘッダー、認証情報、カラースキーム)、クッキー、localStorage/sessionStorage管理がすべて利用可能です。 diffコマンドは、スナップショット、スクリーンショット、またはURLを比較して、視覚的および構造的な変更を検出します。デバッグツールには、トレース記録、Chrome DevToolsプロファイリング、設定可能なfpsとカーソルオーバーレイ付きのビデオ記録が含まれます。 WebMCP(実験的)は、自動発見、スキーマ取得、呼び出しを備えたページ提供ツールを有効にし、信頼できないページコンテンツに対するセキュリティ境界を提供します。AIチャットコマンドは、シングルショットまたはインタラクティブなREPLモードで自然言語によるブラウザ制御を提供します。 このプロジェクトはVercel Labsによって開発され、GitHubで公開されています。