OpenBrowser

让 LLM 直接编写 Python 代码来驱动真实浏览器,以极低的 Token 消耗自主完成网页导航、交互与数据提取。

Star 数
★ 279
最近更新
1 个月前
License
MIT
主语言
Python

30 秒速览

运行形态
命令行工具代码库 / SDKMCP 服务器
可在哪里用
通用 · 跨平台Codex · Claude Code · Claude.ai · OpenAI API · Claude API
费用
有免费版,另有付费云服务
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.12+基于 Chromium 的浏览器(Chrome、Edge、Brave 或 Chromium)LLM API 密钥(如 GOOGLE_API_KEY)ffmpeg(用于视频录制)Docker(用于后端/前端部署)PostgreSQL(用于后端部署)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
数据工程师需要从 Walmart 等电商页面批量抓取商品数据并处理分页
不适合
  • 需要零依赖纯离线采集、且不愿安装任何 Chromium 浏览器的环境
  • 只想要纯托管 SaaS、不想自己管理浏览器进程的团队(托管版仍在等候名单阶段)
  • 非 Python 生态、无法运行 Python 3.12+ 的项目

这个 Agent 能做什么,适合哪些场景?

OpenBrowser(GitHub:billy-enrizky/openbrowser-ai,MIT 许可)是一个 AI 浏览器自动化框架。它的核心是 CodeAgent 架构:LLM 在一个类似 Jupyter 的持久命名空间中编写 Python 代码,通过原生 CDP(Chrome DevTools Protocol)直接控制浏览器,实现导航、点击、填表、抓取等操作。它以 PyPI 包(openbrowser-ai)分发,支持 CLI 守护进程、可直接导入的 Python 库、内置 MCP 服务器,以及面向 Claude Code、Codex、OpenCode、OpenClaw 的插件与技能集成。项目支持 15 家 LLM 提供商(OpenAI、Anthropic、Google、Groq、AWS Bedrock、Azure、Ollama、DeepSeek 等),并自动检测本机已安装的 Chromium 系浏览器。官方基准测试显示其 Token 消耗比 browser-use、Playwright MCP、Chrome DevTools MCP 等方案低 2 至 6 倍。此外项目还包含 FastAPI 后端 + Next.js 前端的全栈云端部署方案,以及两项基于强化学习的浏览器 Agent 微调研究。

OpenBrowser 读取用户给出的任务描述或代码,运行流程如下:CLI 通过 uvx openbrowser-ai -p "任务" 启动 LLM Agent,或用 -c 标志连接 Unix socket 上的持久浏览器守护进程直接执行代码;MCP 模式(uvx openbrowser-ai --mcp)向 Claude Desktop、Claude Code 等客户端暴露单一 execute_code 工具,LLM 在持久命名空间中编写 Python,调用预置函数(navigate、click、input_text、click_xy、evaluate、download_file、done 等)操作浏览器。库模式下可用 CodeAgent(task=..., llm=ChatGoogle(...)) 或直接操作 BrowserSession / BrowserProfile(支持 headless、viewport、proxy、录像目录等配置)。输出包括提取的数据、页面截图、Jupyter notebook / API 爬虫代码导出以及 ffmpeg 录制的会话视频。浏览器状态(cookie、登录态)保存在 ~/.config/openbrowser/profiles/ 下,跨会话复用;云端方案则提供 VNC 实时画面、KMS 加密的已存登录、EventBridge + SQS 定时工作流和 SES 邮件通知。

  1. 数据工程师需要从 Walmart 等电商页面批量抓取商品数据并处理分页
  2. 运营或个人用户想自动完成航班预订、多步表单填写等重复性网页流程
  3. Claude Code 用户安装插件后获得 7 项技能:深度研究、网页抓取、表单填写、端到端测试、页面分析、可访问性审计、文件下载
  4. QA 工程师用 e2e-testing 技能模拟用户交互来测试 Web 应用
  5. 研究人员通过 MCP 模式(无需外部 LLM API 密钥,由 MCP 客户端提供智能)让任意 AI 助手操作浏览器
  6. 开发者用工作流录制功能把浏览器操作导出为 Jupyter notebook 或 API 爬虫代码

如何安装或部署这个 Agent?

macOS / Linux 一键安装:

curl -fsSL https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.sh | sh

Windows PowerShell:

irm https://raw.githubusercontent.com/billy-enrizky/openbrowser-ai/main/install.ps1 | iex

Homebrew:

brew tap billy-enrizky/openbrowser
brew install openbrowser-ai

pip 或 uv(推荐):

pip install openbrowser-ai
uv pip install openbrowser-ai

无需单独安装浏览器:OpenBrowser 会自动检测已安装的 Chrome/Edge/Brave/Chromium;未找到且可用 uvx 时,首次运行会自动安装 Chromium。运行需要 Python 3.12+,并至少配置一个 LLM API 密钥,例如:

export GOOGLE_API_KEY="..."

作为 Claude Code 插件安装:

claude plugin marketplace add billy-enrizky/openbrowser-ai
claude plugin install openbrowser@openbrowser-ai

如何使用这个 Agent?

以 Python 库方式运行 CodeAgent:

import asyncio
from openbrowser import CodeAgent, ChatGoogle

async def main():
    agent = CodeAgent(
        task="Go to google.com and search for 'Python tutorials'",
        llm=ChatGoogle(model="gemini-3-flash"),
    )

    result = await agent.run()
    print(f"Result: {result}")

asyncio.run(main())

通过 CLI 用持久守护进程直接执行代码:

uvx openbrowser-ai -c "await navigate('https://example.com')"
uvx openbrowser-ai -c "print(await evaluate('document.title'))"

守护进程变量跨调用持久,10 分钟无活动后自动关闭;管理命令包括 daemon start/stop/status/restart。以 MCP 服务器方式接入 Claude Code,在项目 .mcp.json 中添加:

{
  "mcpServers": {
    "openbrowser": {
      "command": "uvx",
      "args": ["openbrowser-ai", "--mcp"]
    }
  }
}

常用环境变量:OPENBROWSER_HEADLESS(默认 true)、OPENBROWSER_ALLOWED_DOMAINS(域名白名单)、OPENBROWSER_USER_DATA_DIR(持久 Chrome 配置目录)、OPENBROWSER_MAX_OUTPUT(单次执行最大输出字符,默认 10000)。

这个 Agent 有哪些优点和局限?

优点
  • CodeAgent 让 LLM 编写整段 Python 代码而非逐步决策,官方 4 路 CLI 基准显示 Token 消耗比 browser-use、agent-browser、playwright-cli 低 2.1–2.6 倍(约 $0.12/6 任务 vs $0.24–$0.29)
  • MCP 基准中 Token 效率优势更明显:比 Playwright MCP 少 3.2 倍、比 Chrome DevTools MCP 少 6.0 倍,MCP 响应体积小 144 倍
  • 支持 15 家 LLM 提供商(含 Ollama 本地模型),并通过 MCP 模式无需任何外部 LLM API 密钥即可被 AI 助手驱动
  • 登录态与 cookie 持久化(含 KMS 加密的托管方案),并自动清理一次性 Chromium 缓存以控制磁盘占用
  • 内置工作流录制与视频录制,可将会话导出为 Jupyter notebook 或 API 爬虫代码
局限
  • 需要 Python 3.12+ 和本机 Chromium 系浏览器,运行环境受限
  • 托管云平台(saved cookies、定时任务仪表盘)仍在等候名单阶段,当前完整功能以本地 CLI/库/MCP 为主
  • 除 Ollama 本地模型外,Agent 模式需要自备付费 LLM API 密钥,按用量计费
  • 全栈云端部署依赖 Docker Compose、PostgreSQL、AWS 服务(EventBridge、SQS、SES、KMS、Cognito),基础设施成本不低
  • 基准结果为项目自测(Claude Sonnet 4.6 on Bedrock,6 任务、N=3/5),第三方独立验证数据缺失

这个 Agent 与同类方案有什么区别?

项目自带的基准直接对比了 browser-use、agent-browser、Playwright MCP(Microsoft)、Chrome DevTools MCP(Google)和 playwright-cli:在相同任务(6 任务,全部 100% 通过率)下,openbrowser-ai 的 CLI 耗时 84.8s、Bedrock Token 36,010,均低于其余四者;MCP 对比中其优势主要来自 Python 代码批处理与紧凑 DOM 表示带来的小响应体积(7,853 字符 vs 竞品约 113–115 万字符)。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
OpenBrowser 当前 60 · 存在缺口 命令行工具免费版 + 付费版 ★ 279 1 个月前 Python Codex · Claude Code · Claude.ai · OpenAI API · Claude API
Uni-CLI 72 · 存在缺口 命令行工具免费 ★ 228 2 天前 TypeScript ChatGPT · Codex · Claude Code
lcc 本地上下文编译器 78 · 表现良好 命令行工具免费 ★ 16 今天 Python Claude Code
Firecrawl 网页研究 MCP 66 · 存在缺口 MCP 服务器免费版 + 付费版 ★ 7.8k 今天 JavaScript Claude.ai

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
存在缺口
60/ 100 五分制 3.0 / 5
信任安全 12/29
可靠稳定 8/14
适用触发 14/18
规范维护 13/18
有效结果 9/13
证据核验 4/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

最小权限:提供 OPENBROWSER_ALLOWED_DOMAINS 域名白名单和 MCP 每实例隔离 profile,但未见默认启用任何沙箱或权限门槛;LLM 生成的代码在持久命名空间中直接执行,权限面大,扣分。用户确认:无执行前确认机制的任何证据,扣分。数据流透明:posthog 遥测依赖存在但 README 未说明收集什么数据、如何关闭;cookies/storage_state 的流向在 MCP 段落有较详细描述(部分加分),整体仍薄。敏感数据:storage_state 种子机制、KMS 加密(云端版描述)、profile lease 拒绝冲突说明得较清楚,评 2。依赖安全:pyproject 大量依赖未钉版本(playwright、langgraph 无上限),litellm 钉到具体版本但其余松散,未见锁文件或漏洞缓解证据。外部效果:可浏览任意网站、下载文件、执行 JS,文档提到白名单但默认无限制。回滚:仅 daemon stop/10 分钟自动关闭,无会话恢复或回滚机制。来源归属:MIT 许可证含署名(Muhammad Enrizky Brillian),MCP 注册记录 me.openbrowser/openbrowser-ai,评 2。

可靠稳定8 / 14 · 2.9/5

自洽性:README 与 pyproject 入口(openbrowser.cli:main)、文档快速开始基本一致,但 README 用 CodeAgent 而 quickstart.mdx 用 Agent/ChatGoogle 类,示例代码间存在轻微不一致。依赖可用性:可选 extras 设计合理(agent/anthropic/groq 等),自动检测浏览器并有 install 命令,评 2。失败信息:profile lease 'clear error'、Homebrew formula 有错误处理,但提供的源文件多为测试,核心运行时错误处理的证据不足,评 1。

适用触发14 / 18 · 3.9/5

受众与场景:README 覆盖个人开发者、MCP 客户端用户(Claude Code/Codex/OpenCode)、企业云平台等,受众描述充分,评 3。能力边界:函数表、坐标除以 devicePixelRatio 的说明、DOM 紧凑表示等给出一定边界,但未说明任务失败/不可行时的行为。触发精度:MCP 单一 execute_code 工具 + 7 个技能的分工清晰,评 2。环境适配:支持 macOS/Linux/Windows、多种安装路径、headless 配置、本地 Ollama,评 2。

规范维护13 / 18 · 3.6/5

信息架构:README 目录完整、项目结构图、文档站、插件/技能分层清晰,评 3。安装说明:多平台多路径(curl/pip/uv/brew/pipx/源码)极其详尽,评 3。命名稳定:包名 openbrowser-ai 与导入名 openbrowser 并存,README 内 CodeAgent 与 docs 内 Agent 混用,扣分。示例与 FAQ:丰富示例和基准,但快速开始两份文档示例类名不一致,无 FAQ。已知局限:未发现专门的局限章节,扣分。许可:MIT 全文,评 3。版本与变更日志:hatch-vcs 版本、CI 自动同步版本,但未见 CHANGELOG 文件。维护责任:发布流水线成熟(PyPI/MCP Registry/Homebrew 自动化、测试徽章、codecov),个人维护者,评 2。

有效结果9 / 13 · 3.5/5

输出可用性:MCP 返回仅显式请求内容、最大输出限制 10000 字符、紧凑 DOM 设计,评 2。边际价值:自称相对 browser-use/Playwright token 效率高 2-6 倍,附基准数据与原始 JSON,若属实价值明显,但为自报数据,评 2。成本收益:token/成本表给出具体数字,基准可复跑脚本在库内,评 2。

证据核验4 / 8 · 2.5/5

声明可追溯:基准声明附 JSON 文件路径和方法论链接,可部分追溯,但核心安全/行为声明无源码佐证(本评审未提供 mcp/、code_use/ 源码),扣分。交叉印证:徽章(PyPI、tests、codecov)为外部引用,无法在本证据内核实,测试文件仅覆盖 LLM 序列化层,评 1。事实与推断分离:README 将产品事实(配置默认值)与云端营销(waitlist)基本分开,评 2。

风险与缓解建议
  • posthog 遥测为默认硬依赖,README 未说明收集内容与关闭方式,隐私敏感用户应自行审查并禁用。
  • LLM 生成的 Python 代码在持久命名空间直接执行,且默认无域名限制、无执行前确认;建议始终配置 OPENBROWSER_ALLOWED_DOMAINS 并在隔离环境中运行。
  • 存储的 cookies/storage_state 会被复用于后续自动化会话,误用可能导致已登录账户被代理操作。
  • README 与文档的示例类名(CodeAgent vs Agent)不一致,安装前应核对当前版本的 API。
  • 性能声明为项目自报基准,未经独立复核,采购决策不应仅依赖该数据。
证据充分度:低 评估于 2026年10月31日 审查版本 48ec5d9dccad
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v0.1.54 v0.1.54: Fix daemon startup hangs with persistent browser profiles
    发布说明摘录
    What's New - Fixes daemon startup hangs when a persistent Chrome profile contains a large storage snapshot. - Keeps daemon browser initialization and failed-start cleanup bounded. Details - Managed daemon profiles no longer replay an implicit storage-state snapshot into the same persistent Chrome profile. - Explicit storage-state configuration remains supported. - A stuck cleanup queues the normal forced browser-stop event and cannot hold the startup request indefinitely. - Plugin and MCP metadata are synchronized to version 0.1.54. …
    在 GitHub 查看 ↗
  2. v0.1.53 v0.1.53: MCP browser ownership and profile isolation
    发布说明摘录
    What's New - Prevent concurrent MCP browser instances from interfering with or terminating one another. - Give managed MCP instances isolated browser profiles by default. - Enforce browser ownership during cleanup so only the owning instance can remove its processes. Details - Adds ownership markers and leases for managed browser profiles. - Rejects conflicting ownership of an explicitly shared profile. - Synchronizes the Claude plugin and MCP Registry metadata to version 0.1.53. Full Changelog: https://github.com/billy-enrizky/openbrowser-ai/compare/v0.1.52...v0.1.53
    在 GitHub 查看 ↗
  3. v0.1.52 v0.1.52: Cap MCP SDK at compatible major
    发布说明摘录
    What's New - Fix CI and runtime compatibility by keeping OpenBrowser on the supported MCP SDK major version. - Add a regression test so future dependency updates cannot silently select an incompatible MCP SDK major. Details - MCP dependencies are constrained to >=1.0.0,<2.0.0. - The lockfile is regenerated with the compatible SDK range. - No migration steps are required for existing users. Full Changelog: https://github.com/billy-enrizky/openbrowser-ai/compare/v0.1.51...v0.1.52
    在 GitHub 查看 ↗

常见问题

必须使用哪些 LLM?可以完全本地运行吗?
支持 15 家提供商,包括 Ollama 本地模型(如 llama-4-scout、deepseek-r1)。使用 Ollama 时无需付费 API 密钥;MCP 模式下则完全不需要外部 LLM 密钥,由 MCP 客户端(如 Claude Desktop)提供智能。
登录状态和 cookie 会跨会话保留吗?
会。CLI 守护进程把浏览器配置存在 ~/.config/openbrowser/profiles/daemon,MCP 服务器每个进程使用隔离的 mcp-<instance-id> 配置,从默认配置播种 storage_state.json;设置 OPENBROWSER_USER_DATA_DIR 可获得跨重启持久的配置目录。
MCP 模式和 Agent 模式有什么区别?
MCP 模式(--mcp)暴露单一 execute_code 工具,由连接的 AI 助手编写代码,无需配置 LLM API 密钥;Agent 模式(CodeAgent)由框架自己调用你配置的 LLM 完成任务。两者都在持久命名空间中执行 Python。
费用大概是多少?
软件本身 MIT 许可免费。官方基准按 Claude Sonnet 4.6 计算每轮 6 任务约 $0.12(Opus 4.6 约 $0.24),实际费用取决于所用模型和任务量。托管云平台收费方式未公布,目前需加入等候名单。
需要安装 Chrome 吗?
不强制。OpenBrowser 自动检测已装的 Chrome、Edge、Brave 或 Chromium;都没有且有 uvx 时,首次运行会自动安装 Chromium,也可手动执行 openbrowser-ai install 预装。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents