前言¶
让模型去网页上点按钮、填表单、抓数据,是常见的一类需求。手写 Playwright 脚本要维护选择器、处理异步加载、保存登录态,工作量大且脆。Browser Use 的思路是把「下一步做什么」交给 LLM 推理,由库去驱动浏览器执行,开发者只需要描述任务目标。
下面介绍的 Browser Use AI Browser Automation Library,是在 SkillHub 上由社区发布者 user_3c6cb52e 打包的 skill,封装的是开源项目 Browser Use。它面向的就是「导航网站、填表、抽取结构化数据、跑带截图和有状态会话的浏览器工作流」这类任务。
这是什么¶
一句话定位:一个开源的浏览器自动化库 + Agent Skill,把 LLM 推理连接到真实的浏览器操作上,让你用自然语言描述任务,由模型决定点击、输入、滚动和提取。
- 出品/维护:底层 Browser Use 是开源项目(Python / TypeScript),SkillHub 上这个
Browser Use AI Browser Automation Library由社区发布者user_3c6cb52e维护,坐标@user_3c6cb52e/browser-use-ai-browser-automation-library,版本 1.0.0,来源标记为community。 - 解决什么问题:省掉手写选择器、等待、登录态恢复的胶水代码,让 agent 自己规划浏览器操作序列。
- SkillHub 元数据:分类
ai-agent,标签requires_api_key=false(基础使用不强依赖额外 API key),页面显示评分 100000、下载 896。
核心功能¶
只写已核实到的能力:
1、任务驱动的浏览器操作。用一段自然语言 task 描述目标,Agent 自主决定导航、点击、输入、滚动等步骤。
2、多步网页交互。可完成「找到可约时段、选日期、处理验证码、预约驾驶考试」这类多步流程。
3、结构化数据提取。把页面内容交给模型整理后返回,而不是只丢 HTML。
4、有状态会话与截图。支持复用浏览器会话、保留登录态,并可在云端浏览器上获得实时查看 URL。
5、本地与云端两种驱动。本地接 Chrome/Chromium 的 CDP 端点,也可切换到 Browser Use Cloud 的托管浏览器(含 stealth、住宅代理、验证码处理)。
6、CLI 与 Python 库两种入口。既可作为 skill 在 agent 里调用,也可在 Python 代码里直接 Agent(...).run()。
说明:SkillHub 简介把底层描述为「由 Playwright 驱动」;仓库当前 CLI 实现直接通过 CDP 控制本地 Chrome,并支持云端浏览器。两者指的是同一套 Browser Use 能力的不同接入方式。
安装与启用¶
作为 Python 库安装¶
需要 Python >= 3.11(官方推荐 3.12),用 uv 管理。这一步装的是开源库本体。
uv init --python 3.12 # 新项目先初始化
uv add browser-use # 安装库
配置环境变量¶
基础用例接 OpenAI 模型;若要接 Browser Use 自家的 BU2 模型或云端浏览器,再填 BROWSER_USE_API_KEY。
# .env
OPENAI_API_KEY=your-key
# BROWSER_USE_API_KEY=your-key # 可选:BU2 模型或云端浏览器
作为 Agent Skill 启用¶
官方 README 给出的 CLI 安装方式,是把 prompt 贴给 agent(Claude Code、Codex、Hermes、OpenClaw 等),让 agent 自己装并注册 skill:
Install or upgrade browser-use to the latest stable version with uv using Python 3.12,
run `browser-use skill install` to register the skill, and connect it to my browser.
If setup or connection fails, follow https://github.com/browser-use/browser-harness/blob/main/install.md.
SKILL.md 的 install 声明要求 browser-use 这个可执行文件,通过 uv 安装 browser-use 包提供。在 SkillHub 上使用时,按平台方式加载该 skill 即可,无需再改底层安装。
典型用法¶
Python 库:本地浏览器跑一个任务¶
保存为 agent.py,运行后 agent 会打开浏览器、访问目标仓库、把结果打印出来。
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') # 可选:用 BU2;需要 BROWSER_USE_API_KEY
agent = Agent(
task="Find the number of stars of the browser-use repo",
llm=llm,
# browser=Browser(use_cloud=True), # 可选:云端浏览器;需要 BROWSER_USE_API_KEY
)
history = await agent.run()
print(history.final_result())
if __name__ == "__main__":
asyncio.run(main())
运行:
uv run agent.py
要切到云端浏览器,取消上面 browser= 那行的注释、在 .env 填好 BROWSER_USE_API_KEY 再跑即可,代码不变。云端按 $0.02/browser-hour 计费,另加网络流量。
CLI:直接在终端驱动浏览器¶
skill 的官方 SKILL.md 提供 heredoc 用法,helper 已预导入,通过本地 daemon 复用 Chrome 的一个标签页。
browser-use <<'PY'
print(page_info())
PY
注意:任务里第一次导航用 new_tab(url),不要每个脚本都 new_tab();daemon 会跨调用保留标签页,复用时用 switch_tab()。
适用场景与注意¶
适合:需要交互(点击/输入/跳转)的网页任务、依赖登录态的抓取、JS 渲染或带反爬的页面、多步流程自动化,以及想在本地代码里调用 agent 的场景。
不建议:只是抓公开信息或 API 能拿到的数据,直接用 HTTP 请求即可,SKILL.md 明确说这类情况不必启动浏览器。
几个坑:
1、本地 Chrome 需要开启远程调试;连不上时先跑 browser-use --doctor 诊断。
2、macOS 首次授权远程调试时,原命令保持运行,另开一个终端跑 mac-approve(保留原 BU_NAME)。
3、多个 agent 共享本地 daemon 时,浏览器操作要串行;真要并行交互,用云端浏览器隔离。
4、云端浏览器按 browser-hour 计费,长跑任务要算成本。
5、SkillHub 上该 skill 标注 requires_api_key=false,但实际使用是否产生 API 费用取决于你接的模型(OpenAI key 或 Browser Use Cloud key)。
结尾¶
这个 skill 的价值在于:把浏览器操作从「写脚本」变成「描述任务」,底层复用开源 Browser Use 的 Agent、CDP 控制和云端浏览器能力。适合已经在做 agent 工作流、需要稳定网页操作的开发者。
官方地址:https://api.skillhub.cn/user_3c6cb52e/browser-use-ai-browser-automation-library
底层项目:https://github.com/browser-use/browser-use