前言¶
在 DeepSeek Harness(DSH)里接多个 LLM 渠道商时,聊天输入框右下角的模型列表往往是扁平长表:同一 Provider 下的模型散在一屏里,视觉能力、思考强度还要靠记忆或反复点进设置对照。模型一多,切换成本和误选概率都会上去。
下面介绍社区插件 dsh-model-picker(维护者 ZZJQ678):它替换原生选择器,把列表改成「按渠道商(Provider)分组、可折叠」,并尽量从设置与官方目录继承视觉标签、思考强度,而不是另起一套配置。
这是什么¶
dsh-model-picker 是纯客户端插件:通过 Cordis 补丁注册聊天输入框的模型选择槽位(priority: -1 遮住原生条目),目录与 directory.select() 仍走官方 ctx.modelDirectories,只改视图与交互。
- 分类:客户端(
dsh.client.platform为web) - 适用范围:README 写明仅在 DSH 桌面版实测通过;桌面版使用的 profile 名为
web。浏览器部署的 Web 版未做测试,不保证可用。 - 当前版本(package.json):
0.4.0,许可证 MIT。
插件以当前 DSH 进程权限运行;安装前建议自行查看 GitHub 仓库 源码与许可证。社区目录页:SkillHub 插件页(独立站点,与 DeepSeek / 幻方无官方从属关系)。
核心功能¶
分组与折叠¶
- 模型按渠道商分组,组头显示该组模型数量。
- 可折叠:默认只展开当前模型所在组,其余折叠;点击组头切换。
- 搜索:匹配渠道商名称/ID 或模型名称/ID;搜索时自动展开命中分组。
合并 modlens 视觉桥镜像¶
@liustack/modlens 等视觉桥会为上游渠道商注册镜像 provider(id 形如 modlens-<上游id>,名称带 (modlens vision) 后缀)。插件把镜像折叠回上游渠道商,同名模型只列一条,避免同一 Provider 出现两遍;卸载 modlens 后镜像自然消失,无需改本插件。
「视觉」与「视觉桥」标签¶
两者互斥,完全继承设置,不额外配置:
| 标签 | 含义 |
|---|---|
| 视觉 | 该模型在设置里声明了视觉(input 含 image),原生可读图 |
| 视觉桥 | 模型自身未勾视觉,但 modlens 为其套桥,可经桥读图 |
官方 session/modelCatalog 不含视觉字段,插件通过 settingsScope.describe() 读设置镜像;读不到声明时不显示标签(不猜测)。服务端动态发现型渠道商(如 CodeBuddy 等)设置里无 providers 声明时,两个标签都不显示。
思考强度逐模型继承¶
面板顶部显示当前模型支持的强度选项(来自设置 → dsh-llm-pi-ai → 目录的 reasoning.efforts 链路)。切换模型时带上该模型的 defaultEffort,与原生 selectionOf 行为一致。仅 off 一个级别的模型不显示强度控件;未声明 reasoningEfforts 的模型也不显示控件。
失败可见¶
渠道商目录加载失败时显示原因,并提供重试。取不到目录时会抛异常,由槽位错误边界按 abdicate 退役本条目,原生选择器自动接管,避免死壳界面。
安装与启用¶
从 GitHub 安装(公开仓库):
dsh plugin --profile web add "github:ZZJQ678/dsh-model-picker"
本地开发可 link 到桌面版实际使用的 profile:
dsh plugin --profile web add "link:E:\DSH\dsh-model-picker"
装完后重启 DSH Desktop(或应用内「重启 Harness」)。bundle 列表在启动时固化,仅刷新页面不足以加载新 bundle。
桌面版的 profile 名是
web,不是desktop。误用desktop会装到用不上的 profile,表现常为「装成功但界面无变化」。桌面版目录示例:%APPDATA%\dsh-desktop\harness\profiles\web。
卸载:
dsh plugin --profile web remove dsh-model-picker
卸载后原生模型选择器会自动恢复。
典型用法¶
安装并重启后,无需单独配置文件:打开任意会话,点击输入框右下角模型入口(或与 /model 命令共用的同一槽位),即可看到按渠道商分组的面板。
- 在组内点选模型,切换会话当前模型;若该模型在设置里配置了思考强度,顶部会出现对应级别,切换模型时会应用其默认强度。
- 在面板搜索框输入渠道商或模型名称/ID,命中分组会自动展开。
- 若已安装 modlens,同一上游下的桥接模型会与原生条目合并,并按需显示「视觉桥」;在设置里勾了视觉的模型显示「视觉」。
插件不修改 Provider 插件或 settings.yaml;视觉与强度仍以你在 DSH 设置中的声明为准。
适用场景与注意¶
适合谁
- 配置了多个 LLM 渠道商、模型数量较多,希望按 Provider 浏览而不是扫扁平列表的 DSH 桌面版用户。
- 同时使用 modlens 视觉桥,希望列表不重复、又能区分「原生视觉」与「桥接视觉」的场景。
- 已在设置里为不同模型配置了
reasoningEfforts,希望在选模型时一并看到并切换强度。
务必注意
- 环境:仅桌面版 + profile
web有 README 级别的实测说明;Web 版未测试。 - 依赖服务:插件
inject需与官方模型选择 UI 对齐(含remote、remote.session等);缺少依赖时槽位会静默退役并由原生接管,控制台可能出现 inject 相关错误。 - 权限与安全:插件代码在客户端 bundle 中执行,安装前请审查 GitHub 源码。
- UI 基座:优先使用
@deepseek-ai/dsh-client-ui-primitives;若基座不可用会退化为无图标的纯 DOM,核心选择功能仍可用。
结尾¶
dsh-model-picker 在不动官方目录与选择逻辑的前提下,把模型选择器改成按渠道商分组、可搜索、可折叠的视图,并从设置继承视觉与思考强度标签——适合模型多、Provider 杂的 DSH 桌面版日常切换。