TL;DR

dev-browser là open-source Claude Skill + CLI (MIT, ~6k stars) do Sawyer Hood phát hành, cho phép AI agent điều khiển Chrome bằng Playwright code thật chạy trong QuickJS WASM sandbox. Không screenshot, không selector brittle, không MCP tool-schema overhead. Benchmark chính thức: 3m 53s, $0.88, 29 turns, 100% success cho task login + scrape + trả JSON — nhanh hơn Playwright MCP 15%, rẻ hơn 40%, và vượt xa Chrome Extension (12m 54s, $2.81).

What's new

Thay vì expose browser qua MCP (với JSON Schema tool definitions nặng), dev-browser là CLI thuần: agent đọc dev-browser --help, viết đoạn JavaScript, pipe vào stdin, nhận kết quả ra stdout. Script chạy trong QuickJS WASM — không phải Node.js — nên zero host filesystem access, zero network access ngoài browser. Điều này cho phép user pre-approve Bash(dev-browser *) trong ~/.claude/settings.json mà không lo rủi ro.

Agent có full Playwright Page API: goto, click, fill, locator, evaluate, screenshot, và một method custom page.snapshotForAI({ track, depth, timeout }) trả về DOM dạng compact + incremental — tối ưu cho LLM tiêu thụ.

Why it matters

MCP-based browser tools có một chi phí ẩn: tool definitions nạp vào context window từ đầu session. Playwright MCP ngốn ~13,700 tokens, Chrome DevTools MCP ~17,000 tokens — tương đương ~9% của 200K context window trước khi agent làm bất cứ gì. Một benchmark của Playwright team cho thấy task điển hình dùng ~114k tokens với MCP vs ~27k với CLI — giảm 4×.

Với workflow dài nhiều bước (fill form, điều hướng nhiều tab, extract data), context overflow là bottleneck thật. dev-browser bypass bằng cách là CLI thuần: không JSON Schema, không tool registration, zero token overhead cho tooling. Đồng thời sandbox giải quyết nỗi lo autonomy: agent được phép chạy browser tự do mà không chạm vào máy user.

Technical facts

PropertyValue
RuntimeQuickJS WASM (không phải Node.js)
Host access0 — no filesystem, no network
Browser APIFull Playwright Page
AI snapshotpage.snapshotForAI() — compact + incremental
Playwright version1.58.2 (pinned tránh protocol drift)
PlatformsmacOS, Linux, Windows x64 (native .exe)
LicenseMIT
Versionv0.2.7 (tháng 4/2026)
GitHub stars~6,000

Comparison

Benchmark chính thức (task: login + scrape + return JSON), theo dev-browser-eval:

MethodTimeCostTurnsSuccess
Dev Browser3m 53s$0.8829100%
Playwright MCP4m 31s$1.4551100%
Playwright Skill8m 07s$1.453867%
Claude Chrome Extension12m 54s$2.8180100%

Đáng chú ý: Playwright Skill cổ điển chỉ đạt 67% success — cho thấy sandbox + persistent state của dev-browser không chỉ tăng tốc mà còn tăng độ tin cậy. So với Chrome Extension, dev-browser nhanh gấp 3.3× và rẻ gấp 3.2×.

Use cases

  • Autonomous login + scrape: --connect flag attach vào Chrome đang chạy → agent giữ được session cookie, login một lần, scrape nhiều trang protected.
  • Form filling multi-step: wizard dài, checkout flow, onboarding — dùng page.fill() + page.locator() quen thuộc.
  • Data extraction → JSON: page.evaluate() chạy JS custom extract DOM, console.log(JSON.stringify(...)) → orchestrator parse.
  • E2E test generation: Playwright thật nên test selectors và accessibility flows reuse được.
  • Agentic research: agent đọc dev-browser --help để học API → tự viết script → chạy → iterate. Không cần tool schema registration.

Ví dụ snippet:

dev-browser "
  await page.goto('https://example.com/login');
  await page.fill('#username', 'agent');
  await page.click('#submit');
  const data = await page.evaluate(() =>
    Array.from(document.querySelectorAll('.item')).map(el => ({
      title: el.querySelector('h3').innerText,
      price: el.querySelector('.price').innerText,
    }))
  );
  console.log(JSON.stringify(data));
"

Limitations & pricing

  • Không import được Node.js libs (fs, http, axios…) — QuickJS WASM, không phải Node runtime.
  • Không access host filesystem trong script → phải pipe qua stdout rồi để orchestrator ghi file.
  • Không call external API bên trong script → mọi IO qua browser page.
  • Playwright pin 1.58.2 — không tự do upgrade.
  • Giá: $0 (MIT license). Chỉ trả LLM token costs của agent khi dùng.

Install:

npm install -g dev-browser

Cho Claude Code, thêm vào ~/.claude/settings.json:

{ "permissions": { "allow": ["Bash(dev-browser *)"] } }

What's next

dev-browser đang ở v0.2.7 (tháng 4/2026) với Windows x64 native support và npm packaging hoàn chỉnh. Roadmap tập trung vào enhanced snapshot tracking, more examples trong skills directory, và community scripts. Tool đang ở viral moment — bài X của Suryansh Tiwari ("Holy shit… someone gave Claude a real browser") và follow-up của Roundtable đã đẩy adoption tăng mạnh trong hệ sinh thái Claude Code.

Cùng thời điểm, Microsoft ra Playwright CLI (token-efficient alternative cho Playwright MCP, 4× giảm token), Vercel Labs ra agent-browser (CLI-first, zero tool definition overhead). Hướng đi chung đã rõ: CLI-first + sandbox thay cho MCP loops khi agent cần browser control lâu dài và rẻ.

Nguồn: GitHub SawyerHood/dev-browser, SkillsLLM, DEV Community.