侧边栏壁纸
博主头像
街角的书报亭 博主等级

偷得浮生半日闲

  • 累计撰写 3 篇文章
  • 累计创建 2 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
AI

Browser Use安装测试

xuanmiss
2025-02-20 / 0 评论 / 2 点赞 / 15 阅读 / 0 字

介绍:
Browser Use是将 AI 代理与浏览器连接的最简单方法。它通过为浏览器自动化提供强大而简单的界面,使 AI 代理可以访问网站。

参考资料

github地址:

  1. browser-use 命令行版本:browser-use/browser-use: Make websites accessible for AI agents
  2. browser-use webUI版本:browser-use/web-ui: Run AI Agent in your browser.

使用文档:Introduction - Browser Use

browser-use 命令行版本使用

Quick Start

命令行版本即使用browser-use的python包,在代码demo中定义Agent,并运行。大致步骤如下:

  1. 使用pip安装 browser-use等依赖
  2. 然后在一个自定义demo中使用,调用Agent并运行

新建一个空的python项目 browser-use-demo ,本次测试使用conda的虚拟环境 miss-tols-env 进入项目目录并执行环境安装

$ cd browser-use-demo

$ conda activate miss-tols-env

$ pip install browser-use

$ playwright install 

环境完成初始化之后,创建 .envmain.py 文件。项目结构如下:

# xuanmiss @ miss-pc in E:\code_space\pycharmSpace\local [18:13:57]
$ tree .\browser-use-demo\ /f
文件夹 PATH 列表
卷序列号为 92E2-1B92
E:\CODE_SPACE\PYCHARMSPACE\LOCAL\BROWSER-USE-DEMO
│  .env
│  agent_history.gif
│  main.py
│
├─.idea
│  │  .gitignore
│  │  browser-use-demo.iml
│  │  misc.xml
│  │  modules.xml
│  │  workspace.xml
│  │
│  └─inspectionProfiles
│          profiles_settings.xml
│          Project_Default.xml
│
└─logs
        conversation_10.txt
        conversation_11.txt
        conversation_12.txt
        conversation_2.txt
        conversation_3.txt
        conversation_4.txt
        conversation_5.txt
        conversation_6.txt
        conversation_7.txt
        conversation_8.txt
        conversation_9.txt

(miss-tols-env )

其中 .ideaIDE的工程文件夹,可以忽略,logs 是运行后的日志,后续测试过程中自动生成的。手动创建的只有 .envmain.py

主要代码示例:


import asyncio  
import os  
  
from dotenv import load_dotenv  
from langchain_openai import ChatOpenAI  
from pydantic import SecretStr  
  
from browser_use import Agent  
  
load_dotenv()  

api_key = os.getenv('DEEPSEEK_API_KEY', '')  
if not api_key:  
    raise ValueError('DEEPSEEK_API_KEY is not set')  
  
llm=ChatOpenAI(base_url='https://api.siliconflow.cn/v1', model='deepseek-ai/DeepSeek-R1', api_key=SecretStr(api_key))  

  
async def main():  
  
    agent = Agent(  
        task="打开 'https://xxx.xx.xxx.cn/app/xxxx/account/login' 这个地址。 使用xxxxx/xxxxx登录。找到周重点工作管理菜单并跳转,然后新增一条记录。",  
        llm=llm,  
        # planner_llm=planner_llm,  
        # max_failures=5,        use_vision=False,  
        save_conversation_path="logs/conversation"  # Save chat logs  
        # max_actions_per_step=1,    )  
    result = await agent.run()  
    print(result)  
  
asyncio.run(main())
  1. 模型定义:这里使用硅基流动提供的DeepSeek-R1模型。因为官网暂时关闭了充值入口,这里使用硅基流动的服务,硅基流动
    关于硅基流动服务的详细的使用可以参见使用DeepSeek-R1的免费AI开发助手。更多其他模型的使用,可以参考支持的模型 - 浏览器使用
  2. Agent的定义:这里有很多参数,可以参考文档代理设置 - 浏览器使用 ,demo中配置记录了上下文的日志

运行过程大致如下:

实际的运行过程,会打开浏览器进行相关操作,操作过程中,对页面元素进行定位,然后让大模型根据页面元素生成 Action,交给 Agent执行相关操作,Function Call

过程中的截图如下:

2

评论区