我把 Claude Code 能用的浏览器自动化工具全试了一遍 —— 这是我的最终判决

我每天用 Claude Code 12 个小时以上。

一个住在终端里的 AI 是没有眼睛的。它看不到网页,点不动按钮,填不了表单,甚至无法在部署完成后确认一个页面到底长什么样。

一个无法访问浏览器的 AI,就像一个尝不到自己做的菜的厨师。

所以从 2026 年 2 月到 3 月,我把 Claude Code 能用上的浏览器自动化工具全部测试了一遍:Chrome DevTools MCP、Claude in Chrome 扩展、WebFetch、agent-browser、PinchTab、browser-use。

老实说,我必须把它们全部试一遍,才能下结论。

这篇文章,就是这段旅程和最终判决的记录。


Claude Code 跑在终端里。它能读写文件、执行命令、管理 Git —— 这些都没问题。

但它看不到 Web。

任务仅终端配合浏览器
部署后验证翻日志,靠猜直接看到真实页面
读 Twitter/Instagram 帖子不可能抽取文本
测试 Web 应用只能 curl API点按钮并验证
填表单(求职申请等)不可能自动填写
截图不可能截屏并视觉确认
访问需要登录的页面不可能使用 cookie

你可能会想:「日志够用了吧。」但当你每天用它 12 个小时,没有眼睛的挫败感会以惊人的速度累积起来。


我最先尝试的是官方方案。

--remote-debugging-port=9222 参数启动 Chrome,然后在 Claude Code 里通过 MCP server 控制它。这是 Chrome DevTools 官方团队做的。

理论上完美。实际中残酷。

问题详情
Windows 上的 npx跑不起来。需要 cmd /c 包一层
独立的 profile启动的是一个调试用 Chrome。没有 cookie,没有登录态,所有账号都要重新登
上下文消耗MCP JSON 负载巨大。单页 10,000+ tokens
文本输入 bugfill 工具会吞掉第一个字符
多行文本完全坏掉
启动开销每次都要关掉 Chrome,再带着调试参数重新启动

当你每天用 Claude Code 12 个小时,每个 session 都要带特殊参数重启一次 Chrome,这就是酷刑。


我试了 v1.0.54 Beta。

它以 Chrome 扩展的形式运行,所以会用你真实的浏览器 profile。cookie 和登录会话直接继承过来。安装就是装个扩展。

想法很好。质量是 Beta。

优点缺点
用真实的浏览器 cookie会话中途随机掉线
零配置文本输入 bug 仍然存在
用起来直观多行文本会坏掉

如果能稳定下来,它会很棒。但截至 2026 年 2 月,它还没到可用于生产的程度。


「也许某个现成的内置工具能搞定?」

Claude Code 有个内置工具叫 WebFetch。给它一个 URL,它就抓回 HTML。

对静态文档页面来说,它工作得不错。

对社交媒体来说,它是地狱。

我试着用 WebFetch 读 Instagram,结果拿到一堆 CSS 和 JavaScript 垃圾,几乎没有可用的文字。Twitter 也一样。任何依赖动态渲染的页面,都是彻底失败。

我反复告诉 Claude「别用 WebFetch 看 SNS」,跨多个 session 反复说。

用 WebFetch 看 Instagram,就像用微波炉烤牛排。


Vercel Labs 出品。Rust CLI + Playwright 后端。

这是我第一次看到光。

npm install -g agent-browser
agent-browser install

Enter fullscreen mode Exit fullscreen mode

上下文消耗比 Chrome DevTools MCP 降低了 93%。它输出的不是笨重的 MCP JSON,而是紧凑的文本。通过 shell 命令操作。

agent-browser open https://example.com
agent-browser snapshot -i
agent-browser click @e1
agent-browser close

Enter fullscreen mode Exit fullscreen mode

有 Auth Vault 用来保存凭据,有网络 mock,有视觉 diff。

但在 Windows 上不太顺。

Rust 的 canonicalize() 会生成 \\?\ UNC 路径,会把 Node.js 弄崩。你得设置 AGENT_BROWSER_HOME 环境变量来绕过。

我用它当主力工具用了一阵子,但还是有些不爽:

  • 每页 3,000-5,000 tokens。够轻,但还可以更轻
  • 每次都会启动 Chromium。cookie 不在多个 session 之间持久化(Auth Vault 有所帮助,但增加了摩擦)
  • 抽取 SNS 文本仍然太重

PinchTab 改变了我对浏览器自动化的标准。

它以本地 HTTP server 形式运行,使用 Chrome 的无障碍树来解析页面。

单页约 800 tokens。

对比 agent-browser 的 3,000-5,000,轻了好几倍;对比 Chrome DevTools MCP 的 10,000+,这是 12 倍的差距

# Headless 模式(后台守护进程)
pinchtab &

# Headed 模式(可以看到浏览器)
BRIDGE_HEADLESS=false pinchtab &

Enter fullscreen mode Exit fullscreen mode

启动一次,就在整个 session 期间一直跑着。HTTP server 监听 9867 端口。不需要重启。

pinchtab nav https://example.com
sleep 3
pinchtab snap -i -c    # 紧凑视图,列出可交互元素
pinchtab click e5       # 点击元素 e5
pinchtab type e12 "text"  # 在元素 e12 中输入文字

Enter fullscreen mode Exit fullscreen mode

方法Tokens适用场景
pinchtab text~800文本抽取(SNS、文章)
pinchtab snap -i -c~2,000按钮/链接交互
pinchtab snap --diff仅 diff多步顺序操作
pinchtab snap(完整)~10,500整页理解
pinchtab ss(截图)~2,000(Vision)视觉验证

pinchtab text 看 SNS 只要 800 tokens。 这一点改变了一切。

读 Twitter 帖子,检查 Instagram 资料,部署后验证页面,全部都在 800 tokens 内完成。

上下文就是电池。 一个烧 10,000 tokens 的工具是台电暖器。PinchTab 在 800 tokens 上就是一只 LED 灯泡。同样的电池,12 倍的续航。

它的 HTTP API(9867 端口)还意味着,你可以把它集成到 bot 和自动化流水线中。


PinchTab 解决了日常的浏览器任务。

但有一件事 PinchTab 做起来很烦人:复杂表单的填写

求职申请表。10 个以上的字段。下拉、单选、textarea。PinchTab 能做,但每个字段都重复 snap -> type -> click,越做越累。

它相对 PinchTab 最大的武器:自主 agent 模式。

给它一个任务,AI 自己规划步骤并执行。说一句「用我的资料填这份求职申请」,它会找到字段,挑出对应的值,把它们输入进去。

我用 browser-use 在 Greenhouse 和 Ashby(招聘平台)上填申请表。Claude Code 负责编排,browser-use 负责逐字段输入。我开着 headed 模式看着,最后只手动点了一下提交按钮。

pip install browser-use

Enter fullscreen mode Exit fullscreen mode

CLI 模式:

browser-use open https://example.com
browser-use input "field name" "value"
browser-use state    # 查看当前状态

Enter fullscreen mode Exit fullscreen mode

它也提供 MCP server 模式,暴露 17 个工具。

它消耗的 tokens 远多于 PinchTab。 自主 agent 每一步都会调用一次 LLM。单页的 token 数也更高。

但对于复杂的多步任务,自主性 > 效率。

手动对 10 个表单字段跑 snap -> type,得花 20 分钟。让 browser-use「把这个填了」只要 3 分钟。多花了 tokens,但省下了人的时间。


把所有信息汇总到一张表里。

特性Chrome DevTools MCPClaude in Chromeagent-browserPinchTabbrowser-use
每页 Tokens10,000+10,000+3,000-5,000~80010,000+
安装配置调试参数启动扩展npm install启动一次即可pip install
Windows 支持需要 cmd /c 绕过OKUNC 路径 bugOKOK
认证/cookie独立 profile真实浏览器Auth Vault真实浏览器真实浏览器
稳定性稳定Beta,会掉线稳定稳定稳定
速度中等中等中等慢(要调 LLM)
SNS 阅读笨重的 JSON笨重的 JSON800 tokens
表单填写吞首字符吞首字符OKOK最佳(自主)
自主 agent
后台守护进程HTTP server
价格免费免费免费免费免费

没有完美的工具。答案是组合。

浏览器自动化优先级链:

1. PinchTab       -> 所有日常任务(阅读、抓取、测试、截图)
2. browser-use    -> 复杂的多步任务(填表单、自主工作流)
3. agent-browser  -> PinchTab 不可用时,或需要录屏 / Auth Vault 时
4. WebFetch       -> 仅用于静态文档 / API 参考。永远不要拿它看 SNS。

Enter fullscreen mode Exit fullscreen mode

工具交通工具特点
PinchTab自行车快、最省油、日常通勤
browser-use汽车跑得远、装得多、油耗更高
agent-browser摩托车备用,特殊用途
WebFetch步行慢、装不下东西、最后的手段

先装 PinchTab。 投入产出比最高。用 800 tokens 读一个页面,你的 session 寿命会大幅延长。

pinchtab &
pinchtab nav https://your-app.com
sleep 3
pinchtab text

Enter fullscreen mode Exit fullscreen mode

光这一点,就改变一切。

再加上 browser-use。 求职申请、数据录入、跨页面的工作流。让自主 agent 干活,你在旁边监督。

pip install browser-use

Enter fullscreen mode Exit fullscreen mode

用 agent-browser。 npm install -g agent-browser && agent-browser install,搞定。

别用 WebFetch。 不管怎么样都别用。尤其不要拿来看 SNS。


#经验
1截至 2026 年 3 月,「让 AI 用上浏览器」仍然是一个未解决的问题
2没有完美的工具。答案是组合
3Token 效率就是一切。800 vs 10,000 = 12 倍差距。session 寿命完全不同
4SNS 需要专用工具。别用 WebFetch
5表单填写最适合交给自主 agent。AI 填,人监督

我把 6 个工具全试了一遍,花了好几个月。

从用 Chrome DevTools MCP 时反复带调试参数重启 Chrome 的折磨开始,经过 Claude in Chrome Beta 频繁掉线,再到与 WebFetch 那场 CSS 垃圾大战,到看见 agent-browser 时的曙光,再到在 PinchTab 上找到日常的安宁,最后用 browser-use 补上最后一块拼图。

老实说,我很庆幸全都试过一遍。

因为这不是一个工具能解决的问题。日常通勤骑自行车,长途出行开汽车,应急时骑摩托车。一个道理。

现在 AI 终于能用上浏览器,厨师终于能尝到自己做的菜了。

接下来的问题是:他们会做出什么?


本文写于东京,发布前用 PinchTab 读了一遍预览做最终检查。

.long-bb-body { max-height: calc(100vh - 200px); overflow: hidden; } .long-bb-bottom { height: 180px; background: linear-gradient(to top, var(—card-bg), transparent); margin-top: -180px; position:relative; z-index: 5; }

[profile

MongoDB

](https://dev.to/mongodb)推广


Gen AI apps are built with MongoDB Atlas

MongoDB Atlas 是面向开发者的数据库,用来构建、扩展和运行 gen AI & LLM 应用 —— 不需要额外的向量数据库。原生向量搜索,覆盖 115+ 区域,灵活的文档建模。让你更快构建 AI,一站式完成。

顶部评论(5)

订阅

Collapse

salome_koshadze_feeb58784 profile image

Salome koshadze

Salome koshadze

  • 加入时间

    2025 年 10 月 16 日

3 月 11 日

允许我提出第三种架构:基于代理的会话虚拟化(proxy-based session virtualization)。

agent 不再控制本地浏览器实例,而是在一个服务器托管的会话内运行,这个会话会重写并流式传输目标应用。 这个模式改变了状态管理的问题。会话状态(cookie、local storage)由虚拟会话在服务端统一管理。配合一个自定义域名后,所有 cookie 都变成第一方 cookie,从而绕开你遇到的那种反复登录的循环 —— 本质上,这给了 AI agent 控制实时 web 会话的能力。

控制机制使用一套专用的 Automation API。例如,webfuse 暴露出 browser.webfuseSession.automation.left_click(selector) 和 browser.webfuseSession.automation.type(text, selector) 这样的 API。更重要的是,它在源头上处理了 token 问题。代理可以在序列化之前对 DOM 做预处理,比如 take_dom_snapshot({ modifier: ‘AdaptiveD2Snap’, params: { maxTokens: 8192 } }),把它压缩到指定的 token 预算内,再交给 LLM。

Collapse

leonting1010 profile image

Leon

Leon

  • 加入时间

    2026 年 3 月 30 日

4 月 4 日

关于基于代理的会话虚拟化这个观点很有意思。其实还有第四种架构值得一提:编译期 AI,运行期确定性

agent 不再在运行时(无论本地还是代理)控制浏览器,而是在编写阶段让 AI 观察页面一次,编译出一个确定性的 .js 程序。之后该程序就一直重放 —— 不再做 AI 推理,不再有会话管理的复杂度,单次执行 0 美元。

权衡是灵活性 vs 成本。代理和本地浏览器 agent 能在运行时随机应变,但每一次都要烧 tokens。编译型方案在站点变动时会失效,但你可以加上自愈机制(doctor --auto),让它检测到失效后只在需要时重新编译。

对大多数读取密集型的自动化(抓取、监控、数据抽取),编译型方案在可靠性和成本上都更胜一筹。对每次都会变化的交互型工作流,运行时 agent 仍然有意义。

Collapse

cissor profile image

Cissor

Cissor

  • 加入时间

    2026 年 5 月 15 日

5 月 15 日

有用这种架构的实际例子吗?听起来挺有意思。

Collapse

achiya-automation profile image

אחיה כהן

אחיה כהן

WhatsApp 机器人开发者 & 业务自动化专家。基于 n8n、Make 和 WhatsApp API(官方与 WAHA)构建定制机器人和工作流。已服务 50+ 满意客户。

  • 工作

    Achiya Automation 创始人 —— WhatsApp 机器人与业务自动化

  • 加入时间

    2026 年 3 月 6 日

3 月 29 日

很棒的对比!对 macOS 用户来说,还有一个值得一提的选择:Safari MCP —— 唯一一个使用原生 Safari 而非 Chromium 的 MCP server。

我做它的原因是,Chrome 在我的 M4 MacBook 上空闲时就吃掉 15-25% 的 CPU,而 Safari 静静地待在那里,所有会话都已经加载好。

关键区别:

  • 使用你真实的 Safari,包含所有已有的登录(无需重新认证)
  • 通过 AppleScript + Swift 守护进程,每条命令约 5ms
  • 80 个工具(比 Chrome DevTools MCP 或 Playwright MCP 都多)
  • Chrome 进程为零 = 开销为零

npm install safari-mcp