Browser Use AI Browser Automation Library: LLM-Driven Browser Automation

前言

让模型去网页上点按钮、填表单、抓数据,是常见的一类需求。手写 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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye