dsh-codex-model-selector:DSH 上的紧凑模型与推理选择器

前言

在 DeepSeek Harness(DSH)里改模型、调推理档位,默认界面往往占空间、入口分散。若你还装了订阅类插件,普通速度与「快速模式」还可能各有一个控件,重复且容易误触。社区插件 dsh-codex-model-selector 用独立样式替换官方模型槽,把模型入口、推理强度滑条和常用模型列表收进一张紧凑卡片;模型与等级数据仍走官方 modelDirectories,选择结果仍经原有会话接口保存,不另建配置源。

这是什么

dsh-codex-model-selector 由维护者 vb2250158 发布,定位为「Compact Codex-style model and reasoning selector for DSH」——面向 Web 客户端的 Codex 风格模型与推理选择器。插件列表中的展示名称为英文 Model & reasoning selector、中文 模型与推理选择(随 DSH 界面语言切换)。

组件基于 DeepSeek 在 MIT 许可下发布的 ModelSelect 改写,上游来自 deepseek-harness 的 packages/client/ui-model-selection;本仓库单独维护插件改动并保留版权声明。当前 package 版本为 0.1.17;README 写明需 DSH 0.2.1-alpha.1 或兼容的 0.2 系列,细节见仓库内 docs/dsh-0.2-compatibility.md。

核心功能

输入区的紧凑卡片

启用后,插件占用 DSH 的模型相关 UI 槽位,提供:

  • 模型入口:按钮展示「模型名称 · 提供商」(名称、大小写与空格取自模型目录;目录缺失时保留原始 ID);推理等级单独显示。卡片中央的强度文案、模型名与提供商共用一个换模型按钮;提供商名来自当前目录,缺失时显示提供商 ID,过长可悬停查看全文。
  • 推理强度:下方滑条与右侧重置按钮调整思考强度;拖动过程中卡片内文案实时预览档位,松手后提交一次;取消拖动恢复已保存级别。
  • 搜索与目录:模型列表支持按提供方或模型的名称、ID 做本地搜索;完整目录与搜索收进「更多模型」。数据仍来自官方 modelDirectories 服务,保留分组、加载重试与失败反馈等行为。

禁用或卸载插件会释放模型槽与样式,恢复官方选择器;无需改官方源码。

常用模型(近 30 天)

模型入口优先展示最近 30 天常用的最多 6 个模型,每项显示目录中的模型名称与提供商;规则编辑器的重定向下拉与此共用同一套列表。

排名逻辑(README 0.1.5 起):

  • 合并已安装用量插件在 /usage/api 上记录的实际助手请求次数,与本选择器成功切换模型的次数;次数相同时,最近使用优先。
  • 以提供商 + 模型 ID 共同标识;隐藏或已不可用的目录项不占常用名额。
  • 成功选择记录保存在当前浏览器;规则草稿、失败选择、推理档位调整不计入切换次数。用量接口不可用时会有提示,并沿用已有记录,完整目录仍可操作。客户端更新后需刷新页面生效。

没有历史记录时仍保留「更多模型」入口。

快速模式与订阅插件

若已安装提供 loadSpeed / setSpeed 的订阅类插件,本插件的「闪电」按钮复用该注入接口:仅当当前模型目录确认支持快速档时可操作。快速模式开启时,收起状态的模型按钮在模型名前显示实心闪电;首次加载也会读取已有速度状态。README 注明快速模式会使用更多用量。

本插件启用时,同一槽位上优先级更高的空视图会替代官方普通速度控件,避免重复入口;卸载本插件后自动恢复。

主题与交互

配色继承 DSH 主题变量;插件主要调整布局、尺寸和控件形状,不覆盖主题色。0.1.14 起菜单按视口剩余空间选择展开方向并限制高度;0.1.15 起浮动菜单渲染在滚动面板外、随入口滚动与缩放,搜索、推理控件与键盘焦点保持在菜单内。保存导致的临时失焦不会关闭卡片;点击外部或按 Escape 可关闭。

供其他插件复用的 API

从 0.1.11 起提供公开客户端服务 modelPickers.Picker,属性包括 sessionId、current、locked、select:复用当前会话目录的可见模型与同一常用记录,只向调用方返回独立草稿选择,不改变当前会话模型。调用方通过客户端依赖声明加载本插件并注入 modelPickers 服务;嵌入模式在父浮层内展开,菜单材质由主题 MenuSurface 提供。onOpenChange 可供外层菜单在弹窗打开时暂停「点击外部关闭」。

0.1.13 起 modelPickers.Control 与 Picker 属性相同,复用输入框单行模型/提供商/强度展示、常用模型、可搜索目录与推理滑条;保存由调用方负责,返回 false 不计入成功选择,组件本身不切换会话模型。

0.1.3 还为模型列表设置提供 settings.model-redirect.picker 槽位,与输入框共用 ModelSelect 搜索下拉;规则编辑只回传草稿,不切换当前会话。

安装与启用

安装命令须使用仓库 README 给出的形式,并将 <commit> 换成本仓库的完整提交号(插件代码与运行产物随 Git 交付;用户设置、凭据与聊天记录不在仓库内):

dsh plugin --profile web add github:vb2250158/dsh-codex-model-selector#<commit>

完成后重启 DSH 并刷新页面。插件面向 web profile(package.json 中 dsh.client.platform 为 web)。

维护者本地验证方式为:

pnpm test
pnpm run build

典型用法

日常在 Web 客户端换模型与调推理

  1. 按上一节安装并重启、刷新 DSH Web 客户端。
  2. 在输入区打开插件卡片:从常用六项或「更多模型」中选模型;必要时用搜索按名称或 ID 过滤。
  3. 用滑条调整推理强度,松手保存;需要时用重置恢复默认等级。
  4. 若目录支持且已装对应订阅插件,可通过闪电按钮切换快速模式(注意用量)。

在自定义插件中嵌入选择器

其他 Cordis 插件若只需改「草稿」模型而不动当前会话,可声明对本插件的客户端依赖,注入 modelPickers 后使用 Picker(弹窗)或 Control(单行紧凑控件)。选择结果由调用方自行持久化;本组件成功切换统计仅在用户经本选择器完成并成功保存时计入浏览器侧记录。

具体注入方式以 DSH 0.2 客户端依赖与 Cordis 服务文档为准;本 README 仅说明服务名与语义,不提供完整示例工程。

适用场景与注意

适合谁

  • 长期在 DSH Web 端开发智能体、频繁切换模型与推理档位的开发者。
  • 希望输入区更紧凑、并与用量插件的常用模型排序对齐的用户。
  • 编写 DSH 插件、需要在设置页或浮层里提供与主界面一致的模型选择 UX 的维护者(modelPickers.Picker / Control)。

使用前请知悉

  • 插件在当前 DSH 进程与浏览器上下文中运行,安装前建议阅读 GitHub 源码 与 MIT 许可证;用户凭据与聊天数据不由本仓库分发。
  • 常用模型排名依赖可选的用量插件及其 /usage/api;未安装或接口不可用时功能降级为无排名提示,目录仍可用。
  • 快速模式依赖订阅插件提供的速度接口与模型目录能力声明,并非所有模型组合都可用。
  • 社区目录 SkillHub 插件页 与 GitHub 为独立信息源,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,以你本地安装的 commit 与 DSH 版本为准。

结尾

dsh-codex-model-selector 在不改官方后端的前提下,用插件槽替换 Web 端模型与推理交互,并可选对接用量与订阅能力;若你需要 Codex 式紧凑选择器或 embeddable 的 modelPickers 服务,可从目录页或仓库 README 取 commit 后按上述命令安装。

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

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

小夜