首页/文章/常开 Mac mini 上 Claude Code 会话记录越堆越大?本地 transcript 与项目缓存清理清单

常开 Mac mini 上 Claude Code 会话记录越堆越大?本地 transcript 与项目缓存清理清单

· Zumac.Ai

常开久了,痛的不是内存,是本地记录

把 Claude Code 挂在一台不关机的 Mac mini 上,好处是会话可以跑很久;副作用也很具体:本地会话记录、项目缓存和调试产物会按天往上堆。常见两种抱怨:

  1. 磁盘突然紧张:~/.claude 或某个项目目录比代码本身还大,备份和镜像变慢。
  2. 新会话失忆:你明明上周否决过某个方案,新开一轮又要重新解释,浪费上下文和时间。

这和 OOM 与 tmux 保活 不是一回事:那篇谈的是进程内存被打爆;本文谈的是落盘的历史记录怎么管。也不等于「把上下文窗口塞满」——长任务上下文另见 长任务上下文。

Claude 账号由你自己开通并登录,请遵守 Anthropic 的服务条款与支持地区规则。本文只谈如何搭一个稳定合规的使用环境,不涉及共享或转卖账号。Zumac.Ai 与 Anthropic 没有官方合作关系。目录名与文件布局以你本机 Claude Code 版本为准,升级后请先 ls 确认再删。

准备清单

  • 一台常开的 Mac mini(整机独享),已装 Claude Code,并用你自己的账号登录
  • 终端里能跑 du、find、tar(系统自带即可)
  • 清理前先退出相关 Claude Code 会话,避免边写边删
  • 日常用 SSH 进机器;需要图形界面时用 UU 远程连接

步骤一:先摸清谁在占空间

不要一上来就 rm -rf。先量:

du -sh ~/.claude 2>/dev/null
du -sh ~/.claude/* 2>/dev/null | sort -h
du -sh ~/.claude/projects/* 2>/dev/null | sort -h | tail -20

你通常会看到几类目录(名称因版本略有差异):

  1. 按项目拆开的会话记录(常在 projects 一类路径下):每次对话的 transcript、工具调用痕迹。
  2. 会话索引 / 元数据:方便「继续上次」的小文件,体积一般不大,但文件很多。
  3. 调试或临时导出:你自己 tee、脚本重定向到 ~/logs 的输出,有时比 Claude 自带记录更大。

把「最大的 5 个项目路径」记下来,后面只动冷项目,热项目先留着。

步骤二:定一条保留策略(写进备忘,别每次临时拍脑袋)

建议用「天数 + 是否还在活跃」两条轴:

| 类型 | 建议 | |------|------| | 过去 7 天仍在改的仓库 | 全留;需要回顾决策时能翻到 | | 8–30 天未打开的项目记录 | 打成压缩包归档到 ~/Archives/claude-transcripts/ | | 超过 30 天且仓库已删或已归档 | 删除本地 transcript;代码若还在 git 里,以 git 为准 | | 含密钥、令牌、客户原文的片段 | 先搜再删:不要整包外传或丢进公共备份 |

归档示例(路径按你上一步量到的改):

mkdir -p ~/Archives/claude-transcripts
# 示例:把某个冷项目目录打成按月命名的包
tar -czf ~/Archives/claude-transcripts/proj-old-$(date +%Y%m).tar.gz \
  -C ~/.claude/projects ./某个冷项目目录名
# 确认压缩包可读后,再删除原目录

归档目的是腾出工作盘,不是永远堆在同一块盘上。若 Archives 也开始膨胀,再把旧 tar 挪到你自己的对象存储或外置盘。

步骤三:删之前先扫敏感内容

会话记录里经常出现 .env 片段、粘贴的令牌、内网地址。清理前在目标目录扫一遍关键词(按你的习惯增删):

rg -n -i 'api[_-]?key|token|secret|password|BEGIN (RSA |OPENSSH )?PRIVATE' \
  ~/.claude/projects/某个冷项目目录名 2>/dev/null | head

若命中:

  1. 先轮换相关密钥(在对应服务控制台操作),再删本地副本。
  2. 不要把未脱敏的 transcript 打进会同步到共享盘的目录。
  3. 热路径上继续用 deny 规则挡住密钥文件,从源头少写进去。

步骤四:留一份「精简记忆」,而不是整段 transcript

很多人清理完又痛苦:新会话不知道上周为什么否决了某方案。正解不是保留全部聊天记录,而是单独维护一份短的决策备忘,例如仓库里的 DECISIONS.md 或 CLAUDE.md 里一小节:

## 已否决
- 不用方案 A:和现有鉴权冲突(2026-10)
## 约定
- 迁移已完成:主库是 Postgres
- 发布只走 staging 分支,不直接推生产

写法要点:

  1. 只记结论和日期,不贴长对话。
  2. 和 Skills / 常驻规则分工:常驻行为放 Skills 或短 CLAUDE.md,参考长文按需加载(见 Skills 与 CLAUDE.md)。
  3. 备忘进 git;transcript 默认不要进 git。

这样磁盘可以瘦,上下文也不会每次从零讲起。

步骤五:做成月度例行,而不是等磁盘报警

在常开机器上,把清理变成可重复的检查:

  1. 每月固定一天跑一遍步骤一的 du,把结果贴进你自己的运维笔记。
  2. 超过阈值(例如 ~/.claude 大于你定的上限)才执行归档。
  3. 多会话并行时,先看 会话状态板,确认没有会话还在写同一个项目,再删该项目的冷记录。
  4. 机器本身要真的常开:若系统在睡,你会误以为「记录没增长」,其实任务早就停了,可配合 pmset 睡眠审计。

可选:用 launchd 的 StartCalendarInterval 每月跑一个只做 du 报告的脚本,把结果追加到 ~/Archives/claude-du.log;自动删除仍建议人工确认,避免误伤热项目。

建议验收清单

  1. du -sh ~/.claude 能在清理前后给出可对比的数字。
  2. 热项目会话仍可继续;冷项目记录已在 Archives 中且抽查能解压。
  3. 敏感关键词扫描无新命中,或已轮换相关密钥。
  4. 仓库里有一份不超过一两屏的决策备忘,新开 Claude Code 能据此接话。
  5. transcript 未误提交进 git;备份策略里工作盘与归档盘分离。

和 Zumac.Ai 怎么配合

本地记录管理的前提是:同一台机器长期在线、目录结构稳定、你随时能 SSH 回去做月度清理。笔记本合盖、换机、重装,都会让「Archives + 精简记忆」策略断掉。Zumac.Ai 提供位于新加坡家庭宽带上的实体 Mac mini,整机独享,支持 SSH 与 UU 远程连接,适合把 Claude Code、~/.claude 与归档目录长期放在同一台机器上维护。新客户整机租用 ¥999/月起(季付 ¥2,697.30,半年付 6 送 1 ¥5,994,年付 12 送 2 ¥11,988);已购买客户续费保持原价。订购与开通走 panel.zumac.ai;方案说明见 首页费用区;使用问题见 帮助中心。需要人工协助可联系 Telegram @singatao。实际延迟取决于你本地的网络线路。

常开不是把所有历史永远堆在工作盘上——量清楚、归档冷的、留下短记忆,新会话才接得上,磁盘也撑得住。

Zumac.Ai 新加坡 Mac mini M6,整机独享,¥999/月起,联系 Telegram @singatao。
查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服