正在打开工具详情…
正在打开工具详情…
让 AI 像人一样操作浏览器,有 Python 库、CLI 与托管云三条路,Python 库本身 MIT 免费。适合要把重复网页操作自动化的开发者;代价是模型推理与云浏览器另收费,验证码也只能靠云方案缓解。
要把「人要在网页上点十几步」这类重复操作自动化的开发者,以及想给自己的编码代理补上浏览器能力的团队。
指望零成本跑的人——模型推理与云浏览器都按量计费;也不适合任务里必须稳定通过验证码的场景,官方明确不给保证。
Browser Use 做的事是「让代理开浏览器干活」:找可预约的时间段、选日期、处理验证码、完成预订——README 里举的就是这类例子。它有三条路径:完全托管的云、给现有编码代理装浏览器能力的 CLI、以及自己代码里调用的 Python 库。
Python 库是 MIT 且免费的,最小例子很短:uv add browser-use,把 OPENAI_API_KEY 写进 .env,然后 Agent(task=..., llm=ChatOpenAI(...)) 加 await agent.run()。系统提示由 Agent(...) 自动提供,你只管写 task=;要改可以用 extend_system_message,要换用 override_system_message。自定义工具用 Tools() 注册函数传进去。
模型选择上,官方推荐自家的 BU2(ChatBrowserUse(model='bu-2-0'),走 ;也能通过 provider 前缀用 Claude 或 Gemini,或者直接用 / / 带自己的 Key。
BROWSER_USE_API_KEYChatOpenAIChatAnthropicChatGoogle代价讲三点:一是库免费不等于免费跑——模型推理和托管浏览器都按量计费,只有用本地浏览器 + Ollama 本地模型才真正不花钱,但那样能力会弱很多。二是验证码没有保证:官方明说没有哪种浏览器配置能保证躲开或解开所有验证码,云的 stealth 浏览器和代理只是降低概率。三是 Bash 工具需要 Linux / macOS 的 `/bin/bash`,Windows 要走 WSL。另外登录态处理上,本地浏览器可以用 Browser.from_system_chrome() 复用 Chrome profile,云浏览器的 profile 同步只传 cookie,不传 localStorage、IndexedDB 和扩展。
上手步骤之外的具体做法:常见场景怎么配、命令怎么写、报错怎么处理。
按第一次用会卡在哪讲:三条路选哪条、最小可跑的脚本长什么样、模型怎么选、以及登录态与验证码这两个现实约束怎么处理。
同一套东西有三条入口,选错会白装:
| 路径 | 适合谁 |
|---|---|
| 完全托管云 | 只想发任务拿结果,不想管浏览器和基础设施 |
| CLI | 已有编码代理(Claude Code、Codex、Hermes、Cursor 等),想给它开浏览器 |
| Python 库 | 要把浏览器代理嵌进自己的应用,要自定义工具和结构化输出 |
CLI 和 Python 库都能连本地或云浏览器;完全托管的 API 连 agent 一起托管。
bashuv add browser-use # Python >= 3.11.env:
bashOPENAI_API_KEY=your-key
# BROWSER_USE_API_KEY=your-key # 可选:BU2 模型或云浏览器agent.py:
pythonimport asyncio
from browser_use import Agent, Browser, ChatBrowserUse, ChatOpenAI
from dotenv import load_dotenv
load_dotenv()
async def main():
llm = ChatBrowserUse(model='bu-2-0')
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())bashuv run agent.py不用写系统提示。 Agent(...) 自带,换模型也自带。你的任务写在 task= 里就够了。
ChatBrowserUse(model='bu-2-0'),用 BROWSER_USE_API_KEY,专为浏览器任务优化。ChatOpenAI、ChatAnthropic、ChatGoogle。ChatBrowserUse(model='anthropic/claude-sonnet-4-6'),provider 前缀即可。选型看三件事:任务难度、延迟、预算。官方给了 BU2 model card 和支持的模型与定价页做对比。
需要登录的站点,两条路处理不同:
python# 本地:复用你的 Chrome profile
browser = Browser.from_system_chrome()python# 云:用已同步的 profile
browser = Browser(use_cloud=True, cloud_profile_id='your-profile-id')关键差别:profile 同步只传 cookie,不传 localStorage、IndexedDB 和扩展。所以有些站点同步完还是要重新登录,这不是配置错了。
官方 FAQ 的原话是:没有任何浏览器配置能保证每一个验证码都能被避开或解开。
云浏览器提供 stealth 与住宅代理来降低 bot 检测和验证码出现的概率,本地库开云浏览器也只是提高概率。如果你的任务必经验证码,成功率就是不可控的。
Python 库是 MIT、免费。但模型推理和托管浏览器都要钱——包括 ChatBrowserUse 自己的网关。
真正不花钱的组合是:本地浏览器 + 本地模型(官方支持通过 Ollama 接本地模型),代价是能力受硬件和模型限制。Bash 工具还有一条硬要求:需要 Linux 或 macOS 的 /bin/bash,Windows 用 WSL。