Skyvern-AI/rustwright

Playwright's API on a Rust CDP engine — Chromium browser automation for Python & Node, no driver subprocess. (Alpha)

What it solves

Rustwright is a high-performance, drop-in replacement for Playwright designed to automate Chromium browsers. It eliminates the need for a Node.js driver subprocess, which typically slows down execution and increases memory usage. It also reduces the "automation fingerprint" that websites use to detect bots, making browser automation more discreet.

How it works

Instead of piping commands through a Node driver, Rustwright uses a native Rust engine built on Tokio that communicates directly with Chromium via the Chrome DevTools Protocol (CDP). It provides thin bindings for Python and Node.js, allowing developers to use the familiar Playwright API while benefiting from the native Rust core.

Who it’s for

  • AI Agent Developers: Those building agents that need to interact with the web via compact accessibility snapshots and element references rather than raw HTML.
  • Automation Engineers: Developers seeking faster execution speeds and lower memory overhead for browser automation tasks.
  • Web Scraping/Automation Specialists: Users who want to avoid common Playwright-specific detection signatures.

Highlights

  • Performance: Up to 2.55x faster and uses roughly 70% less memory than playwright-python in local diagnostics.
  • Agent-Ready: Includes a native MCP (Model Context Protocol) server and a CLI for agents to drive browsers using element refs (e1, e2).
  • Stealth: Removes Playwright-specific driver signatures and normalizes headless identity by default.
  • Interoperable: Compatible with the majority of the Playwright Python sync API (~96% coverage).
  • Trusted Input: Uses real CDP input events for clicks and typing by default, rather than synthetic DOM calls.

Related

  • Project
  • Project
  • Project
  • Project
  • Project