Browser Use
让 AI 代理通过本地或云端浏览器执行真实网页任务。
- Star 数
- ★ 120k
- 最近更新
- 今天
- License
- MIT
- 主语言
- Python
- FA 评分
- 47/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要自动完成预约流程的运营团队,可让代理查找可用时段、选择日期和时间,并提交网页操作;示例包含驾驶考试预约。
- 不适合
- 需要完全离线或数据不出本地的团队
- 不愿依赖 BROWSER_USE_API_KEY 云服务的团队
- 需要保证绕过所有 CAPTCHA 的场景
这个 Agent 能做什么,适合哪些场景?
Browser Use 是一个 MIT 许可的浏览器代理项目,提供全托管 Cloud API、面向现有代理的 CLI,以及可嵌入应用的 Python 库。Python 接口以 Agent 接收任务,由 ChatOpenAI、ChatBrowserUse、ChatAnthropic 或 ChatGoogle 等模型封装驱动,并控制本地或云端 Browser。代理能够打开网页、执行多步骤操作,并通过运行历史的 final_result() 返回最终结果;README 展示了查询仓库星标和预约驾驶考试等流程。开发者可以通过 Tools 注册自定义动作,也可以采用结构化输出、定制系统提示以及复用浏览器身份资料。部署边界可按需要选择:自行运行代理与浏览器、只将浏览器托管到云端,或把代理和浏览器都交给全托管服务。
本地 Python 流程先从 .env 加载凭据,再用模型封装和自然语言任务构造 Agent。调用 await agent.run() 后,代理启动或连接 Browser,访问网络并完成网页交互,随后从执行历史的 final_result() 取回结果。Browser(use_cloud=True) 可改用云浏览器;Browser.from_system_chrome() 可复用本机 Chrome 配置,云端还可通过 cloud_profile_id 使用同步的 cookie。开发者能用 @tools.action 把 Python 函数注册到 Tools,再传入 Agent 扩展操作范围。CLI 路径则通过 browser-use skill install 为 Codex、Claude Code、Hermes、OpenClaw 等现有代理注册浏览器能力;全托管 Cloud API 接收任务并运行代理、浏览器及相关基础设施。
- 需要自动完成预约流程的运营团队,可让代理查找可用时段、选择日期和时间,并提交网页操作;示例包含驾驶考试预约。
- 已有 Codex 或 Claude Code 工作流的开发者,可安装 CLI skill,让现有代理获得浏览器访问能力。
- 构建 Python 应用的工程师,可将
Agent嵌入代码,选用自己的模型,并从final_result()获取任务结果。 - 需要登录态自动化的团队,可复用本机 Chrome 配置,或把 cookie 同步到带
cloud_profile_id的云浏览器。 - 需要规模化运行网页任务的团队,可选择全托管 Cloud API,由服务负责代理、浏览器、录制、身份资料和数据策略基础设施。
- 需要业务专用能力的开发者,可通过
Tools注册 Python 函数,例如向代理提供当前 UTC 时间。
如何安装或部署这个 Agent?
Python 库要求 Python 3.11 或更高版本。README 建议新项目使用 Python 3.12,并通过 uv 安装:
uv init --python 3.12
uv add browser-use在项目的 .env 中配置 OpenAI 凭据;如需 BU2 模型或云浏览器,再配置 Browser Use API 密钥:
# .env
OPENAI_API_KEY=your-key
# BROWSER_USE_API_KEY=your-key # Optional: BU2 model or cloud browser若要给 Codex、Claude Code、Hermes、OpenClaw 或其他现有代理安装 CLI 路径,README 提供的操作是:先用 uv 将 browser-use 安装或升级到最新稳定版并使用 Python 3.12,然后运行:
browser-use skill install该 CLI 路径还需要连接浏览器;来源没有给出更细的逐条连接命令。
如何使用这个 Agent?
保存以下内容为 agent.py。它使用 OpenAI 模型运行一个查询 GitHub 仓库星标数的浏览器任务:
import asyncio
from browser_use import Agent, Browser, ChatBrowserUse, ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
async def main():
llm = ChatOpenAI(model='gpt-5.6-luna', reasoning_effort='xhigh')
# llm = ChatBrowserUse(model='bu-2-0') # Use BU2 instead; requires BROWSER_USE_API_KEY
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=llm,
# browser=Browser(use_cloud=True), # Use a cloud browser; requires BROWSER_USE_API_KEY
)
history = await agent.run()
print(history.final_result())
if __name__ == "__main__":
asyncio.run(main())运行脚本:
uv run agent.py若要使用 BU2,把 ChatOpenAI 一行替换为示例中注释掉的 ChatBrowserUse(model='bu-2-0');若要使用云浏览器,启用 Browser(use_cloud=True)。两者都需要 BROWSER_USE_API_KEY,但云浏览器可与任一模型配合。
这个 Agent 有哪些优点和局限?
- 同一项目提供全托管 API、面向现有代理的 CLI 和可嵌入的 Python 库,可在托管便利性与自主管理之间选择。
- 模型路径较灵活:既可使用 BU2,也明确支持 OpenAI、Anthropic 和 Google 的直接封装,以及 Browser Use 网关中的带提供商前缀模型。
- 本地浏览器与云浏览器均有明确路径,并提供 Chrome 配置复用、云端 cookie 身份资料、录制、隐身浏览器和代理等选项。
Tools、结构化输出以及系统提示扩展或覆盖机制,使应用能够加入业务专用动作和输出约束。- Python 库采用 MIT 许可证,可自行托管代理和浏览器。
- Python 库要求 Python 3.11 以上,示例工作流还依赖
uv、环境文件、模型凭据和可用浏览器。 - 开源库免费不代表完整运行免费;模型推理、
ChatBrowserUse和 Browser Use Cloud 均可能按用量收费。 - 云浏览器、BU2、云身份资料等功能依赖
BROWSER_USE_API_KEY,采用这些功能会增加对 Browser Use 托管服务的依赖。 - 身份资料同步只传输 cookie,不包括 local storage、IndexedDB 或扩展,因此部分网站仍需重新登录。
- 隐身浏览器和代理只能降低检测或 CAPTCHA 挑战,文档明确表示无法保证解决或避开每个 CAPTCHA。
这个 Agent 与同类方案有什么区别?
全托管 Cloud 适合希望通过 API 提交任务、并把代理和浏览器基础设施一并交由服务运行的团队。CLI 适合已经使用 Codex、Claude Code、Hermes、OpenClaw、Pi 或 Cursor,只想为现有代理增加浏览器访问的用户。Python 库适合需要自定义工具、结构化输出和模型选择,并希望把代理嵌入自己应用的开发者;它与 CLI 都可连接本地或云端浏览器。模型方面,项目推荐针对浏览器自动化优化的 BU2,但也提供 OpenAI、Anthropic 和 Google 等提供商路径,选择需权衡任务效果、延迟和预算。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Browser Use 当前 | 47 · 缺口较多 | 云服务 / SaaS免费版 + 付费版 | ★ 120k | 今天 | Python | Codex · Claude Code · OpenAI API · Claude API |
| WebArena:真实网页环境代理基准 | 39 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.6k | 11 个月前 | Python | — |
| Opensteer | 49 · 缺口较多 | 命令行工具免费 | ★ 205 | 今天 | TypeScript | — |
| Obscura 无头浏览器 | 75 · 表现良好 | 命令行工具免费 | ★ 30k | 1 天前 | Rust | Claude.ai |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目提供CLI和Python库,允许用户自定义工具和LLM,但未明确实现最小权限原则;用户确认机制缺失,没有看到任何用户确认步骤;数据流透明度有限,README提到遥测但未详细说明数据流向;敏感数据处理方面,README提到处理认证和CAPTCHA,但未说明如何保护敏感数据;依赖安全性方面,pyproject.toml固定了依赖版本,但未提供漏洞扫描或安全审计证据;外部影响方面,项目能自动执行浏览器操作,但未明确限制或警告;回滚机制未提及;来源归属方面,README和pyproject.toml提供了作者信息,但发布者未验证。扣分原因:缺少用户确认、回滚机制,数据流和敏感数据处理说明不足。
证据显示:项目内部一致性较好,README、pyproject.toml和测试文件相互对应;依赖可用性方面,依赖列表完整且固定版本,但未提供依赖可用性保证;失败消息方面,测试文件中有错误处理,但未提供用户友好的失败消息。扣分原因:失败消息设计未充分展示。
证据显示:README明确区分了CLI和Python库的使用场景,适合不同受众;能力边界方面,README说明了CLI和库的适用场景,但未明确限制;触发精度方面,CLI通过命令触发,但未详细说明触发条件;环境适配方面,pyproject.toml支持多平台,但未提供详细的系统要求。扣分原因:触发精度和系统要求说明不足。
证据显示:信息架构清晰,README结构良好;安装说明详细,提供了多种安装方式;命名稳定性方面,项目提供了多个CLI别名,但未说明命名稳定性;示例和FAQ丰富,提供了多个使用案例;已知限制方面,README提到生产环境的内存问题,但未全面列出;许可证为MIT,清晰;版本和变更日志方面,pyproject.toml有版本号,但未提供变更日志;维护责任方面,README提供了作者和社区链接。扣分原因:缺少变更日志和全面的已知限制。
证据显示:输出可用性方面,README展示了多种输出格式(如CSV、表格);边际价值方面,项目提供了独特的浏览器自动化能力;成本效益方面,README提到免费开源,但未提供详细的成本分析。扣分原因:成本效益分析不足。
证据显示:README中的声明(如基准测试)未提供具体数据来源;跨来源验证方面,README提到基准测试和排行榜,但未提供链接;事实与推断分离方面,README将事实和营销语言混合。扣分原因:声明缺乏可追溯性,事实与推断未清晰分离。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 发布者身份未验证,需谨慎对待。
- 缺少用户确认机制,自动化操作可能带来风险。
- 数据流和敏感数据处理说明不足,需进一步审查。
- 依赖版本固定但未提供安全审计,需关注依赖漏洞。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
0.13.14 0.13.14: Python agent and integration updates
发布说明摘录
This release keeps the Python agent and its existing models. The Pi migration remains separate. Changes since the last PyPI release: - Add OpenAI browser tools and the shared Bash helper. - Improve bounded page observations, form state, file access, and browser recovery. - Fix temporary empty Cloud tab URLs. - Keep screenshots, crops, and clicks aligned on scaled displays. - Clean up failed browser reconnect initialization. - Improve missing-key errors for Cloud browsers. - Support Browser Use Cloud SDK V4 imports. - Update aiohttp from 3.14.3 to 3.14.5. …在 GitHub 查看 ↗ -
0.13.13 0.13.13: OpenAI browser tools and Cloud fixes
发布说明摘录
This release includes the OpenAI browser-tool driver and fixes two integration issues. - Handle temporary empty Cloud tab URLs during navigation. - Keep screenshots, crops, and pointer coordinates aligned on scaled displays. - Provide 18 default browser tools and six optional actions through Browser Use Actor. - Support local browsers, Browser Use Cloud, and borrowed browser sessions. Install the openai-tools extra with OpenAI Python 3.31+. OpenAI 3.x uses httpx2; use its DefaultAsyncHttpxClient for custom HTTP clients. …在 GitHub 查看 ↗ -
0.13.12 0.13.12: OpenAI browser tools
发布说明摘录
Add OpenAI browser tools backed by Browser Use Actor. - Import BrowserUse from browser_use.integrations.openai. - Install browser-use[openai-tools] to enable OpenAI Python 3.31+. - Use local browsers, Browser Use Cloud, or an existing connected BrowserSession. - Support the 18 default browser tools and six optional actions. - Preserve borrowed browser ownership and check Cloud browser cleanup. - Preserve URL and timeout settings across OpenAI 2.x and 3.x model wrappers. OpenAI 3.x uses httpx2. For custom HTTP clients, use OpenAI's DefaultAsyncHttpxClient. …在 GitHub 查看 ↗
常见问题
可以免费使用吗?
ChatBrowserUse 和 Browser Use Cloud 的推理或托管浏览器用量可能收费;也可以在硬件和模型条件允许时使用本地浏览器及 Ollama 本地模型。必须使用 Browser Use 的模型或云服务吗?
ChatOpenAI、ChatAnthropic、ChatGoogle 等封装直接连接提供商,也可使用本地浏览器。BU2 和云浏览器属于需要 BROWSER_USE_API_KEY 的可选路径。如何处理需要登录的网站?
Browser.from_system_chrome() 复用 Chrome 配置。云端模式可先同步配置,再通过 Browser(use_cloud=True, cloud_profile_id='your-profile-id') 使用;同步仅覆盖 cookie,某些网站仍可能要求重新登录。