用途:让代理驱动 VS Code 执行可复现的场景,采集内存与性能产物、验证场景是否真正发生,再把堆快照交给通用堆快照分析技能做对象级调查。适用于用户怀疑某个 VS Code 工作流存在内存泄漏或增长、要求代理启动 VS Code 并驱动场景抓取快照、运行内置 Chat 内存冒烟器,或为新场景编写自动化运行器。若快照已存在、只做对象/保留路径分析,应直接使用堆快照分析技能。
主要能力:内置稳定运行器位于 scripts/,含 chat-memory-smoke.mts(多轮 Chat 冒烟,发送提示、等待响应、采样渲染进程堆、可选快照)、chat-session-switch-smoke.mts(多会话切换)、userDataProfile.mts(用户数据配置管理)。流程为定义场景(预热、可重复迭代、可强制 GC 的静默点)、开发自动化、先禁用快照跑快速冒烟、再抓取定向快照、通过 summary.json 与截图核验、最后分析并修复产品代码、用相同标签复跑对比、把结论写入会话记忆。
使用方式:健康检查示例 node .github/skills/auto-perf-optimize/scripts/chat-memory-smoke.mts --iterations 3 --no-heap-snapshots;带标签快照示例加 --heap-snapshot-label 03-iteration-01 与 --heap-snapshot-label 03-iteration-08。默认持久配置位于 .build/auto-perf-optimize/user-data,可选 --temporary-user-data、--seed-user-data-dir、--keep-open、--reuse。新运行器放 gitignore 的 scratchpad 日期子文件夹,并写 findings.md。
限制与安全:Chat 运行在真实机器上,会调用真实 LLM,代理的工具调用(终端命令、文件编辑)真实执行,非沙箱;应使用一次性工作区与只读命令,避免破坏性操作。不要分析登录失败、信任提示或错误 UI 状态的运行。快照体积大且慢,不宜每次采样都抓。种子配置复制要求源窗口关闭、目标目录为空,复制会跳过缓存、日志、崩溃转储与锁文件,但保留可能含鉴权信息的用户/全局存储,切勿附到 issue 或 PR。非 Chat 场景需向用户补齐启动动作、迭代定义、静默判定与配置持久性等关键信息。