Browser Harness:让大型语言模型自由执行浏览器任务的开源框架
内容评分
摘要
Browser Harness 是一套基于 Chrome DevTools Protocol 的开源工具,去除传统浏览器框架限制,让大型语言模型通过 skill.md 描述的技能自行完成浏览器任务。核心包括后台守护进程、helpers.py 基础库和详细使用手册,能够处理文件弹窗、跨域 iframe 等边缘情况,并已展示 LLM 自动上传文件、运行 Stockfish、玩 Tetris 等案例。相较于其他自动化方案,它提供更透明、可验证的操作接口。
正文
在 Hacker News 上,作者发布了 Browser Harness,一个基于 Chrome DevTools Protocol(CDP)和 WebSocket 的开源库,旨在打破传统浏览器自动化框架对大型语言模型()的限制,使 能够按照自身训练知识自行完成任意浏览器操作。项目核心包括:
- 后台守护进程:维持 CDP 与 WebSocket 连接的常驻服务;
- 基础工具库(helpers.py):提供元素提取、点击、目标管理、错误处理、文件下载、弹窗及跨域 iframe 交互等常用功能;
- skill.md:以可读的 Markdown 形式描述可供 调用的“技能”,并可随需求动态更新对应的 Python 辅助函数。
为解决 Chrome 原生文件弹窗等边缘情况导致的 卡死,作者提供了两种方案:手写专用代码或让 直接使用已实现的工具。实验表明,现代 已能较好理解 CDP,能够自行调用 raw DOM.setFileInputFiles 完成文件上传,展示了模型的自我修正与工具使用能力。
相较于 Playwright MCP、Browser Use CLI、‑Browser、Chrome DevTools MCP 等方案,Browser Harness 通过明确的技能描述让 更精准地判断操作是否成功,避免“点击无效” 的沉默失败。项目已在 GitHub(https://github.com/browser-use/browser-harness)公开,提供完整代码、使用手册以及示例,包括:
- 让 运行 Stockfish 国际象棋引擎;
- 在 Tetris 中打破纪录;
- 用 JavaScript 绘制爱心图案。
作者将这种仅依赖 skill.md 与可热更新的 Python 辅助函数的开发模式称为“ 的扩展语言”或“浏览器任务的定制化框架”。