Skyvern-AI/rustwright
Playwright's API on a Rust CDP engine — Chromium browser automation for Python & Node, no driver subprocess. (Alpha)
解決する課題
Rustwright は、Playwright ブラウザ自動化ライブラリの高性能なネイティブ Rust リライトです。Node.js ドライバーのサブプロセスを必要としないため、メモリオーバーヘッドを削減し、実行速度を向上させ、Web サイトが Playwright を検出するために使用する特定の自動化の指紋を排除します。
動作方法
Tokio を基盤とするネイティブ Rust エンジンを使用し、Chrome DevTools Protocol (CDP) を介して Chromium と直接通信します。このコアエンジンは、PyO3 および napi-rs を通じた軽量バインディングにより、Python および Node.js から利用可能になります。これにより、ユーザーは馴染み深い Playwright API を維持しつつ、より効率的なバックエンドで実行できます。
対象ユーザー
- AIエージェント開発者: コンパクトなアクセシビリティスナップショットと要素参照を通じてエージェントにブラウザアクセスを提供する CLI および Model Context Protocol (MCP) サーバーを備えています。
- 自動化エンジニア: Chromium ベースの自動化において、Playwright よりも高速でメモリ使用量が少ない代替手段を探している方。
- Webスクレイパー: 一般的な Playwright 固有の検出シグネチャを回避したいユーザー。
主な特徴
- パフォーマンス: playwright-python より最大 2.55 倍高速で、メモリ使用量は約 70% 少ない。
- エージェント対応: セッションスコープの要素参照(
@e1,@e2)を介してブラウザを制御できるネイティブ MCP サーバーと CLI を搭載。 - ステルス性: Playwright ドライバーのシグネチャを削除し、ヘッドレスのアイデンティティを正規化して検出を低減。
- 相互運用性: Playwright のドロップインリプレースとして設計されており、最小限のコード変更(インポートの変更のみ)で利用可能。
- 信頼性の高い入力: シンセティックな DOM 呼び出しではなく、実際の CDP 入力イベントを使用してクリックや入力を処理。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト