Skyvern-AI/rustwright
Playwright's API on a Rust CDP engine — Chromium browser automation for Python & Node, no driver subprocess. (Alpha)
解決する課題
Rustwright は、Chromium ブラウザを自動操作するための高パフォーマンスなドロップイン置き換えツールです。Node.js ドライバープロセスの必要性を排除することで、実行速度の低下やメモリ使用量の増加を防ぎます。また、ウェブサイトがボットを検出するために使用する「自動化フィンガープリント」を低減し、ブラウザ自動化をより静かに実行可能にします。
動作方法
Node ドライバー経由でのコマンドパイプではなく、Tokio を基盤とするネイティブ Rust エンジンを使用し、Chrome DevTools Protocol (CDP) を介して Chromium と直接通信します。Python および Node.js 用の軽量バインディングを提供し、開発者が馴染み深い Playwright API を使いながらも、ネイティブ Rust コアの利点を享受できます。
対象ユーザー
- AIエージェント開発者: HTML の生データではなく、コンパクトなアクセシビリティスナップショットや要素参照(element references)を用いてウェブと対話する必要がある開発者。
- 自動化エンジニア: ブラウザ自動化タスクにおいて、より高速な実行速度と低メモリオーバーヘッドを求める開発者。
- ウェブスクレイピング/自動化スペシャリスト: Playwright 固有の検出シグネチャを回避したいユーザー。
主な特徴
- パフォーマンス: ローカル診断では、playwright-python と比較して最大 2.55 倍高速で、メモリ使用量は約 70% 少ない。
- エージェント対応: ネイティブ MCP(Model Context Protocol)サーバーとエージェント用 CLI を搭載。要素参照(
e1,e2)を使ってブラウザを制御可能。 - ステルス性: Playwright 固有のドライバーシグネチャを削除し、デフォルトでヘッドレスのアイデンティティを正規化。
- 相互運用性: Playwright Python 同期 API の大部分(約 96%)と互換性あり。
- 信頼性の高い入力: クリックや入力のデフォルトでは、合成 DOM 呼び出しではなく、実際の CDP 入力イベントを使用。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト