smoke-checklisted
Install: claude install-skill ai798-Lab/karman
# 上线前冒烟检查
**这个 skill 只做一件事:在你点部署之前,告诉你能不能点。**
它不追求测全。追求的是**十分钟内跑完,红了就停**。一个要跑半小时的检查,在你准备上线的那五分钟里不会有人启动它。
## 铁律三条
1. **红了就停。**任何一项判为不合格,输出「不许上线」并指出是哪一项。不给「建议修复」这种模糊结论。
2. **降到哪一档要写在报告第一行。**用平台自带浏览器跑的和只用 curl 跑的,能下的结论完全不同,不许混为一谈。
3. **没测到的写「未测」,不写「通过」。**跳过的项必须出现在报告里并注明原因。
## 第一步 · 探当前环境有什么能力
```bash
bash <本 skill 目录>/scripts/detect_driver.sh
```
**唯一原则:每一档的判据必须是「拿到一份证据」,不是「看到一个名字」。**
名字只说明有人装过,证据才说明现在能用。实测踩过:某台机器上 Kimi WebBridge 的目录在、版本文件在,但 daemon 没跑,curl 直接被拒。**目录存在不能当判据。**
四档,从上往下试:
| 档 | 用什么 | 判据 | 备注 |
|---|---|---|---|
| **1** | **平台自带的浏览器能力** | 会话工具清单里能找到 `mcp__Claude_Browser__*`(Claude Code 桌面版内置面板)或 `mcp__claude-in-chrome__*`(Chrome 扩展);Cursor 则是内置 Browser 工具 | **首选**。测自己的站用干净 profile 那一种就够,不要用继承真实登录态的那种,避免拿你本人的账号去跑冒烟 |
| **2** | **Kimi WebBridge** | `curl -s http://127.0.0.1:10086/status` 同时返回 `running: true` 与 `extension_connected: true` | 两个都要为真。daemon 起了但扩展没连上,等于不能用。它是跨 agent 的,任何有 Bash 的环境都能用同一条 curl |
| **3** | **Playwright** | 本地有 `@playwright/test`,或有 npx 可以现装 | 跑一次秒级、零成本、结果确定 |
| **4** | **只有 curl** | 前三档都拿不到 | 基础设施那一组照跑,交互流程整组标「未测」 |
> **一处容易混的名字**:Kimi 的 Computer Use(操作桌面应用)和 WebBridge(操作浏览器)是两个独立能力,装的时候是两步,别当成一件事。这里要的是 WebBridge。
**第 2 档怎么用**:`POST http://127.0.0.1:10086/command`,body 形如
`{"action":"navigate","args":{...},"session":"smoke"}`。十四个动作里冒烟只用到六个:
`navigate` · `snapshot`(返回带 `@e` 引用的无障碍树,不是像素)· `click` · `fill` · `screenshot` · `evaluate`。
**第 3 档怎么装**:`npm i -D @playwright/test` 然后 `npx playwright install chromium`,两步。
## 第二步 · 基础设施组(