目录

v0.5.29:Git 同步、Provider 与记忆包修复

在 GitHub 上查看源文件

本补丁版本发布 #371、#372、#375、#376、#377、#378、#379、#380、#381 与 #382。

  • 记忆空间不再随 Git 同步成倍增加(#376,issue #370)。合并时比较的是整个 mnemon.db 文件,而 Mnemon 每次读取空间都会改写它,所以每轮同步都会多出一份副本。现在按记忆与关联比较空间:同一空间的两个版本合并为一个,各台机器保留自己的召回计数;只有某条记忆在一边被编辑或遗忘时,才把另一版本保留为一份副本。
  • 项目档案的编辑通过 Git 同步传递(#381)。编辑过的档案会遇到分支上自己的旧版本,于是被保留两份;在一台机器上的编辑传到另一台时也只是多出一份副本。同步现在会记住两边上次一致的版本:编辑会替换旧版本,只有两边都改过的档案才把另一版本保留为副本。
  • 大型记忆包(#375,issue #368)。记忆包的 base64 超过约 4.4 MB 后,Git 同步不再报 Maximum call stack size exceeded;校验改为线性时间。
  • GitHub 登录(#371,issue #369)。其他插件重建 DSH 的请求、GitHub 以表单编码而非 JSON 回复时,Git 同步的登录也能完成。
  • 同步或导入之后的记忆系统(#377)。从插件页返回时,会直接显示立即同步、仅合并到本机、ZIP 导入或已应用的记忆整理计划带来的内容,无需刷新。
  • 检查远端(#380)。仅合并到本机失败时,比较视图会说明原因,而不是看起来毫无变化。
  • 之后新建的 Provider 命名空间(#382,issue #373)。设置保存之后才在 Provider 端新建的 bank、workspace 或 user 现在会进入记忆空间:Host 开始服务一个数据目录后不久,会询问一次每个已启用的 Provider,记忆空间页面的重新发现可以随时再问。新空间以未激活状态挂载、带新发现标记,打开开关后才参与召回。已挂载的空间、为同一命名空间手动创建的空间,以及你断开过的命名空间都保持原样。
  • OpenViking(#372,issue #353;#378)。记忆可以写入此前会拒绝请求的 OpenViking 0.4.16,并保留分类。服务器仍列出、却已无法读取的记忆会在检索与列表中略过并说明,不再让整个空间显示为不可用。
  • Hindsight(#379)。实体名称的注释改为一次线性扫描去除。含 80,000 个 ( 的名称此前要 2.6 秒,期间 Host 无法处理其他工作;现在远不到 1 毫秒。

升级与兼容性

从 v0.5.22 可使用记忆系统 → 状态 → 检查版本 → 更新,完成后重启 DSH。安装精确版本:

sh
dsh plugin --profile web add dsh-mnemon@0.5.29

安装后重启正在运行的 DSH。新安装可在插件页选择立即启用。明确版本可避免 pnpm 发布后 24 小时的等待窗口选中较早版本。较早的桌面安装升级方式见兼容性与升级。

如果 Profile 独立维护记忆空间、OpenViking 或 Hindsight,也请更新这些副本(dsh-mnemon-source-memory-spaces@0.5.19、dsh-mnemon-provider-openviking@0.5.8、dsh-mnemon-provider-hindsight@0.5.6),或移除副本并使用 Starter 自带的组件。Starter 会自动锁定新版本。

无需迁移已有记忆:

  • Git 同步新增一份记录,保存两边上次一致的项目档案版本;较早版本会忽略它,升级后第一次同步时写入。
  • 记忆空间把你断开的命名空间记在注册表旁边的 state/memory-provider-disconnects.json,注册表格式不变。
  • 较早版本复制出来的空间与档案保持原样;本版本不再产生新的副本,但不会合并或删除已有副本。

支持的宿主为 DSH 0.2.0-rc.2;下列检查也在 DSH 0.2.1-alpha.2 上通过。完整 Profile 使用 Node ^22.19.0 || >=24.0.0。插件 peer 下限及锁定的外部依赖版本不变。

变更的包

包 之前 现在
dsh-mnemon 0.5.28 0.5.29
dsh-mnemon-source-memory-spaces 0.5.18 0.5.19
dsh-mnemon-provider-openviking 0.5.7 0.5.8
dsh-mnemon-provider-hindsight 0.5.5 0.5.6

其余 14 个组件版本不变。

验证

发布验收在全新的 DSH 0.2.0-rc.2 与 0.2.1-alpha.2 宿主上通过添加插件安装四个变更的包,检查状态页、运行时记忆、Native 空间与 CLI 和 WebUI 检索、实体页与检查版本,并更新一个 v0.5.28 安装。合并后的代码通过完整工作区校验,包括 1,946 项主包测试;在 DSH 0.2.0-rc.2 与 0.2.1-alpha.2 上,各通过 64 项使用两个宿主与临时 bare 仓库的真实 Git 同步检查。

各项改动另有前后对比记录:

发布流程会在创建 GitHub Release 前验证完整的锁定组合、Registry 安装及一次真实升级。

上一版本:v0.5.28。