本文へスキップ
エージェント · CDP · MCP · ブラウザ内

ブラウザを、AI エージェントに

エージェントフレームワークは DevTools Protocol 経由で Chrome を操作するため、その下で動くブラウザの見え方をそのまま引き継ぎます。標準の Chromium の代わりに Clearcote を渡せば、エージェントが訪れるどのページにも、一貫したひとつのアイデンティティが見えます。フレームワークが後からパッチを当てたものではなく、エンジン内で設定されたアイデンティティです。

GitHub アカウントがあれば、ブラウザ 1 つまで無料。オープンビルドならアカウントも一切不要です。

フレームワークに CDP URL を渡す

from clearcote import serve
from browser_use import Agent, Browser

srv = serve(fingerprint="agent-1")   # a local Clearcote with a CDP URL
agent = Agent(task="Find the cheapest flight to Lisbon next Friday",
              llm=llm, browser=Browser(cdp_url=srv.cdp_url))
await agent.run()
srv.close()

主なポイント

どの CDP フレームワークでも

browser-use、Crawl4AI、Stagehand、Patchright、素の Playwright は、いつもの設定項目で Clearcote の CDP URL に接続できます。

エージェントがどこで動いても

serve() でローカルに、公式イメージからコンテナで、あるいはホスト型ブラウザとして当社のサーバーで。どの方法でも CDP URL が得られます。前の 2 つはローカルの HTTP エンドポイント、ホスト型セッションは 1 回限り有効な WebSocket URL です。

チャットクライアント向けの MCP

Claude Desktop、Cursor、Cline から、Clearcote の MCP サーバー経由で約 20 種類のブラウザツールを使えます。

ブラウザの中のエージェント

オプトイン式のブラウザ内エージェントは、表示中のページを読み取り、次に何をすべきかをモデルに尋ね、Chrome の Actor フレームワークを通じて信頼された入力(trusted input)で操作します。

人間らしいタイピングのリズム

エージェントはデフォルトで、キーごとのタイミングを付けて 1 キーずつ入力します。キーストロークを一切伴わない 1 回のイベントでテキストを貼り付けることはしません。

コーディングエージェントが読めるドキュメント

llms.txt と、1 ファイルにまとめた llms-full.txt を使えば、Claude、Codex、Cursor に一度の貼り付けでドキュメント全体を渡せます。

モデルに操作を任せる 2 つの方法

ほとんどのエージェントフレームワークは、ブラウザの用意を利用者に任せています。CDP URL を求めるか、標準の Chromium を起動するかのどちらかです。何をクリックするかはフレームワークが決め、サイトから何が見えるかはブラウザが決めます。Clearcote が受け持つのは後者です。フィンガープリント、ロケール、TLS をエンジン内で設定し、シードによって実行をまたいでもアイデンティティを安定させます。

もう一つの形がブラウザ内エージェントです。デフォルトではオフで、API キーとモデルを渡すと有効になります。接続先はデフォルトで OpenRouter ですが、agent_llm_url を使えば、手元のマシン上のものも含め OpenAI 互換の API ならどれでも指定できます(サーバーがキーを検証しない場合は、ダミーのキーで構いません)。モデルに何かを送る前に、パスワード欄はマスクされます。launch_agent() 経由で実行すると、永続プロファイルが割り当てられます。clearcote-agent コマンドラインツールとしても提供しており、ワンショットモードと対話型の REPL を備えています。

エージェント自身のフットプリントは小さく保ちましょう。広範な CDP リスナー、init スクリプト、全リクエストのインターセプトは、ブラウザではなく自動化側のフィンガープリントになります。シードはタスク ID やアカウント ID から導出してください。そうすれば同じ主体には常に同じブラウザが割り当てられ、失敗した実行も再現できます。

主な用途

リサーチエージェント

JavaScript でしか描画されないページを読み、比較し、要約するエージェント。

アカウントを操作するエージェント

アカウントごとの永続プロファイルで、エージェントはログイン状態を保ち、毎回同じデバイスとして振る舞います。

モデルの評価

同じタスクを同じアイデンティティのまま別々のモデルで実行し、ブラウザを変数から外します。

コーディングエージェント

llms-full.txt をコーディングアシスタントに貼り付けて、連携コードを書かせましょう。

Clearcote は、プライバシー保護、テスト、研究、合法的な自動化のために作られています。どう使うか、そしてアクセスするサイトの規約を守ることは、利用者ご自身の責任です。

差分

標準の Chromium と Clearcote Pro の差は 38,921 行。

これが、Pro ビルドと Google が配布する Chromium との距離です。サイトが読み取れる値はすべて Chromium が計算する場所で設定されるため、ページ、その Worker、iframe がすべて同じデバイスを示します。

  • Canvas
  • WebGL
  • WebGPU
  • オーディオ
  • フォント
  • 画面とウィンドウ
  • WebRTC
  • TLS
  • Client Hints
  • 入力タイミング
  • 音声とコーデック
オープンビルドのパッチを GitHub で読む

Pro ビルド、r57 のパッチスタック(Chromium 156.0.8078.47)から集計。無料のオープンビルドは、より小さな公開パッチセットです。

Chromium 156.0.8078.47 → Clearcote Pro r57

345 files changed, 35915 insertions(+), 3006 deletions(-)

240 件のパッチ

領域別の変更ファイル数

  • レンダリングエンジン(Blink)118
  • ブラウザ(chrome/)52
  • Content レイヤー42
  • コンポーネント39
  • ネットワークスタック22
  • UI とウィンドウ14
  • TLS(BoringSSL)11
  • V8 と URL17
  • その他30

対象プラン

このページの機能はすべてのプランで使えます。ブラウザ内エージェントはご自身のモデルのキーを使い、ホスト型ブラウザは GB 単位で課金されます。

プランを比較

よくある質問

browser-use は Clearcote で使えますか?

はい。serve()、Docker イメージ、またはホスト型セッションで Clearcote を起動し、その CDP URL を browser-use の Browser(cdp_url=...) に渡します。Crawl4AI の cdp_url や Stagehand の localBrowser.connect も同じ要領です。

ブラウザ内エージェントはどのモデルに対応していますか?

OpenRouter やローカルサーバーを含め、OpenAI 互換の chat completions エンドポイントならどれでも使えます。モデルは agent_model で指定します。エージェントはモデルに JSON の返答をプレーンテキストで求めるため、エンドポイントがツール呼び出しに対応している必要はありません。

ページの内容はどこに送られますか?

CDP フレームワークを使う場合は、そのフレームワークが送る先に送られます。ブラウザ内エージェントの場合は、設定したモデルのエンドポイントにだけ送られ、パスワード欄は事前にマスクされます。キーかエンドポイントを渡さない限り、エージェントはオフのままです。

MCP サーバーと CDP フレームワーク、どちらを使うべきですか?

チャットクライアント(Claude Desktop、Cursor、Cline)にブラウザを操作させるなら MCP サーバーを、エージェントのループを自分のコードで回すなら CDP フレームワークを使います。

ドキュメントで詳しく

関連する機能

Clearcote を試す

Playwright & Puppeteer にそのまま組み込め、TLS ハンドシェイクまで整合性を保ちます。まずはオープンソースのビルドから始められます。

ブラウザ 1 つまで無料:GitHub、カード確認、または会社の Google アカウント。請求は一切ありません。