这篇文章面向需要运行长时间 Claude Code Projects 任务的独立开发者、小型研发团队和工作区管理员。我们将会话、线程、项目文件、构建产物与恢复余量拆开计算,并给出恢复失败任务、选择云端工作区和控制容量增长的操作方法。
适合: 需要长期运行任务、多个 Agent 并行或跨天恢复的人;不适合: 只是偶尔执行一次短命令的人。Claude Code Projects 云端会话恢复不能只看 Agent 数量,应该把活跃会话、并行线程、项目文件、构建产物和故障余量分开估算。
如果本地设备经常休眠、断网,或者团队需要让多个 Agent 同时处理同一代码库,优先使用可持久化的云端开发工作区。短时、单任务、无需保留中间状态的工作,继续使用本地环境通常更简单。
容量规划的判断框架
先不要问“需要几个 Agent”,而要问任务处于哪一种状态:
- 短时交互: 读取少量文件、修改单个模块、运行一次命令。主要消耗会话上下文和少量临时文件。
- 长任务执行: 持续运行测试、构建、迁移或代码生成。主要瓶颈可能是 CPU、内存、磁盘 I/O 和终端进程。
- 多 Agent 并行: 多个线程同时读取仓库、修改文件或等待工具返回。消耗不一定与 Agent 数量线性增长。
- 构建测试任务: 编译缓存、测试报告、截图、日志和打包文件可能比源代码本身更占空间。
- 跨天恢复任务: 需要保存项目状态、未提交变更、会话记录、依赖缓存和外部服务连接信息。
官方资料确认,Projects 可以关联项目资料、指令和项目记忆;上传到项目知识库的内容会被多个聊天使用,付费方案接近上下文窗口限制时还可能启用 RAG 扩展容量。项目里的上下文并不会因为“新开一个聊天”就自动共享,必须显式放入项目知识库或通过项目机制保留。可参考项目创建与管理说明。
因此,单纯把会话数量翻倍,不代表工作区容量也只需要翻倍。更准确的估算式是:
总需求 = 峰值并行线程 × 单线程运行资源 + 项目与依赖存储 + 生成产物存储 + 恢复与清理余量
会话状态与恢复边界
当本地连接中断、云端工作区重启或终端窗口关闭时,第一步不是再次发送原始指令,而是先确认任务究竟停在什么位置。
建议把会话分成 4 种状态:
- 活跃会话: Agent 正在生成内容、执行命令或修改文件。
- 等待工具返回: 模型暂时没有持续消耗 CPU,但终端、网络请求、构建进程仍可能在运行。
- 挂起会话: 前端连接断开,工作区仍保留文件和进程,也可能已经停止部分任务。
- 已完成但需保留记录: 任务已结束,但还需要保留日志、差异、测试结果和最终产物。
官方文档将项目中的文件、指令、上下文和记忆视为不同组成部分。也就是说,会话记录存在,不等于工作区文件、Git 状态和外部服务状态都已经恢复。这也是 Claude Code Projects 云端会话恢复最容易被误判的地方。(support.claude.com)
中断后的恢复顺序
- 确认工作区身份: 检查路径、用户、项目目录和当前分支。
- 确认代码状态: 查看
git status、最近提交和未跟踪文件。 - 确认任务状态: 查看终端进程、构建队列、测试进程和网络请求。
- 确认外部依赖: 检查密钥是否仍然可用、数据库是否连接、第三方接口是否产生重复请求。
- 建立恢复点: 先提交安全的中间状态,或使用带说明的
git stash。 - 恢复单个动作: 从最后一个明确完成的步骤继续,不要从整段任务重新开始。
- 写入结果记录: 记录已完成步骤、失败原因、剩余动作和下一次接管方式。
git stash 会保存工作区和暂存区状态,并允许之后恢复;它适合处理中断中的未提交变更,但不应替代正式提交。相关行为可查阅 Git 暂存区与工作区恢复文档。
项目文件、记忆与物理容量
Projects 的项目文件、共享记忆、Git 状态和云端磁盘不是同一个指标。
- 项目文件: 源代码、配置、文档和上传资料。
- 共享记忆: 帮助 Agent 理解项目背景的上下文,不等于完整仓库副本。
- Git 状态: 分支、未提交变更、暂存区、stash 和 worktree。
- 依赖缓存: 包管理器缓存、编译缓存、容器镜像和工具链。
- 生成产物: 构建目录、测试报告、截图、录屏、日志和模型生成文件。
- 外部服务状态: 数据库、队列、密钥、远程 API 和部署环境。
多 Agent 并行时,不能把“共享项目记忆”误认为“共享磁盘”。如果每个 Agent 都复制一份工作区,源代码、依赖和构建缓存可能重复占用;如果多个 Agent 直接修改同一个目录,又会产生文件覆盖和测试结果污染。
Git worktree 可以让同一个仓库同时检出多个分支,每个分支使用独立目录,适合并行开发和代码审查。Git worktree 官方说明明确了这种目录级隔离方式;但隔离目录并不等于共享所有缓存,因此每个 worktree 的构建产物仍要单独核算。
如果工作区使用容器,还要把容器层与持久化卷分开计算。容器被删除时,写入可写层的数据可能一并消失;Docker 文档建议使用 volume 保存需要跨容器生命周期保留的数据。容器持久化卷说明也将 volume 用于备份、迁移和长期存储。
项目资料和共享记忆怎样进入容量计算?
可以按下面的方式核算:
- 项目文件:仓库实际占用 + 上传资料占用。
- 记忆与上下文:按项目数量、资料更新频率和每次任务引用范围估算。
- 每个并行线程:增加工作目录、日志、临时文件和可能的依赖缓存。
- 每次构建:增加构建目录、测试报告和失败调试文件。
- 恢复余量:为未完成任务、快照、stash 和人工排障预留空间。
不要把已经提交到远程仓库的代码再次完整复制到每个线程。更稳妥的做法是共享只读依赖,使用独立 worktree 保存变更,并将构建产物设置为有期限的临时数据。
并行 Agent 与资源占用
多 Agent 并行不应只用“Agent 数量”描述。至少要记录以下 5 项:
- CPU:编译、压缩、静态分析和测试会形成明显峰值。
- 内存:模型工具、编译器、浏览器、容器和测试服务会同时占用内存。
- 磁盘 I/O:多个 Agent 同时安装依赖、生成日志或写构建目录时,I/O 可能先成为瓶颈。
- 网络:依赖下载、代码拉取、远程 API 和镜像访问会争抢带宽。
- 构建队列:任务即使没有持续占用 CPU,也可能在等待前序任务完成。
可以把团队模式分成 3 类:
串行模式
适合单人开发、依赖复杂或修改范围高度重叠的任务。资源峰值较低,恢复逻辑最简单,但总耗时更长。
有限并行模式
让不同 Agent 分工处理测试、文档、接口和独立模块。每个线程绑定一个分支或 worktree,主分支只由人工或合并 Agent 更新。这个模式通常更容易控制冲突。
高峰并行模式
多个 Agent 同时进行代码生成、构建和测试。只有在任务依赖已经拆开、工作区有足够磁盘余量、并且有明确合并流程时才适合。否则增加 Agent 只会把文件冲突、构建排队和恢复成本一起放大。
云端工作区容量怎样按多 Agent 任务估算?
不要用固定数字回答。建议先填写这些变量:
A:峰值同时运行的 Agent 数量。T:每个 Agent 的平均运行时长。W:每个 Agent 的独立工作目录占用。C:依赖与编译缓存占用。O:每个任务产生的日志、截图和测试产物。R:失败恢复、快照和人工接管预留空间。K:并行构建时的 CPU、内存和磁盘 I/O 峰值。
磁盘估算可写成:
所需磁盘 = 项目与依赖基线 + A ×(工作目录增量 + 产物增量)+ R
CPU 和内存则要取峰值,而不是日均值。一个每天只运行几次、但每次持续很久的任务,可能比大量短任务更需要持久化工作区。
构建产物与恢复余量
构建测试是最容易被漏算的部分。源代码仓库可能并不大,但依赖缓存、编译目录、测试截图、覆盖率报告和调试日志会随着任务失败次数不断增长。
建议将产物分为 3 类:
- 必须保留: 最终构建包、失败复现所需日志、人工验收截图。
- 短期保留: 单次测试报告、临时补丁、一次性调试输出。
- 可随时重建: 包管理器缓存、临时编译目录、无状态容器层。
GitHub 的工作流产物文档说明,构建和测试文件可以作为 artifact 保存,并可以为单个 artifact 设置 retention-days;默认日志和产物保留周期也可能达到 90 天,具体取决于仓库、组织和企业设置。工作流产物保留说明与清理工作流产物说明可作为保留策略参考。
提醒: 失败任务最危险的不是“没有重新运行”,而是“已经运行过一部分,却被当成全新任务再次运行”。每次恢复前,先记录提交、进程、外部请求和已生成文件。
恢复余量至少要覆盖:
- 一次工作区重启。
- 一次失败构建的完整日志。
- 一次回滚或 stash 恢复。
- 一次人工接管所需的临时文件。
- 一个未完成任务的中间状态。
失败任务怎样恢复,才能避免整段流程重复执行?
采用“检查点 + 幂等动作”:
- 每完成一个逻辑阶段就提交或创建明确的恢复点。
- 文件生成使用固定路径和可识别版本号。
- 数据库迁移、发布和外部 API 调用必须先确认是否已经成功。
- 构建前先读取已有产物和日志,不要默认目录为空。
- 对重复执行风险高的命令,先使用 dry-run 或查询状态。
- 只有确认上一阶段没有完成,才重新执行该阶段。
对外共享的历史,应优先使用反向提交保留清晰的变更记录;尚未共享的本地实验,才适合采用移动分支指针或暂存变更的方式处理。重点不是选择某一个 Git 命令,而是让恢复过程能回答 3 个问题:已经完成了什么、哪些动作不能重复、失败后从哪里继续。
本地、轻量环境与云端工作区
下面这组判断可以直接用于容量决策:
| 方案 | 更适合的任务 | 恢复能力 | 容量风险 | 选择建议 |
|---|---|---|---|---|
| 本地 Mac | 短时交互、单 Agent、少量文件修改 | 依赖本机持续在线 | 受睡眠、断网和本地磁盘影响 | 任务短且不需要跨天恢复时选择 |
| 轻量远程环境 | 单个长任务、低频构建 | 可恢复,但要确认超时和持久化规则 | 可能自动停止或清理产物 | 先验证会话保存和空闲策略 |
| 持久化云端工作区 | 多 Agent 并行、长时间构建、跨天恢复 | 可保存文件、分支、日志和环境 | 需要规划 CPU、内存、磁盘和清理策略 | 并行度高或本地经常断线时优先 |
远程环境也不是天然不会中断。公开文档中,云端工作区可能在空闲后自动停止;例如相关服务的默认空闲超时为 30 分钟,但文件变化、终端输出和组织策略都可能影响判断。云端工作区生命周期说明和超时设置说明说明了这一类边界。
如果使用本地 Mac 跑长任务,还要检查电源与睡眠设置。系统支持在接入电源、显示器关闭时阻止自动睡眠,也支持网络唤醒;但这只能解决设备睡眠,不能替代断网恢复、进程守护和远程接管。Mac 睡眠与唤醒设置可用于验收本地方案。
在实际选型前,可以先阅读 云端 Mac 长任务运行帮助,再根据任务所在区域查看 美国东部 Mac 租用方案。如果团队还没有明确资源基线,建议先把并发、任务时长、产物保留周期和恢复次数记录一周,再决定是否扩容。
ZekVPS 方案的适用边界
如果当前方案是本地 Mac 或短时远程环境,常见缺点有 3 个:设备休眠会暂停任务;家庭网络断开后不容易确认后台进程状态;多个 Agent 共用目录时,文件冲突和重复构建难以追踪。轻量环境还可能存在空闲停止、磁盘清理或产物保留周期不足的问题。
这类任务更适合放在可持续接入、可分离工作区和可人工接管的云端 Mac 环境中。若只是偶尔执行短命令,自购 Mac 或本地运行仍然更划算;但当任务跨天、多 Agent 并行,并且失败后需要从中间状态恢复时,租用 ZekVPS 的云端 Mac 通常比反复重跑本地任务更容易控制变量。可以先查看 ZekVPS 的 Mac 服务入口,按峰值并发、任务持续时间和产物保留周期填写容量估算,再决定租用周期与工作区规模。
为长期云端会话准备一台稳定的远程 Mac
ZekVPS 提供 Apple M4 裸金属独享云 Mac,完整 macOS 环境与管理员权限,适合持续运行开发任务和多项目工作区。
根据会话、依赖缓存和构建产物选择 16GB 或 24GB 内存,并可加购 1TB 或 2TB 存储,容量规划更从容。
若你正准备把 MCP 或 Agent 从 Demo 推到日常运转,先固定一台可快照的云 Mac 节点往往比换第五个框架更有效。 查看 ZekVPS 云端 Mac mini 套餐 — 把实验环境和生产桌面拆开,部署会踏实很多。