首页/文章/长会话喝杯咖啡回来被重算或丢细节?在新加坡 Mac mini 上配好 Claude Code idle compaction

长会话喝杯咖啡回来被重算或丢细节?在新加坡 Mac mini 上配好 Claude Code idle compaction

· Zumac.Ai

喝杯咖啡回来,长会话要么被整段当「未缓存」重算一遍,账单最疼;要么已经被自动压成摘要,细节对不上号。Claude Code 的 idle compaction(空闲压缩) 就是为这个场景准备的:对话大约超过 200K token、闲置约 54 分钟后,会在约 1 小时的 prompt cache 过期前先做摘要,回来只重建短前缀。v2.1.314 起,它不只在交互式终端里出现,也进入了 VS Code 与 Claude Desktop 的 Code 标签页。这篇讲怎么在一台常开的新加坡 Mac mini 上核对版本、打开或关闭该开关,并完成一轮可验收的「离开再回来」测试。

账号由你自己开通与登录。本文只讨论稳定合规的使用环境与机器侧配置,不涉及共享账号或绕过平台规则。

先搞清楚:idle compaction 解决什么、不解决什么

公开讨论里反复出现的机制可以概括成三点:

  • 触发条件大致是:会话体量约 200K+ token,空闲大约 54 分钟,且仍挂着约 1 小时的 prompt cache。
  • 目的:赶在缓存过期前把对话压成摘要,避免下一条消息整段历史按「冷启动」重算。
  • 代价:摘要会丢掉部分细节;有人觉得省额度,也有人觉得「回来后指令对不上」。订阅类会话与 API Key 会话的默认行为也可能不同,以你本机 /config 与发行说明为准。

它不能代替:把关键结论写进仓库文件、用 hooks 做硬门禁、或在压缩后手动核对任务清单。站内另有文章讲过压缩后 CLAUDE.md 软指引变「过期」的处理;本文只聚焦 idle compaction 本身的开关与验收。

同一次 v2.1.314 还加强了「工作目录外写入」的拦截(Write / Edit / NotebookEdit 在各类权限模式下均可拒绝目录外路径)。无人值守时建议与 idle compaction 一起核对,但配置入口不同,下文会分开写。

第一步:在新加坡 Mac mini 上升级并确认入口

用 SSH 或 UU 远程连接登录 Mac mini,打开终端:

claude --version
claude /status

确认已到 2.1.314 或更新(具体补丁号以官方发行说明为准)。若你同时用 VS Code 扩展或 Claude Desktop 的 Code 标签,也在同一台机器上打开一次,确认看到的版本与 CLI 一致,避免「终端已压缩、桌面还在烧冷缓存」。

把长期仓库固定在这台机器上,例如:

tmux new -s claude-idle || tmux attach -t claude-idle
cd ~/work/your-repo
claude

笔记本只负责远程接入;真正闲置 54 分钟、等压缩触发的,是这台常开整机。

第二步:用 /config 与 settings.json 对齐开关

交互式入口:

claude
# 在会话里输入:
/config

在配置列表里找到 Idle compaction(文案随版本可能略有出入)。需要省重算时保持开启;需要「离开再回来仍保留完整细节」时可关闭。压缩完成后的通知里通常也会提示如何关闭,按提示操作即可。

项目或用户级配置也可以落在 settings.json(路径以你当前版本文档为准,常见为用户目录下的 Claude 配置)。示意:

{
  "idleCompaction": true
}

改成 false 即关闭。改完后新开一轮会话再查 /config,确认 UI 与文件一致。

建议把「本机默认」写进仓库旁注或 CLAUDE.md 专属段,方便换机器时对照:

# Claude Code 本机约定(仅 Claude)
- 长迭代 / 过夜循环:idleCompaction = true,机器禁睡眠
- 细节敏感的短冲刺:idleCompaction = false,关键结论落盘
- 日常只在 tmux 会话 claude-idle 里跑

第三步:机器侧保证「闲置时还醒着」

idle compaction 要在缓存窗口内触发,机器必须仍在运行、进程仍在、网络仍通。笔记本合盖或系统睡眠时,压缩可能根本跑不起来,你回来时反而撞上整段冷重算。

在 Mac mini 上做这三件事:

  1. 系统设置 → 节能(或电池):接通电源时关闭自动睡眠;按是否接显示器调整合盖策略,目标是「没人在键盘前也继续醒着」。
  2. 长会话放进 tmux:远程 SSH / UU 远程连接断开只丢掉画面,不杀掉远端 claude 进程。
  3. 电源适配器常插:避免低电策略把后台任务掐掉。

快速自检(只读,不改系统):

pmset -g | head -20

若看到会自动睡眠的策略,回到系统设置改掉,再开一轮验收。不要把「临时挂起防睡」当成长期方案;验收通过后以系统策略为准。

第四步:一轮「离开再回来」验收清单

用真实仓库做一次可复现的测试,而不是凭感觉:

  1. 开一个会积累上下文的会话(多轮读写、几轮命令),用 /status 或用量面板确认会话已经偏大。
  2. 刻意离开约一小时(或至少覆盖公开讨论里的约 54 分钟空闲窗口),期间不要碰键盘,也不要让机器睡眠。
  3. 回来后看是否出现压缩相关提示,以及下一条消息是否明显更快、更省。
  4. 核对任务清单与关键约束:哪些文件改过、哪条测试红了、哪些「不要动」的约定还在。若细节丢了,把结论补进仓库文件或 hooks,而不是只依赖对话记忆。
  5. 若你关闭了 idle compaction,用同一流程确认:离开再回来时没有自动摘要,并接受可能的冷缓存成本。

验收标准很简单:开关状态与预期一致,离开期间机器未睡,回来后你知道该信摘要还是该信仓库文件。

第五步:和「目录外写入拦截」一起过一遍

v2.1.314 起,可在权限相关设置里打开 blockWritesOutsideWorkingDirectories(名称以 /config 或发行说明为准):Write / Edit / NotebookEdit 在各类权限模式下都拒绝对工作目录外的路径动手。这对常开、偶尔无人值守的 Mac mini 很有用——代理不会悄悄改到仓库旁的全局配置目录。

建议验收:

  1. 在项目根启动 claude。
  2. 让它尝试编辑一个明确在仓库外的路径(例如用户主目录下的无关文件)。
  3. 确认被拒绝;再让它编辑仓库内文件,确认仍可正常写入。

把「工作目录 = 唯一可写范围」写进团队约定,比事后翻 git diff 省事。

什么时候开、什么时候关

| 场景 | 建议 | | --- | --- | | 过夜循环、长重构、反复跑测试 | 打开 idle compaction;机器常开 | | 评审敏感、要精确回放每一轮口头约束 | 关闭;关键约束落盘到文件 / hooks | | 只离开几分钟 | 通常碰不到 54 分钟窗口,不必纠结 | | API Key 会话与订阅会话混用 | 分别查 /config,不要假设默认相同 |

无论开或关,把「做完的定义」写进仓库(测试命令、验收清单、禁止改动的路径)都比把记忆押在对话历史上更稳。

为什么放在新加坡常开的 Mac mini 上

idle compaction 的时间窗口往往落在你离开工位、通勤或不方便守屏的时段。把 Claude Code 固定在新加坡的一台常开整机上,好处很直接:

  • 空闲时钟真实走动:机器不睡,压缩才有机会在缓存过期前跑完。
  • CLI、VS Code、Desktop Code 标签在同一环境:同一份 settings.json 与 /config,少一套「本机开了、远端没开」。
  • 远程接入不影响任务:本机断线只丢掉画面,不丢掉远端会话。
  • 真 macOS 工具链:iOS / macOS 构建与签名相关命令与开发机一致,长会话更值得保住上下文策略。

Zumac.Ai 提供位于新加坡的实体 Mac mini M6,整机独享,支持 SSH 与 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用 ¥999/月起,季付 ¥2,697.30,半年付 6 送 1 为 ¥5,994,年付 12 送 2 为 ¥11,988;已购买客户续费保持原价。新客户首单自审核开通当天起租,续费及老客户新订单自付款当天起租。建议先租一个月,把「idle compaction 开关 + 禁睡眠 + 离开再回来验收」在同一台机器上跑通。实际延迟取决于你本地的网络线路。

小结

  • 长会话闲置约 54 分钟、体量约 200K+ 时,idle compaction 会在 prompt cache 过期前自动摘要,避免整段冷重算,也可能丢掉细节。
  • 用 claude --version 升到含该能力的版本;用 /config 与 settings.json 的 idleCompaction 对齐开关。
  • 机器侧关闭睡眠、会话放进 tmux,保证空闲窗口内进程仍在。
  • 与目录外写入拦截一起验收;关键结论落盘,不把记忆只押在对话上。
  • 把 Claude Code 固定在常开的新加坡 Mac mini 上,用 SSH 或 UU 远程连接接入,让「离开再回来」变成可复现的工作流。

有问题可以在 Telegram 联系 @singatao,或直接看 价格与付款周期。

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

返回首页 · 更多文章

Telegram 客服