SuperAPI AI 工具集

web-performance-audit

测试与质量

查看项目

更新于 10-31 16:19

技能介绍

用途

该技能用于对正在运行的真实 Web 应用做一次只读、以证据为准的运行时性能审计,重点回答“用户为什么觉得慢”,而不是泛泛给出最佳实践清单。它强调先复现和量化用户可见症状,再用源码检查验证因果假设,并默认在提出建议后停止,除非用户另行授权实施修改。

主要能力

  • 审计契约先行:在操作页面之前写清运行时目标、报告目标(去除用户信息、查询串、片段和私有身份)、用户旅程、覆盖范围、初始状态、构建模式和写入边界。
  • 数据边界检查:记录访问是否获授权、页面是否可信、是否可见敏感数据、浏览器配置文件是否共享或隔离,以及风险决策为继续还是阻断。
  • 分层工具路由:按证据需要选择已登录浏览器驱动、Chrome DevTools MCP 或 CLI、Computer Use、Chrome Recorder、React Scan/Profiler、PerformanceObserver/页面探针和源码检查;不假定特定工具名,缺失能力时按能力引导流程处理。
  • 有界测量矩阵:围绕生命周期(冷启动/热返回)、活动状态(空闲/播放)、设备(正常/4× CPU 降速)、规模、重复次数、插桩开关和构建模式,选择能证伪当前假设的最小组合,并设置阴性对照。
  • 因果分层定位:把症状拆成用户操作、浏览器事件与输入延迟、JavaScript/框架工作、样式/布局/绘制/合成、图像视频解码与 GPU、网络/缓存/查询/追踪器、内存保留/GC/后台活动等层,每次只改变一个变量。
  • 证据台账:提供基于 Python 3 的 audit_ledger.py 辅助脚本,支持 init、validate、render 三个子命令;脚本无法运行时可按报告契约手工编写。置信度标签固定为 VERIFIED、SCREEN_OBSERVED、INFERENCE、UNVERIFIED、MEASUREMENT_POLLUTION。
  • 克制建议:每条发现按“证据 → 用户影响 → 最小优化方向 → 等效复测 → 停止条件”组织,不预设记忆化、虚拟化、代码拆分、Worker 卸载、图片缩放、查询改造或卸载组件等手段。
  • 恢复与报告:结束前停止录制与临时插桩、恢复 CPU/网络设置、暂停媒体、回到初始可达的标签/选择/滚动位置,说明页面是否被改动,并单独报告工具失败和丢弃的运行。

使用方式

典型流程为:先写审计契约并确认数据边界;读取工具路由参考文件后开始浏览器操作;建立干净基线并枚举请求的交互面;运行有界测量矩阵;形成并检验因果假设;维护证据台账;最后恢复状态并按报告契约输出结论。脚本调用形式为:

<python-3-launcher> "{{skill_path}}/scripts/audit_ledger.py" init "<writable-output-dir>/web-performance-audit.json" --url '<target-url>' --title '<audit-title>'
<python-3-launcher> "{{skill_path}}/scripts/audit_ledger.py" validate "<writable-output-dir>/web-performance-audit.json"
<python-3-launcher> "{{skill_path}}/scripts/audit_ledger.py" render "<writable-output-dir>/web-performance-audit.json" --output "<writable-output-dir>/web-performance-audit.md"

其中 {{skill_path}} 是包含已加载 SKILL.md 的目录占位符,需替换为实际路径后再执行。

适用场景

适合诊断已登录编辑器、仪表盘、媒体工具、长生命周期单页应用等真实交互应用的运行时性能问题,并产出有证据支撑的优化待办清单。若目标是广泛的加载、无障碍、SEO 和最佳实践检查,应使用 Lighthouse/Web Quality 类技能;若目标是代码修改后的功能通过/失败验证,应使用浏览器冒烟或端到端测试技能。

限制

默认只读,不编辑产品代码、不改变生产数据、不安装扩展、不修改共享浏览器配置、不提交、不部署。Chrome DevTools MCP 会暴露其浏览器客户端可见的一切信息,不应仅因方便就挂接到敏感的已登录配置文件;风险决策为阻断时只产出阻断或跳过的覆盖记录,不产出产品发现。工具输出不能自动视为产品证据,需记录超时、扩展、覆盖层、注入脚本、DevTools 挂接和后台标签等测量污染。精确指标语义不可混用,例如不能把实验室点击时长称为 INP,不能把预 GC 堆增量称为泄漏。单台机器或单一客户端的结果不能直接外推。