Appearance
Browser Harness - 让 AI Agent 直接操控浏览器的自愈式工具
是什么
Browser Harness 是 Browser Use 团队推出的极简浏览器操控工具,通过 Chrome DevTools Protocol(CDP)给 AI Agent 直接的浏览器控制权,让代理在面对缺失功能时能自己编写代码补全。
- GitHub: github.com/browser-use/browser-harness
- 官网: browser-harness.com
- 开发团队: Browser Use(browser-use.com)
- 定位: 极简 CDP 浏览器代理工具(Self-healing browser harness)
- 核心理念: "不要给 LLM 套上层抽象,让它直接操作底层协议"
不是什么
- 不是 Playwright 或 Selenium 的替代(它们封装 API,Harness 直接暴露 CDP)
- 不是浏览器本身(是一个连接 AI 代理和 Chrome 的薄层)
- 不是传统的自动化测试框架(专为 AI 代理设计,非人类测试人员)
解决啥
| 痛点 | 方案 |
|---|---|
| 浏览器自动化框架层层抽象,限制 LLM 能力 | 直接暴露 CDP,LLM 能调用任何 Chrome 原生功能 |
| 遇到框架未预见的操作场景就卡住 | 代理可以自己写缺失的函数,实现"自愈" |
| iframe、Shadow DOM 等复杂 DOM 结构难处理 | CDP 直接操作,无需繁琐的跨框架抽象 |
| 反爬检测越来越严 | Chrome 自己和自己通信,最自然的浏览器行为模式 |
| 需要维护各种 crash handler 和 watchdog | 代理自己读错误、重新连接、重试 |
好在哪
| 能力 | 说明 |
|---|---|
| 极简架构 | 仅 4 个文件、约 600 行 Python |
| 直接 CDP | 不走任何框架封装,Chrome 原生协议直连 |
| 自愈能力 | 函数缺失时,代理自动写代码补全 |
| 跨域 iframe | 直接 attach 到 target,无需抽象层 |
| Shadow DOM | 直接 shadowRoot.querySelectorAll |
| 抗检测 | Chrome 自身通信,行为最自然 |
| 支持多 Agent | Claude Code、Codex、Copilot 等 |
四个文件组成整个项目
| 文件 | 行数 | 作用 |
|---|---|---|
run.py | 13 | 运行 Python 并预加载 helpers |
helpers.py | 192 | CDP 的薄封装(代理可修改) |
daemon.py | 220 | 保持 CDP WebSocket 存活 |
SKILL.md | 文档 | 告诉代理如何使用以上文件 |
自愈循环示例
代理需要上传文件 → 发现 upload_file() 不存在 → 搜索 helpers.py → 写入函数(+7 行)→ 文件上传成功。
开发者甚至是通过 git diff 才发现代理自己添加了这个功能。更夸张的是,upload_file 写完后遇到 12MB 大文件(CDP WebSocket 传输限制 ~10MB),代理读到错误后又自动切换成分块上传模式。
怎么跑
安装
bash
git clone https://github.com/browser-use/browser-harness.git
cd browser-harness
使用(以 Claude Code 为例)
在 Claude Code 中执行:
Set up https://github.com/browser-use/browser-harness for me.
架构流程
Agent(Claude Code / Codex)
↓ 写 Python 代码
run.py(执行 Python,预加载 helpers)
↓
helpers.py(薄封装 CDP,代理可编辑)
↓
daemon.py(保持 CDP WebSocket)
↓
Chrome DevTools Protocol
↓
Chrome 浏览器
所有在 Chrome 以上的层,都是可重写的。代理觉得哪个函数不够好,直接编辑 helpers.py。
真实案例
Gusto → 日历: 从 Gusto 员工页面提取生日数据 → 创建 Google Calendar 事件,全自动完成。
Azure 管理后台: Azure 的管理门户是层层嵌套的 iframe 结构,通过 CDP 的坐标级鼠标事件 Input.dispatchMouseEvent 直接穿透。
怎么用
- AI Web 代理: 让 Claude Code / Codex 直接操控浏览器完成复杂 Web 任务
- 自动化测试: 替代 Playwright,让 AI 自我修复测试脚本
- 数据采集: 绕过反爬机制,Chrome 自己和自己对话
- QA 探索测试: 用 AI 做探索性质量保证测试
- RPA 替代: 传统 RPA 工具太笨重,用 AI Agent + CDP 更灵活
延伸: Browser Harness 是 Browser Use 生态的一部分,还可以配合 Browser Use Cloud(带隐身浏览器、代理、验证码解决)、Browser Use Box(24/7 远程代理)等企业级服务使用。
by 文殊