结果快,但边界不可见
- 角色
- 产品设计与原生工程(风险模型 / 本地诊断)
- 时间
- 2026 · local macOS build, ongoing
- 平台
- macOS / SwiftUI / SwiftPM
清理不是找到最多能删的文件,而是让每一次删除都能被理解和确认。
01 / Context
不是“一键清理更多”
磁盘清理涉及不可逆删除。真正的问题不是找到更多文件,而是让用户理解空间归因、风险与后果。

界面先解释空间从哪里来,再让用户检查候选项和风险。
02 / Framing
信任来自看得见的边界
- 把推荐项、可选项和高风险项分开。
- 风险说明必须早于清理按钮。
推荐、可选与高风险分开
产品判断从“最大清理量”转向“可解释的安全边界”。
03 / Decision
先诊断机器,再决定是否删除
空间不足可能与热点进程、Spotlight 或 headless 浏览器残留共同发生,因此产品同时展示机器健康快照。
磁盘问题与 CPU、索引和浏览器残留一起被观察,不把清理孤立成单次动作。
04 / Flow
把删除放到流程后半段
Observe → Attribute → Review → Clean → Guard 是产品的安全顺序,也是界面的阅读顺序。
观察 → 归因 → 审核 → 清理 → 持续守护
操作按钮被放在归因和审核之后,避免把删除变成默认答案。
05 / Boundary
本地优先,也要范围优先
Cleaner 聚焦用户目录,系统路径默认避开;.noindex 和临时项迁移用于减少问题复发,但不默认移动已有内容。
Primary scope
Avoid by default
Opt-in migration
Managed guard
User-owned action
扫描以用户目录为主,已有内容默认不移动;临时项迁移必须显式开启。
06 / Delivery
证据包括不能声称的部分
SwiftUI / SwiftPM 架构、本地 App 和测试 targets 都存在;当前环境的 XCTest 限制被明确保留。
仓库与本地 App artifact 可核验;本轮工具链无法加载 XCTest,因此不声称测试通过。