本版本在上一个标签 v26092801(远端 2a74c58)基础上,完成 DSH 0.2.0-rc.1 的
插件侧适配。三处破坏性变更全部在 0.2.0-rc.1 运行树实测取证(源码 + 构建产物
双查),并写成「新老双通道」兼容层——同一份代码在 0.1.5-rc.2 与 0.2.0-rc.1 上
行为一致,回滚不需要重新编译插件。
【修复(功能受影响面)】
- 宿主侧 settings:语言跟随(旧代码静默永远中文)、de_models 供应商目录与模型
设置 Tab(旧代码抛 TypeError: ctx.settings.get is not a function)、会话编排按
模型名解析 provider(旧代码静默读不到配置)。0.2.0 移除了 settings.get(ns) /
register() / installSection(),改为 describe() 列表按 ns 查;提交事件
settings/updated 改名 settings/document-updated。新增 lib/settings-compat.js
统一封装,locale 监听器同时订阅新旧两个事件名。 - 客户端图标:0.2.0 把 ui-primitives 图标导出从尺寸后缀改成字重后缀
(IconWarningOutline16 → IconWarningOutlineRegular,旧名删除而非别名),
旧代码会让「技能管理 Tab / 无限画板 Tab」打开即空白(SlotErrorBoundary 兑成
空占位 + 控制台 slot entry crashed)。新增 src/client/ui-icons.ts 四档解析。 - 客户端切换会话:「跳转到会话」按钮(站内通知铃铛、画板 footer)在 0.2.0 上抛
TypeError——ClientSessions.open 被删除,官方改走 uiWorkspace.openSession。
新增 src/client/client-compat.ts 的 openSessionCompat。
【一并并入的开发内容(v26092801 之后、非本会话产出)】
- 会话格式 v4 下插件注入消息让接收方整轮失败(#68,阻塞级):4 处注入点统一改用
producer-owned 的 source.kind。 - 带 [summary:…] 的条目在记忆 Tab 无法删除/编辑/归档(#59):匹配层对展示层剥离
免疫。 - runGit 的 30s 网络超时实际不生效、Promise 可能永不 settle(#69)。
- 内置技能同步被 coiEnabled 连带关闭、默认配置下永远装不上(#58);CRLF 检出下
x-version 升级静默失效(#67);收尾 key 建议未写明工具名。 - 内置技能 memory-consolidate 升 x-version 2。
【测试】全量 892 例通过(含本次新增 19 例兼容性护栏:settings 双通道、图标静态
护栏、切换会话双入口)。