让 Claude 摸得到网页,是 Skills 生态里最拥挤的赛道之一。本期第 7 轮做同赛道对比:不从榜单出发,而是直接以本机装机为样本——同一台机器上恰好同时装着这条赛道的全部三种架构外加一件空壳。三件正主用 Skill 工具直读 SKILL.md 全文逐行拆:agent-browser(自带 CLI 的速查表派)、playwright(借官方 CLI 的规则手册派)、web-access(直连日常 Chrome 的哲学书派);另有一件 chrome-automation,调用后无任何正文注入,作为空壳对照组一并记录。核心发现:这条赛道的分水岭不是功能多少,而是“浏览器从哪来”——独立实例派和用户浏览器派写出了两套完全不同的说明书文体。
拆解口径声明:本期全部素材来自本机装机样本的 SKILL.md 原文与实测调用行为,检索通道受限未能联网,故社区活跃度一列不做数字评价,所有星数、仓库地址一律不引——评分只基于文件证据。
| Skill | 接口形态 | 功能完整度 (25%) | 设计质量 (25%) | 实战效果 (20%) | 上手难度 (15%) | 社区活跃度 (15%) | 加权总分* |
|---|---|---|---|---|---|---|---|
| web-access | 自建 CDP Proxy + curl | ★★★★★ | ★★★★☆ | ★★★★☆ | ★★☆☆☆ | 未核验 | 4.3 |
| agent-browser | 独立 CLI | ★★★★☆ | ★★★★☆ | ★★★★☆ | ★★★★☆ | 未核验 | 4.2 |
| playwright | 借 @playwright/mcp 的 CLI | ★★★☆☆ | ★★★★☆ | ★★★☆☆ | ★★★☆☆ | 未核验 | 3.7 |
| chrome-automation | —(空壳) | — | — | — | — | 未核验 | 不入榜 |
* 社区活跃度未核验,总分按其余四维权重归一化折算。上手难度反向计分,星越多越容易上手。
定位是把“开浏览器”压缩成一页命令速查表。整个 SKILL.md 几乎全由代码块组成:agent-browser open <url> 打开页面,snapshot -i 拿到带 @e1 编号的可交互元素清单,然后 click @e1、fill @e2 "text" 完成操作。亮点在三处细节:一是语义定位作为 refs 之外的备胎——agent-browser find text "Sign In" click、find label "Email" fill "[email protected]",找不到编号时可以直接按角色和文字下单;二是登录态落盘——state save auth.json 把登录会话存成文件,下次 state load 直接进后台,这是独立实例派解决登录问题的标准答案;三是多会话并行(--session test1 开两个互不干扰的浏览器)加 --json 机器可读输出,明显为自动化流水线而非人机对话设计。短板同样清楚:全文没有一句“什么时候不该用”、没有截图/反爬之外的边界提示,--headed 调试、console/errors 排错都写了,唯独不教你装——它假定 CLI 已经在机器上。这种“只讲方向盘、不讲驾校”的写法,上限取决于上游 CLI 的成熟度。
这一件借的是 Playwright 官方之力:wrapper 脚本用 npx --package @playwright/mcp playwright-cli 拉起官方 CLI,SKILL.md 自述安装方式为 npm install -g @playwright/mcp@latest。操作哲学与 agent-browser 同源——open、snapshot 拿元素编号、click e15 交互、操作后重新 snapshot 防 ref 过期。它真正的价值在Guardrails(护栏)一节,是三件里纪律写得最细的:“没有新快照时用 eX 占位并说明原因,不许用 run-code 绕过 refs”;“在本仓库截取工件一律放 output/playwright/,不许新增顶层目录”;开篇第一句更是立了规矩——"Treat this skill as CLI-first automation. Do not pivot to @playwright/test unless the user explicitly asks for test files",明确不许顺手滑去写测试文件。References 分层加载(cli.md、workflows.md 按需打开)也是标准的上下文经济学。但它有一个实打实的硬伤:SKILL.md 里写死 export PWCLI="$CODEX_HOME/skills/playwright/scripts/playwright_cli.sh",默认路径指向 ~/.codex/skills——而本机实际装在 ~/.claude/skills/playwright。照抄原文,变量指向一个不存在的位置。一行路径暴露了它从别的宿主环境移植而来的出身,也提醒所有人:跨宿主搬 Skill,路径这关没人替你过。
三件里最重的一件,也是最不像说明书的一件。开篇不是命令,是方法论——“像人一样思考,兼顾高效与适应性的完成任务”,随后给出四步闭环:定义成功标准、选择起点、过程校验、完成判断。它的杀手锏在架构:不另起浏览器,而是通过 CDP Proxy 直连你日常正在用的 Chrome——登录态天然携带,chrome://inspect 勾选允许远程调试即接通。所有操作走本地 HTTP 接口(localhost:3456 的 /new、/eval、/click、/screenshot),连点击都分两档:/click 是 JS 快速点击,/clickAt 走 CDP 真实鼠标事件,“算用户手势,能触发文件对话框”;文件上传另有 /setFiles 直塞路径绕过对话框。思维密度也最高:“内容可能已在页面 DOM 中,交互只是展示手段”“搜索没命中不等于还没找对方法,也可能是目标不存在”——这些句子已经超出技能范畴,是通用联网方法论。亮点还有自学习设计:按域名把踩坑经验写进 references/site-patterns/,下次操作同站先读档案。短板是门槛:Node 22+、浏览器开关、Proxy 启动检查,三道前置;全文五千字级的哲学与表格,对只想点一下按钮的新手是认知过载。
agent-browser 自己带 CLI,说明书只需要教命令;playwright 借官方 CLI,所以要写前置检查(command -v npx)和 wrapper;web-access 干脆自建一层 Proxy,把浏览器操作翻译成 curl 能打的 HTTP 接口。三种造法对应三种依赖风险:自带 CLI 最稳但分发成本最高;借来的 CLI 依赖上游不改名;自建 Proxy 换来最大自由,代价是用户要做一次环境手术。
agent-browser 和 playwright 起独立实例,干净、可并行、不碰用户隐私,但面对登录墙只有 state save 落盘这一条路;web-access 直连日常 Chrome,登录态白送,代价是必须立“礼貌条款”——原文写得极细:不经要求不碰用户已开的 tab、一切操作在自建后台 tab、任务结束自清理、Proxy 二十分钟无请求自动退出。要不要登录态,直接决定你该装哪一件。
三件恰好给出三种寻址哲学。agent-browser 用 @e1 编号加语义 find 双通道;playwright 把 ref 纪律写成铁律(快照过期就重拍,禁止绕过);web-access 完全不用编号,直接 /eval 对 DOM 说话,受阻时再降级到 GUI 点击——“程序化方式受阻时,GUI 交互是可靠的兜底”。编号制防手抖,直说 DOM 给自由,语义定位是折中,没有标准答案,只有场景取舍。
速查表(agent-browser)复制即用但无边界意识;规则手册(playwright)防走偏最好,连“工件放哪个目录”都管;哲学书(web-access)连子 Agent 分治怎么写 prompt 都教——“描述目标,避免用暗示具体手段的动词(搜索、抓取、爬取)”。文体差异的本质是作者对失控的想象:怕模型不会,就写速查表;怕模型走偏,就写护栏;怕模型死板,就写哲学。
chrome-automation:两次调用注入均为零正文,SKILL.md 空货架。它证明了这条赛道也有占位选手——门牌挂了,屋里没家具。恰好与此前专栏做过的 SKILL.md 空货架审计互相印证:装机量不等于内容量。
场外的第四条路:本会话同时挂载着 playwright 的 MCP 插件形态——browser_navigate、browser_snapshot、browser_click 一整套“一个动作一个工具”的原生工具集,SKILL.md 几乎不承担教学。也就是说同一台机器上,同一件事有四种解法并存:自带 CLI、借来 CLI、自建 Proxy、MCP 工具集。Skill 生态和 MCP 生态在这条赛道正面相遇,而 Skill 的差异化武器恰好是 MCP 给不了的:行为准则、站点经验库和分治策略——工具给手,说明书给脑。
mindmap
root((给Agent开浏览器))
独立CLI派
agent-browser
语义find加ref双通道
playwright
借官方CLI加护栏
用户浏览器派
web-access
CDP直连带登录态
MCP工具派
playwright插件
一动作一工具
空壳
chrome-automation
门牌在屋无家具
一次“要登录态的网页操作”在三件里的不同路径:
flowchart TD
A["任务:要登录态的网页操作"] --> B{"网页要不要登录态"}
B -->|不需要| C["独立实例路线"]
B -->|需要| D["日常浏览器路线"]
C --> E["agent-browser<br/>state save 落盘"]
C --> F["playwright-cli<br/>snapshot 拿编号"]
D --> G["web-access<br/>CDP 直连已登录 Chrome"]
E --> H["click @e1 交互"]
F --> I["click e15 交互"]
G --> J["eval 读DOM<br/>受阻降级 GUI 点击"]
H --> K["对照结果收工"]
I --> K
J --> K
agent-browser(本机随机即用,SKILL.md 未附安装来源,装后可自检):
agent-browser open https://example.com
agent-browser snapshot -i
agent-browser click @e1
agent-browser state save auth.json # 登录态落盘,下次直接 load
playwright(SKILL.md 原文安装方式):
npm install -g @playwright/mcp@latest
playwright-cli --help
# 本机修正:SKILL.md 默认路径指向 ~/.codex/skills,实际请按装机位置导出
export PWCLI="$HOME/.claude/skills/playwright/scripts/playwright_cli.sh"
"$PWCLI" open https://example.com --headed
(若 wrapper 脚本随包缺失,退回全局安装的 playwright-cli 即可。)
web-access(三道前置):
bash ~/.claude/skills/web-access/scripts/check-deps.sh
# Chrome 地址栏打开 chrome://inspect/#remote-debugging 勾选允许远程调试,需 Node 22+
curl -s "http://localhost:3456/new?url=https://example.com"
PWCLI 一行再用。这条赛道给想写 Skill 的人的启示很直接:先想清楚你的浏览器从哪来,再决定说明书该写成速查表、护栏还是哲学书——三件正主恰好各占一种文体,而空壳那件,一种文体都没写。
~/.claude/skills/agent-browser/SKILL.md,经 Skill 工具全文读取;文中命令面、state save、sessions、Guardrails 均引自原文(上游仓库本期未能联网核验)~/.claude/skills/playwright/SKILL.md,wrapper 写法、$CODEX_HOME 路径与 Guardrails 段为原文引用~/.claude/skills/web-access/SKILL.md,浏览哲学、CDP Proxy API、站点经验与子 Agent 分治各节为原文引用[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
