Browser Harness 是一个开源的浏览器操控工具,由 Browser Use 团队开发,核心理念是摒弃传统浏览器自动化框架的封装层,让 LLM Agent 直接通过 Chrome DevTools Protocol(CDP)操控浏览器,并在运行过程中自我完善。项目创建于 2026 年 4 月,仅两个多月就在 GitHub 上获得超过 16,000 颗星,反映了开发者社区对「薄封装、高自由度」Agent 工具链的强烈需求。1)
2025 年,Browser Use 团队发表了一篇颇有影响力的文章《The Bitter Lesson of Agent Frameworks》,指出不应用抽象层包裹 LLM,而应给 Agent 最大的行动空间。但团队随后意识到,他们自己的工具——即使摒弃了复杂框架——依然在用 click()、type()、scroll() 等 helper 函数限制 Agent。2)
每一层 wrapper 都是你在替模型做决定。Agent 在训练阶段已经见过数以百万计的 CDP 调用——Page.navigate、DOM.querySelector、Runtime.evaluate——它「知道」如何直接与浏览器对话。
由此诞生了 Browser Harness 的原则:不给 Agent 封装好的 API,只给它一个 WebSocket 连接和修改自己工具链的能力。
Browser Harness 的核心极其精简,仅由四个文件组成:3)4)
全项目约 1000 行 Python 代码,核心依赖仅 4 个:cdp-use、fetch-use、pillow、websockets。5)
架构工作流:Agent 编写 Python 脚本 → run.py 执行 → 调用 helpers.py 中的函数 → 通过守护进程的 CDP WebSocket 发给 Chrome → Chrome 执行动作。这之上的一切(包括 helpers)都是 Agent 可以重写的。
这是 Browser Harness 最独特的特性。当 Agent 需要一个尚不存在的 helper 时——比如需要上传文件但没有 upload_file() 函数——它会像任何一个编程 Agent 那样:搜索 helpers.py,发现缺失,自己写一个,然后继续执行。
团队在博客中分享了一个真实案例:他们在开发过程中忘了添加文件上传功能,结果 Agent 在执行任务时,自己 grep 了 helpers.py,发现没有上传函数,便直接用 DOM.setFileInputFiles 写了上去。更要命的是,当它试图上传一个 12MB 的文件时,遇到了 CDP WebSocket 10MB 的载荷上限,于是又自动改为分块上传模式。6)
Self-healing 的关键在于:Agent 不是从零写代码,而是在现有代码库中补上缺失的函数——这和任何一个 Claude Code 或 Codex 用户日常做的「修 import 错误」没有本质区别。
Browser Harness 和传统的浏览器自动化工具走的是截然不同的路线:
Playwright / Puppeteer(传统路线):
Browser Harness(Agent 优先路线):
需要指出的是,Browser Harness 并非要替代 Playwright 在 QA 测试中的作用——它的目标场景是 AI Agent 驱动的浏览器自动化,而非人类编写的端到端测试。
browser-use(105,000+ stars)是 Browser Harness 的「老大哥」,它仍然走的是传统 Agent 框架路线——提供预定义的工具函数、DOM 索引器和元素提取器。Browser Harness 则更进一步,完全放弃了这些抽象。两者定位不同:browser-use 适合希望「马上能用预设工具」的场景,browser-harness 则适合需要「最大自由度」的高级 Agent 操作。8)
browser-harness-js 是 Browser Harness 的 TypeScript 版本(473 stars),将纯 CDP 理念推到了极致:它甚至没有 click()、goto()、upload_file() 等任何高层方法,只提供 56 个域的 652 个类型化 CDP 调用。Agent 自己决定用哪个 API。9)
Browser Harness 内置了一个「领域技能」系统。当 Agent 完成一个任务后,系统会分析执行轨迹,提取出可复用的操作模式——包括 URL 模式、CSS 选择器、操作步骤——保存为 skill 文件供后续任务直接使用。10)
目前已积累的 domain skills 涵盖 Amazon、GitHub、Bilibili、LinkedIn、IMDb、Wikipedia、Reddit、Yahoo Finance 等数十个常见网站,并且社区持续通过 PR 贡献新的技能。11)
技能系统有两个关键设计:
这套机制形成了一个「Agent 社交网络」——一个 Agent 创建技能,其他 Agent 在使用后留下反馈,系统据此迭代优化。无需 RL 微调,纯靠 Agent 自组织。
最新版本 v0.1.6(2026 年 7 月 17 日发布)新增了浏览器任务录制功能。Agent 可以录制执行过程的真实浏览器帧、点击轨迹、光标移动和键盘输入,然后在任务完成后压缩为带字幕的总结视频,清晰展示每一步的操作和纠错过程。12)
安装极其简单,一条命令即可:13)
uv tool install --python 3.12 --upgrade --force browser-harness
然后在 Chrome 中打开 chrome://inspect/#remote-debugging,勾选「允许远程调试」,再给 Agent 一个设置提示即可连接。
对于需要在云端运行或并发多任务的场景,Browser Use Cloud 提供了免费的托管浏览器(3 个并发实例,无需绑定信用卡)。14)
Browser Harness 在 Hacker News 上获得了 134 分的热度支持15),YouTube 上也有多篇对比评测视频16)17)。项目在 GitHub 上每周约 17 次提交,版本迭代速度较快(v0.1.2 → v0.1.6 在不到一个月内完成),社区参与度高。
Browser Harness 代表了一种新的 AI Agent 工具设计哲学:不给 Agent 预设的 API,而是让它自己决定用什么 API,并在运行中不断完善自己的工具链。 它不适合作为人类 QA 工程师的测试框架,但如果你是正在构建 AI Agent 应用的开发者,希望让 Agent 拥有最大限度的浏览器操控自由,Browser Harness 值得一试。