首页/文章/Claude Code 长任务不断档:在新加坡 Mac mini 上管好上下文、额度与断点续做

Claude Code 长任务不断档:在新加坡 Mac mini 上管好上下文、额度与断点续做

· SgRent

长任务为什么总在半路「失忆」

用 Claude Code 做一次大重构或一整批测试修复,常见的情况是这样的:

  1. 上下文被工具输出吃光:一次完整的测试日志、一个大文件的全文读取,就占掉一大块上下文,真正有用的讨论反而被挤出去。
  2. 压缩之后忘了做到哪:自动压缩会把早先的对话浓缩成摘要,细节和「下一步要做什么」经常在这一步丢掉。
  3. 额度用完停在一半:改了十几个文件,测试还没跑通,额度到了,等恢复后连自己都想不起改到了哪里。
  4. 会话跟着电脑一起断:笔记本合盖、换网络、重启,终端里那个跑了两小时的会话也就没了。

这四件事的解法是同一个思路:进度放在文件里,不放在会话里;噪音放在磁盘上,不放在上下文里;会话放在常开的机器上,不放在你的笔记本上。 下面按步骤在一台新加坡 Mac mini 上配好。

Claude 账号由你自己开通并登录,请遵守 Anthropic 的服务条款与支持地区规则。本文只谈如何搭一个稳定合规的使用环境,不涉及共享或转卖账号。SgRent 与 Anthropic 没有官方合作关系。

准备清单

  • 一台常开的 Mac mini(整机租用或自有设备托管),已装好 Claude Code 并用你自己的账号登录
  • 项目代码已在 Git 仓库里,能随时回到上一个干净的提交
  • 已安装 tmux,用来让会话在你断开 SSH 之后继续存在
  • 远程方式:SSH 用来看日志、接回会话;UU 远程连接用来处理需要图形界面的操作

步骤一:把 CLAUDE.md 精简成「每轮都要看的规则」

CLAUDE.md 每次会话都会被读进上下文,写得越长,留给真正工作的空间越少。建议只保留三类内容:

  • 项目怎么构建、怎么跑测试(一两条命令即可)
  • 不能碰的目录和文件
  • 一句话:「开始工作前先读 PROGRESS.md,每完成一步就更新它」

架构说明、历史决策这类长文,放到 docs/ 里,需要时让 Claude 自己去读,而不是每轮都塞进来。

步骤二:把噪音输出挡在上下文外面

最占上下文的通常不是代码,而是日志。给 Claude 定一条规矩:长输出先落盘,再按需查看。

  1. 在项目里加一个脚本 scripts/test-quiet.sh,内容是把完整测试输出写进 logs/test-latest.log,屏幕上只打印最后几十行和失败用例的名字。
  2. 在 CLAUDE.md 里写明:跑测试用这个脚本;需要细节时用 grep 在日志里找,不要整份读取。
  3. 读大文件时,让它先用 grep -n 定位,再读相关的几十行。

这样一次测试从几千行变成几十行,上下文能多撑很多轮。需要大范围翻代码的调研类工作,可以交给子代理(subagent)去做,它在自己的上下文里读文件,只把结论带回主会话。

步骤三:用 PROGRESS.md 做进度接力

在项目根目录建一个 PROGRESS.md,固定成下面几段:

  • 目标:这次任务要达成什么
  • 已完成:每一步做完写一行,附上对应的提交
  • 进行中:当前正在改的文件和思路
  • 下一步:接下来要做的两三件事
  • 注意:踩过的坑、不要再尝试的方案

配合一个习惯:每完成一个小步骤就 git commit 一次,并更新 PROGRESS.md。这样无论是压缩、额度用完还是会话被关掉,你和 Claude 都能从文件和提交记录里准确知道停在哪。

步骤四:压缩之后自动把进度读回来

手动压缩时可以给 /compact 附一句说明,比如「保留当前正在改的文件和下一步计划」,比让它自由发挥丢得少。两个子任务之间如果关联不大,直接 /clear 清空,再让它读 PROGRESS.md 重新开始,往往比硬撑着压缩更清爽。

更省心的做法是用 hook 自动续上。在项目的 .claude/settings.json 里加一个 SessionStart hook,匹配压缩后重新开始的场景(compact),执行 cat PROGRESS.md。hook 的输出会作为上下文交给 Claude,压缩一结束,进度就自动回到它眼前。第一次配好后,手动触发一次 /compact,确认它能说出「下一步」是什么,再放心长跑。

步骤五:额度用完时,停在一个干净的点

额度提示出现时,不要急着关窗口:

  1. 让 Claude 把当前状态写进 PROGRESS.md,把能提交的改动先提交;改到一半的内容用 git stash 或一个 WIP 提交保存。
  2. 保持 tmux 会话不动,直接断开 SSH。
  3. 额度恢复后,SSH 回到 Mac mini,tmux attach 回到原来的窗口;如果会话已经关闭,在同一个项目目录用 claude --continue 接着最近一次对话,或用 claude --resume 从列表里选。
  4. 第一句话固定为:「先读 PROGRESS.md 和最近的 git log,告诉我下一步。」

为什么放在一台常开的新加坡整机上

上面这套方法的前提,是会话和项目一直待在同一个地方。放在笔记本上,合盖、换网络、系统更新都会打断它;放在一台常开的 Mac mini 上,tmux 里的会话一直在,你在哪台设备上连回去,看到的都是同一个现场。网络环境稳定、时区固定,排查问题时也只需要看一台机器。

SgRent 提供的就是这样的环境:新加坡家庭宽带原生 IP 上的实体 Mac mini M6,整机独享(一人一台物理机),支持 UU 远程连接和 SSH,FileVault 全盘加密,退租时抹机重装。新客户整机租用月付 ¥699 起,季付、半年付、年付有折扣;已有 Mac 的也可以托管,¥299/月起。实际延迟取决于你本地的网络线路,建议先用一个月跑通自己的工作流。

小结

  • CLAUDE.md 只写每轮都要的规则,长文档按需读取
  • 测试和大文件输出先落盘,屏幕只看摘要
  • PROGRESS.md 加小步提交,是最可靠的进度记录
  • 用 SessionStart hook 在压缩后自动读回进度
  • 额度用完先存档,恢复后 tmux attach 或 claude --continue 接着做

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

需要一台新加坡的独享远程 Mac? SgRent 提供新加坡家庭宽带原生 IP 的 Mac mini M6,整机独享,UU 远程连接。整机租用 ¥699/月,自有设备托管 ¥299/月;季付 9 折,半年付 6 送 1,年付 12 送 2。
前往 panel.zumac.ai 订购 → · 查看方案与费用 · 帮助中心

返回首页 · 更多文章

Telegram 客服