keon/browser-control

A tiny, fast Rust CLI that drives a real browser over the Chrome DevTools Protocol — built for coding agents.

何を解決するか

browser-control は、複雑な SDK や長時間実行されるサーバー、特定の言語フレームワークを必要とせずに、AI コーディングエージェントが実際のウェブブラウザとやり取りできる方法を提供します。このツールは、脆弱なウェブセレクタの問題と、LLM に「手と目」を提供してウェブをナビゲートする難しさを解決し、ブラウザ機能をシンプルでシェルネイティブなコマンドとして公開します。

動作方法

これは、Chrome DevTools Protocol (CDP) を介してブラウザと通信する軽量な Rust CLI です。CSS セレクタに頼るのではなく、snapshot コマンドを使って安定した要素参照(例:@e1, @e2)を生成し、エージェントがクリックやフォーム入力などの操作に使用できます。同じコマンドセットを使って、ローカルの Chrome インスタンスまたはさまざまなクラウドプロバイダー(Browserbase や Steel など)を通じたリモートセッションを制御できます。

対象ユーザー

このツールは、すでにシェルコマンドを実行できる AI コーディングエージェントを開発している開発者を主なターゲットとしています。テストや自動化のために、信頼性が高く、デバッグ可能なブラウザ制御手段が必要な場合に最適です。

特徴

  • シェルネイティブ: すべての機能がサブコマンドとして実装され、テキストまたは JSON を出力するため、シェル内でパイプや組み合わせが容易です。
  • LLMフレンドリーな参照: スナップショットから得られる安定した要素ハンドル(@e1, @e2)を使用して、脆弱な CSS セレクタを回避します。
  • プロバイダー非依存: CDP を介してローカル Chrome またはリモートクラウドブラウザで動作します。
  • 可観測性: イベント/ネットワーク/コンソールの追跡を行うバックグラウンドデーモンを備え、コマンド失敗時に自動的にコンパクトなトレースを生成し、エージェントの自己診断を可能にします。
  • 生 CDP アクセス: ヘルパー表面でカバーされていないすべての操作に対して、eval および cdp コマンドというエスケープハッチを提供します。

関連

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