Browser Automation for AI Agents
Record user actions. Export as scripts. Run them. When they break, a human fixes the step and the script self-heals. No more flaky tests.
Click through your app. Resurf records every action with CSS selectors and timestamps. Export as a .resurf script. Replay anytime.
When automation hits a wall — CAPTCHA, unexpected UI — it pauses. A human does the step. The recorder captures it. The script self-heals.
Already have Playwright tests? resurf convert test.ts transpiles them to .resurf format. Visual automation, no CDP scripts.
$title = js "document.title" captures values. assert $title contains "Dashboard" validates. Real scripting, not just macros.
Works with Claude Code, GPT, Cursor, any agent that can run CLI commands. Pure terminal interface. No browser extensions to configure for agents.
Marketplace scripts are cryptographically signed. Can't be tampered with. License-gated: free scripts run freely, Pro scripts require activation.
No CDP. No Playwright selectors. Just human-readable automation.
# login-flow.resurf
@name "Login Flow"
@timeout 60s
navigate "https://app.example.com/login"
wait.element "#email"
type "[email protected]" --selector "#email"
type "password123" --selector "#password"
click "button[type=submit]"
wait.url "/dashboard" --timeout 10s
# Capture and verify
$title = js "document.title"
assert $title contains "Dashboard"
# If CAPTCHA appears, let human solve it
if element "#captcha"
prompt "Solve the CAPTCHA, then press Enter"
end
screenshot /tmp/login-verified.png
log "Login complete: $title" Free to start. Pro when you're serious.
$0/forever
$99/month
Custom
Install in 60 seconds. Record your first workflow in 5 minutes.
npm install -g resurf
resurf record.start
# interact with your app...
resurf record.export --format resurf --output flow.resurf
resurf run flow.resurf