# 任务：全面审计并安全清理 macOS 开发环境磁盘

你是一名资深 macOS 系统工程师和开发环境维护专家。请帮我检查当前 Mac 的磁盘占用情况，找出可以安全释放空间的文件，并执行分级清理。

## 一、基本原则

1. **先审计，后清理**：第一阶段只读分析，不删除、不移动、不修改任何文件。
2. **优先清理低风险文件**：重点处理可重新生成的缓存、临时文件、过期日志、构建产物及废弃下载文件。
3. **保护开发环境**：不得擅自删除源码、Git 仓库、未提交的修改、依赖配置、SSH 密钥、证书、环境变量文件、数据库、重要文档或个人数据。
4. **不破坏现有工具链**：保留当前可用的 Homebrew、Node.js、Python、Java、Android SDK、Xcode、Docker、Git、Claude Code 等开发环境。
5. **不追求极限清理**：优先清理收益高、风险低的内容。不要为了释放少量空间而破坏缓存命中率或导致大量重新下载。
6. **禁止危险操作**：不得使用 `rm -rf` 批量删除未知路径，不得关闭 SIP，不得修改系统安全设置，不得清空整个回收站，不得执行来源不明的清理脚本。
7. 不要输出或读取与清理任务无关的密钥、Token、密码及其他敏感信息。
8. 遵循最小权限原则。不要默认使用 `sudo`；遇到权限限制时，说明原因，不得绕过安全机制。

## 二、第一阶段：只读磁盘审计

请检查以下内容，并报告实际结果：

### 1. 磁盘总体情况
- 系统卷和数据卷的总容量、已用空间、可用空间。
- APFS 容器、卷及本地快照可能造成的空间占用。
- 用户目录中各一级目录的实际占用。
- 识别大型文件、重复文件以及长期未使用的大型文件，但不要直接删除。

### 2. 开发工具缓存与构建产物

根据当前实际安装的工具进行检查，不要假设所有工具都存在：

- Xcode：DerivedData、Archives、模拟器运行时、设备支持文件、旧版模拟器。
- Homebrew：下载缓存、旧版本包、可清理的缓存。
- Node.js：npm、pnpm、Yarn 缓存，以及各项目的 node_modules。
- Python：pip 缓存、虚拟环境、旧版环境。
- Java / Gradle：Gradle 缓存、构建目录。
- Android：SDK、AVD 模拟器、Gradle 缓存、旧版构建产物。
- Docker：镜像、已停止容器、构建缓存、卷，以及占用空间的未使用资源。
- Git：仓库体积、Git 对象、可识别的冗余文件；不得清理未提交内容。
- Go、Rust、Maven、CocoaPods 等实际存在的开发工具缓存。
- VS Code、JetBrains IDE、终端工具及其他开发软件缓存。
- Claude Code 及相关 AI 开发工具产生的缓存、日志和临时文件。
- 本地大模型权重、GGUF 文件、Hugging Face 缓存及其他 AI 模型文件。只统计和列出，不要自动删除。
- 临时目录、崩溃日志、过期日志和下载目录中的大型文件。

### 3. 项目与文件安全检查

对于发现的大型目录或文件：
- 区分源码、依赖、构建产物、缓存、下载文件和用户数据。
- 检查 Git 工作区是否存在未提交修改。
- 不读取 `.env`、SSH 密钥、证书、密码库等敏感文件的内容。
- 不要仅凭文件名或最后修改时间判断文件可以删除。
- 对于无法判断用途的文件，列入人工确认清单。

### 4. 审计输出

输出一张表格，至少包含：

| 路径或类别 | 当前占用 | 可回收估算 | 风险等级 | 清理方式 |
|---|---:|---:|---|---|

将候选项分为：
- A 类：低风险，可以通过标准工具安全清理。
- B 类：需要确认，例如旧模拟器、旧归档、过期虚拟环境。
- C 类：高风险或用途未知，不执行删除。

分别计算各类别预计可释放的空间，并注明估算值不一定等于最终释放的物理磁盘空间。

**第一阶段结束后立即停止。不要删除任何文件，等待我确认。**

## 三、第二阶段：执行清理

只有我明确同意后，才开始执行。

按照以下优先级操作：

1. 使用工具自身的安全清理命令清理已确认的缓存。
2. 清理已确认过期的临时文件和日志。
3. 清理确认不再需要的构建产物。
4. 清理确认废弃的下载文件和旧版本开发资源。
5. 处理需要单独确认的 Docker 镜像、容器、卷、Xcode 归档及模拟器。

执行要求：

- 每次只处理一个类别，清理后重新检查磁盘空间。
- 删除前验证准确路径，禁止使用未经检查的通配符。
- 对 Docker 卷、数据库、虚拟机磁盘和模型权重实行额外保护。
- 不要删除正在使用的缓存、项目依赖或仍被工具引用的文件。
- 不要自动卸载软件、重装开发环境或修改系统配置。
- 如果某项操作可能导致项目重新下载依赖、重新编译或丢失数据，先单独征求同意。
- 发现 Git 工作区有未提交修改时，不要自动清理相关项目。
- 一旦遇到路径异常、权限异常、意外数据丢失风险或操作结果与预期不符，立即停止该项操作并报告。

## 四、第三阶段：验证与总结

完成清理后：

1. 重新检查磁盘可用空间。
2. 对比清理前后的磁盘数据。
3. 记录每项实际执行的命令、清理路径、执行结果和释放空间。
4. 检查关键开发工具是否仍然可以正常启动。
5. 对本次涉及的项目进行必要的轻量验证，不要擅自执行可能修改项目状态的全面构建。
6. 列出未清理项目及其原因。
7. 给出后续磁盘维护建议。

最终报告包括：
- 清理前可用空间。
- 实际释放空间。
- 清理后可用空间。
- 各工具的清理明细。
- 未执行的高风险操作。
- 建议定期维护的目录及频率。

现在开始第一阶段：只读审计。不要执行任何删除操作。