Legacy sync
旧版迁移概览
从旧版 WinCode 导入 MCP 配置、会话历史、TFS 配置与在线文档。
旧版迁移概览
WinCode 经历过一次较大的架构重构。为了确保开发者从旧版升级到新版时不会丢失积累的工作上下文,WinCode 内置了 legacySync 模块,可以一次性把旧版中的核心数据迁移到新版。

支持的数据类型
LegacySyncSummary 列出了可迁移的数据种类:
| 类别 | 含义 |
|---|---|
sessions | 旧版的聊天会话 |
messages | 会话中的消息记录 |
projects | 项目信息 |
mcpServers | 旧版自定义的 MCP 服务器配置 |
tfsConfigured | 旧版是否配置过 TFS PAT |
onlineDocuments | 旧版收录的在线文档 |
LegacySyncDialog 流程
LegacySyncDialog 是迁移的入口。对话框在启动时调用 legacySyncStatus(),后端会扫描旧版 WinCode 的数据目录,判断是否检测到可迁移的数据,以及这些数据是否已经被同步过。
对话框的状态机包含几个阶段:
- checking:正在查询旧版数据。
- ready:后端检测到旧版数据且尚未同步,展示每类数据的条目数量,等待用户确认。
- syncing:正在执行迁移。
- done:迁移完成,显示每个类别的
imported/merged/skipped/failed数量。 - error:迁移过程中出现错误。
关键选项
迁移对话框中有一个重要的选项——"替换当前 TFS 配置"(replaceTfs)。当新版已经配置过 TFS,而旧版也存在 TFS 配置时,默认行为是跳过旧版配置;打开该开关后,旧版的 TFS 配置会覆盖新版的。这样可以避免误操作把旧版 PAT 引入已经调通的桌面端。
跳过与重试
如果暂时不想迁移,可以点"跳过",legacySyncSkip(sourceFingerprint) 会把旧版数据目录的指纹记录下来,后续启动不再自动提示。如果迁移过程中断,可以通过"重试"按钮再次执行,legacySyncApply 会对每个条目做幂等处理,已经导入的条目会直接跳过。