开发环境体检器 env-doctor
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @user_5cc4cdb8/hekouwang-env-doctor-skill 安装到 AI 助手中。
技能介绍
当磁盘告急,体积本身不是答案
开发机的磁盘往往不是被业务代码吃掉的,而是被工具链的惯性占用:多个版本管理器并存、包管理器缓存、容器镜像、以及动辄几十 GB 的 AI 模型目录。系统自带的「存储空间」只能告诉你某个目录很大,却回答不了这个工具你还在用吗——nvm 里装过五个 Node 版本,当前 shell 加载的可能只有其中一个,其余属于残留,可体积扫描器对此毫无区分能力。
先扫描,再按证据判定
env-doctor 把流程拆成两个阶段,扫描与判定严格分离:
- 扫描:
scripts/scan.sh是只读实现,输出 DISK、SIZES、MANAGERS、RUNTIME、AI_AGENT、DISCOVER 六节原始数据,不写任何文件; - 判定:对照
references/rules.md,先以三分法给目录定身份——数据、缓存、残留——再以四信号判定表(shell_loaded×cmd_in_path×runtime owner×last_modified)判断版本管理器处于活跃还是残留状态。同一个版本被两个管理器各装一份时单列一条提示。
报告与清理:用户逐项确认才动手
报告生成遵循 references/report.md 的四步流程:先给结论,再按残留 → 缓存 → 数据分组呈现。每条建议必须携带五个要素:是什么、多大、凭什么判、官方命令、代价。缓存类标注「会重下」,数据类如模型权重、容器卷则不做任何删除引导。
想清理时,由 scripts/clean.sh 这个交互式选择器接管(空格勾选、a 全选、n 全不选、回车确认)。数据类默认锁死,确认页逐条列出将要执行的命令与代价,输入 yes 才真正动手。模型不会自行拼接 rm 命令执行——这是 references/safety.md 中写死的三条铁律之一。
边界
- 只覆盖开发工具占用:版本管理器、包管理器、构建缓存、容器、AI 模型;
- 仅扫描家目录,不碰系统目录与他人目录;
- 不联网、不上报扫描结果;
- 信号矛盾时如实标注,不为报告美观猜测。
如果你的问题出在 AGENTS.md/CLAUDE.md 配置或 SKILL.md 结构上,env-doctor 会直接点名同族的 claude-md-doctor 与 skill-doctor,而不是在本报告里硬做文件内容审计。
使用场景
- 磁盘将满时,需要按目录身份清理包管理器缓存、容器镜像和模型权重等开发工具占用
- nvm 或 pnpm 装过多个版本,想依据 shell 加载、PATH 与最后修改时间判断哪些已残留
- 同一 Node 或 Python 版本被两个管理器各装一份,需要定位重复安装并评估清理方式
- 清理前需要逐条确认命令与代价,且数据类目录必须保留不被误删
适合人员
- 日常维护多台开发机的工程师,需要定期确认工具链是否还在实际使用
- 负责清理 CI 构建缓存和容器镜像的平台维护者,需要先评估占用身份再执行
- 本地维护多个 Node、Python 版本与 AI 模型的开发者,需要在版本冲突时识别残留
- 关注自动化清理安全性的运维人员,要求删除必须逐项确认且只跑白名单命令