Skip to content
Built byLearnPromptGoodCase.ai AI News Radar AI Map

让老爷爷先看家底:Mac 上给 AI 工作流瘦身的三把刀

This content is not available in your language yet.

电脑慢了、磁盘红了、Agent 一开就像在泥地里跑,这时候最危险的反应不是焦虑,而是立刻喊一句:“清缓存!”

老爷爷通常会先拦一下。

这里的老爷爷指的是戒指老爷爷 laoyeye,一个逐字收录辅助思考提示语的 skill 仓库。

他不会先问“删哪个”,而是问三件事:

  • 这台机器现在真正卡在哪里?
  • 哪些东西删了还能长回来?
  • 哪些东西一刀下去,下一个 Agent 就接不上了?

这篇文章是一套给 AI 工作流用的 Mac 存储整理方法。它不是传统“磁盘清理软件”的替代品,而是一套可审计的操作纪律:先只读盘点,再按风险分层动刀,最后留下报告,让人和 Agent 都知道刚才发生了什么。

读完你可以做四件事:

  • 用一组只读命令判断 Mac 是空间压力、内存压力,还是后台进程堆叠。
  • 把清理目标分成“可再生负担”“工作流泥沙”“高价值冷存”三类。
  • 避开 VM、浏览器 Profile、照片库、聊天数据、Keychain 等高风险目录。
  • 给每次清理留下 manifest 和 report,避免下次从零猜起。

如果没有明确授权执行,Agent 只允许做只读盘点。

这条铁律听起来保守,但它能救命。AI 工作流的机器里通常混着代码仓库、视频素材、PPT 源文件、下载缓存、浏览器数据、聊天记录、模型运行环境和临时 worktree。它们看起来都很大,但价值完全不同。

先跑一组只读体检:

终端窗口
date '+%Y-%m-%d %H:%M:%S %z'
df -h / /System/Volumes/Data 2>/dev/null || df -h
sw_vers 2>/dev/null || true
sysctl -n hw.memsize hw.ncpu machdep.cpu.brand_string 2>/dev/null || true
memory_pressure 2>/dev/null | sed -n '1,80p' || true
vm_stat | sed -n '1,40p' || true
pmset -g therm 2>/dev/null || true
uptime

判断口径可以先用这张表:

信号说明下一步
Data 卷使用率超过 85%多 Agent、浏览器、视频和本地构建会明显变紧先找可再生大头
可用空间低于 30 GiB系统和应用缓存回旋空间不足优先释放缓存和构建产物
memory_pressure 或 swap 历史偏高长时间后台堆叠,可能不是单个 App 的锅看进程和常驻服务
thermal 没警告但 load 高多半是同步、索引、远控、LLM 桌面端一起磨先减后台,再谈卸载

老爷爷的第一句不是“删”,是“证据在哪里”。

全盘深扫很容易把系统目录、聊天库、浏览器数据库拖进无意义的慢查询。先看用户工作区和常见缓存区就够了。

终端窗口
du -sh "$HOME/Downloads" "$HOME/Desktop" "$HOME/Documents" "$HOME/projects" "$HOME/Library" "$HOME/Movies" "$HOME/Music" "$HOME/Pictures" "$HOME/Backups" "$HOME/agent-workbench" 2>/dev/null | sort -h
du -sh "$HOME/Library/Caches" "$HOME/Library/Application Support" "$HOME/Library/Containers" "$HOME/Library/Group Containers" "$HOME/Library/Logs" "$HOME/Library/Developer" 2>/dev/null | sort -h

看到大头后,只深入一层:

终端窗口
find "$HOME/Library/Application Support" -maxdepth 1 -mindepth 1 -exec du -sh {} + 2>/dev/null | sort -h | tail -n 30
find "$HOME/Library/Caches" -maxdepth 1 -mindepth 1 -exec du -sh {} + 2>/dev/null | sort -h | tail -n 30
find "$HOME/projects" -maxdepth 1 -mindepth 1 -type d -exec du -sh {} + 2>/dev/null | sort -h | tail -n 30
find "$HOME/agent-workbench" -maxdepth 1 -mindepth 1 -exec du -sh {} + 2>/dev/null | sort -h | tail -n 30
find "$HOME/Backups" -maxdepth 2 -mindepth 1 -exec du -sh {} + 2>/dev/null | sort -h | tail -n 30

再看后台进程:

终端窗口
ps aux | awk 'NR==1 || $3+0 >= 10 || $4+0 >= 2 {print}' | sort -k3 -nr | sed -n '1,30p'

这一轮只需要输出五个结论:

问题输出形式
最大 5 个空间大户是谁路径、大小、用途猜测
哪些是可再生负担可删除原因、恢复方式
哪些是业务资产或用户资产为什么不能直接删
哪些进程正在制造性能摩擦进程名、CPU、内存、可能来源
第一刀预计能释放多少粗估 GiB,不承诺精确

这套方法的核心不是“清理更多”,而是“先砍最确定的”。

这是最适合先处理的一层。它们通常体积大、可重建、对用户资产风险低。

目标为什么可以先处理恢复方式
$HOME/Library/Caches/ms-playwright浏览器自动化缓存,可重新下载下次 Playwright 运行时重装浏览器
App 更新缓存更新器留下的安装包或中间态应用会重新拉取
仓库里的 .nextdistbuildcoverage构建产物,不是源代码重新运行 build/test
明确可重装的 node_modules依赖目录体积大且可再生npm install / pnpm install / bun install
临时导出和失败构建产物通常是一次性产物从源文件重新导出

这一刀要非常精确。不要写“清理所有缓存”,要写“清理这 5 个路径”。

这一层不一定该删除,更适合整理。

典型目标包括:

  • 下载目录里的新散件。
  • 压缩包和解压目录同时存在的项目。
  • PPT、视频、截图、网页导出、文章素材。
  • 多个同名或同源项目目录。
  • 一次性上传包、临时素材包、工具导出结果。

处理方式不是“扔掉”,而是把它们归回工作流:

场景推荐动作
压缩包和解压目录并存放到同一个候选组,先判断哪一个是主副本
同主题素材散在下载目录合并到内容、素材、项目或归档目录
命名像密钥、token、账号导出不读内容,移入敏感待处理区或停下询问
刚移动过但还没人工确认打 Finder 标签,比如“文件移动”
目标目录已有同名文件不覆盖,进入重复待确认

这就是“老爷爷点人”:不是每个文件都上刑场,有些只是该回宿舍。

这一层通常很大,但不能冲在第一轮。

目标为什么危险更合适的动作
大型历史项目包可能是唯一可复盘状态先生成清单,再压缩或外置迁移
旧版 DMG、ISO、安装包有些可重下,有些不可重下标注来源和用途后再删
视频素材库、PPT 源文件合集内容资产不可再生冷存、外置盘、云盘,不盲删
旧 worktree 整体可能保留未合并上下文查 Git 状态和任务记录后处理
备份目录价值密度不透明先按时间和用途分层

第三刀的关键词是“冷存”,不是“清空”。

下面这些目录不是永远不能优化,而是不能用普通 rm -rf 或一把梭脚本处理。

禁刀对象原因
LLM 桌面端 VM 或运行时 bundle可能是应用运行核心,删了会破坏环境
Chrome / 浏览器 Profile混有登录态、扩展、历史、数据库
Messages、Mail、聊天数据私密且恢复复杂
Keychain、密码库、证书目录不能让 Agent 读取或移动
Photos Library包结构复杂,应该用照片应用或备份策略处理
当前活跃 Git 仓库的 .git这是项目历史和状态,不是普通缓存
Obsidian 或知识库主库文件多、链接多,误动后修复成本高
证件、合同、财务、签证材料个人资产,必须人工确认

一条简单判断:删了会不会让“下一个 Agent 不知道发生过什么”?会,就先别删。

当用户说“执行”时,也只执行刚才列出的精确第一刀目标。不能扩大范围。

执行前检查:

  • 路径存在。
  • 路径在 $HOME 下。
  • 路径不是 symlink 到未知位置。
  • 路径不是 .git、Keychain、Mail、Messages、Photos Library、浏览器 Profile 或 LLM VM bundle。
  • 已记录清理前 df -hdu -sh
  • 已写 manifest。

执行方式也要分清:

用户授权允许动作
“移到废纸篓”只 trash,不清空
“立即释放”只删除 manifest 中列出的精确路径
“整理一下”只移动明确可分类文件,不删除
“看看能不能删”只读盘点和建议,不执行删除

不要使用通配符删除,不要用 sudo rm -rf,不要让脚本自己扩大战果。

每次执行都要留下两份记录。

manifest 是机器可读的明细表:

$HOME/Observation/reports/performance-cleanup-YYYY-MM-DD_HH-MM-SS.tsv

字段建议:

action_at status path size_kib_before reason restore_method error

report 是人能读懂的复盘:

$HOME/Observation/reports/performance-cleanup-YYYY-MM-DD_HH-MM-SS.md

必须包含:

  • 执行时间。
  • 清理范围。
  • 未触碰范围。
  • 清理前磁盘状态。
  • 清理后磁盘状态。
  • 估算释放空间。
  • 明细表。
  • 后续第二刀和第三刀建议。
  • 遇到冲突如何处理。

这不是文书洁癖。没有记录,下次 Agent 就会重新猜一遍;有记录,下一刀才会更稳。

下面是一版可以直接给 Agent 的公开 Prompt。你可以把 $HOME、工作区名称和报告路径替换成自己的环境。

你是我的 Mac 工作流压缩助手。请用奥卡姆剃刀整理这台 Mac:先处理最大、最确定、最可恢复的负担,不做玄学优化,不炫技,不乱删。
目标不是把电脑清空,而是恢复成可持续工作的状态:
- 下载目录不再像泥石流。
- Agent worktree 不堆满可再生构建产物。
- 缓存不吞掉磁盘余量。
- 备份、VM、聊天数据、照片库等高风险资产不被误伤。
- 每次动作都留下 manifest/report,方便人和下一个 Agent 接手。
铁律:
- 没有我明确说“执行”,只允许只读盘点。
- 不读取 secrets、token、key、.env、浏览器数据库、聊天正文、邮件正文、Keychain、密码文件内容。
- 敏感命名文件只按文件名判断,不打开内容。
- 不用目录 mtime 判断“上次整理过”;只信 manifest、report、人工日志。
- 不硬编码用户名路径;用 $HOME 或 Path.home()。
- 不直接动 active repo、VM bundle、浏览器 Profile、照片库、聊天/邮件主数据。
- 删除或移动前必须写清单;执行后必须复查并写报告。
- 如果目标已存在,不覆盖;放入“重复待确认”或停下说明冲突。
第一阶段:只读体检。
请运行 date、df、sw_vers、memory_pressure、vm_stat、pmset -g therm、uptime,并输出当前空间、内存、负载状态。
第二阶段:找大头。
只扫描 $HOME 下的 Downloads、Desktop、Documents、projects、Library、Movies、Music、Pictures、Backups、agent-workbench,以及 Library 下 Caches、Application Support、Containers、Group Containers、Logs、Developer。
不要全盘深扫,不要读取敏感文件内容。
第三阶段:分类。
把候选项分成三类:
1. 可再生负担:缓存、构建产物、可重装依赖。
2. 工作流泥沙:下载散件、压缩包和解压目录、素材、临时导出、重复项目。
3. 高价值冷存:备份、旧项目包、视频/PPT 源文件、照片库、可能唯一副本。
执行门禁:
当我说“执行”时,只执行你刚才列出的精确第一刀目标,不能扩大范围。执行前写 manifest,执行后写 report。不要使用 sudo rm -rf,不要使用通配符删除。
最终回复请包含:
- 已只读盘点 / 已执行。
- 释放空间估算。
- 清理项数量。
- 整理项数量。
- 未触碰范围。
- report 和 manifest 路径。
- 本次最大收益点和避坑。

在一台长期跑浏览器、LLM 桌面端、多 Agent worktree、内容生产素材的 Apple Silicon Mac 上,第一刀通常不需要碰用户资产。

更稳的顺序是:

  • 先清理自动化浏览器缓存和应用更新缓存。
  • 再处理 worktree 里的 .nextnode_modulesdistcoverage
  • 然后整理下载目录里的压缩包、解压目录和素材散件。
  • 最后再把大型备份、旧项目包、视频/PPT 源文件列为冷存候选。

一次保守执行里,第一刀只处理可再生缓存和构建产物,就可能释放数 GiB 到十几 GiB 空间;但真正重要的不是数字,而是没有误伤 VM、浏览器 Profile、照片库、聊天数据、备份和用户文档。

这套只读盘点、三色分级、manifest 与 report 的流程,已经做成了一个 skill,名叫 carl-file-organizer,收在 carl-skills 里。

AI 工作流里的电脑不是一个“干净桌面”问题,而是一个“下一次还能不能接着干”的问题。

老爷爷的判断很简单:

  • 能重建的,先砍。
  • 能归档的,先归位。
  • 可能是唯一副本的,先停手叫老爷爷,别动。

这套流程的目标不是让 Mac 看起来空,而是让它重新变成一台能被人、Agent、下一周的你继续接手的机器。