Playwright CLI 与 MCP:AI Agent 的浏览器自动化怎么接?
让 AI 编码 Agent 操控浏览器有两条路:常驻的 Playwright MCP Server,或按需执行的 Playwright CLI。本文对比两种架构的上下文开销、状态管理与适用场景。
直接回答:Playwright CLI 和 Playwright MCP 都能控制持续存在的浏览器会话。区别在于 Agent 通过命令还是 MCP 工具调用接入,不能把 CLI 理解为每一步都会丢失状态。
两种架构的本质差异
Playwright MCP 通过 MCP 工具暴露浏览器能力,工具发现、按需加载与结果裁剪取决于客户端。MCP 协议不要求所有工具描述与全部历史持续驻留模型上下文。
Microsoft 的 Playwright CLI 使用 playwright-cli 命令,通过命名会话复用浏览器。不要把它与 Playwright 测试运行器的 playwright 命令混淆。CLI 输出也可能累积;进程形式并不决定 Token 消耗。
架构比较与待测指标
| 维度 | MCP | CLI |
|---|---|---|
| 接入 | 需要支持 MCP 的 Host | 需要命令执行能力 |
| 会话 | 可保持浏览器会话 | 也支持持续和命名会话 |
| 上下文 | 由工具加载与结果管理决定 | 由技能说明、快照与输出管理决定 |
| 权限 | 约束浏览器、网络与文件权限 | 同样需要约束 |
本文未执行对照测试,没有“显著更省”的测量结论。应固定浏览器版本、任务、快照大小与 Agent 配置后再比较。
各自适合的场景
可考虑 CLI:
- 任务是离散步骤的组合(抓取、截图、表单填写、E2E 验证)
- 上下文窗口珍贵,要省 Token 给代码与推理
- 环境要求简单、可复现(CI 里跑 Agent 尤其合适)
选 MCP:
- 需要长时间保持同一会话反复交互(复杂的登录态操作、拖拽编排)
- 需要 MCP 生态的其他能力(与其他工具 Server 统一接入)
- Agent 框架已内置 MCP 支持,希望统一工具接入
实践建议
- 按 Agent 已支持的接入方式选择,而不是按是否需要登录态选择。
- 使用 CLI 的命名会话与状态管理命令时核对当前
--help;状态文件含凭证,不要提交代码库。 - 对快照做限长并保留关键证据;两种方式都要限制站点、下载与敏感操作。
常见问题(FAQ)
Q:CLI 能保持登录吗?
A:可以,同一会话可复用浏览器状态;跨会话持久化按当前文档操作。
Q:MCP 一定更费 Token 吗?
A:不一定,按需工具发现、快照与摘要策略会影响结果。
Q:单条命令失败会影响其他步骤吗?
A:可能。浏览器已发生的导航、提交或状态变化不会因命令失败自动回滚。
参考资料
资料核对日期:2026 年 9 月 29 日。本文基于公开文档整理,代码片段和评估方案未作独立运行或性能验证;厂商测试结果已注明来源。