1 介绍

  • 原理:基于 Langchain 开发
  • 方法:可以在 Python 程序中调用,或通过脚本使用
  • 运行:运行后,会自动打开浏览器,并进行搜索等操作获得结果
  • 用途:适用于获取实时信息,例如股价、天气等
  • 源码地址: https://github.com/browser-use/browser-use
  • 代码分析:以 Python 为主,目前 5000+ 代码

2 用法

2.1 使用 venv 虚拟环境

1
2
3
4
sudo apt install python3.12-venv
mkdir /exports/env_broswer-use
python3 -m venv /exports/env_broswer-use
source /exports/env_broswer-use/bin/activate

2.2 安装 browser-use

1
2
pip install browser-use
playwright install

2.3 运行 demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# test_browser_use.py

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
import os

os.environ['HTTP_PROXY'] = 'http://192.168.10.165:12346'
os.environ['HTTPS_PROXY'] = 'http://192.168.10.165:12346'
os.environ["OPENAI_API_KEY"] = "sk-xxx"
os.environ["OPENAI_API_BASE"] = "https://api.chatanywhere.org/v1"

async def main():
agent = Agent(
task="Go to Reddit, search for 'browser-use' in the search bar, click on the first post and return the first comment.",

llm=ChatOpenAI(
model="gpt-4o",
openai_api_key=os.getenv("OPENAI_API_KEY"),
base_url=os.getenv("OPENAI_API_BASE")
),
)

result = await agent.run()
print(result)

asyncio.run(main())

3 原理

旨在让大型语言模型(LLM)能够像人类一样自然地浏览和操作网页。

Browser Use 利用浏览器自动化工具(如 Playwright),通过其提供的 API 与浏览器建立连接,发送指令以控制浏览器的行为,例如打开网页、点击按钮、输入文本等。

4 用后感

  • 喜欢的地方:
    • 不再需要知道 API 是由谁提供的,或是怎么用的。理论上,只要是能在网上查到的,都可以直接用来进行交互。
  • 不喜欢的地方:
    • 不能用 Docker 部署
    • 依赖浏览器

5 参考文档