Open Browser
让 AI 代理自主浏览网页,用自然语言描述任务,自动执行点击、输入、导航和数据提取。
证据显示:README 提到沙箱执行、资源限制、域名限制、超时等,表明有最小权限意识;但未提供用户确认机制(如危险操作需确认),也未明确数据流透明性(如哪些数据发送给 LLM)。敏感数据处理(如 API 密钥)仅通过环境变量管理,未说明加密或保护措施。依赖安全:使用 bun install,但未提供锁文件或依赖审计证据。外部影响:代理可执行点击、输入、导航等操作,可能产生外部副作用,但未提供撤销或回滚机制。来源归属:MIT 许可证和贡献者信息存在,但发布者未验证。因此,多数标准得分较低。
证据显示:README 和代码结构一致,包名和命令命名稳定,表明自洽性较好。依赖可用性:使用 Playwright 和 Vercel AI SDK 等常见依赖,但未提供版本锁定或镜像信息。失败消息:README 提到错误处理和 stall detection,但未提供具体失败消息示例。因此,自洽性和依赖可用性得分中等,失败消息得分较低。
证据显示:README 描述了多种使用场景(CLI、库、沙箱),受众明确(开发者)。能力边界:提供了 allowedUrls、blockedUrls、stepLimit 等配置,表明有边界控制。触发精度:自然语言任务描述,但未提供精确的触发条件或验证机制。环境适配:支持多种模型和浏览器配置,但未提供详细的系统要求。因此,多数标准得分中等。
证据显示:README 结构清晰,包含快速开始、架构、CLI 命令、配置等,信息架构良好。安装说明:提供了 bun install 和 .env 配置步骤。命名稳定性:包名和命令命名一致。示例和 FAQ:提供了多个示例,但无 FAQ。已知限制:未明确列出。许可证:MIT 许可证存在。版本和变更日志:未提供 CHANGELOG。维护责任:贡献指南存在,但未明确维护者。因此,多数标准得分中等,已知限制和版本变更日志得分较低。
证据显示:输出可用性:代理返回结果,CLI 提供截图、提取等功能,输出格式明确。边际价值:提供自主浏览能力,相比手动脚本有优势。成本效益:提供成本跟踪,但未提供性能基准或成本对比。因此,得分中等。
证据显示:README 中的声明(如生产就绪)未提供测试覆盖率或基准数据支持。跨来源验证:仅依赖 README,无独立验证。事实与推断分离:README 中区分了功能描述和架构图,但未明确区分事实和推断。因此,得分较低。
- 未提供用户确认机制,代理可能执行不可逆操作(如提交表单、删除数据)。
- 未明确数据流透明性,用户无法知道哪些页面数据被发送给 LLM。
- 依赖安全未提供锁文件或审计证据,存在供应链风险。
- 未提供回滚或撤销机制,外部副作用无法恢复。
- 发布者未验证,来源归属不明确。
这个 Agent 能做什么,适合哪些场景?
Open Browser 是一个基于 TypeScript 的自主网页浏览框架,利用 Playwright 控制浏览器,并集成 OpenAI、Anthropic 和 Google 的模型。它提供核心库、命令行工具和沙箱执行环境。用户可以用自然语言描述任务,代理会自动执行操作。支持交互式 REPL、资源限制、成本追踪和故障检测。MIT 许可,可完全扩展。
Open Browser 提供一个 Agent 类,接收自然语言任务,将页面状态和任务发送给 LLM,由 LLM 决定执行命令(如 click、type、navigate、extract)。通过 CLI 命令如 open-browser run 启动任务,或通过 open-browser interactive 进入交互式 REPL。它还提供 @open-browser/sandbox 包用于沙箱执行,支持资源限制和监控。
- 开发者想自动化重复的网页操作,如数据提取、表单填写。
- QA 工程师要测试多步骤网页流程,并验证页面行为。
- 研究人员需要从多个网站收集信息并汇总。
- 产品经理快速原型验证网页功能,无需写代码。
这个 Agent 有哪些优点和局限?
- 支持多种 LLM 提供商(OpenAI、Anthropic、Google),可灵活切换。
- 内置沙箱执行,支持资源限制、超时和域名限制,适合安全运行。
- 丰富的 CLI 和交互式 REPL,便于调试和快速原型。
- 生产级特性:故障检测、成本追踪、会话管理、录制回放。
- 依赖 Bun 运行时,可能对不熟悉 Bun 的开发者有学习成本。
- 需要配置至少一个 LLM API 密钥,每个任务可能产生 API 费用。
- 网络访问是必需,不能用于离线环境。
如何安装或部署这个 Agent?
安装依赖:bun install。复制环境变量示例:cp .env.example .env,并编辑 .env 填入你的 API 密钥(OPENAI_API_KEY、ANTHROPIC_API_KEY 或 GOOGLE_GENERATIVE_AI_API_KEY 至少一个)。
如何使用这个 Agent?
运行一个代理任务:bun run open-browser run "Find the price of the MacBook Pro on apple.com"。或进入交互模式:bun run open-browser interactive。CLI 常用选项:--model、--provider、--headless、--max-steps。
这个 Agent 与同类方案有什么区别?
与 Playwright 等传统浏览器自动化框架相比,Open Browser 将 LLM 决策集成到流程中,使得任务描述更自然,无需编写选择器脚本。
常见问题
支持哪些 LLM 提供商?
-p 参数指定。如何控制成本?
--max-steps 限制步骤数,并启用 --no-cost 隐藏成本追踪,但具体费用取决于模型和任务复杂度。