dsh-ui-model-selection-collapsible:为 DSH 模型选择器添加可访问的供应商折叠分组

前言

如果你希望 DSH 模型选择器按模型供应商独立展开或折叠,同时保留官方数据、选择、配置和调用逻辑,可以关注这个社区插件。下面介绍 ZoeHao2026/dsh-ui-model-selection-collapsible 的定位、功能、安装方式、使用方法和注意事项。

这是什么

ZoeHao2026/dsh-ui-model-selection-collapsible 是由 ZoeHao2026 维护的独立社区插件,并非 DeepSeek 官方项目。

它为 DeepSeek Harness(DSH)模型选择器添加按供应商独立折叠的分组界面,并保留官方数据、选择、配置和调用逻辑。

核心功能

  • 每个模型供应商可以独立展开或折叠,并显示模型数量。
  • 可在 DSH 设置中选择“当前供应商”“全部展开”“全部折叠”或“单组展开”。
  • 可切换舒适/紧凑列表密度,以及跟随系统/关闭折叠动画。
  • 展开、收起、箭头和透明度使用统一的 160 ms 对称动画,并支持 prefers-reduced-motion
  • 提供 menuitemmenuitemradioaria-expandedaria-controlsaria-checked 和可见项键盘导航。
  • 模型触发器支持上下方向键直接打开菜单,并聚焦首项或末项。
  • 直接复用官方 modelDirectories 服务、model 本地化命名空间和选择数据结构。
  • 自定义席位使用优先级 -1;官方优先级 0 的模型选择器保持安装并作为运行时后备。
  • 不新增命令、Host 配置 schema 或 RPC,也不重复注册官方 model 本地化命名空间。
  • 通过官方 settings.section 扩展点添加自己的设置页,只替换 conversation.input.model 的可视席位。

安装与启用

在 PowerShell 中运行:

$dshBin = Join-Path $env:USERPROFILE '.dsh\profiles\node_modules\@deepseek-ai\dsh\lib\bin.js'
node $dshBin plugin --profile web add 'https://github.com/ZoeHao2026/dsh-ui-model-selection-collapsible.git'

安装完成后重启 DSH,并在浏览器中执行一次硬刷新。

典型用法

修改供应商分组

打开 DSH 的“设置”,选择“模型选择器”,可以修改:

  • 供应商分组的初始展开策略:当前供应商、全部展开、全部折叠、单组展开。
  • 模型列表密度:舒适或紧凑。
  • 折叠动画:跟随系统或关闭。

偏好保存在当前浏览器与 DSH Web 地址的 localStorage 中,会即时生效并在刷新后保留;它们不会写入 settings.yaml、修改模型配置或改变调用数据。

浏览器阻止本地存储时,设置页会明确提示,更改仅在当前页面生命周期内有效。

卸载

在 PowerShell 中运行:

$dshBin = Join-Path $env:USERPROFILE '.dsh\profiles\node_modules\@deepseek-ai\dsh\lib\bin.js'
node $dshBin plugin --profile web remove '@local/dsh-ui-model-selection-collapsible'

卸载后重启 DSH。官方模型选择器会继续提供默认席位。

本地开发

git clone https://github.com/ZoeHao2026/dsh-ui-model-selection-collapsible.git
Set-Location dsh-ui-model-selection-collapsible
pnpm install --frozen-lockfile
pnpm run verify

$dshBin = Join-Path $env:USERPROFILE '.dsh\profiles\node_modules\@deepseek-ai\dsh\lib\bin.js'
$sourceRoot = (Get-Location).Path
node $dshBin plugin --profile web add "link:$sourceRoot"

边界与兼容性

  • 插件只替换 conversation.input.model 的可视席位,并通过官方 settings.section 扩展点添加自己的设置页。
  • 不新增命令、Host 配置 schema 或 RPC。
  • 不修改 DSH 官方插件或模型选择 RPC,也不重复注册 model locale。
  • 直接复用官方 modelDirectories 服务、model 本地化命名空间和选择数据结构。
  • 自定义席位使用优先级 -1;官方优先级 0 的模型选择器保持安装并作为运行时后备。
  • modelDirectories 服务延迟出现、卸载或不兼容时,自定义席位不会挂载,由官方席位接管。
  • 当前经过完整验证的基线是 DSH 0.1.1-rc.2、Web 平台和 Node.js 22 或更高版本。
  • DSH 仍处于开发预览阶段;升级 DSH 后,需要先重新运行类型、bundle 和浏览器生命周期测试。

适用场景与注意

  • 适合在 DSH Web 平台中使用,并希望模型选择器按供应商折叠、支持键盘导航和 prefers-reduced-motion 的场景。
  • 插件以当前 dsh 进程权限运行。安装前应检查源码、依赖、THIRD_PARTY_NOTICES.mdLICENSES 和许可证。
  • 插件代码采用 MIT License;bundle 中包含 clsx,完整归属与第三方许可证见 THIRD_PARTY_NOTICES.mdLICENSES
  • package.json 声明版本 0.2.0,且 privatetrue
  • 设置偏好保存在浏览器本地,不会写入 settings.yaml,也不会修改模型配置或调用数据。

链接

  • 插件目录页:https://www.skillhub.cn/plugins/ZoeHao2026/dsh-ui-model-selection-collapsible
  • GitHub 仓库:https://github.com/ZoeHao2026/dsh-ui-model-selection-collapsible
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜