dsh-model-info-fill
模型信息补全:按模型名自动补全上下文、输出上限、思考档位和图片能力
- Stars
- 5
- Language
- JavaScript
- Created
- Sep 6, 2026
- Updated
- Oct 14, 2026
Introduction
模型信息补全(dsh-model-info-fill)
DeepSeek Harness 插件。给自定义供应商里的模型,按名字从 models.dev 补全缺失字段:
- 上下文窗口
contextWindow - 输出上限
maxTokens - 思考档位
reasoningEfforts - 图片声明
input
百科里没有的模型会套你设的默认值;已经手填过的字段不会覆盖;百科写不清楚的字段宁可留空 —— 只标明「会思考」而没有离散档位时不会替你编出 minimal / low / medium / high(见 档位未写明)。
不会根据 models.dev 创建供应商(没有 Base URL / API Key)。百科只用来查模型能力。
安装
dsh plugin --profile web add github:11zld22/dsh-model-info-fill
装完重启 DSH。桌面版把 --profile web 换成 --profile desktop。打开 设置 → 模型 即可使用。
本机开发时可以 link 安装:dsh plugin --profile desktop add link:F:\path\to\dsh-models-dev-catalog,改完代码重启 DSH 生效。
怎么用
底部「模型信息补全」一行会显示百科同步时间和模型数量。
| 操作 | 作用 |
|---|---|
| 更新 | 重新拉取 models.dev |
| 自动补全 | 保存自定义模型时,自动补缺失字段 |
| 补全全部缺失 | 立刻给当前所有自定义模型补一遍,并给供应商写默认档位(见下) |
| 未匹配 / 档位未写明 / 待确认 | 点对应芯片只展开那一块。「详情」打开全部:默认值、供应商档位,以及上面这三类模型 |
每个自定义供应商卡片上,「编辑」和「删除」之间有 补全缺失字段。该供应商若有未匹配模型,按钮上会显示数量;若有模型的思考档位百科未写明,悬停按钮可以看到。
未匹配
点「未匹配」后可以:
- 改默认值:上下文、maxTokens、是否支持图片、有哪些思考强度,以及默认档位(写进供应商的
reasoning,即这个供应商新对话的默认思考强度,初始high)。之后新加的、百科对不上的模型都用这套。 - 改某一条:同样的字段,另加「思考档位」和「默认档位」。选「不改」就不会动供应商的
reasoning。
「思考档位」有三档,决定保存时怎么写 reasoningEfforts:
| 选项 | 写入 |
|---|---|
| 保持未声明(默认,仅百科命中但没写档位的模型) | 不写这个字段,等于「不声明」;旧版本代填过的档位也在这里被清掉。保存之后自动补全不会再补上 |
| 不会思考 | false |
| 指定档位 | 勾选的档位;至少要勾一个 off 以外的档位 |
未匹配百科的模型默认用你设的「未匹配默认值」里的思考强度。
档位未写明
百科能对上名字,也标明模型会思考,但没有离散档位时,会出现在这里。四种情况:只写了 reasoning: true、只有思考开关(toggle)、只有 token 预算(budget_tokens)、档位名 DSH 不认(比如 none / default)。插件不会替它们编造 minimal / low / medium / high。
这些模型「保持未声明」保存就完全不写 reasoningEfforts:自定义模型不会在会话里提供思考档,也不会因为一个并不存在的档位被拒绝。按供应商文档选「指定档位」勾好再保存,才会写入;确认不会思考就选「不会思考」。已经写过的 reasoningEfforts 不会被覆盖。
疑似旧版本代填,请确认
0.2.0 之前的版本对「百科只标明会思考」的模型会代填 minimal / low / medium / high。已经写进配置的值不会被自动改写,所以这些模型(配置里正好是那四档、百科却写明没有档位)会单独列出来。点「确认保留」留下这四档,并记下确认,这条离开待确认;点「清掉档位」删掉这些档位;勾成别的档位后点「确认档位」。
默认档位(供应商的默认思考强度)
「补全」除了补模型字段,还会给供应商写 providers.<供应商>.reasoning —— 该供应商新对话的默认思考强度;面板里「供应商默认档位」一行列出每个供应商当前的状态。
一个供应商下的模型档位经常不一致(比如某个模型只有 off),而写进去的档位会被该供应商的每个模型拿来当默认值,模型不支持就直接报 UNSUPPORTED_REASONING_EFFORT。所以:
- 严格(默认勾选):只有该供应商的模型全都支持这个档位时才写,否则跳过,并在面板里点名是哪个模型不支持。
- 取消「严格」:照写,面板里同样标注哪些模型不支持(那些模型需要你在对话里自己选一个它支持的档位)。
自动补全不会覆盖已经设过的 reasoning;选「不改」则这一次补全不碰它。保存单个模型时,如果当前默认档是这个模型不支持的(例如刚改成「保持未声明」或「不会思考」),会清掉供应商上的这一项。
补全规则
匹配顺序(大小写不敏感):精确 id → 去掉 provider/ 前缀、再去掉 :变体 后缀(如 :free)后比对模型名(百科一侧同样处理)。
变体后缀本身不算名字:0.2.2 之前是拿 id 按 / 和 : 拆开后的最后一段去比,于是 xxx:free 就以字面量 free 对上了随便哪条带该后缀的百科行 —— 配置里的 inclusionai/ling-3.1-flash:free 会对成 gemma-4-31b-it:free,从而写入别的模型的上下文 / 输出上限。现在两边都归一化到模型名再比。
同一个模型名在百科里有多条,而且上下文、输出上限、图片或思考档对不上时,对不上的字段留空,不取第一条。面板里记为「参数不一致」。
| 字段 | 百科命中 | 未命中 |
|---|---|---|
name | 用文档名(仅当本地为空) | 不编造 |
contextWindow | 文档值 | 你设的默认值(初始 262144) |
maxTokens | 文档值 | 你设的默认值(初始 32768) |
input | 文档含 image 则 [text, image] | 默认是否勾选「支持图片」 |
reasoningEfforts | 只写入文档里的离散档(effort 的 values)。明确无思考则为 false。只有开关、token 预算、只标明会思考,或档位名 DSH 不认时留空,不编造档位 | 你勾选的思考强度 |
只写 llm-pi-ai.providers.*.models[] 和供应商的 providers.*.reasoning。不改官方 DeepSeek 路由,不改 compat / headers / api / baseURL。
未保存的「添加提供方」草稿还没有目录行,保存之后才会自动补全。
数据
| 路径 | 内容 |
|---|---|
~/.dsh/models-dev.json | 百科缓存、自动补全开关、未匹配默认值(含默认档位与「严格」开关),以及记下的「保持未声明」 |
DSH 0.1.6:~/.dsh/settings.yaml 的 llm-pi-ai | 被补全或手改的模型字段 |
| DSH 0.1.7:当前 profile 的插件配置 | 被补全或手改的模型字段 |
若设置了 DSH_HOME,缓存写到 $DSH_HOME/models-dev.json。
插件同时支持 DSH 0.1.6 的旧设置接口和 0.1.7 的配置表单接口。升级宿主前请备份整个 DSH_HOME;新版宿主会迁移旧设置,不能仅靠降级程序回滚数据。
无缓存或超过 7 天会在启动后后台刷新。缓存结构版本(version)变更时,旧缓存也会被当作过期并自动重拉,不需要手动点「更新」。拉取失败沿用旧缓存;没有缓存时用默认值,不阻断保存。
更新日志
- 0.2.4:保存为「保持未声明」后,自动补全不会再把档位写回去。「不会思考」会按
false打开。同名百科记录对不上的字段不再按第一条填入。清空上下文或 maxTokens 不会变回默认值。保存模型时,若供应商默认档是这个模型不支持的,会清掉。 - 0.2.3:设置页摘要不再被按钮挤成竖条;未匹配、档位未写明、待确认各自展开对应的一块。「确认保留」只记下确认,不再把旧版本代填的四档原样写回配置(那样这条会一直留在待确认里)。
- 0.2.2:匹配不再把
:free之类的变体后缀当名字(此前xxx:free可能对上完全不相干的百科行,写错上下文 / 输出上限)。 - 0.2.1:不再给「百科标明会思考但没写离散档位」的模型代填
minimal/low/medium/high(只写百科声明的离散档,或在确实无思考信号时写false);新增「档位未写明」「疑似旧版本代填,请确认」两个区与模型行的思考档位三态;「补全全部缺失」给供应商写默认思考档位(含「严格」开关);客户端注入名改为@deepseek-ai/dsh-client-modules(DSH 0.2.0 运行时里存在的那个名字);缓存结构版本变更后自动重拉。 - 0.2.0:支持 DSH 0.1.7 的模型设置表单。
开发
npm test
55 项测试(node --test),覆盖百科解析与档位映射、模型匹配(含 :变体 后缀和同名记录不一致)、补全与保存路径、旧版本代填值的识别、「确认保留」只记确认,以及「保持未声明」不被自动补回、不支持的供应商默认档会被清掉。
License
MIT