# 更新记录 ## 0.20.0 · 2026-10-02 这次更新重点是让首次同步更好上手,并在需要刷新会话列表时更稳妥地重启。 - **从第一次同步到换机验证,按四步完成。** 设置页依次引导连接仓库、选择内容、开始同步和换机验收,保存后带到下一步。明确区分本地快照、同步失败和本机同步成功,提示何时还需要去另一台电脑验证。 - **需要刷新会话分组时,默认自动重启。** 等全部同步成功后才执行;会话正在生成或无法确认活动状态时,改为提示手动重启。提示会列出可能被打断的会话,可选择立即重启或稍后处理。 - **减少容易误解的提示和操作。** 不再把从未开始聊天的空白会话计为「未分组」;旧冲突副本收进折叠的只读区域;移除插件里的归档管理入口,归档改用 DSH 自身功能。 - **其他改进。** 补齐桌面安装与换机说明,明确关闭项目文件同步会同时暂停上传和取回,以及冲突时原件的保留方式。 **升级注意:** Web 与桌面端分别更新并重新打开 DSH。此前未明确关闭自动重启的用户,升级后默认启用;可在「高级:会话分组修复」关闭。自动同步仍默认关闭。 **验证:** 自动测试、本地多副本双向同步和 DSH Web 测试环境检查通过;尚未完成两台物理电脑通过 GitHub 的实网验收,也未完成实际设置页布局的目视验收。[详细记录](docs/release-0.20.0-validation.md) ## 0.12.13 · 2026-09-30 - 桌面端的「立即重启」现在调用随插件安装的 PowerShell 脚本,核对桌面 Host 和主程序后重启桌面应用;Web 端仍只重启 Web 服务。计划任务隐藏命令行窗口。桌面端同步后需要刷新会话列表时提示手动重启,自动重启开关只适用于 Web 端。 - 桌面端不再把 Web 运行时补丁套用到独立的 Web 安装。同步时排除桌面插件市场与插件管理器的本地缓存;Web 和桌面同时运行时,同步操作通过本机进程锁串行执行。 - 验证:Windows 11 上分别对桌面端和 Web 端的重启接口执行实际重启,各自进程更新且另一端保持运行,两项计划任务都返回成功;38 个自动测试和补丁回归检查通过。未完成两台物理电脑的实网验收,也未目视确认所有窗口焦点行为。 - 升级注意:Web 与桌面端需分别更新插件;两端共用 `~/.dsh` 中的会话等数据,但各自使用独立的插件 profile。桌面端需要手动确认重启,正在进行的任务会中断。 ## 0.12.12 · 2026-09-29 - 修复会话日志分叉时混排事件、重编号导致引用和生命周期关系错误的风险。仅原样选择可确认的追加历史;无法安全接续时保留当前一侧,并在同步详情和命令行列出双方原件的 Git 提交。 - 为会话日志配置本地 Git 合并规则,防止纯文本日志绕过上述检查被 Git 自动拼接;配置与普通文件保持各自的合并策略。 - 修复多帧 zstd 的边界识别,完整检查帧与块长度;解码失败不再跳过损坏帧继续合并。 - 补丁不再凭旧标记覆盖文件;缺少原始备份和录制版本时暂停应用。增加按安装版本停用旧补丁的清单字段,状态文案区分“文件一致”与兼容性验证。 - 一键重启前显示本机是否具备 Windows 重启脚本,缺少条件或同步正在运行时禁用按钮;不再将自动重启描述为默认开启。 - 验证:Windows 11 / Node.js 24.19.0;两个隔离 DSH 0.2.0-rc.1 实例完成插件加载、模式切换及重启保持检查;本机 10 个会话的当前日志通过对应版本校验器只读检查。完整测试与打包结果见兼容验证记录。未验证正式版 DSH 0.2.0,也未执行两台物理电脑的实网验收。 - 升级注意:发生分叉的同一会话不会把双方新增内容拼成一份;请按同步详情中的提交位置查看另一份原件。更新后重启 DSH。用户自建补丁不包含在 npm 包内,需单独审核适用版本。 ## 0.12.11 · 2026-09-28 - 设置页新增「立即重启 DSH」按钮:同步归组或补丁套用后需重启才生效的场景,可一键经计划任务重启(schtasks 独立进程树,避免在服务器进程树内自杀);未部署 restart-dsh-web.ps1 时给出明确提示。 - 同步引擎把重启调度泛化为 `scheduleRestart(reason)`,保留 `scheduleRestartAfterRepair` 向后兼容;新增 `POST /dsh-sync/api/restart` 端点。 - 兼容 DSH 0.1.7-rc.x 的新会话格式(`session.v4.jsonl.zstd`):会话日志识别改为按目录枚举(未来格式自动兼容),修复 v4 会话无法自动归组、「未分组」自动重启修复不触发的问题;设置卡新增未分组会话提示。 - 中英文 README 新增「功能」章节,介绍会话自动归组、两种同步方式、会话管理、冲突自动合并、分组自动修复与补丁托管;并精简首页、把安装与授权步骤集中到安装指南、增加源码下载与更新日志入口。 - 将本地维护约定纳入仓库;发布流程增加中文更新日志检查,并自动将对应标签的完整源码 ZIP 上传到 GitHub Releases。 ## 0.12.10 · 2026-09-27 - 修正宿主补丁中的包名和浏览器模块加载标识,统一为 `@dpskk2/dsh-chatsync`,使其与实际发布的 npm 包名一致。 - 修正安装说明中的作用域包名。 ## 0.12.9 · 2026-09-27 - 项目更名为 DSH ChatSync,npm 包名改为 `@dpskk2/dsh-chatsync`。 - 同步更新仓库地址、文档链接、插件标识与安装说明。 - 安装时使用新的完整包名 `@dpskk2/dsh-chatsync`。 ## 0.12.8 · 2026-09-27 - 以第一次接触终端的用户为起点,重写中英文安装流程,说明命令粘贴位置、执行顺序和每步成功标志。 - 将账号登录拆成终端发起、浏览器验证码与授权、回到终端检查三个阶段;区分登录命令和状态检查。 - 减少正文中重复的工具名称链接,保留下载、注册及实际需要的帮助入口。 - 补充真正重启 DSH、新电脑取回数据及 API 密钥的处理方式;同步更新详细安装指南。本版不修改运行时代码。 ## 0.12.7 · 2026-09-27 - 重写中英文 README:首屏突出用途,提供工具下载清单、三步上手和另一台电脑的接入步骤。 - 外部工具与服务补齐链接,流程图和兼容性细节折叠,排障入口集中。 - 将新版说明同步到 npm 安装包与包主页;本版不修改运行时代码。 ## 0.12.6 · 2026-09-27 - 设置页可直接填写 GitHub 仓库地址与分支、切换自动建仓;保存后明确区分配置保存与实际连接验证。 - 放大说明文字、提高可读性、补齐键盘焦点样式与窄屏布局,提供首次使用指引及下载、登录、换机蓝链。 - 自动同步或另一处按钮触发的同步也会更新状态;状态读取失败提供重试入口。 - 缺少 Git 时报告失败,不再显示同步完成;配置文件损坏时拒绝覆盖,同步期间拒绝修改连接设置。 - 中英文说明与配置参考同步更新,补齐依赖恢复、换机检查表和排障入口。 ## 0.12.5 · 2026-09-26 - 修复同秒内连续冲突备份分支重名:每次备份使用唯一后缀,避免第二份备份创建失败。 - 设置页切换手动 / 自动模式立即生效,无需重启;取消待执行活动同步,避免重复定时器。 - 状态显示实际自动调度情况;宿主加载参数覆盖偏好时显示实际配置。 - 工作区传输失败计入状态接口失败结果。 - 重写中英文 README,突出会话与项目文件一起换机,补齐兼容性和双向验证入口。 - 增加调度生命周期与配置 API 回归测试。 - 上传前核实 GitHub 仓库为私有;公开仓库、可见性未知和含凭据的远端地址拒绝云端同步。 - 主数据或工作区推送失败会报告失败;备份分支区分已上传与仅在本机。 - 首次自动建仓的同一轮同步即可上传工作区文件,并新增真实 Git 双设备回归。 - 声明 DSH Web 宿主最低要求 `0.1.5-rc.3`,该版本已完成隔离环境中的安装、组合与启动检查。 ## 0.12.4 · 2026-09-18 - 重写中文首页,补充英文入门、第二台电脑接入、双向验收与排障说明。 - 设置页增加同步模式与工作区文件范围偏好;明确模式更改需要重启。 - 修正本地快照、专用凭据排除、历史冲突副本和备份分支的说明。 - 增加同步流程示意、反馈模板、仓库内设置交互测试与 CI 配置。 ## 0.12.2 - 修复同步前补登记会话后未触发索引重建的问题;自动重启行为仍受配置与本机环境约束。 ## 0.12.1 - 修复归档会话被重新登记到工作区、历史双登记,以及拉取新会话后的索引重建触发问题。 ## 0.12.0 - 引入按文件类型处理的合并引擎:会话日志并集、配置字段合并、普通文件冲突取本机并尝试保留远端备份。 此处整理原 README 中的版本摘要,不是完整版本历史;包括 0.12.3 在内的其他提交见 [Git 历史](https://github.com/dpskk2/dsh-chatsync/commits/main/)。当前行为与边界以[同步说明](docs/sync-content.md)为准。 ### 0.12.5 补充回归 - 工作区拉取失败明确报告失败;仅在远端查询证实分支不存在时允许首次上传。 - 工作区推送失败时仍保留备份分支及上传状态,CLI 返回非零退出码。 - 增加第三副本恢复、工作区断网重试、冲突备份内容可恢复验证。