95 lines
5.0 KiB
Markdown
95 lines
5.0 KiB
Markdown
<!-- WEHUB_ZH_README -->
|
||
> [!NOTE]
|
||
> 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
|
||
> [English](./README.en.md) · [原始项目](https://github.com/browser-use/browser-harness) · [上游 README](https://github.com/browser-use/browser-harness/blob/HEAD/README.md)
|
||
> 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
|
||
|
||
<img src="https://raw.githubusercontent.com/browser-use/media/main/browser-harness/banner-ink.svg" alt="Browser Harness" width="100%" />
|
||
|
||
# Browser Harness ♞
|
||
|
||
通过轻量、可编辑的 CDP(Chrome DevTools Protocol)harness,将 LLM 直接连接到真实浏览器。适用于需要**完全自主**的浏览器任务。
|
||
|
||
一条 WebSocket 直连 Chrome,中间无额外层。代理在运行过程中补写缺失部分,harness 在每次运行后自我改进。
|
||
|
||
在 [Browser Use Cloud](https://cloud.browser-use.com/v4?utm_campaign=browser-harness-use-in-cloud&utm_source=github) 试用 browser-harness,或将设置提示词粘贴到你的编程 agent 中。
|
||
|
||
```
|
||
● agent: wants to upload a file
|
||
│
|
||
● agent-workspace/agent_helpers.py → helper missing
|
||
│
|
||
● agent writes it agent_helpers.py
|
||
│ + custom helper
|
||
✓ file uploaded
|
||
```
|
||
|
||
**你将再也不想亲手操作浏览器了。**
|
||
|
||
## 设置提示词
|
||
|
||
粘贴到 Claude Code 或 Codex 中:
|
||
|
||
```text
|
||
Install or upgrade browser-harness to the latest stable version with uv using Python 3.12, register the skill from `browser-harness skill`, and connect it to my browser. Follow https://github.com/browser-use/browser-harness/blob/main/install.md if setup or connection fails.
|
||
```
|
||
|
||
代理会打开 `chrome://inspect/#remote-debugging`。勾选复选框,以便代理连接到你的浏览器:
|
||
|
||
<img src="docs/setup-remote-debugging.png" alt="远程调试设置" width="520" style="border-radius: 12px;" />
|
||
|
||
当出现每次附加时的弹出窗口时点击 Allow(Chrome 144+):
|
||
|
||
<img src="docs/allow-remote-debugging.png" alt="允许远程调试弹出窗口" width="520" style="border-radius: 12px;" />
|
||
|
||
查看 [agent-workspace/domain-skills/](agent-workspace/domain-skills/) 获取示例任务。
|
||
|
||
## 免费的 Browser Use Cloud 浏览器
|
||
|
||
隐身模式、子 agent 或无头部署。<br>
|
||
**Browser Use Cloud 免费层:3 个并发浏览器、代理、captcha 破解等。无需信用卡。**
|
||
|
||
- 在 [cloud.browser-use.com/new-api-key](https://cloud.browser-use.com/new-api-key) 获取密钥
|
||
- 或让 agent 通过 [docs.browser-use.com/llms.txt](https://docs.browser-use.com/llms.txt) 自行注册(包含设置流程与挑战上下文)。
|
||
|
||
## 架构(4 个核心文件约 1k 行)
|
||
|
||
- `install.md` — 首次安装与浏览器引导
|
||
- `SKILL.md` — 日常使用
|
||
- `src/browser_harness/` — 受保护的核心包
|
||
- `${XDG_CONFIG_HOME:-~/.config}/browser-harness/agent-workspace/agent_helpers.py` — 由 agent 编辑的辅助代码
|
||
- `${XDG_CONFIG_HOME:-~/.config}/browser-harness/agent-workspace/domain-skills/` — 由 agent 编辑的可复用站点专属技能
|
||
|
||
普通的 `browser-harness` 辅助调用会附加到正在运行的 Chrome/Chromium CDP 端点。如需隔离式自动化,请自行使用 `--remote-debugging-port` 启动 Chrome 并传入 `BU_CDP_URL`,或使用 Browser Use 云浏览器。
|
||
|
||
## 开发
|
||
|
||
从 checkout 出发,使用 `./browser-harness` 运行当前工作树,无需激活 virtualenv 或依赖全局安装的命令:
|
||
|
||
```bash
|
||
./browser-harness <<'PY'
|
||
print(page_info())
|
||
PY
|
||
```
|
||
|
||
面向 agent 的常规文档应继续使用 `browser-harness`;`./browser-harness` 启动器仅用于本地仓库测试。
|
||
|
||
## 贡献
|
||
|
||
欢迎 PR 与改进。最佳帮助方式:在 [agent-workspace/domain-skills/](agent-workspace/domain-skills/) 下**贡献新的 domain skill**,针对你常用的站点或任务(LinkedIn 外联、Amazon 下单、报销等)。每个 skill 会教会 agent 选择器、流程与边界情况,否则它需要重新摸索。
|
||
|
||
- **Skill 由 harness 编写,而非由你手写。** 只需用 agent 运行你的任务——当它弄清某些非显而易见之事,会自行归档 skill(见 [SKILL.md](SKILL.md))。请勿手写 skill 文件;agent 生成的才反映浏览器中真正有效的做法。
|
||
- 将生成的 `domain-skills/<site>/` 文件夹复制到本仓库的 `agent-workspace/domain-skills/` 示例中并开启 PR——小而聚焦最佳。
|
||
- Bug 修复、文档微调与辅助代码改进同样欢迎。
|
||
- 浏览现有 skill(`github/`、`linkedin/`、`amazon/`、...)了解其形态。
|
||
|
||
若不确定从哪入手,请开 issue,我们会指引你有用之处。
|
||
|
||
## Domain skills(领域技能)
|
||
|
||
设置 `BH_DOMAIN_SKILLS=1` 以启用来自 agent workspace 的 domain skill。本仓库的 [agent-workspace/domain-skills/](agent-workspace/domain-skills/) 目录包含可通过 PR 贡献的示例。
|
||
|
||
---
|
||
|
||
[The Bitter Lesson of Agent Harnesses](https://browser-use.com/posts/bitter-lesson-agent-harnesses) · [Web Agents That Actually Learn](https://browser-use.com/posts/web-agents-that-actually-learn)
|