dsh-model-hub:双栏模型选择与悬浮能力面板

前言

在 DeepSeek Harness(DSH)桌面端里,输入框上方的模型位默认是一长条扁平列表,几十个模型挤在一起,切换提供商时要反复滚动。模型能力(上下文长度、输出上限、视觉、推理档位)往往要到设置页里改,改完是否真正写进运行时配置,也不总在界面上直观可见。

下面介绍社区插件 dsh-model-hub(维护者 zyqchanel-06):把模型位换成左提供商、右模型的双栏布局,并在悬停时弹出能力卡,改动会写回与设置页相同的模型声明路径,并通过回读确认是否生效。仓库为成品插件,零构建、零 npm 依赖(React 由宿主提供)。

这是什么

dsh-model-hub 是 DSH 的「模型中心」插件,分类属于模型推理。它接管输入框上的 conversation.input.model 槽位(优先级影子覆盖),不改宿主主 UI;卸载或关闭后内置选择器会恢复。

宿主侧以 cordis 插件形式挂载 /model-hub/api/*,读写运行时模型目录并通过 DSH settings 桥写入 llm-pi-ai.providers 下的模型声明;浏览器侧以 classic script 注入 client.js(约 3100 行,含 CSS)。README 注明适配 DSH 桌面版 0.2.1-rc.2(2026-10-23 实测)。当前 package 版本为 0.1.0,许可证 MIT。

目录页:https://www.skillhub.cn/plugins/zyqchanel-06/dsh-model-hub
源码:https://github.com/zyqchanel-06/dsh-model-hub

核心功能

模型选择界面

左栏为提供商:支持拖拽排序、置顶并持久化;只显示「有模型或已声明」的渠道,其余隐藏。右栏为当前提供商下的模型列表。

搜索框可跨全部提供商按模型名或 ID 模糊匹配;当前提供商的命中排在最前,右栏底部可展开其他渠道的相似模型。键盘支持 ↑ ↓ 与 Enter 选模型,焦点可留在搜索框;支持亮/暗主题、prefers-reduced-motion 与 Tab 等操作。

悬停模型行约 120ms 后会出现宽约 200px 的悬浮能力卡,跟随鼠标出现后钉住,可移上去继续操作。卡片上与设置页对齐的项包括:

  • 上下文档位:128K / 256K / 1000K
  • 输出档位:128K / 256K
  • 输入类型:文本 / 图片
  • 推理等级:关 / 低 / 中 / 高(四档)

若在设置页手写了非标准数值,卡片会标注并高亮,提示例如是否多打了 0。

提供商与模型管理

左栏底部「+ 添加模型提供商」打开全屏表单,字段包括 id、显示名、API 协议、Base URL、Key 环境变量名。保存后默认不拉取模型;新渠道以「待选模型」草稿形式出现在左栏,草稿保存在 ~/.dsh/model-hub/prefs.json,不直接改 DSH 主配置,可删除。

模型列表右下角刷新按钮会向端点询问可用模型,进入可搜索、可勾选、支持全选/取消全选的候选界面;确定后才把「渠道 + 勾选模型」一次性落盘。单个模型可 hover 删除(二次确认);仅剩最后一个可删模型时删除按钮置灰,删掉后可通过刷新再加回。

可靠性设计

能力改动写入模型配置后会回读运行时确认;写不进或未生效会报 NOT_EFFECTIVE 并回滚。客户端渲染失败时会自动让出槽位、交回内置选择器并给出可见提示。推理等级在能力卡上提交的是会话级 reasoningEffort;若当前会话模型不是卡片上的模型,一次点击可同时切换模型并应用档位(界面有提示)。

安装与启用

插件以当前 DSH 进程权限运行,安装前建议自行审阅源码与 MIT 许可证。官方推荐用 CLI 或 GUI 从 GitHub 安装:

# 从 GitHub 安装
dsh plugin --profile desktop add github:zyqchanel-06/dsh-model-hub
dsh plugin --profile desktop add github:zyqchanel-06/dsh-model-hub#v0.1.0

dsh 不在 PATH 时,可使用安装目录下的 CLI,或在 GUI 侧边栏「插件」→ 添加插件,粘贴 Git 地址或包名。本地开发可用绝对路径:

dsh plugin --profile desktop add "<本目录绝对路径>"

仓库还提供可审计的 PowerShell 脚本(tools/install.ps1、tools/uninstall.ps1),对 package.json 与 cordis.patch.yml 的改动范围有校验,详见仓库 tools/README.md。

装完后的生效方式(README 强调):

场景 需要做什么
宿主 API /model-hub/api/* 安装即生效,一般不需要重启宿主
输入框上的模型 UI 刷新页面一次(桌面端 Ctrl+Shift+R)
升级插件后宿主侧代码 需重启 DSH;客户端刷新页面即可

仅关闭而不卸载:在 cordis.patch.yml 将 enabled 设为 false,宿主 API 停用,内置模型选择器恢复。

典型用法

安装并刷新页面后,点击输入框上的模型位打开模型中心。左栏点击或用 ← → 切换提供商;在搜索框输入关键字跨渠道查找。悬停模型行打开能力卡,点选档位或开关后,配置写入并与运行时核对,成功则立即生效。

左栏拖拽或右键/行尾图钉可调整提供商顺序。新增渠道后先保存草稿,再用刷新拉模型并勾选落盘。诊断可用同源 API,例如 GET /model-hub/api/health、GET /model-hub/api/catalog;写能力用 POST /model-hub/api/model(要求 Content-Type: application/json)。

适用场景与注意

适合经常在 DSH 里切换多家提供商、并希望在与设置页同一处声明里快速改上下文/输出/视觉/推理档位的用户。偏好与草稿在 ~/.dsh/model-hub/prefs.json;模型能力真正落在 profile 的 cordis.patch.yml → llm-pi-ai.providers.<提供商>.models[]。

已知限制(来自 README):

  • /model 斜杠命令弹窗仍是内置 UI;新 UI 只接管输入框模型位。
  • DSH 不允许「没有模型的渠道」;新建渠道在勾选模型前仅出现在本插件面板。
  • 对上游不支持的模型强开视觉或推理档位,请求时可能由上游报错,需自行承担。
  • 升级插件后宿主侧需重启 DSH(lib/host/* 无热重载)。

SkillHub 目录与 GitHub 均为社区生态入口,与 DeepSeek / 幻方无官方从属关系;星标与验证状态以仓库 README「验证状态」一节为准。

结尾

dsh-model-hub 把模型列表从「长条挤在一起」改成双栏 + 悬浮能力卡,并强调改动回读与失败降级,适合作为 DSH 桌面端日常选模与调能力的补充界面。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

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

小夜