dsh-model-smart-config:第三方 API 模型行的智能参数补全

前言

在 DeepSeek Harness(DSH)里配置第三方 API provider 时,常见流程是填好 url、key 和 model id,再手工维护上下文窗口、输入模态(text / image)以及思考等级(reasoning effort)。官方 discoverModels 在走网络 GET {baseURL}/models 的路径(第三方 provider 通常只能走这条)时,返回字段往往只有 id、name,以及可选的 contextWindow、maxTokens,没有模态与思考等级。官方 provider 编辑器也刻意不在 UI 里提供 reasoning effort,因为它是按模型变化的能力,默认留在配置文件里由用户手改。

dsh-model-smart-config 针对这一空白:在官方模型行上识别 model id,在用户确认后把上下文窗口、输入模态、思考等级填进受控表单,而不是另起一块配置区,也不静默改写 cordis.patch.yml。

这是什么

项 说明
名称 dsh-model-smart-config
维护者 Seller-1990
分类 模型推理(DeepSeek Harness 插件)
类型 dsh.bundle bundle patch + Web client
许可 MIT
当前版本 0.3.3(见仓库 package.json)

插件简介(与目录页一致):面向 DeepSeek Harness 第三方 API provider,识别 model ID 并补全 context window、input modalities、reasoning levels。

运行时对插件包本身零依赖(@deepseek-ai/* 由宿主供给);规则表为 201 条有序正则规则,覆盖 33 家厂商,每条规则带官方文档 source 字段。

核心功能

识别与填值分离

设计底线是:敲完 model id 只做识别、更新徽标,不自动写字段;真正写入上下文、模态、思考等级,必须用户点击行内的「智能匹配」(批量「获取 model」采纳候选走同一闸门)。

未识别时徽标显示「未识别」,点键会说明无建议可写,不会给 input / reasoningEfforts 猜默认值。

规则表如何工作

识别入口流程可以概括为:

① 模型识别   归一化模型名 → 有序正则规则匹配 → 分层覆盖合并
② 规格取值   命中即取:多模态来自公开信息;思考等级来自官方文档条目(表内带 source)
③ 兜底       未命中 → 端点元数据补数值 → 可选实测探测 → 名称启发式只展示候选,不自动写

规则不是扁平型号表,而是有序正则 + 分层覆盖。例如同一 id 可能同时继承系列容量、子系列档位、具体变体的多模态信息。第三方聚合站常见的 org/model 前缀或别名,会先归一化剥离 org/,再经 ALIASES 表做匹配用名转换(不改显示名)。

填到哪里

值写入 Harness 官方模型行上的受控输入,持久化仍由该 API 卡片上的官方「保存」触发。插件不调用 settings.mutate 直接写库,避免与官方 revision 冲突。填完后用户可以手改;插件对派发出的 input 打标,之后自动路径不会覆盖用户改动。

可选探测

配置项 allowProbe 默认为 true 时,界面会显示「测试」。只有手动点击才会联网:按 provider 的 apiKeyEnv(或按 provider 名派生的 *_API_KEY)在本机 credentials 面解析密钥,对你在该 provider 里填写的 baseURL 发最小请求,探测哪些思考等级会被接受。识别路径默认不发外部网络请求。

Profile 开关

在 profile 条目上(见仓库 cordis.patch.yml)有五个开关:

键 默认 含义
enabled true 总开关;为 false 时行内不渲染控件
autoApplyContext true 允许把上下文窗口 / 最大输出填入官方行
autoApplyModality true 允许把输入模态填入官方行
autoApplyReasoning true 允许把思考等级填入官方行
allowProbe true 是否显示「测试」(探测仅在手点发生时执行)

思考等级可选值包括:off、minimal、low、medium、high、xhigh、max。输入模态包括 text、image。

安装与启用

插件以当前 DSH profile 的权限运行;安装前建议自行查看仓库源码与 MIT 许可证。社区目录页与 GitHub 仓库由维护者发布,与 DeepSeek / 幻方无官方从属关系,DSH 生态本身是「一切皆插件」的扩展模型。

GUI:插件管理器 → 添加插件 → 粘贴仓库 URL 或本地绝对路径。

CLI(命令来自仓库 README,请将 <profile> 换成你的 profile 名):

dsh plugin --profile <profile> add https://github.com/Seller-1990/dsh-model-smart-config

<spec> 也支持 file: / link: 前缀、.tgz 或绝对路径(相对路径会被拒绝)。卸载:

dsh plugin --profile <profile> remove dsh-model-smart-config

安装或更新后,Client bundle 与 Host 推断逻辑分属不同加载面,不能仅凭刷新页面断言两者都已更新;应以实际界面与匹配结果核对,必要时再确认重启宿主。

典型用法

  1. 安装插件后打开 Settings → Models。
  2. 在已有的第三方(pi-ai)provider 上选 Edit,展开 自定义设置 / Customized。
  3. 在 Add API → Custom provider 中拉取并采纳模型,或手动新增一行;无需先保存即可在每一行看到识别徽标与 Smart match / 智能匹配 按钮。
  4. 输入 model id,观察徽标是否识别出厂商/系列。
  5. 点击 智能匹配,在开关允许的前提下,上下文、模态、思考等级写入官方行;确认无误后使用该卡片自带的 Save 持久化。
  6. 若需验证思考等级是否被端点接受,在 allowProbe 为真时手动点 测试(会用到本机 credentials,密钥不写入日志、不跨 Host↔Client 通道)。

新建自定义 API 时,底部扩展入口只作用于当前模型页可见的新建表单;取消或切换页面后会清理按钮状态。草稿模式不对虚构 provider 做真实端点探测。

适用场景与注意

适合谁:经常切换第三方聚合 API、模型 id 多且杂,又不想反复手改 cordis.patch.yml 里逐模型的 context、modality、reasoning 的 DSH 用户;希望规则带来源、且未识别时不乱写值的场景。

已知限界(来自 README):

  • 模型行容器宽度约 小于 420px 时,官方输入框会被压窄,属于布局算术结果,不是插件单独可修的缺陷。
  • 规则表随插件版本更新,是快照;规格变化需等插件发版或自行 fork 维护规则。
  • 极长自定义 id 可能被官方输入框裁切,与插件无关。

Host 侧提供 msc/infer、msc/authoritative、msc/probe 等 RPC;Client 侧注入 @deepseek-ai/dsh-client-ui-settings-models 的模型设置页。Node 引擎要求为 ^22.19 || >=24(开发/测试环境,见 package.json)。

链接

经过上述步骤,你可以在官方模型列表里用「识别 + 一键匹配」补齐第三方链路上拿不到的模态与思考等级,同时保留保存权与手改空间;未识别的模型不会被静默猜值。

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

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

小夜