2026年7月1日 2 分钟阅读

AI 编程 Agent 只写代码不验证效果?用 ProofShot 给 Agent 装上「眼睛」看结果

tinyash 0 条评论

AI 编程 Agent(Claude Code、Cursor、Codex 等)写出代码后,自己是看不到运行效果的。前端功能到底长什么样、交互是否正确、有没有报错——全靠人工逐一检查。

如果 Agent 能自己启动浏览器、执行操作、录制视频、收集错误,然后把「证据包」提交给开发者审核,这个循环就真正闭环了。

ProofShot 正是解决这个问题的开源 CLI 工具。它给任何 AI 编程 Agent「装上眼睛」——Agent 写完代码后自动打开真实浏览器,录制操作视频、截取关键截图、捕获控制台错误,最终生成一份可直接附加到 GitHub PR 的验证报告。

为什么 Agent 需要「验尸报告」?

当前 AI 编码 Agent 的工作模式存在一个明显的视觉盲区:

  1. Agent 理解需求 → 生成代码
  2. 开发者审查代码 → 怀疑是否正确
  3. 开发者手动打开浏览器 → 测试每个功能点
  4. 发现问题 → 告诉 Agent → 回到步骤 1

这个循环中,AI 只参与了第 1 步,后面的 2-4 步全是人工。如果 Agent 能自动完成「运行→验证→记录→报告」的闭环,一个 15 分钟的 PR 审查工作可以压缩到 1 分钟看视频回放就够了。

ProofShot 填补的正是这个缺口——它不是一个浏览器控制工具,而是一个完整的验证工作流

与其他方案的区别

市面上已经有 Playwright MCP、Chrome DevTools MCP 和 agent-browser 等浏览器控制工具,但 ProofShot 定位不同:

能力Playwright MCPagent-browserProofShot
浏览器控制✅(基于 agent-browser)
视频录制
控制台错误捕获
开发服务器日志捕获
10+ 语言错误检测
交互式 HTML 查看器
视频同步日志回放
PR 评论上传
视觉对比(diff)
跨 Agent 技能安装

核心差异在于:Playwright MCP 等工具提供的是浏览器遥控器,而 ProofShot 提供的是验证证据流水线——把每一步操作的截图、视频、日志打包成人类可直接审查的制品。

安装与配置

ProofShot 是一个 npm 包,安装命令极为简洁:

npm install -g proofshot
proofshot install

npm install -g 安装 CLI 和依赖的 agent-browser(含无头 Chromium)。proofshot install 会自动检测你机器上的 AI 编程工具(Claude Code、Cursor、Codex、OpenCode、Gemini CLI、Windsurf),并在用户级别安装 ProofShot 技能文件。

安装后无需在每个项目中单独配置——技能文件放在 ~/.claude/skills/proofshot/SKILL.md 等用户级路径下,所有项目自动生效。

如果你只想为特定工具安装:

proofshot install --only claude        # 仅安装到 Claude Code
proofshot install --skip cursor        # 跳过 Cursor
proofshot install --force              # 覆盖已有安装

三步验证工作流

ProofShot 的使用模式是「start → test → stop」三步曲。

第一步:启动验证会话

proofshot start --run "npm run dev" --port 3000 --description "登录表单验证"

这条命令会:

  • 打开无头 Chromium 浏览器
  • 开始录制会话视频
  • 捕获开发服务器的 stdout/stderr 日志
  • 创建一个时间戳命名的制品目录 ./proofshot-artifacts/

如果你的服务器已经在运行,可以省略 --run

proofshot start --url http://localhost:5173 --description "检查首页 Hero 区域"

第二步:Agent 驱动浏览器测试

Agent 通过 proofshot exec 命令与浏览器交互:

proofshot exec snapshot -i

proofshot exec open http://localhost:3000/login

proofshot exec fill @e2 "test@example.com"
proofshot exec click @e5

proofshot exec screenshot step-login.png

proofshot exec 是在 agent-browser 上包装了一层自动会话日志记录——所有操作的时序、截图路径、元素定位数据都会被自动写入 session 日志,与视频时间轴同步。

第三步:停止并获取证据包

proofshot stop

命令执行后,./proofshot-artifacts/ 目录下会生成以下制品:

文件说明
session.webm整个测试过程的视频录制
viewer.html独立交互查看器,含视频条、时间轴和日志面板
SUMMARY.md包含错误摘要、截图和视频链接的 Markdown 报告
step-*.png关键步骤截图
session-log.json带时间戳和元素数据的操作时间线
server.log开发服务器 stdout/stderr
console-output.log浏览器控制台输出

最直观的查看方式是打开 viewer.html——它是一个本地 HTML 文件,包含视频播放器、带时间戳的操作时间轴、控制台日志标签页和服务器日志标签页,所有时间轴与视频同步。

附加到 PR:让队友也能看到验证过程

本地生成的 viewer.html 对开发者自己来说足够了。但在团队协作中,你需要让 PR 审查者也能看到验证证据——proofshot pr 正是为此设计:

proofshot pr

proofshot pr 42

这条命令会将视频、截图和 Markdown 报告上传到 GitHub,在对应的 PR 下生成一条内嵌截图表单的评论。如果系统中安装了 ffmpeg,视频还会从 .webm 转码为 .mp4 以获得更好的浏览器兼容性。

预览模式下可以只看生成的 Markdown 而不实际发布:

proofshot pr --dry-run

视觉回归检测

当你在不同迭代之间需要对比 UI 变化时,proofshot diff 命令可以直接比较当前截图与基准截图:

proofshot diff --baseline ./previous-artifacts

这适合在以下场景中使用:

  • 重构后验证 UI 无意外变化
  • 组件库升级后检查样式一致性
  • 跨 PR 对比功能实现效果

实际使用场景

场景一:前端功能开发后的自动验证

开发者要求 Claude Code「实现一个用户仪表盘页面,包含订单统计图表和最近活动列表」。Agent 生成代码后不再需要人工点开浏览器测试,而是直接执行:

proofshot start --run "npm run dev" --port 3000 --description "仪表盘功能验证"
proofshot stop
proofshot pr

PR 审查者打开 GitHub 评论,看到一段 30 秒的视频回放和三张关键截图,加上控制台无错误的日志输出——审批流程大幅压缩。

场景二:修复 Bug 后的回归验证

Agent 修复了一个「搜索功能在某些边界条件下无响应」的 Bug。验证流程:

proofshot start --description "搜索功能修复回归验证"
proofshot stop
proofshot diff --baseline ./previous-artifacts

proofshot diff 确保修复没有引入意外的 UI 偏移,proofshot pr 把修复前后的对比结果同步到 PR 评论区。

场景三:多 Agent 协作的统一验证标准

当团队同时使用 Claude Code 和 Cursor 时,不同 Agent 对「验证」的理解不同。ProofShot 通过统一的技能文件规范了验证流程——不管哪个 Agent、哪个项目,「proofshot start → test → stop → pr」都是相同的标准步骤,审查者获得一致的验证报告格式。

错误检测:不止于浏览器

ProofShot 的自动错误检测覆盖 10+ 种编程语言:JavaScript/Node.js、Python、Ruby/Rails、Go、Java/Kotlin、Rust、PHP、C#/.NET、Elixir/Phoenix 等。这在处理微服务架构或多语言项目时尤其有用——前端页面的控制台错误、后端 API 的异常堆栈、构建工具的编译警告,全都会被捕获到 session 的日志中。

错误检测模式定义在 src/utils/error-patterns.ts 中,如果项目用了自定义的错误日志格式,可以自行扩展。

限制与注意事项

  • 依赖 agent-browser:ProofShot 的浏览器控制能力完全基于 agent-browser,它的功能边界就是 ProofShot 的边界。如果需要高级 DOM 操作或网络请求拦截,可能需要配合 Playwright MCP 使用。
  • 仅限本地运行:ProofShot 目前只能直接操作本地运行的开发服务器。对于已部署的远程环境,需要额外配置隧道或 VPN。
  • 视频文件大小:长时间会话的 .webm 视频可能较大(一次完整的 CRUD 测试约 50-100MB),上传到 GitHub PR 时需要注意文件大小限制。
  • proofshot install 需要写权限:在 CI/CD 流水线等受限环境中,安装技能文件需要 ~/.claude/ 等目录的写权限,可能需要手动配置。

总结

ProofShot 把「AI Agent 生成代码」到「人类审查效果」之间的视觉断点连接了起来。它不是一个花哨的浏览器自动化工具,而是一个严格定义了验证产出格式的工作流工具——Agent 负责写和测,ProofShot 负责录和报,人类只看证据做决定。

对于团队中 AI 编码 Agent 使用频次高、但又担心「Agent 写的代码到底能不能跑」的开发者来说,ProofShot 提供的这三步流程是一个低成本的验证闭环方案。MIT 许可、835 ⭐ 的开源社区、支持 7 种主流 AI 编程工具,当前生态已经成熟到可以直接用起来。

相关链接

发表评论

你的邮箱地址不会被公开,带 * 的为必填项。