Repository navigation
Releases
v0.2.3: 跟进上游 Coding Tools 语义(修复 issue #2)
跟进上游 Coding Tools 语义
DSH 0.2.1-alpha.1 起,ctx.configForms.developerTools.enabled(旧名「开发者工具」)不再是「关闭即整只预设控件消失」的总开关,而是「关闭时只隐藏内置 PTC / Minimal」的 Coding Tools 开关(上游 3c26fdd204 去掉门禁 + f3946dc39a 抽出 requiresCodingTools,PR #5399)。0.2.2 及更早版本仍按旧语义使用该偏好,于是 Coding Tools 关闭时新会话页不渲染任何预设入口 —— 本插件以 priority: -10 遮蔽官方控件,而官方控件此时本应显示 Standard / Creator。
本版本统一按上游新规则处理:
- 新增单一过滤
offeredPresets():健康、未被读者隐藏,且在 Coding Tools 关闭时排除内置 PTC / Minimal;新会话选择器与 stage 控制器共用同一实现。 - 新会话控件不再因该偏好整体隐藏;只有 Host 仍发布的「新任务可选择模式」策略为关闭时才整体隐藏(该旧策略语义保持不变)。
- 设置页「预设显示」把 PTC / Minimal 标注为「需要 Coding Tools」,不再显示「选择器已关闭」提示。
- Coding Tools 关闭时,stage 控制器仍在其余可用预设间正常切换,而不是退回「一切交给 Host 默认」。
旧版 DSH 上的有意分歧
0.2.1-alpha.1 之前的 DSH(含 0.2.0-rc.2)把该偏好当作总开关,关闭时官方控件整体隐藏;本版本在那里保留控件、只排除 PTC / Minimal。这是有意为之,已在两份 README 的「行为边界」中记录。
验证
tsc --noEmit、tsdown构建、vitest run35/35 通过(新增 5 项用例);对0.2.1-alpha.2依赖线复跑同样全部通过。- 真实 GUI 复核(运行中的 dsh
0.2.0-rc.2-639ed01,插件link:到本仓库):Coding Tools 开启 → 选择器列出长程记忆 / PTC 模式 / 创造模式,设置页无额外标注;Coding Tools 关闭 → 控件仍在,菜单只剩长程记忆 / 创造模式,PTC / 极简标注「需要 Coding Tools」且不再出现「选择器已关闭」提示;随后恢复原状态。
Fixes #2
v0.2.2: 支持 dsh 0.2.0 线(修复兼容门禁拒绝)
修复 DSH 0.2.0 线的兼容门禁
0.2.1 及更早版本的 peerDependencies 是 ^0.1.7-rc.1(等价 >=0.1.7-rc.1 <0.2.0)。DSH 会用运行时版本校验插件声明的每个 @deepseek-ai/dsh* peer(packages/boot/app-boot/src/plugin-compatibility.ts 的 evaluatePluginCompatibility()),因此升级到 0.2.0-rc.x 后:
dsh plugin add dsh-presets-hidden直接失败(exit 1,什么都没装上);- 已装好的 profile 启动时该 bundle 被跳过,patch 层不应用,插件界面整体消失。
本版本把两个 peer 放宽为 ^0.1.7-rc.1 || ^0.2.0-rc.1,0.1.7 与 0.2.0 两代都能通过门禁。代码本身没有改动(在 0.2.0-rc.2 依赖下构建产物与 0.2.1 逐字节一致)。
验证
- 用已发布的
@deepseek-ai/dsh@0.2.0-rc.2CLI + 隔离DSH_HOME:dsh plugin add dsh-presets-hidden@0.2.1被拒(exit 1);本版本安装成功(exit 0)。 tsc --noEmit、tsdown构建、vitest run(30/30)全部通过;另在 0.2.0-rc.2 依赖下复跑同样全部通过。
Fixes #1
v0.2.1
修复
适配 DeepSeek Harness 0.1.7-rc.2:该版本移除了 Host 侧的“新任务可选择模式”策略字段(agentPresets/list 只返回预设名单),新会话预设选择器改为只由“开发者工具”控制。
0.2.0 仍按布尔值读取这个已退休的字段,于是在 rc.2 上把 Host 一律当成“选择器已关闭”:
- “设置 → 预设显示”页一直显示“新会话预设选择器当前已关闭”提示;
- 插件自己的筛选选择器永不渲染;
- 而它以
priority: -10注册在同一single槽位,仍然遮蔽官方选择器 —— 结果新会话页完全没有预设选择器,Host 默认预设一直生效。
现在缺失的策略字段被视为“允许选择”:rc.1 仍遵守它发布的策略,rc.2 不再误报;提示文案同步调整,并在 roster 测试里覆盖两种返回。
验证
pnpm run check(tsc + tsdown + vitest,30 项测试)通过。- 在运行中的 DSH
0.1.7-rc.2Web GUI 上刷新后,“预设显示”页提示消失,预设列表正常显示 4/4。
兼容性
0.2.x 仍需 deepseek-harness 0.1.7-rc.1 及以上;0.1.7-rc.1 与 0.1.7-rc.2 均已适配。
v0.2.0 — DeepSeek Harness 0.1.7 support
Adapts the plugin to DeepSeek Harness 0.1.7-rc.1.
⚠️ Breaking
- Requires DSH
>= 0.1.7-rc.1. On DSH 0.1.5 or earlier, keep using0.1.x; DSH now refuses this version on older runtimes through itsdsh-*peer check. - The bundle entry id is now
preset-visibility.
Changes
- Preferences are volatile plugin Config fields, saved per profile in
cordis.patch.yml(DSH 0.1.7 removed$DSH_HOME/settings.yaml). Non-loopback pages still uselocalStorage. - Preferences saved by 0.1.x migrate automatically, once: the
preset-visibilitysection left insettings.yaml.importedis imported into the active profile, and legacylocalStoragedata migrates the first time a loopback page opens. - The new-session picker follows the official gate: it is hidden, and the Host default applies, while "mode selection for new tasks" or developer tools are off. The settings page shows a notice when this happens.
- Updated for 0.1.7 APIs: main-view session lookup, renamed icons, built-in badges via
isBuiltInPreset.
Upgrade
dsh plugin --profile web add dsh-presets-hidden@0.2.0