WebsiteBench
让 AI 智能体通过浏览器探索逆向重建整站并量化评分。
- Star 数
- ★ 84
- 最近更新
- 1 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 43/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 研究团队想比较不同浏览器操作型智能体在真实网站重建上的能力差异。
- 不适合
- 想快速上线网站的真实业务团队
- 没有 Docker 与模型 API 密钥的环境
这个 Agent 能做什么,适合哪些场景?
WebsiteBench 是一个面向智能体的网站重建基准:给定一个生产级网站,智能体只能通过浏览器探索它,然后需要产出一个外观与行为尽可能接近的全栈版本。基准包含 70 个网站任务与 46,916 个隐藏测试用例,分布在 Harbor Hub 与 Hugging Face 数据集上,可通过 PyPI 包 websitebench download 下载。执行依赖 Docker 与 Harbor(README 指定 harbor==0.25.0),用 harbor run --dataset websitebench/WebsiteBench@v1 启动,并需放行 snapshot.debian.org、github.com、nodejs.org、registry.npmjs.org 等环境主机。评分时每个任务含 302 至 2,016 个隐藏用例,用例需功能检查通过且每个视觉检查点的归一化 SSIM 达到 0.99 才算通过,任务奖励即通过用例占比,奖励写入 jobs/<job>/<trial>/verifier/reward.txt。代码、任务定义与验证器以 Apache-2.0 发布,参考网站内容仅限非商业研究用途。
运行流程分为三步:智能体在浏览器中探索目标生产网站,反向工程出一个全栈实现,随后由基准的验证器对结果打分。任务通过 harbor run --dataset websitebench/WebsiteBench@v1 或单个 --task websitebench/medium@v1 在 Docker 环境中执行,其中可用 --agent codex --model '<model>' 指定智能体与模型,用 --allow-environment-host 显式放行构建所需的域名。任务本身用 pip install websitebench 安装后由 websitebench download --task medium 下载。每个用例包含功能检查与多个视觉检查点,视觉部分按归一化 SSIM 0.99 判定,最终奖励写入该 trial 的 verifier/reward.txt。使用 --agent oracle 可在正式评测前用参考解自检任务是否可解。
- 研究团队想比较不同浏览器操作型智能体在真实网站重建上的能力差异。
- 模型开发者在发布前用统一隐藏用例集回归测试全栈代码生成与 UI 还原能力。
- 评测负责人需要一份带公开排行榜与可复现命令的基准来发布结果。
- 工程团队想用 --agent oracle 验证自己新增或修改的任务定义是否自洽可解。
- 需要把评测放到云端机器的团队,按 docs/cloud.md 的方式批量运行 70 个任务。
如何安装或部署这个 Agent?
先安装 Docker,然后安装 Harbor 与 websitebench 包。README 指定的 Harbor 版本为 0.25.0:
uv tool install harbor==0.25.0
pip install websitebench安装后需准备模型提供方的 API 密钥,例如:
export OPENAI_API_KEY='<key>'如何使用这个 Agent?
下载任务并在全部 70 个任务上运行一个智能体:
websitebench download --task medium
harbor run --dataset websitebench/WebsiteBench@v1 \
--agent codex --model '<model>' --n-concurrent 1 \
--allow-environment-host snapshot.debian.org \
--allow-environment-host raw.githubusercontent.com \
--allow-environment-host github.com \
--allow-environment-host nodejs.org \
--allow-environment-host registry.npmjs.org只运行单个任务时替换数据集参数:
harbor run --task websitebench/medium@v1 --agent oracle每个 trial 的得分在该任务目录下的 reward.txt 中:
cat jobs/<job>/<trial>/verifier/reward.txt这个 Agent 有哪些优点和局限?
- 评测覆盖 70 个生产级网站与 46,916 个隐藏测试用例,规模足以区分智能体能力差异。
- 同时考核功能检查与视觉 SSIM(0.99 阈值),不是只看页面是否渲染成功。
- 提供 --agent oracle 参考解路径,可在正式评测前自检任务定义。
- 任务可通过 PyPI 包与 Harbor Hub 数据集获取,评测命令可复现、奖励落盘到文件。
- 依赖 Docker 与 Harbor 0.25.0 的固定版本,环境搭建有额外成本。
- 需要放宽网络访问到 snapshot.debian.org、nodejs.org、registry.npmjs.org 等外部域名。
- 必须提供模型 API 密钥,运行 70 个任务会产生实际模型调用费用。
- 参考网站复刻第三方站点,内容仅限非商业研究用途,商业复用受限。
- README 未给出各提供方的适配器清单,非 README 示例中的智能体与模型需自行确认。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| WebsiteBench 当前 | 43 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 84 | 1 天前 | Python | — |
| Open Operator Evals | 29 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 47 | 1 年前 | Python | — |
| SWE-Bench Pro | 55 · 缺口较多 | 命令行工具免费 | ★ 557 | 1 个月前 | Python | — |
| Chrome DevTools MCP | 79 · 存在缺口 | MCP 服务器免费 | ★ 55k | 1 天前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
least_privilege:CI 工作流显式声明 permissions: contents: read,发布流程使用 PyPI Trusted Publishing 且不存 token,mailpit 容器 network_mode: none 并禁用外部请求,属于良好实践,但 README 的 harbor run 需要 --allow-environment-host 放行多个外部主机,且未说明沙箱边界,故仅给 1。user_confirmation:README 直接要求 export OPENAI_API_KEY 并运行,无任何确认或提示机制,给 0。data_flow_transparency:仅说明任务来自 Harbor Hub/Hugging Face 并需下载,未描述数据流向或密钥使用范围,给 1。sensitive_data_handling:任务涉及 1password 导入等敏感场景,但仓库未见对凭据处理的说明,仅 mailpit 配置体现一定隔离,给 1。dependency_security:harbor 精确锁定 0.25.0,mailpit 镜像使用 sha256 摘要固定,发布工作流 action 固定到 commit SHA,表现较好;但 huggingface-hub 仅下限约束,故给 2。external_effects:运行会拉取外部主机、下载数据集并构建容器,README 未说明这些副作用的影响范围或清理方式,给 1。rollback:未见任何回滚、清理或恢复机制说明,给 0。source_attribution:LICENSE 与 NOTICE 齐全,README 明确第三方网站内容归属及非商业研究用途,并给出引用格式,给 2。
README 的安装、运行、评分描述与 pyproject 依赖、CI 步骤基本一致(harbor==0.25.0、websitebench CLI、reward.txt 路径),未见明显矛盾,给 2。dependency_availability:依赖 harbor==0.25.0 与 huggingface-hub>=1.0 可从 PyPI 获取,但 Python 版本限定 >=3.12,<3.15 较窄,且依赖外部 Harbor Hub 数据集可用性,未提供离线或镜像方案,给 1。failure_messages:CI 中有版本标签校验并输出 ::error::,但面向用户的运行失败提示、常见错误处理在可见文件中缺失,给 1。
README 明确面向研究者与 agent 开发者,提供单任务、全量、云端运行多种场景,给 2。capability_boundaries:描述了任务规模与评分标准,但未说明 agent 能力边界、不支持的情形或适用范围限制,给 1。trigger_precision:CLI 命令与 --task/--dataset 参数较明确,但缺少参数完整说明与错误输入处理,给 1。environment_fit:要求 Docker、Harbor、特定 Python 版本及多个放行主机,环境适配要求较高且说明有限,给 1。
README 有清晰导航、徽章、章节划分,并链接 docs 目录,结构良好,给 2。install_notes:给出 pip 安装、uv tool 安装 harbor、Docker 前置条件,安装说明较完整,给 2。naming_stability:包名 websitebench 与 CLI 一致,但版本 0.0.1 且标注 Beta,命名与接口稳定性无承诺,给 1。examples_and_faq:有运行示例命令,但无 FAQ、无输出示例或故障排查,给 1。known_limitations:仅提及第三方内容非商业用途与 canary GUID,未系统列出已知限制,给 1。license:Apache-2.0 全文完整,pyproject 声明 license 与 license-files,README 说明代码与内容许可区分,给 3。versioning_changelog:版本号 0.0.1,发布流程校验 tag 与版本一致,但无 CHANGELOG 或版本策略说明,给 1。maintenance_responsibility:作者署名为 WebsiteBench Authors,无具体维护者、治理或联系方式说明,发布者身份未经验证,给 1。
评分产出 reward.txt,任务与测试用例规模明确,结果可直接用于比较 agent,给 2。marginal_value:提供 70 个网站、46,916 个隐藏测试用例的基准,对 agent 网页重建评估有明确增量价值,给 2。cost_benefit:运行需 Docker、Harbor、外部主机放行及大量并发任务,成本较高且未给出资源估算或成本说明,给 1。
claim_traceability:README 声称的任务数、测试用例数与评分阈值可在任务定义与文档中追溯,但可见文件未展示具体任务内容或验证脚本细节,给 1。cross_source_corroboration:README、pyproject、CI 与任务 docker-compose 之间在依赖版本与流程上相互印证,但缺少独立第三方佐证,给 1。fact_inference_separation:文档区分了代码许可与第三方内容许可,并标注 canary GUID,但部分能力描述(如评分严格性)缺少证据支撑,给 1。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 运行需放行多个外部主机并下载数据集,README 未说明沙箱边界与清理方式,存在外部副作用风险。
- README 直接要求设置 OPENAI_API_KEY 并运行,无确认或密钥使用范围说明。
- 任务涉及 1password 等敏感场景,但仓库未见凭据处理与数据流说明。
- 版本 0.0.1 且标注 Beta,无 CHANGELOG 与稳定性承诺,接口可能变动。
- 发布者身份未经验证,维护责任与联系方式不明确。
- 运行成本较高(Docker、Harbor、大量并发任务),缺少资源与成本估算。