第一次会话
在你的 agent 里手把手走一遍 Hover 的运行。预计时间:5 分钟。
前置条件
- 已按 快速开始 操作——
@hover-dev/mcp已加到你的 agent,dev server 正在跑。 - 一个会说 MCP 的编码 agent(Claude Code、Cursor…),已登录。
- 首次运行时,Hover 会提示你在 9222 端口启动一个隔离的调试版 Chrome。
第 1 步 —— 设置一个环境(可选)
你可以让 agent 替你登录,而不把凭据写进 spec。定义一个测试账户并按名称引用;agent 通过 @account 登录。凭据会被参数化成 process.env 引用——绝不写进 spec、JSDoc 或 sidecar——同样的名称可导出到你的 CI secrets。(如果你用驾驶舱,账户密码存在 VS Code SecretStorage 里,绝不进入提交的名册。)
如果你纯粹在自己 agent 的 MCP 里工作,agent 问起时告诉它测试凭据即可——它会问,而不是瞎猜。
第 2 步 —— 运行 test_app prompt
在你的 agent 里调用 Hover 的 prompt:
/mcp__hover__test_app # 探索整个应用并结晶出一套 spec
/mcp__hover__test_app login # …或只针对某一条流程
这个 prompt 带着 agent 走一个分阶段、感知规模的闭环:
- 梳理业务线。 agent 用它自己的文件工具读取你的路由 + 导航,把一份清单写进
.hover/hover-map.md——这是大型应用的计划。 - 选一个范围。 如果你指定了就覆盖那条;否则它列出未覆盖的业务线,问你现在做哪个。
- 逐条覆盖流程。 每条:导航 → 快照 → 走真实流程(
click_control/fill_control/ …)→ 断言结果 →crystallize_spec。 - 更新覆盖 到
hover-map.md。
第 3 步 —— 看 agent 操作
agent 通过 CDP 对你的调试版 Chrome 调用 Hover 的接地工具——用 browser_snapshot 读页面,再用 click_control / fill_control / select_control / check_control 操作,并对结果 assert_visible。因为它按 role+name 定位控件,驱动每个动作的那个 selector 正是被存下来的那个。
如果 agent 真的解决不了某件事——这是 bug 还是设计如此?这个业务术语是什么意思?——它会问你而不是瞎猜;当你确认一条持久规则时,它通过 record_fact 记住(见 你应用的测试知识)。
第 4 步 —— 结晶
一条流程验证通过的那一刻,agent 调用 crystallize_spec,Hover 就写出 __vibe_tests__/<slug>.spec.ts——确定性地,使用 getByRole / getByLabel / getByTestId。没有 LLM 写代码。文件的形态见 结晶成 spec。
第 5 步 —— 不用 Hover 运行这个 spec
存下来的文件就是纯 @playwright/test。像跑任何 Playwright 测试一样跑它:
npx playwright test __vibe_tests__
这正是结晶的意义:AI 只编写测试一次,但存下来的 spec 在 CI 里以零 agent 参与永远运行。
接下来
- MCP 工具 — 完整的接地工具集与
test_appprompt。 - 测试知识 — Hover 在
.hover/下记住的关于你应用的东西。 - 想要一个可视化界面?可选的 VS Code 驾驶舱 提供 Business Map 图 + Dashboard。它负责审阅——不驱动 agent。
- 优化 spec — 可选的、经 diff 审阅的 AI 打磨过程。