你以为改好了,压缩后还在用旧规则
在新加坡 Mac mini 上常开 Claude Code 时,很多人会边跑长任务边改 CLAUDE.md 或 MEMORY.md:补一条命名约定、改一下禁止目录、补一段项目背景。文件保存了,当前会话却未必立刻按新内容走——尤其是会话做过 compaction(压缩) 之后,上下文里可能继续带着改之前的快照。
社区反馈里提到:相关版本已修过「会话中改过 CLAUDE.md/MEMORY.md,压缩后仍可能继续用旧内容」这类问题。对常开整机来说,风险不在「偶发一次」,而在于你以为规则已更新,代理却仍按旧约束改代码、跑脚本。
本文不讨论绕过任何平台条款,只讲稳定合规的使用环境:在一台整机独享的新加坡 Mac mini 上,把「改规则 → 确认生效」做成可复查步骤。Claude 账号由你自己开通与管理。
第一步:先确认本机 Claude Code 版本
用 SSH 或 UU 远程连接登入新加坡 Mac mini,在终端看版本:
claude --version
# 若命令名不同,用你本机实际安装的入口,例如:
which claude
ls -la "$(which claude)" 2>/dev/null
把输出版本号记到项目笔记(例如 docs/claude-env.md),只写版本与日期,不写任何密钥。若你仍低于社区已标明修复该问题的版本,优先在官方渠道升级到含修复的构建,再继续改规则。
升级后复查一次:
claude --version
第二步:改 CLAUDE.md 时,把「软约定」和「硬拦截」分开
CLAUDE.md 适合风格、命名、目录说明;真正不能越界的操作(删目录、推远程、动密钥文件)更适合放在 hooks 或权限规则里——软提示在长工具循环或压缩后更容易「看起来还在、实际没拦住」。
改文件前先备份当前生效稿:
cd /path/to/your-project
cp CLAUDE.md "CLAUDE.md.bak.$(date +%Y%m%d-%H%M)" 2>/dev/null || true
# 若使用 MEMORY.md / 项目记忆文件,同样备份
cp MEMORY.md "MEMORY.md.bak.$(date +%Y%m%d-%H%M)" 2>/dev/null || true
编辑时只改你这次真正要变的几条,避免一次大改导致「压缩后旧新混杂」更难排查。
第三步:保存后不要假设当前会话已吃到新稿
最小可靠习惯:
- 保存
CLAUDE.md/MEMORY.md。 - 结束当前会话(正常退出 Claude Code 会话,不要只切到后台继续聊)。
- 新开会话再继续同一仓库的任务。
- 用一句短探针确认新规则是否生效,例如让代理复述「本项目禁止修改的路径」或「命名约定的第一条」,对照你刚写进文件的原文。
探针示例(按你的真实规则改写):
请只根据当前项目的 CLAUDE.md,列出「禁止修改的路径」三条;不要猜测,找不到就说找不到。
若回答仍是旧列表,先别继续大改代码:确认是否进了错误工作目录、是否有多层 CLAUDE.md、或是否还在旧会话里。
第四步:长会话压缩后,再抽查一次
过夜任务、多小时重构很容易触发压缩。压缩后加一条例行检查:
- 让代理再次只根据
CLAUDE.md复述你刚改过的硬约束(同上探针)。 - 对照磁盘上的文件原文(用
Read/ 编辑器打开,而不是凭记忆)。 - 不一致时:新开会话,不要在旧会话里「再提醒一遍」指望覆盖压缩残留。
可选:在项目里放一份极短的 docs/claude-reload-checklist.md,写三行——改完新开、压缩后再测、版本记在 env 笔记——团队每个人同一套。
第五步:在常开 Mac mini 上固定「权威环境」
笔记本、云端虚机、家里另一台电脑各开一份 Claude Code,最容易出现「这台改过、那台还在旧会话」。权威环境建议只定一台:
- 仓库、
CLAUDE.md、hooks、MCP 配置都以新加坡 Mac mini 为准。 - 本机笔记本只做浏览或临时查看;要改规则,SSH / UU 远程连接上 Mac mini 改,并在那台上新开会话验证。
- 版本升级也在同一台执行,避免「笔记本已升、远端仍旧」的交叉误判。
# 在权威机器上确认工作目录与规则文件
pwd
ls -la CLAUDE.md MEMORY.md 2>/dev/null
stat -f '%Sm %N' CLAUDE.md 2>/dev/null || stat -c '%y %n' CLAUDE.md
第六步:十五分钟验收清单
- [ ]
claude --version已记录,并处于含相关修复的版本(或你已确认当前版本行为可接受) - [ ] 改
CLAUDE.md/MEMORY.md前有带时间戳的备份 - [ ] 改完后已结束旧会话并新开,探针复述与文件一致
- [ ] 至少做过一次「压缩后再探针」;不一致则新开而非空喊提醒
- [ ] 硬拦截不单靠软提示,关键禁令有 hooks / 权限规则兜底
- [ ] 权威环境只在一台新加坡常开 Mac mini,其它设备不各自改一份
和 Claude Code 怎么拼在一台新加坡 Mac mini 上
推荐顺序:固定版本 → 在 Mac mini 上改 CLAUDE.md → 立刻新开会话探针 → 长任务压缩后再探针 → 硬规则放 hooks。终端版适合 SSH 与脚本;桌面版利于看 diff。规则文件、会话状态、版本号都落在同一台整机独享的机器上,才能避免「改过但未生效」在多台设备间来回甩锅。
为什么放在新加坡的常开 Mac mini 上做
- 会话与文件同机:
CLAUDE.md的修改时间、Claude Code 版本、压缩后的会话都在一台机器上,抽查路径短。 - 整机独享:规则与 hooks 的边界清晰;退租抹机时本地会话与项目配置一并结束。
- 真 macOS 环境:与本地开发习惯一致,减少「某台 Linux 虚机一套、Mac 又一套」的配置漂移。
- 远程可复查:SSH 跑版本与探针;需要 GUI 时用 UU 远程连接打开桌面版核对。实际延迟取决于你本地的网络线路。
Zumac.Ai 提供位于新加坡的实体 Mac mini M6,整机独享,支持 SSH 与 UU 远程连接,FileVault 全盘加密,退租时抹机重装。新客户整机租用 ¥999/月起,季付 ¥2,697.30,半年付 6 送 1 为 ¥5,994,年付 12 送 2 为 ¥11,988;已购买客户续费保持原价。新客户首单自审核开通当天起租,续费及老客户新订单自付款当天起租。建议先租一个月,把「改规则 → 新开会话 → 压缩后再测」跑成固定节奏。
小结
- 会话中改过的
CLAUDE.md/MEMORY.md,压缩后仍可能按旧快照生效——不要默认「保存即全局生效」。 - 先确认版本,再改文件;改完结束旧会话并新开,用短探针对照磁盘原文。
- 长任务压缩后再测一次;不一致就新开,而不是只靠口头提醒。
- 把权威 Claude Code 环境固定在新加坡常开 Mac mini,规则卫生才能持续复查。
