diff --git a/.changeset/native-rust-daemon.md b/.changeset/native-rust-daemon.md new file mode 100644 index 0000000..89621c1 --- /dev/null +++ b/.changeset/native-rust-daemon.md @@ -0,0 +1,5 @@ +--- +"agent-browser": minor +--- + +Added experimental native Rust daemon (`--native` flag, `AGENT_BROWSER_NATIVE=1` env, or `"native": true` in config). The native daemon communicates with Chrome directly via CDP, eliminating Node.js and Playwright dependencies. Supports 150+ commands with full parity to the default Node.js daemon. Includes WebDriver backend for Safari/iOS, CDP protocol codegen, request tracking, frame context management, and comprehensive e2e and parity tests. diff --git a/docs/src/app/changelog/page.mdx b/docs/src/app/changelog/page.mdx index 7000a48..e07bb71 100644 --- a/docs/src/app/changelog/page.mdx +++ b/docs/src/app/changelog/page.mdx @@ -4,6 +4,62 @@ export const metadata = pageMetadata("changelog") # Changelog +## v0.16.0 + +
March 2026
+ +### New Features + +- **Native Rust daemon (experimental).** A pure Rust daemon that communicates with Chrome directly via the Chrome DevTools Protocol (CDP), eliminating Node.js and Playwright dependencies entirely. Enable with `--native`, `AGENT_BROWSER_NATIVE=1`, or `"native": true` in your config file. Supports 150+ commands with full parity to the default Node.js daemon. + +```bash +# Via flag +agent-browser --native open example.com + +# Via environment variable +export AGENT_BROWSER_NATIVE=1 +agent-browser open example.com +``` + +Or add to `agent-browser.json`: + +```json +{"native": true} +``` + +### Architecture + +| Default (Node.js) | Native (--native) | |
|---|---|---|
| Runtime | Node.js + Playwright | Pure Rust binary |
| Protocol | Playwright protocol | Direct CDP / WebDriver |
| Install size | Larger (Node.js + npm deps) | Smaller (single binary) |
| Browser support | Chromium, Firefox, WebKit | Chromium, Safari (via WebDriver) |
| Stability | Stable | Experimental |
February 2026
diff --git a/docs/src/app/page.mdx b/docs/src/app/page.mdx index 4ba14a6..82ce664 100644 --- a/docs/src/app/page.mdx +++ b/docs/src/app/page.mdx @@ -59,7 +59,8 @@ has a unique ref like `@e1`, `@e2`. This provides: Client-daemon architecture for optimal performance: 1. **Rust CLI** - Parses commands, communicates with daemon -2. **Node.js Daemon** - Manages Playwright browser instance +2. **Node.js Daemon** (default) - Manages Playwright browser instance +3. **Native Daemon** (experimental, `--native`) - Pure Rust daemon using direct CDP, no Node.js required Daemon starts automatically and persists between commands.