现象
在 DSH 0.1.6-alpha.2 上,插件 0.3.3 的「IP 池」设置卡片在 设置 → 插件 里始终不出现。启动页无报错——卡片就是静默消失。模型路由(宿主半边 adapter)一切正常,这只是浏览器半边的问题。
根因(证据来自宿主依赖树)
DSH 把插件配置卡的槽位改名了:
- 旧名
settings.plugin.item:在 @deepseek-ai/dsh-web-app@0.1.6-alpha.2 的整个依赖树里 0 处引用。
- 新名
plugins.item:由 @deepseek-ai/dsh-client-ui-settings-plugins 调度——其自身文档注释已改为 "register into the Plugins page's plugins.item slot"(lib/client.js 中 apply() 的包级注释),且它的 4 个内置卡片(bash / agent-loop / subagent / web-search)全部以 name: "plugins.item" + id 形态注册。
插件的 src/client/index.ts 仍在注入 settings.plugin.item,于是生成器产出到一个没有任何组件渲染的槽位:静默无效。现有的 ctx.slots.spec() 兼容逻辑只能桥接旧 id 与新 key 的选项形态差异,桥接不了改名。
另外:dshmarket@1.47 同样注入旧名,它的设置卡在该宿主上应该也消失了(建议 DSH 侧顺便确认这次改名是否有意为之)。
修复建议
改为注册 plugins.item(采用内置卡片同款的 id 形态),可保留旧槽位注入以兼容老宿主:
ctx.slots.inject('plugins.item', function* () {
yield (ctx.slots.register as never)(
{ name: 'plugins.item', id: SETTINGS_NAMESPACE, locale: NS, inject: injected },
IpPoolCard,
)
})
或者仿照现有的 id/key shim,用 ctx.slots.spec('plugins.item') 探测、回退旧名。
环境
现象
在 DSH 0.1.6-alpha.2 上,插件 0.3.3 的「IP 池」设置卡片在 设置 → 插件 里始终不出现。启动页无报错——卡片就是静默消失。模型路由(宿主半边 adapter)一切正常,这只是浏览器半边的问题。
根因(证据来自宿主依赖树)
DSH 把插件配置卡的槽位改名了:
settings.plugin.item:在@deepseek-ai/dsh-web-app@0.1.6-alpha.2的整个依赖树里 0 处引用。plugins.item:由@deepseek-ai/dsh-client-ui-settings-plugins调度——其自身文档注释已改为 "register into the Plugins page'splugins.itemslot"(lib/client.js中apply()的包级注释),且它的 4 个内置卡片(bash / agent-loop / subagent / web-search)全部以name: "plugins.item"+id形态注册。插件的
src/client/index.ts仍在注入settings.plugin.item,于是生成器产出到一个没有任何组件渲染的槽位:静默无效。现有的ctx.slots.spec()兼容逻辑只能桥接旧id与新key的选项形态差异,桥接不了改名。另外:
dshmarket@1.47同样注入旧名,它的设置卡在该宿主上应该也消失了(建议 DSH 侧顺便确认这次改名是否有意为之)。修复建议
改为注册
plugins.item(采用内置卡片同款的id形态),可保留旧槽位注入以兼容老宿主:或者仿照现有的 id/key shim,用
ctx.slots.spec('plugins.item')探测、回退旧名。环境
@opencode2dsh/dsh-plugin0.3.3(npm 已发布版本)dsh-web-app0.1.6-alpha.2