Skip to content

v0.21.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 05:14
· 21 commits to main since this release

一台电脑丢了会话不再连带删除其他电脑的副本;只同步会话、附件和可共享设置,并能看清、清理同步仓库与本机的占用。

  • 一台电脑丢了会话,不会再连带删掉其他电脑的。 以前某台电脑上的会话文件不见了(清空了数据文件夹、磁盘问题或外部工具清理),下一次同步会把它们当作删除上传,其他电脑随后也看不到。现在本机找不到的会话一律视为丢失,同步仓库里的副本保留,并在这台电脑下次同步时取回;附件、设置等一次缺少较多时,同步会暂停并让你选择「确认删除」或「从远端取回」。会话也可以在「同步的会话」中整组选择后明确移出同步。
  • 只同步明确的内容,机器专属文件留在本机。 数据目录中只同步会话、附件、可共享设置,以及可选的「指令与技能」(全局 AGENTS.md 与技能,默认关闭)。DSH 自带的 Electron 与运行环境、插件安装清单与锁定文件、工具留下的备份、脚本、令牌和其他未知文件不再读取、上传或取回,换机后各电脑的插件安装互不覆盖。两台电脑改了不同的插件设置时两边都保留;DSH 版本不同时暂停设置互传。
  • 看清并清理同步仓库与本机占用(实验性)。 同步页新增「同步仓库与本机存储」:按会话、附件、设置等分别统计当前内容和历史版本,新电脑首次同步只取当前快照。可以把已归档或 DSH 中看不到的会话移出同步、移除旧版本上传的本机文件,或清除同步分支的历史版本(旧历史保留在 GitHub 归档分支)。早先清除历史后留在本机的同步前备份另列为「本机另存旧历史」,GitHub 仍保有时可回收本机空间;只有这台电脑有的历史继续保留。
  • 其他改进。
    • 同步仓库被重建后,各电脑改用新历史,不再把旧历史合并推回去。
    • Git 与 GitHub CLI 未指定代理时自动使用环境变量或当前 Windows 系统代理;选择「使用默认备份」后立即检查 GitHub 登录并说明连不上的原因。
    • 首次同步项目时,远端没有项目分支或本机没有全局 Git 身份不再失败;超过上限的新文件在上传前指出。
    • 跨电脑的项目路径按本机位置归并,会话不再因另一端登记缺失而失去分组;项目目录不可用时预选路径匹配的本机项目,经确认后恢复。
    • 新增文件和正常追加的会话不再生成整份恢复副本;会话、恢复记录按标题显示并可预览;「找回同步前的内容」改为窗口查看;从处理页面返回时停在原处。
    • 同步页面使用的本机接口只接受 DSH 自身页面的请求;读到正在写入的会话会稍候重读;取回设置等文件改为整体替换,不会留下半份内容。
    • 移除本机补丁功能;同步计时从点击时开始。

升级注意: 旧版本已经因此从同步仓库删掉的会话不会自动回来,仍保存在仓库的 Git 历史中,可以找回;清空数据文件夹前请先确认所有电脑都已升级到本版。只支持从 0.12 及以上版本升级;更早的版本请先升级到 0.20.x 并完成一次同步。0.11 及更早版本在项目文件夹留下的 .dsh-conflict-* 副本不再在同步页列出,文件仍在原处,可以手动查看或删除。Web 端不再自动重启(原功能依赖自行准备的重启脚本),需要刷新会话列表时会提示手动重启;桌面端自动重启不变。本机补丁功能已移除:patches/ 中的内容不再自动套用,已经套用的改动不会撤销;不再需要时可在「同步仓库与本机存储 → 本机备份」中删除 patches/。升级后插件安装清单不再随同步传到其他电脑,请在每台电脑分别安装需要的插件;插件的设置仍会同步。尚未升级的电脑仍可能上传这些文件,已升级的电脑不会取回。旧版本已上传的这类文件不会自动删除;请先把所有在用的电脑都升级并同步一次,再使用「同步仓库与本机存储 → 远端旧文件」,否则旧版本会把远端移除当作删除本机文件。清理不改写同步仓库历史。从源码 ZIP 本地安装时,安装脚本改为 scripts/install-local-desktop.mjs,没有单独安装 Node.js 也可以借用桌面端自带的运行环境,见快速开始。

验证: 发布源码在 Windows 11 上用独立 Node.js 和桌面端内置运行时分别完成完整自动回归,实际安装包装入隔离桌面宿主完成加载、读写和冷启动读回,维护者在本机桌面端目视验收了同步页。物理双机经 GitHub 的往返没有本版证据,经维护者决定以未验证状态发布;完整故障注入矩阵和恢复演练也未完成。#10 的原会话跨目录直接继续仍未实现。本版验证记录