SawyerHood/dev-browser
A Claude Skill to give your agent the ability to use a web browser
解决的问题
dev-browser 提供了一种方式,让 AI 编码代理能与网页浏览器交互,而无需为每个单一操作重新启动浏览器会话。它允许代理在多次脚本调用之间维持状态(如登录会话或导航历史记录),从而实现更高效的“观察 $\rightarrow$ 行动 $\rightarrow$ 验证”工作流程。
运作方式
该工具作为一个管理 Chrome 实例的守护进程运行。编码代理可以使用 CLI 或 MCP (Model Context Protocol) 服务器将简短的 JavaScript 脚本发送给这个守护进程。这些脚本使用修改过的 Puppeteer API 来控制浏览器。
关键技术机制包括:
- 持久页面:在不同脚本执行之间保持其状态的命名标签页。
- 无障碍树快照:它不提供原始 HTML,而是提供紧凑的无障碍树,这对 LLM 来说更容易阅读,并包含稳定的元素引用(例如
e12)。 - 灵活连接:它可以启动自己隔离的 Chrome 配置文件,或者附加到用户机器上已经打开的浏览器。
- 执行上下文:每个脚本都在全新的
node:vm上下文中运行,以保持全局变量分离。
适用对象
它专为构建 AI 代理(特别是编码代理)的开发人员设计,这些代理需要自动化浏览器任务、检查网页,并实时验证其操作的结果。
重点特色
- 有状态的会话:通过命名标签页在多次调用之间维持浏览器状态。
- AI 优化输出:使用无障碍树来提供紧凑、易读的页面快照。
- Puppeteer 集成:利用真实的 Puppeteer Page API 并为 AI 代理添加辅助功能。
- 浏览器附加:能够通过 CDP (Chrome DevTools Protocol) 连接到现有的 Chrome 实例。
- MCP 支持:包含内置的 MCP 服务器,可与 Claude 等工具无缝集成。
相关
- 项目
- 项目
- 项目
- 项目