Skip to content

同步与备份

智码 AICoder 提供三套数据保护机制:本地导出/导入(手动备份)、WebDAV 云同步(多设备协作)、会话 Checkpoint 快照(单会话回溯)。三者各司其职,可单独使用也可叠加。

三机制对比

机制适用场景数据范围频率
本地导出/导入换机迁移、版本归档、手动备份全套配置(按 SyncScope 选择)偶尔(按需)
WebDAV 云同步多设备工作、家庭/公司互通全套配置(按 SyncScope 选择)主动推送/拉取
Checkpoint 快照单个会话「试错-回滚」单个会话的 JSONL关键节点手动创建

选择性同步范围(SyncScope)

不论本地导出还是云同步,都可勾选要同步的内容子集:

范围内容默认勾选
应用设置主题、终端配置、快捷键、通知……
API Profile所有工具的 API Key / OAuth 档案
代码片段所有片段及模板变量
会话数据会话元数据 + JSONL 文件❌(数据量大)
项目记忆所有项目的记忆条目
Claude 配置~/.claude.json(含 MCP Servers)
Claude Settings~/.claude/settings.json
Claude OAuth 凭据~/.claude/.credentials.json❌(敏感)

凭据同步谨慎勾选

Claude OAuth 凭据包含 access_token / refresh_token,云端泄露 = 账号被盗。默认不勾选,建议只在受信任的私有 WebDAV 服务(如个人 Nextcloud)启用,或者干脆走配置档案的加密 envelope 而不是裸同步。

本地导出 / 导入

导出

  1. 设置 → 数据管理 → 「导出数据」
  2. 勾选 SyncScope(默认勾选合理项)
  3. 选保存路径 → 生成 aicoder-sync-YYYY-MM-DD.json

导入

  1. 设置 → 数据管理 → 「导入数据」
  2. 选 JSON 文件
  3. 选导入模式:
模式行为
覆盖(Overwrite)清空现有数据后导入新数据。危险,会丢失当前未导出的内容
合并(Merge)保留现有数据,按 ID 合并;冲突时跳过新数据

第一次跨机迁移

建议在新机器上先导出当前空白状态作为兜底,再用「覆盖」导入老机器的备份。这样如有问题还能回滚到空白状态。

WebDAV 云同步

支持任何标准 WebDAV 服务:Nextcloud、坚果云、Synology、ownCloud、Apache mod_dav 等。

配置

设置 → 同步 → WebDAV:

字段示例
URLhttps://nextcloud.example.com/remote.php/dav/files/yourname/
用户名yourname
密码应用专用密码(推荐)或登录密码

填完点「测试连接」(PROPFIND 探测)→ 通过后保存。配置以加密形式存到本地 settings 表,不会明文落盘。

操作

按钮行为
预览云端拉取云端 manifest,显示版本、设备名、导出时间、各项数据量
推送到云端按 SyncScope 把当前数据打包上传,覆盖云端 aicoder-sync.json
从云端拉取下载 aicoder-sync.json,按"覆盖/合并"模式导入本地

数据格式

云端文件 aicoder-sync.json 结构:

json
{
  "manifest": {
    "version": 1,
    "app_version": "3.3.0",
    "device_name": "MacBook-Pro",
    "exported_at": "2026-05-05T12:34:56Z",
    "scope": { "settings": true, "api_profiles": true, ... }
  },
  "data": {
    "settings": [...],
    "api_profiles": [...],
    "snippets": [...],
    "project_memories": [...],
    "claude_config_json": {...}
  }
}

manifest.version 用于跨版本兼容性检查,未来如有破坏性升级会提示。

Checkpoint 快照

会话级别的"试错-回滚"工具。和云同步是不同维度——快照只针对单个会话的对话文件

适用场景

  • AI 即将做大改动前,先创建快照
  • 会话产生有价值的中间态时,作为里程碑保留
  • 实验性 prompt 走偏了,回滚到之前的状态重新引导

创建快照

会话标签页右键 → 「创建快照」 → 填名称和描述:

名称: 重构前
描述: 准备让 AI 重构 services 层,先备份当前对话

后端会:

  1. 复制当前 JSONL 文件到 checkpoints/<快照UUID>.jsonl
  2. 统计消息数 + 文件大小
  3. 写入 DB 一条记录(关联到 session_id + claude_session_id)

恢复快照

会话标签页右键 → 「快照管理」 → 选目标快照 → 「恢复」:

  1. 当前 JSONL 自动备份为 <原文件>.backup(防止误操作)
  2. 用快照文件覆盖当前 JSONL
  3. 提示重启会话生效(CLI 启动时会重新读 JSONL)

删除快照

不再需要的快照可手动删除,会同时移除磁盘文件 + DB 记录。

数据存储位置

数据位置
WebDAV 配置DB settings 表(加密存储)
快照文件<app_data>/checkpoints/<uuid>.jsonl
快照元数据DB session_checkpoints 表(schema v10 引入)
同步包临时文件<app_data>/.tmp/release-vX.X.X/(导出时)

相关章节

给 AI 编程工具一个统一的家