dsh-model-provider-picker:厂商优先的两级模型选择与可见性控制

前言

在 DeepSeek Harness(DSH)里换模型,官方选择器会把各厂商的模型平铺在一个列表里,仅按厂商分组显示标题。厂商一多、同名模型又可能出现在不同账号或开放平台下时,找模型和区分推理档位都要在一屏里完成,既占视线也不利于按习惯隐藏不用的线路。

下面介绍社区插件 dsh-model-provider-picker:它把 composer 里的模型位改成「先选厂商、再选模型」,选中后再按需选推理等级,并在设置里提供按厂商/模型隐藏的可见性规则。数据仍走官方 modelDirectories 服务,与 /model 命令读到的是同一份目录,只是多了一层过滤与交互结构。

这是什么

dsh-model-provider-picker 由 cjc-github 维护,归类为模型推理相关插件,当前 GitHub 仓库星标为 1,许可证 MIT,package 版本 1.0.1。它是一个 DSH profile 插件(Host 半身 + Client 半身),通过 profile 的 package.json 与 cordis.patch.yml 挂载,面向 Web / 桌面 GUI 的 composer 模型位与设置面板。

核心功能

两级模型列表

composer 的模型位显示为 厂商 · 模型名 推理等级(厂商名更淡、过长后缀省略;推理等级字体更小更淡)。点击后弹出选择器,默认只显示厂商及该厂商下可见模型数量;点厂商整行,在其下方展开该厂商的模型列表。

推理等级第二屏

点选提供推理等级的模型后,选择器切换到第二屏,在该模型名下选择「关闭」「开启」等档位。不提供等级的模型点一下即选中,不进入第二屏。推理等级严格绑定「厂商 + 模型」,同名模型在不同厂商下各自保留档位,互不串台。

搜索

选择器顶部搜索框支持三类关键词:模型名或模型 id(列出命中模型并保留厂商)、厂商名(展开该厂商全部模型)、推理等级名(如 max,列出提供该等级的模型)。搜索期间厂商自动展开,折叠状态被忽略。

可见性设置

设置面板新增 「模型选择器」 分区:每个厂商一个主开关,关闭后该厂商及全部模型不出现在选择器里;展开厂商后每个模型有独立开关,可只隐藏某一个模型;模型旁标注「N 档强度」,便于隐藏前确认是否有推理等级。规则立即写回 Host,选择器实时同步。

隐藏规则持久化在 Host 设置文档的 model-provider-picker 命名空间下,例如:

model-provider-picker:
  hiddenProviders: [raccoon]
  hiddenModels: [raccoon/sn-glm-5.2]

hiddenProviders 为整厂商隐藏,hiddenModels 为单模型隐藏,格式为 provider/model。

安装与启用

本插件没有资料中的 dsh plugin add github:... 一类命令,需作为 profile bundle 安装。

方式一:本地目录引用(开发)

在 DSH 的 profile 目录(通常是 <DSH_HOME>/profiles/web)执行:

pnpm add link:/path/to/dsh-model-provider-picker

把包名加入 package.json 的 dsh.profile.bundles:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-model-provider-picker"
      ]
    }
  }
}

link: 建立 junction/符号链接,改源码后重启 Harness 即可生效。

方式二:打包安装

pnpm pack
pnpm add file:/path/to/dsh-model-provider-picker-1.0.0.tgz

激活

重启 Harness(关闭并重新打开 DSH Desktop,或重启 dsh web 进程)。插件列表出现 dsh-model-provider-picker 即加载成功;设置面板会出现「模型选择器」分区。Client 半身为 window.__ModuleLoader__.load(...) bundle,改代码后需重启宿主并刷新页面才能拿到新 bundle。

典型用法

  1. 在 composer 点击当前模型位,从厂商列表中选厂商,再选具体模型。
  2. 若该模型有推理等级,在第二屏选择档位;无等级则一步完成。
  3. 在设置 →「模型选择器」中关闭不用的厂商或单个模型,列表即时更新。
  4. 模型较多时,用搜索框按模型名、厂商名或等级名过滤。

开发与自测可参考仓库内命令:

npm test

也可在浏览器打开 prototype/index.html 查看与 lib/client.js 共用规则语义的交互原型。

适用场景与注意

适合谁: 经常在 DSH Web/桌面端切换多厂商模型、希望按厂商折叠列表并单独管理推理档位与可见性的用户。

权限与安全: 插件随当前 DSH 进程与 profile 运行,会读写 Host 设置中的可见性规则。安装前建议查看 GitHub 仓库 源码与 MIT 许可证,确认 bundle 列表与 cordis.patch.yml 符合你的 profile 策略。

已知限制(资料原文):

  • 只影响 Web / 桌面 GUI;纯 Host 侧模型路由不受影响,被隐藏的模型仍可通过直接构造请求使用。
  • 依赖官方 model-selection 插件的 conversation.input.model slot 与 modelDirectories 服务;上游变更可能导致选择器等待而不渲染(设置页仍可用)。
  • 当前不做键盘导航(无官方实现的 ↑/↓ 循环、Tab 焦点移交等)。
  • 可见性规则存在本机 Host 设置里,随 profile 走,不跨设备同步。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。

结尾

若你希望 composer 里「先厂商、后模型、再档位」,并自行决定哪些厂商/模型出现在列表里,dsh-model-provider-picker 在不动官方目录数据源的前提下提供了这一套 UI 与配置。详情与截图见仓库 README;安装与 bundle 配置以 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/cjc-github/dsh-model-provider-picker
  • GitHub:https://github.com/cjc-github/dsh-model-provider-picker
羽毛球分组比赛记分
小程序二维码

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

小夜