跳转到主要内容

前置要求

  • Python 3.11+
  • Node.js 18+(仅 Agent-TARS 需要)
  • uv(推荐的 Python 包管理器)

安装

1

克隆仓库

git clone https://github.com/lexmount/browseruse-bench.git
cd browseruse-bench
2

安装 Python 依赖

# 安装核心依赖并注册 bubench CLI
uv sync
激活 venv,确保 bubench 可用:
source .venv/bin/activate
Windows PowerShell:
.venv\Scripts\Activate.ps1
bubench run 会在首次运行时创建 config.yaml 中指定的 venv(内置默认: .venvs/browser_use.venvs/skyvern.venvs/agent_tars),并自动安装对应 Agent 的依赖。 Agent 的 venv 必须显式配置(不会回退到 .venv)。 如果未安装 uv,创建/安装会退回到 python -m venvpip
3

配置环境变量 (.env)

cp .env.example .env
编辑 .env,填写评估与可选云端配置:
# 评估(eval.py 必需)
OPENAI_API_KEY=your_openai_api_key
EVAL_MODEL_NAME=gpt-4.1
EVAL_MODEL_BASE_URL=https://api.openai.com/v1

# Lexmount 云浏览器(可选)
LEXMOUNT_API_KEY=your_lexmount_api_key
LEXMOUNT_PROJECT_ID=your_project_id

# AgentBay 云浏览器(可选,仅 BROWSER_ID=agentbay 时使用)
AGENTBAY_API_KEY=your_agentbay_api_key
提示: 国内用户可以设置 HF_ENDPOINT=https://hf-mirror.com 以加速 HuggingFace 下载。
4

配置 Agent 凭据

cp configs/agents/browser-use/config.yaml.example configs/agents/browser-use/config.yaml
cp configs/agents/Agent-TARS/config.yaml.example configs/agents/Agent-TARS/config.yaml
说明:
  • configs/agents/browser-use/config.yaml 需要填写 MODEL_TYPEMODEL_ID,以及对应的 API Key(BROWSER_USE_API_KEY/OPENAI_API_KEY/GEMINI_API_KEY)。
  • BROWSER_ID=agentbay 时,AGENTBAY_API_KEY 需要放在 .env 中(不要写入 config.yaml)。
  • configs/agents/Agent-TARS/config.yaml 需要填写 MODEL_PROVIDERMODEL_IDMODEL_APIKEY(必要时再填 MODEL_BASEURL)。
  • Agent 配置文件为纯 YAML,不会自动读取环境变量占位符。
5

安装 Agent-TARS CLI(可选)

npm install -g @agent-tars/cli@0.3.0
6

安装技能包(可选)

bubench skills

快速运行

运行你的第一个 Benchmark

# 运行 LexBench-Browser 前 3 个任务(L1 无需登录)
bubench run \
  --agent browser-use \
  --benchmark LexBench-Browser \
  --split L1 \
  --mode first_n \
  --count 3

快速自检(推荐)

加上 --dry-run 可在不执行任务的情况下检查配置:
bubench run \
  --agent browser-use \
  --benchmark LexBench-Browser \
  --mode single \
  --dry-run

评估结果

# 评估 LexBench-Browser 结果
bubench eval --agent browser-use --benchmark LexBench-Browser

# 使用自定义评分阈值
bubench eval --agent browser-use --benchmark LexBench-Browser --score-threshold 70
日志: 脚本执行日志保存在 output/logs/ 目录下。
  • run.py: output/logs/run/
  • eval.py: output/logs/eval/
  • leaderboard: output/logs/leaderboard/

生成排行榜

# 自动收集所有评估结果,生成 HTML 排行榜
bubench leaderboard

# 启动本地服务器查看
bubench server
# 访问 http://localhost:8000

运行模式

模式说明示例
single运行第一个任务(快速自检)--mode single
first_n运行前 N 个任务--mode first_n --count 5
sample_n随机抽样 N 个任务--mode sample_n --count 10
specific运行指定 ID 的任务--mode specific --task-ids id1 id2
by_id按数值 ID 运行单个任务--mode by_id --id 123
all运行所有任务--mode all
注意: --task-ids 需要以空格分隔多个 ID。

常用参数

bubench run \
  --agent browser-use \
  --benchmark LexBench-Browser \
  --split All \
  --mode first_n \
  --count 5 \
  --timeout 600 \
  --skip-completed \
  --dry-run
其他常用参数:
  • --data-source: localhuggingface
  • --force-download: HuggingFace 模式下强制重新下载。
  • --agent-config: 自定义 Agent 配置文件路径(默认 configs/agents/<agent>/config.yaml)。
  • --timestamp: 指定运行/恢复的目录(格式 YYYYMMDD_HHmmss)。
--timeout 会覆盖 Agent 配置中的 TIMEOUT

并行运行多个 Agents

bubench run 使用 config.yaml 中为 agent 指定的 venv,并在首次运行时自动创建/安装依赖。 内置 agent 默认使用独立 venv:
  • browser-use -> .venvs/browser_use
  • skyvern -> .venvs/skyvern
  • Agent-TARS -> .venvs/agent_tars
如果某个 agent 条目未配置 venvbubench run 会直接报错,不会回退到 .venv 如果需要同时运行互斥的 Agent,可以在两个终端中分别运行各自的 Agent,确保使用不同的 venv。

Node.js Agents(无冲突)

Agent-TARS 通过 Node.js CLI 运行,不与 Python 依赖冲突。 安装 CLI 后可在任意终端运行:
bubench run --agent Agent-TARS ...

下一步

支持的 Agents

了解可用的浏览器代理

Benchmarks 详解

深入了解各个基准测试

云浏览器配置

使用 Lexmount 云浏览器

查看排行榜

对比不同 Agent 的性能