当前位置:首页>python>只有 592 行 Python,却能让 AI 替你操作浏览器——这个开源项目正在重新定义"自动化"

只有 592 行 Python,却能让 AI 替你操作浏览器——这个开源项目正在重新定义"自动化"

  • 2026-10-11 08:20:03
只有 592 行 Python,却能让 AI 替你操作浏览器——这个开源项目正在重新定义"自动化"

只有 592 行 Python,却能让 AI 替你操作浏览器——这个开源项目正在重新定义"自动化"

你不再需要手写 Selenium 脚本。把浏览器交给 AI,它会自己学会怎么用。



你有没有经历过这样的绝望:打开浏览器,登录某个网站,填表、搜索、复制数据、切换页面、再填表……明明只是一个重复操作,却耗掉整个下午。

你也想过写脚本。但 Selenium 太笨重,Playwright 要写选择器,每个网站的 DOM 结构还不一样。写完脚本两周后,网站改版了,选择器全废了。

Browser Harness 说:别写了,让 AI 自己来。


一句话解释它是什么

Browser Harness 是一个极薄的桥梁,只做一件事——在你的浏览器和你常用的 AI 编程工具(Claude Code / Codex)之间建立一条直达通道。

没有中间层,没有抽象封装,没有复杂的 API。

一个 WebSocket 直连 Chrome,剩下的交给 AI。


592 行 Python,凭什么?

整个核心包不到 600 行 Python。它不教 AI 怎么操作浏览器,它只是把 Chrome DevTools Protocol(CDP)原封不动地暴露给 AI,然后让 AI 自己写自己需要的代码。

传统框架 vs Browser Harness:传统方案在"作者编写时"就把能力冻结了;Harness 的能力是在"运行时"由 AI 塑造的。

这是它最颠覆的设计——自愈循环:

AI 代理: 我要上传一个文件              │agent-workspace/agent_helpers.py → 还没有这个功能              │AI 代理自己写了一个 upload_file() 函数   agent_helpers.py              │                             + 自定义辅助函数✓ 文件上传成功

AI 在运行中修改自己的工具库。 每一次任务都不是一次性的——它留下的代码,下次直接能用。

开发团队分享了两个让人起鸡皮疙瘩的瞬间:

文件上传。团队忘记写 upload_file()。AI 执行到一半碰到文件输入框,grep 了 helpers.py 发现没有,直接写了这个函数——用的是原始 DOM.setFileInputFiles。团队是从 git diff 里发现的。

分块上传。写完 upload_file 后,AI 遇到了一个 12MB 的文件。CDP WebSocket 单次载荷上限约 10MB。AI 碰到限制、读了错误信息、自动切换到分块上传模式。没人告诉它要这么做。


架构有多简单?

四个文件,一条直线:

文件
行数
职责
run.py
13
加载 helpers,执行 Python
helpers.py
192
CDP 薄封装,AI 可以编辑
daemon.py
220
维护 CDP WebSocket 长连接
SKILL.md
—
告诉 AI 怎么用以上一切

AI 写 Python → helpers 封装 CDP → daemon 维护连接 → Chrome 执行。Chrome 以上的一切,AI 都可以改写。


真正的"越用越聪明":Domain Skills

这个项目的另一个核心理念是 Domain Skills(领域技能)。

当 AI 在某个网站上琢磨出一个非显而易见的技巧——比如某个下拉框其实是 React 组合框,必须按 Escape 才能提交;又或者发现了一个私有的 JSON API,比 DOM 抓取快 10 倍——它会自动把这些经验写成 skill 文件,提交到仓库里。

人类在一个网站上犯一次错,终身不忘。为什么 AI 不能?

现在可以了。

没有技能时,每次任务都为"探索"付出全部成本。有了技能,探索成本只付一次,在所有后续任务中摊销。


案例:Duo 二次验证

每个大学学生登录 Canvas 都会碰到 Duo 2FA。第一个 AI 花了 8 次额外调用才搞明白设备信任弹窗怎么处理。它发现按钮有一个稳定的 DOM ID:dont-trust-browser-button。技能系统把这个发现变成了一条 recipe:检测弹窗 → 点击按钮 → 轮询直到跳转。

254 个后续 AI 直接使用,没有一个需要重新摸索。

技能不是简单的"点赞/踩"。AI 会留下文字反馈:

一个带理由的踩不仅仅是降分——技能系统会根据反馈修改技能本身。Duo 技能经历了 3 个版本迭代。分数降到 -3 以下自动退役,近似技能自动合并。


技能安全吗?

每个技能在保存前都会经过一个专门的 PII 检查 LLM,自动拦截包含邮箱、令牌和用户隐私数据的内容。安全性和正确性都由系统机制保证。


下一步:从 UI 到 HTTP

当前技能教 AI 操作 UI——选择器、表单、下拉框。但 UI 只是 HTTP 请求之上的抽象层。每一次按钮点击、每一次表单提交,底层都是一个请求。

团队正在构建 HTTP 级别的技能:技能系统观察任务的 HTTP 流量,逆向工程底层 API,直接保存原始请求。下一个 AI 直接发 API 调用,完全跳过 UI。


目前已有 70+ 网站技能

GitHub、LinkedIn、Gmail、YouTube、TikTok、Amazon、eBay、Spotify、Steam、StackOverflow、小红书、Medium、Reddit、IMDb、Glassdoor、Zillow、SoundCloud、Eventbrite、Coursera、HackerNews、ProductHunt、Expedia、Walmart……

这意味着——你下一次让 AI 去 LinkedIn 搜人,它已经有现成的"经验"了。

团队说:"请不要手写 skill 文件。AI 生成的文件反映的是真正在浏览器中有效的操作。"


一秒钟上手

安装只需一句 prompt,粘贴到 Claude Code 里:

Set up https://github.com/browser-use/browser-harness for me.

AI 会自动 clone 仓库、安装依赖、连接你的 Chrome 浏览器、打开验证页面。

之后,日常使用就变成了一句话:

browser-harness -c 'new_tab("https://docs.browser-use.com")wait_for_load()print(page_info())'

想截个图?一行:

capture_screenshot("~/Desktop/page.png")

想填表、点击、滚动、上传文件、读取数据?同样简洁。


还有免费的远程浏览器

本地跑还不够?Browser Use 提供了免费远程浏览器——无需绑卡:

  • 3 个并发浏览器实例
  • 内置代理支持
  • 自动验证码识别
  • 适用场景:隐身访问、子代理并行、无头服务器部署

拿到 API Key 后,一行代码启动远程浏览器:

browser-harness -c 'start_remote_daemon("my-session", proxyCountryCode="de")'

为什么这件事重要?

Rich Sutton 在《The Bitter Lesson》中写过:依靠算力增长的通用方法,最终总是击败依靠人类知识的专用方法。

Browser Harness 是这个理念的完美体现:

  • 传统方案:人类手写每个网站的选择器 → 不断维护 → 网站改版就坏
  • Browser Harness:AI 自己理解页面结构 → 自己写适配代码 → 自动沉淀经验

它不假设任何网站结构。它让 AI 像人一样看网页,然后像人一样操作。只是更快、更准、不会累。

团队自己也经历了血的教训:几个月前他们还写了一篇博客主张"不要把 CDP 的复杂性暴露给 AI"。后来发现错了。CDP 的复杂性不是该隐藏的——是应该让 AI 看到的。


适合谁用?

场景
用法
数据采集
让 AI 自动翻页、提取结构化数据
表单填写
批量注册、提交、信息录入
竞品监控
定期截图、价格追踪、内容变化检测
社交媒体运营
多平台发布、数据统计、互动管理
自动化测试
真实浏览器环境下的 E2E 测试
个人效率
订机票、填报销、搜房源……

写在最后

Browser Harness 不追求大而全。它追求足够薄——薄到你可以完全理解它的每一行代码,薄到 AI 可以自如地在上面构建任何东西。

它的野心不是"又一个浏览器自动化框架",而是:让你再也不需要亲手操作浏览器。

11,000+ Star、70+ 网站技能、一个活跃的开源社区——现在正是上车的好时机。


项目地址:github.com/browser-use/browser-harness

免费 API Key:cloud.browser-use.com

推荐阅读:

  • The Bitter Lesson of Agent Harnesses
  • Web Agents That Actually Learn

最新文章

随机文章