数据、备份与恢复
TaskHandoff 的配置、实例数据和工作区不在同一个位置。制定备份策略前先区分所有者。
数据类型
| 数据 | 所有者 | 注意事项 |
|---|---|---|
| 用户、节点、模型、项目、聊天和触发器 | Control Plane 数据库 | 服务器安装应备份数据目录中的 control-plane.sqlite 及相关身份文件 |
| 节点私有配置与实例记录 | Node Agent | 每个节点独立保存,不应与 Control Plane 数据库混用 |
Docker /data、/home/agent | 实例托管 volume | 删除实例时可选择永久删除 |
Git /workspace | Git 实例的托管 volume | 未推送提交和未提交修改只存在此处 |
| 本地目录工作区 | 宿主机目录 | TaskHandoff 不拥有其备份 |
| Story 文档 | Story 所属节点 | 删除 Story 时其文件目录也会删除 |
环境模板不是备份
环境模板只捕获 Docker 容器可写层,不包含 /workspace、/data、/home/agent、其他 mount、进程或内存。它用于复用工具链,不能恢复项目数据和会话附件。
删除实例
勾选“同时删除实例数据”会永久删除全部受管 volume。取消勾选后,系统返回保留的 volume 名称,但不会自动恢复或挂载。
删除前至少完成:
- 提交并推送需要保留的 Git 修改;
- 导出不能进入 Git 的文件;
- 记录 volume 名称和实例 ID;
- 确认会话附件和 Story 文档是否仍需保留。
建议备份策略
- 定期停止或一致性快照 Control Plane 数据库;
- 按节点备份 Node Agent 数据目录和关键 volume;
- Git 项目以远端仓库为主要恢复来源;
- 敏感 Secret 使用独立密码管理器保存原始值;
- 定期执行恢复演练,而不是只验证备份文件存在。
具体目录取决于安装参数和平台。执行文件级恢复前停止对应写入服务,并记录当前版本,避免跨版本直接覆盖数据库。