目录

v0.5.31:支持 DSH 0.2.1-rc.1 与任务 Agent 模型选择

在 GitHub 上查看源文件

本补丁版本发布 #394、#354、#386 以及 #410 至 #412。感谢 @yz1128 贡献 #394,感谢 @iuuuuuuuu 贡献 #354。

  • DSH 0.2.1-rc.1 与 0.2.0-rc.2(#386)。dsh-mnemon 支持 DSH 0.2.1-rc.1(npm next)与 0.2.0-rc.2(npm latest),以及此后的 0.2.0 与更高的 0.2 版本。
    • 记忆子 Agent 在 DSH 0.2.1 上恢复工作。 DSH 0.2.1 启动子 Agent 时不再接受它的指令与工具过滤,所以那里的每个记忆子 Agent 都会失败:存入记忆、记忆空间写入、空闲审查、USER.md 压缩、档案归档以及 Git 同步的合并审查。现在每个记忆子 Agent 在 DSH 发布它时、第一步之前,就在自己的作用域中拿到 Mnemon 的指令,并且只拿到它的记忆工具。DSH 不在本进程中创建子 Agent 的 provider 不会被使用。
    • 检查版本 → 更新在 DSH 0.2.1 上恢复工作。 开启热重载时,DSH 0.2.1 拒绝在 Profile 已有的插件上直接安装,更新因此停在 already-installed。现在更新改为运行 DSH 自己的 dsh plugin add:它持有 Profile 的锁,在安装任何内容之前拒绝与当前 DSH 不兼容的版本,完成后照旧提示重启。
    • DSH 以不兼容为由拒绝更新时,错误会写明该版本需要的 DSH:DSH 0.2.1 上为 requires DSH ^0.3.0,DSH 0.2.0 上为 requires @deepseek-ai/dsh ^0.3.0。没有合适的子 Agent provider 时,错误会说明两个版本都需要什么:一个限制深度、并为每个子 Agent 提供独立指令与工具的 provider。
    • Starter 在 engines.dsh 中声明支持范围,供 DSH 0.2.1 读取;DSH 0.2.0 读取的 DSH peer 声明同一范围。dsh-mnemon 与记忆空间不再把 @deepseek-ai/dsh-client-ui-primitives 列为 peer:DSH 会把它共享给每个客户端包。
  • 任务 Agent 模型:跟随全局、跟随会话或自定义(#354)。分层策略页面的后台任务中,任务 Agent 模型改为三选一。
    • 跟随全局(原跟随主链路)为默认值,行为不变:任务 Agent 使用 DSH 保存的新会话模型,也就是最近一次在任意会话中选择的模型。
    • 跟随会话为新增选项。该会话处于打开状态时,它的任务 Agent(存入记忆、Agent 查询、整理与归档)使用 DSH 交给该会话自身委托工作的路由:最近一次请求的 provider、模型与推理强度,第一次请求之前则是会话创建时的路由。其他情况下跟随全局,绝不使用另一个会话的路由。
    • 自定义(原指定模型)固定一对 Provider 与模型,重新读取会读取完整的模型目录。
    • 页面实时读取已保存的选择,并显示路由的来源。
  • Git 同步拒绝不一致的项目档案内容(#394)。documents/index.json 与档案正文不一致的存储,不再能被推送到分支并卡住之后的每一次同步。发布或导入内容时,项目档案索引中每一项的 contentHash 都必须是该格式一贯写入的形式,即十六进制的 sha256 摘要,错误会指出是哪份档案。ZIP 导出仍可下载这样的存储,便于修复前先备份。manifest.json 写入真实的包版本,不再是 0.1.0。
  • 空闲审查统一命名(#410)。审查失败后的状态页提示由后台审查失败改为空闲审查失败。分层策略页面把负责审查的 Agent 称为任务 Agent,与上方的任务 Agent 模型一致:受限任务 Agent 审查取代受限子代理审查,提示中改称任务 Agent,暂停审查去掉了“(兼容旧版)”。Agent Teams 暂停空闲审查时,状态页提示不再提到 DSH 0.1.7-rc.2。
  • 维护(#411、#412)。移除没有任何调用方的代码,并先确认没有公开入口暴露它们;存入记忆的结果类型只声明一次。发布历史、验收记录索引与设计计划完整列出各自目录的内容;README 与 SECURITY 中的链接打开当前文档,在 npm 包页面上也一样。

升级与兼容性

DSH 0.2.0-rc.2: 使用记忆系统 → 状态 → 检查版本 → 更新,完成后重启 DSH。

DSH 0.2.1-rc.1: dsh-mnemon 0.5.30 及更早版本的检查版本 → 更新会停在 already-installed。请退出 DSH,安装一次精确版本,再启动 DSH。从 0.5.31 起,两个版本上都可以通过检查版本更新。

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

桌面应用的 desktop profile 请在应用自己的插件页管理。新安装可在插件页选择立即启用。明确版本可避免 pnpm 发布后 24 小时的等待窗口选中较早版本。

支持的 DSH 版本。 DSH 0.2.0-rc.2 与 0.2.1-rc.1,以及此后的 0.2.0 与更高的 0.2 版本(>=0.2.0-rc.2 <0.2.1-0 || >=0.2.1-rc.1 <0.3.0-0)。DSH 0.1.7、0.2.0-rc.1 与 0.2.1 的 alpha 版本会拒绝安装本版本:

  • 在 DSH 0.1.7-rc.2、0.2.0-rc.1 或 0.2.1-alpha.2 上,升级 DSH 之前请保留 dsh-mnemon 0.5.30。先在现有 DSH 中更新 dsh-mnemon,再升级 DSH,然后再更新一次 dsh-mnemon,见升级顺序。
  • 在 DSH 0.2.1-alpha.3 及之后的 alpha 版本上,没有完全可用的版本。请把 DSH 升级到 0.2.1-rc.1,再按上文安装 0.5.31。

如果先升级了 DSH,它会停用自己不支持的版本;记忆数据不受影响,更新插件后即可恢复。不要用 allow-version 放行不受支持的版本。

如果 Profile 独立维护记忆空间,也请更新这个副本(dsh-mnemon-source-memory-spaces@0.5.21),或移除副本并使用 Starter 自带的组件。Starter 会自动锁定新版本。

无需迁移已有记忆与设置,已保存的设置沿用原来的键。跟随会话单独保存为一个键(taskAgentModel.followConversation),较早的版本会把它当作跟随全局。完整 Profile 使用 Node ^22.19.0 || >=24.0.0。插件 peer 下限与 Starter 的外部运行时依赖不变。

变更的包

包 之前 现在
dsh-mnemon 0.5.30 0.5.31
dsh-mnemon-source-memory-spaces 0.5.20 0.5.21

其余 16 个组件版本不变。

验证

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

各项改动另有记录:

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

上一版本:v0.5.30。