nicobailon/surf-cli

The CLI for AI agents to control Chrome. Zero config, agent-agnostic, battle-tested.

解決する問題

Surf は、AI エージェントのための面倒なブラウザ自動化の問題を解決します。既存のツールの多くは複雑なセットアップが必要で、特定の AI プロバイダーに縛られていたり、実際の Web ページで壊れたりします。Surf は、任意の AI エージェント(またはシェルスクリプト)が Chrome を制御できるシンプルなコマンドラインインターフェースを提供し、ゼロ設定で特定の AI ベンダーに依存しません。

仕組み

Surf は、グローバルな npm パッケージとブラウザ拡張機能としてインストールされます。拡張機能はネイティブメッセージングホストに接続し、ホストは Unix ソケットを介して CLI と通信します。エージェントは surf go、surf read、surf click、surf screenshot などのプレーンなコマンドを発行して、ページのナビゲーションや操作を行います。このツールはページのアクセシビリティツリーを読み取って安定した要素参照セットを生成し、iframe 切り替え、セマンティックロケーター(ロール、テキスト、ラベルによる)をサポートし、アクション後にスクリーンショットを自動的にキャプチャしてラウンドトリップを減らします。また、後でフィルタリングやリプレイするためにネットワークリクエストもキャプチャします。リモート使用では、Surf は相互 Ed25519 認証を備えた Tailscale 経由で動作し、リバースプロキシを介した TLS もサポートします。ブラウザの既存の Cookie を使用して ChatGPT、Gemini などのサービスに問い合わせできるため、API キーは不要です。

対象読者

Surf は、AI エージェントや自動化パイプラインを構築する開発者、または LLM エージェントに Web ブラウジング機能を与えたい人向けに設計されています。Claude Code、GPT、Gemini、Cursor、カスタムエージェント、またはプレーンなシェルスクリプトなど、コマンドを実行できるあらゆるものと連携します。

ハイライト

  • エージェント非依存:コマンドラインコマンドを実行できるあらゆるツールで動作し、プロバイダーロックインなし。
  • ゼロ設定:拡張機能をインストールしてコマンドを実行するだけ。MCP サーバーやリレープロセスは不要。
  • スマートなデフォルト:トークンを節約するためにスクリーンショットを自動的に 1200px にリサイズし、アクション後に自動キャプチャ。
  • ネットワークキャプチャ:すべてのリクエストをログ記録し、フィルタリング、検索、リプレイ機能を提供。
  • ブラウザ Cookie による AI:API キーなしで ChatGPT、Gemini、Perplexity、Grok に問い合わせ可能。
  • 堅牢な iframe とフレーム処理、フレーム不一致の診断を含む。
  • 強力な Ed25519 認証とオプションの TLS を備えた Tailscale 経由のリモートアクセス。
  • マルチブラウザサポート:Chrome、Brave、Edge、Arc、Helium、Chromium(WSL2 を含む)。

関連

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