openbrowser
赋予 AI Agent 浏览器自动化能力,让大模型真正操控网页完成任务的开源框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
赋予 AI Agent 浏览器自动化能力,让大模型真正操控网页完成任务的开源框架
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
你用 ChatGPT 问"今天微博热搜是什么",它能给你一段总结。但如果你让它实际打开微博、操作登录、提取数据呢?大多数 AI 模型会告诉你它没有浏览器权限。
这正是 Open Browser 想要解决的问题。它是一个开源的 TypeScript 框架,赋予 AI Agent 直接控制浏览器的能力——点击、输入、滚动、截图、自主导航,真正在真实网站上完成任务。截至 2025 年,该项目已获得超过 9000 颗 GitHub 星标,被认为是 AI Agent 领域最重要的浏览器自动化工具之一。
大语言模型(LLM)的崛起让 AI 能理解自然语言、生成代码、分析数据。但它们的知识存在一个致命局限:训练数据有截止日期。对于实时新闻、股票价格、动态网页内容,AI 只能靠"猜"。
解决这个问题的技术路径有两条:一条是网页爬虫(提前抓取数据喂给 AI),另一条是让 AI 直接操作浏览器。后者更灵活、更通用——AI 不再是被动接收数据,而是主动探索互联网,像人一样在网页上操作。
Open Browser 的作者 ntegrals 正是在这一背景下启动了项目。它并非凭空创造,而是站在 Playwright 的肩膀上,为 AI Agent 提供了一套原生的网页交互协议。
从项目架构来看,Open Browser 采用了清晰的三层模型:
第一层是 Agent。这是整个系统的"大脑",负责接收自然语言任务指令,将当前网页状态(DOM 快照、可交互元素列表、URL、标题等)打包后发送给 LLM(大语言模型),LLM 决定下一步要执行什么动作,然后将指令传递给下层。
第二层是 Commands(命令层)。Agent 发出的指令在这里被解析和执行。Open Browser 内置了超过 25 种命令,覆盖了常见网页操作场景:点击元素(click)、输入文本(type)、打开 URL(open)、提取内容(extract)、截图(screenshot)、执行 JavaScript(eval)、滚动页面等。命令通过 Zod 进行 Schema 校验,确保 Agent 发出的指令格式正确。
第三层是 Viewport(浏览器层)。这是实际运行浏览器的底层,基于 Playwright 实现。Viewport 负责启动浏览器实例、管理页面生命周期、捕获 DOM 快照、过滤可交互元素,并提供事件回调机制。
用一句话概括这个架构的工作流程:用户描述任务 → Agent 分析页面 → LLM 决策 → Command 执行 → Viewport 反馈结果 → 循环直到完成。
Open Browser 的另一大亮点是对多模型的支持。项目基于 Vercel AI SDK 构建了一层抽象 Adapter,目前支持三大主流 LLM 提供商:
-p openai -m gpt-4o-p anthropic-p google这种灵活性让开发者可以根据任务需求和成本预算自由切换模型,而无需修改上层业务代码。对于需要 Claude 长上下文能力的复杂任务、对 GPT-4o 速度优先的场景、以及对 Gemini 成本的考量,都能找到最优解。
让 AI 控制浏览器存在显而易见的安全风险:如果 AI 被引导执行恶意操作(访问钓鱼网站、下载恶意文件、泄露敏感 Cookie),后果不堪设想。
Open Browser 通过 @open-browser/sandbox 包提供了沙箱隔离能力,开发者可以为 Agent 设置以下限制:
这些能力对于在生产环境中部署 AI Agent 至关重要——既释放了 AI 的浏览器操作能力,又将风险控制在可接受范围内。
虽然开源项目常常止步于"能跑就行",Open Browser 明显面向生产环境设计。项目提供了大量生产级特性:
Stall Detection(卡顿检测):Agent 有时会陷入循环——反复尝试同一个操作但始终失败。Stall Detector 监控连续失败次数,超过阈值后主动终止任务,避免资源浪费。
Cost Tracking(成本追踪):每个 LLM API 调用都有成本。Metering 模块自动记录 token 消耗,让开发者清楚知道每次任务的实际花费。
Session Management(会话管理):支持在多个浏览器 Tab 之间导航,支持 Cookie 持久化(保存登录状态),支持录制和回放(Trace/Recording)方便调试。
Interactive REPL:一个 browser> 提示符的交互式命令行,开发者可以直接输入命令操作浏览器,不需要写代码,适合快速探索和调试。
从技术选型来看,Open Browser 的核心依赖非常清晰:
项目采用 monorepo 结构,三个 npm workspace:
open-browser:核心库,包含 Agent、Commands、Viewport、Model 等核心模块@open-browser/cli:命令行入口,提供 run、interactive 等命令@open-browser/sandbox:沙箱执行环境从部署角度来看,Open Browser 属于"轻量级 CLI 工具"类别。安装只需 bun install,运行只需 bun run open-browser run "<任务描述>"。不需要 Docker,不需要 GPU,一台普通的 Linux/Mac 机器即可。
优势:安装简单、文档清晰、多平台支持(Bun 支持 macOS/Linux/Windows)
不足:依赖本地安装 Playwright 浏览器(npx playwright install),首次安装需要下载 Chromium/Firewall/WebKit,耗时较长。此外,由于涉及浏览器自动化,在无头模式(headless)下表现最佳,但某些需要视觉验证的场景可能受限。
整体部署难度评为"简单"——有 Node.js/Bun 经验的开发者可以在 5-10 分钟内完成安装和第一个任务的运行。
客观来说,Open Browser 也存在一些局限:
多模态能力依赖外部模型:项目本身不包含视觉模型,截图功能需要 LLM 支持视觉理解(GPT-4V、Claude with Vision 等)。纯文本模型无法充分利用截图能力。
长任务可靠性有限:对于需要 50+ 步骤的复杂任务,Agent 的错误累积概率增加,可能在中途迷路或陷入循环。虽然有 Stall Detector 保底,但无法从根本上消除长任务的不确定性。
Playwright 维护成本:Playwright 版本更新可能带来 breaking change,需要持续跟进维护。
文档为英文:对于中文开发者社区来说,全英文文档增加了一点上手门槛。
不过,考虑到项目本身的活跃度和 MIT 开源协议的开放性,这些问题都有改善空间。
Open Browser 代表着 AI Agent 从"聊天"走向"行动"的重要趋势。在真实世界中,大量信息和服务以网页形式存在——银行后台、SaaS 工具、社交媒体、电商平台。AI 如果无法与这些网页交互,就永远只能充当"聊天机器人"而非真正的数字助手。
从更宏观的视角看,Open Browser 是 AI Agent 工具生态链上的一个关键节点。它与 MCP(Model Context Protocol)、Tool Use API 等标准一起,正在构建 AI Agent 连接真实世界的协议层。可以预见,未来越来越多的 AI 应用将具备"浏览器操作能力",而 Open Browser 为这一趋势提供了一个高质量的开源参考实现。
截至目前,该项目在 GitHub 上保持活跃更新,持续为 AI Agent 开发者提供稳定可靠的浏览器自动化能力。对于想要构建自动化网页任务、爬虫、RPA(机器人流程自动化)或任何需要 AI 操控浏览器的开发者来说,这是一个值得深入研究和实践的优质项目。