Skip to content

Releases

v0.2.3: 跟进上游 Coding Tools 语义(修复 issue #2)

Choose a tag to compare

@tkliuxing tkliuxing released this 12 Oct 07:35

跟进上游 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 run 35/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 线(修复兼容门禁拒绝)

Choose a tag to compare

@tkliuxing tkliuxing released this 01 Oct 14:01

修复 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.2 CLI + 隔离 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

Choose a tag to compare

@tkliuxing tkliuxing released this 29 Sep 10:40

修复

适配 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.2 Web 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

Choose a tag to compare

@tkliuxing tkliuxing released this 24 Sep 12:38

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 using 0.1.x; DSH now refuses this version on older runtimes through its dsh-* 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 use localStorage.
  • Preferences saved by 0.1.x migrate automatically, once: the preset-visibility section left in settings.yaml.imported is imported into the active profile, and legacy localStorage data 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