AI Deck

Obscura ─ AIエージェントとスクレイピングのために作られた、Rust製の軽量ヘッドレスブラウザエンジン

「エージェントごとに専用のブラウザを」という発想から生まれた、Rust製のオープンソース・ヘッドレスブラウザエンジン。AIエージェントの自動操作やWebスクレイピングでは、これまでヘッドレスChromeを使うのが定石だったが、1セッションあたり数百MBのメモリを消費し、起動にも時間がかかり、Cookieやキャッシュといった状態が次の実行に持ち越されるという課題があった。ObscuraはChromiumに依存せず独自のレンダリングエンジンとV8を組み合わせることで、この3点をまとめて軽くする。Chrome DevTools Protocol(CDP)に対応しているため、PlaywrightやPuppeteerのコードをほぼそのまま接続できるのが実用面での最大の特徴である。2026年4月に公開され、GitHubでは2万を超えるスターを集めている(2026年8月時点)。

主な特徴

  • Chromiumなしで動くRust製エンジン: レンダリングを独自実装し、JavaScriptの実行にはV8を使う。単一のネイティブバイナリで配布され、Chromiumのような巨大な同梱物を必要としない
  • 軽量・高速: 公式が示す実測値では、1セッションあたりのメモリ消費は約30MB(ヘッドレスChromeは200MB超)、セッションの起動は50ミリ秒未満。静的HTMLの読み込みは約51ミリ秒、JavaScript主体の動的ページでも約84ミリ秒とされる
  • CDP対応でPlaywright・Puppeteerがそのまま使える: Target / Page / Runtime / DOM / Network / Fetch / IO / Storage / Input といったCDPドメインを実装しており、既存の自動化スクリプトの接続先を差し替えるだけで移行できる。Seleniumからの利用にも触れられている
  • 状態を持ち越さないセッション設計: セッションごとに完全に分離され、前回のCookieやローカルストレージが残らない。エージェントを並列に走らせても互いの状態が混ざらない
  • ステルスモード: フィンガープリントのランダム化、現実的なUser-Agent情報の付与、ネイティブ関数のマスキングに加え、既知のトラッカードメイン(3,520件)を遮断する
  • CLIとMCPサーバーを標準搭載: obscura fetch(単一ページの取得・スクリーンショット)、obscura scrape(複数URLの並列取得)、obscura serve(CDP WebSocketサーバー)、obscura mcp(MCPサーバー)の4系統。MCPサーバーはstdio / HTTPの両方で動き、ナビゲーション・クリック・入力・JavaScript評価など15種類以上のツールをAIエージェントに公開する
  • 配布形態が広い: Linux(x86_64 / ARM64)・macOS(Apple Silicon / Intel)・Windows向けバイナリ、AUR、NixOS、Dockerイメージ(圧縮時およそ57MB)、Rust 1.75+でのソースビルドに対応

料金

プラン料金主な内容
オープンソース版(Apache-2.0)$0エンジン・CLI・MCPサーバー・ステルスモードを含む全機能。機能制限なし。Dockerでセルフホスト可能
Obscura Cloud要問い合わせマネージドなホスティング、レジデンシャルプロキシ、専用サポート。2026年8月時点でウェイトリスト受付中

料金は2026年8月時点の情報です。オープンソース版は無償で全機能を利用できます。Obscura Cloud は公開前のため価格が公表されていません。最新の情報は公式サイトをご確認ください。

メリット・デメリット

メリット

  • ヘッドレスChromeと比べてメモリ・起動時間が大幅に小さく、同じサーバーで多数のセッションを同時に走らせられる
  • CDP対応のため、PlaywrightやPuppeteerで書いた既存資産をほぼ書き換えずに移せる
  • Apache-2.0のオープンソースで機能の出し惜しみがなく、Dockerで自前のインフラに閉じ込められる
  • セッションが完全に分離されるので、AIエージェントを並列実行しても状態汚染の心配がない
  • CLIとMCPサーバーが同梱されており、スクリプトを書かずにエージェントへ接続できる

⚠️ デメリット

  • レンダリングエンジンが独自実装のため、込み入ったCSS・一部のWeb API・メディア再生・コンポジタ効果・プラットフォーム依存のフォント描画がChromiumと異なる場合がある
  • 開発途上のプロジェクトであり、ピクセル単位の再現性が要る用途(ビジュアルリグレッションテスト等)には向かない
  • マネージドなクラウド版はまだウェイトリスト段階で、すぐに使えるのはセルフホストのみ
  • 運用にはサーバーやDockerの知識が必要で、ノーコードのスクレイピングサービスのような手軽さはない

類似サービスとの比較

比較項目ObscuraヘッドレスChrome(Playwright / Puppeteer)BrowserbaseBrowserless
提供形態OSSエンジン(セルフホスト)+クラウド版を準備中OSSライブラリ+自前のChromiumマネージドなクラウドクラウド+セルフホスト
エンジンRust製の独自実装(V8)ChromiumChromium系Chromium系
メモリ・起動約30MB・50ミリ秒未満200MB超・数百ミリ秒実行環境側に依存実行環境側に依存
既存コードの流用CDP対応でほぼそのままCDP接続で流用可CDP接続で流用可
レンダリング忠実度Chromiumと差が出る場合あり基準(本家)Chromium相当Chromium相当
料金無償(Apache-2.0)無償(インフラ費のみ)有料有料

こんな人におすすめ

  • AIエージェントに実際のWebページを操作させたいが、ヘッドレスChromeのメモリ消費で頭打ちになっている開発者
  • 大量のURLを並列にスクレイピングしたい人。1台のサーバーで捌けるセッション数を増やしたいケースに向く
  • 自前のインフラで完結させたい人。Apache-2.0+Dockerで外部サービスへのロックインを避けられる
  • Claude Desktop や Cursor などのMCP対応クライアントに、ブラウザ操作の手足を持たせたい人
  • PlaywrightやPuppeteerの資産があり、実行基盤だけを軽量なものに差し替えたいチーム

まとめ

Obscuraは、「AIエージェントとスクレイピングのためにブラウザを作り直す」という割り切りで、メモリ・起動時間・状態汚染という3つの課題に同時に手を入れたRust製エンジンである。CDP互換なので既存のPlaywright / Puppeteerコードから移りやすく、CLIとMCPサーバーが同梱されているため、エージェント側への接続も難しくない。一方でレンダリングはChromiumと完全に同一ではないため、表示の忠実さが求められる用途では従来どおりChromiumを使い分けるのが現実的だ。まずはDockerイメージかバイナリを落として、手元のスクリプトの接続先を差し替えて挙動を確かめるところから始めるとよい。

関連リンク

← ブログ