[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73542":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":31,"trendingCount":16,"starSnapshotCount":16,"syncStatus":32,"lastSyncTime":33,"discoverSource":34},73542,"dev-browser","SawyerHood\u002Fdev-browser","SawyerHood","A Claude Skill to give your agent the ability to use a web browser","",null,"TypeScript",6231,397,17,3,0,10,34,149,30,110.8,"MIT License",false,"main",[26,27,28],"claude-code","playwright","skills","2026-06-12 04:01:09","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fheader.png\" alt=\"Dev Browser - Browser automation for Claude Code\" width=\"100%\">\n\u003C\u002Fp>\n\nBrought to you by [Do Browser](https:\u002F\u002Fdobrowser.io).\n\nA browser automation tool that lets AI agents and developers control browsers with sandboxed JavaScript scripts.\n\n**Key features:**\n\n- **Sandboxed execution** - Scripts run in a QuickJS WASM sandbox with no host access\n- **Persistent pages** - Navigate once, interact across multiple scripts\n- **Auto-connect** - Connect to your running Chrome or launch a fresh Chromium\n- **Full Playwright API** - goto, click, fill, locators, evaluate, screenshots, and more\n\n## Demo\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fc6cf7fb9-b1dc-46ed-93b9-6e7240990c53\n\n## CLI Installation\n\n```bash\nnpm install -g dev-browser\ndev-browser install    # installs Playwright + Chromium\n```\n\n### Quick start\n\n```bash\n# Launch a headless browser and run a script\ndev-browser --headless \u003C\u003C'EOF'\nconst page = await browser.getPage(\"main\");\nawait page.goto(\"https:\u002F\u002Fexample.com\", { waitUntil: \"domcontentloaded\" });\nconsole.log(await page.title());\nEOF\n\n# Connect to your running Chrome (enable at chrome:\u002F\u002Finspect\u002F#remote-debugging)\ndev-browser --connect \u003C\u003C'EOF'\nconst tabs = await browser.listPages();\nconsole.log(JSON.stringify(tabs, null, 2));\nEOF\n```\n\n### PowerShell (Windows)\n\n```powershell\n@\"\nconst page = await browser.getPage(\"main\");\nawait page.goto(\"https:\u002F\u002Fexample.com\", { waitUntil: \"domcontentloaded\" });\nconsole.log(await page.title());\n\"@ | dev-browser\n```\n\nWith `--connect`:\n\n```powershell\n@\"\nconst page = await browser.getPage(\"main\");\nconsole.log(await page.title());\n\"@ | dev-browser --connect\n```\n\n### Windows notes\n\nPowerShell install:\n\n```powershell\nnpm install -g dev-browser\ndev-browser install\n```\n\nTo attach to a running Chrome instance on Windows:\n\n```powershell\nchrome.exe --remote-debugging-port=9222\ndev-browser --connect\n```\n\nWindows npm installs download the native `dev-browser-windows-x64.exe` release asset during `postinstall`, and the generated npm shims invoke that executable directly.\n\n### Using with AI agents\n\nAfter installing, just tell your agent to run `dev-browser --help` — the help output includes a full LLM usage guide with examples and API reference. No plugin or skill installation needed.\n\n\u003Cdetails>\n\u003Csummary>Allowing dev-browser in Claude Code without permission prompts\u003C\u002Fsummary>\n\nBy default, Claude Code asks for approval each time it runs a bash command. You can pre-approve `dev-browser` so it runs without permission checks by adding it to the `allow` list in your settings.\n\n**Per-project** — add to `.claude\u002Fsettings.json` in your project root:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(dev-browser *)\"\n    ]\n  }\n}\n```\n\n**Per-user (global)** — add to `~\u002F.claude\u002Fsettings.json`:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(dev-browser *)\"\n    ]\n  }\n}\n```\n\nThe pattern `Bash(dev-browser *)` matches any command starting with `dev-browser ` followed by arguments (e.g. `dev-browser --headless`, `dev-browser --connect`). This is safe because dev-browser scripts run in a sandboxed QuickJS WASM environment with no host filesystem or network access.\n\nYou can also allow related commands in the same list:\n\n```json\n{\n  \"permissions\": {\n    \"allow\": [\n      \"Bash(dev-browser *)\",\n      \"Bash(npx dev-browser *)\"\n    ]\n  }\n}\n```\n\n> **Tip:** If you've already been prompted and clicked \"Always allow\", Claude Code adds the specific command pattern automatically. The settings file approach lets you pre-approve it before the first run.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>Legacy plugin installation (Claude Code \u002F Amp \u002F Codex)\u003C\u002Fsummary>\n\n### Claude Code\n\n```\n\u002Fplugin marketplace add sawyerhood\u002Fdev-browser\n\u002Fplugin install dev-browser@sawyerhood\u002Fdev-browser\n```\n\nRestart Claude Code after installation.\n\n### Amp \u002F Codex\n\nCopy the skill to your skills directory:\n\n```bash\n# For Amp: ~\u002F.claude\u002Fskills | For Codex: ~\u002F.codex\u002Fskills\nSKILLS_DIR=~\u002F.claude\u002Fskills  # or ~\u002F.codex\u002Fskills\n\nmkdir -p $SKILLS_DIR\ngit clone https:\u002F\u002Fgithub.com\u002Fsawyerhood\u002Fdev-browser \u002Ftmp\u002Fdev-browser-skill\ncp -r \u002Ftmp\u002Fdev-browser-skill\u002Fskills\u002Fdev-browser $SKILLS_DIR\u002Fdev-browser\nrm -rf \u002Ftmp\u002Fdev-browser-skill\n```\n\n\u003C\u002Fdetails>\n\n## Script API\n\nScripts run in a sandboxed QuickJS runtime (not Node.js). Available globals:\n\n```javascript\n\u002F\u002F Browser control\nbrowser.getPage(nameOrId)    \u002F\u002F Get\u002Fcreate named page, or connect to tab by targetId\nbrowser.newPage()            \u002F\u002F Create anonymous page (cleaned up after script)\nbrowser.listPages()          \u002F\u002F List all tabs: [{id, url, title, name}]\nbrowser.closePage(name)      \u002F\u002F Close a named page\n\n\u002F\u002F File I\u002FO (restricted to ~\u002F.dev-browser\u002Ftmp\u002F)\nawait saveScreenshot(buf, name)   \u002F\u002F Save screenshot buffer, returns path\nawait writeFile(name, data)       \u002F\u002F Write file, returns path\nawait readFile(name)              \u002F\u002F Read file, returns content\n\n\u002F\u002F Output\nconsole.log\u002Fwarn\u002Ferror\u002Finfo       \u002F\u002F Routed to CLI stdout\u002Fstderr\n```\n\nPages are full [Playwright Page objects](https:\u002F\u002Fplaywright.dev\u002Fdocs\u002Fapi\u002Fclass-page) — `goto`, `click`, `fill`, `locator`, `evaluate`, `screenshot`, and everything else, including `page.snapshotForAI({ track?, depth?, timeout? })`, which returns `{ full, incremental? }` for AI-friendly page snapshots.\n\n## Benchmarks\n\n| Method                  | Time    | Cost  | Turns | Success |\n| ----------------------- | ------- | ----- | ----- | ------- |\n| **Dev Browser**         | 3m 53s  | $0.88 | 29    | 100%    |\n| Playwright MCP          | 4m 31s  | $1.45 | 51    | 100%    |\n| Playwright Skill        | 8m 07s  | $1.45 | 38    | 67%     |\n| Claude Chrome Extension | 12m 54s | $2.81 | 80    | 100%    |\n\n_See [dev-browser-eval](https:\u002F\u002Fgithub.com\u002FSawyerHood\u002Fdev-browser-eval) for methodology._\n\n## License\n\nMIT\n\n## Author\n\n[Sawyer Hood](https:\u002F\u002Fgithub.com\u002Fsawyerhood)\n","Dev Browser 是一个赋予AI代理使用网页浏览器能力的工具。它通过沙箱化的JavaScript脚本实现浏览器自动化，支持持续页面操作、自动连接现有Chrome或启动新的Chromium实例，并提供完整的Playwright API来执行导航、点击、填写表单等任务。该工具采用TypeScript编写，具有高安全性的沙箱执行环境，确保脚本在隔离环境中运行而无主机访问权限。适用于需要利用AI进行网页自动化处理的场景，如数据抓取、自动化测试及交互式应用开发。",2,"2026-06-11 03:46:05","high_star"]