browser-use/browser-harness-js

Self-healing browser harness that enables LLMs to complete any task

何を解決するか

ブラウザ自動化ツールによく見られる、複雑なパラメータを隠蔽し、AIエージェントが実際にできることを制限してしまう制限的な「ヘルパー」レイヤーを取り除きます。click() のような簡略化された関数を提供する代わりに、Chrome DevTools Protocol (CDP) への直接的で型定義されたブリッジを提供します。

仕組み

このプロジェクトは、公式の Chrome プロトコル JSON ファイルを読み取って、すべての CDP メソッドに対して型定義された JavaScript ラッパーを生成する codegen プロセスを使用しています。Chrome との永続的な WebSocket 接続を確立し、LLM が session.Domain.method(params) という構文を使用して、利用可能な 652 個のメソッド(56 個のドメインにわたる)を直接呼び出せるようにします。小さな CLI と Bun ベースの HTTP サーバーが含まれており、セッションの管理とスニペットの転送を行います。

対象者

定義済みの自動化ライブラリの制限を受けることなく、Web ブラウザを完全に、制約なしに制御する必要がある AI エージェントを構築している開発者。

ハイライト

  • Zero Wrapping: パラメータを簡略化したり隠したりすることなく、Chrome DevTools Protocol の全機能を公開します。
  • Fully Typed: すべての CDP メソッドは型定義されたラッパーとして生成され、公式プロトコルに基づいたオートコンプリートとドキュメントを提供します。
  • ’No Version Drift’: SDK はアップストリームのプロトコル JSON から再生成されるため、新しい Chrome の機能がすぐに利用可能になります。
  • Direct LLM Access: 固定されたヘルパー関数のセットに頼るのではなく、エージェント自身が CDP コールを記述できるように設計されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト