Skip to content

Releases: 11zld22/dsh-model-info-fill

v0.3.0 · 只补百科事实,不再写思考档位

Choose a tag to compare

@11zld22 11zld22 released this 22 Oct 11:53

重写了匹配与写入范围,净删约 2500 行。这个版本起,插件只做一件事:把 models.dev 上的客观参数补进你的模型行。

写入范围

  • 只写 contextWindow、maxTokens、图片能力与显示名,而且只写百科真正给出的值。
  • 不再写思考档位:reasoningEfforts 与供应商的 reasoning 都不碰。DSH 0.2 起宿主自己就有推理等级编辑(开关 + 每档 API 值 + 校验),插件只把百科对该模型的说法显示成一行只读提示。
  • 不再写占位默认值:未匹配的模型不再被填上 262144 / 32768。留空本来就由宿主的 defaultContextWindow / defaultMaxTokens 回退,写死只会把「不知道」伪装成「知道」。
  • 你手填的值不会被覆盖;compat、modelOverrides、headers 等字段原样保留。

匹配

先认供应商,再认名字:baseURL 可注册域 → apiKeyEnv → 路由名 → 精确 id → 网关命名空间(opencode-zen-free/beam-free → opencode 的 beam-free)→ 去掉前缀与变体后缀的裸名。

models.dev 里 1200 多个模型 id 重复出现,其中约 900 个的上下文档位互相冲突(glm-5.3 有 32 条记录、5 种上下文)。只按名字全局比对时,常用模型要么永远「参数不一致」补不上,要么抄了别家网关的数字。同一组候选里只有各条都一致的字段才会被写,对不上的进「有分歧」并列出候选来源。

本机 12 个供应商 / 49 个模型实测:可补 3 项、有分歧 0 项、「未匹配」从 9 条降到 6 条。

未匹配

本地网关和转售商自造的 id 仍然查不到,但现在有两条出路:搜索百科条目手动指定(存成别名,条目消失会回到未匹配),或者直接忽略。不再往下塞默认值。

界面

  • 「补全缺失字段 · N」移到供应商卡片的「编辑」前面并借用宿主按钮样式;没有可补字段的供应商不再显示按钮;点击后按钮原地显示结果 4 秒。
  • 面板的「档位未写明」与「疑似旧版本代填,请确认」两个分区删除。供应商默认档若不被某些模型支持,仍以一行红字提示(只读)。

保存

  • 补全只在你点按钮时发生:删掉了设置变更时的后台自动补全,所以宿主的模型编辑弹窗不会因为插件在背后写入而报「配置已过期」。
  • 写入带修订号,冲突时按最新配置重算一次,仍冲突则提示重试。

升级

旧缓存(v2)会在启动后自动重拉,不用手点更新。旧版本写进配置的 reasoningEfforts 和供应商 reasoning 原样保留 —— 那是你的数据,插件不擅自删;要清理请到宿主的模型编辑里改。

测试

npm test → 63 通过(纯离线)。装上 npm install 的 devDependencies 后为 64,多出的一项在 jsdom 里用真实 React 挂载卡片,验证按钮确实落在「编辑」前面、点击有反馈、卸载不留孤儿节点。

v0.2.4 · 保持未声明不再被写回

Choose a tag to compare

@11zld22 11zld22 released this 14 Oct 10:01

思考档位

  • 保存为「保持未声明」后,自动补全不会再把档位写回去。
  • 已经是「不会思考」(reasoningEfforts: false)的模型,打开就是「不会思考」。

百科不一致

  • 同一个模型名有多条百科记录,而且上下文、输出上限、图片或思考档对不上时,对不上的字段留空,不再抄第一条。这些模型出现在「参数不一致」。

保存

  • 清空上下文或 maxTokens 不会变回 262144 / 32768。两个数都要是大于 0 的整数才能保存。
  • 保存模型时,如果供应商上的默认档是这个模型已经不支持的,会清掉,避免 pi-ai 报不支持这个思考强度。

测试

npm test → 55 通过。

v0.2.3 · 摘要不再挤成一行,待确认可以确认保留

Choose a tag to compare

@11zld22 11zld22 released this 10 Oct 11:28

界面

  • 设置页摘要改成两行:上面是标题和同步时间,数量用芯片显示,按钮单独靠右,说明文字不再被挤成竖条。
  • 点「未匹配」「档位未写明」「待确认」只展开对应的一块。「详情」仍打开全部。

待确认

  • 「确认保留」只记下确认,这条离开待确认。不再把旧版本代填的四档原样写回配置(写回去和没点一样,所以会一直留在列表里)。
  • 「清掉档位」删掉这些档位。改成别的档位后点「确认档位」。

测试

npm test → 45 通过。

v0.2.2 · 按模型名匹配百科,不再按 :free 之类的变体后缀

Choose a tag to compare

@11zld22 11zld22 released this 08 Oct 10:02

修复

  • 不再按「变体后缀」匹配百科:lookupCatalogModel 以前把 id 按 / 和 : 拆开、拿最后一段当键,于是所有以 :free 结尾的 id 都在比较字面量 free,会匹配到随便哪一条带这个后缀的百科行 —— 例如配置里的 inclusionai/ling-3.1-flash:free 匹配到了 gemma-4-31b-it:free,从而可能写入别的模型的上下文 / 输出上限,也让 v0.2.1 的「疑似旧版本代填」列表出现了误报。现在比较的是去掉供应商前缀和 :变体 后缀之后的模型名,后缀不再当作名字;精确 id 仍然优先。

v0.2.1 的「疑似旧版本代填」列表可能因为这个问题出现误报,升到 v0.2.2 后重新展开一次确认即可。

测试

npm test → 42 通过。

v0.2.1 · 不再编造思考档位 + 供应商默认档位

Choose a tag to compare

@11zld22 11zld22 released this 08 Oct 09:58

修复(issue #1 收尾)

  • 百科写了档位名但 DSH 不认(例如 none / default,或只有 off)的模型不再被写成 false。false 等于声明「这个模型不会思考」,还会剥掉已安装目录里的思考能力;这类模型现在归入「档位未写明」。
  • 从不写入只有 off 的 reasoningEfforts:DSH 解析配置时直接判非法。
  • 新增「疑似旧版本代填,请确认」:0.2.0 及更早的版本对「百科只标明会思考」的模型代填过 minimal / low / medium / high,已经写进配置的值不会被自动改写。配置里正好是那四档、百科却写明没有档位的模型会单独列出来,由你按供应商文档确认(勾上真正支持的档位 / 保持未声明清掉 / 保留)。
  • 模型编辑行新增「思考档位」三态:保持未声明 / 不会思考 / 指定档位。以前在「档位未写明」的行上不动档位直接保存会写成 false(即声明不会思考),现在默认「保持未声明」,什么都不写。
  • 缓存结构版本升级:旧缓存会被当作过期、启动后自动重拉,不再需要手动点「更新」。
  • 只勾 off 的思考强度不再产生「只有 off」的非法配置(等于「不会思考」)。

新增

  • 供应商默认档位:补全时给 providers.<供应商>.reasoning 写默认思考强度(初始 high)。带「严格」开关 —— 只有该供应商的模型全都支持这个档位时才写,否则跳过并在面板里点名是哪个模型不支持(因为写进去的档位会被该供应商每个模型当默认值,模型不支持会直接报 UNSUPPORTED_REASONING_EFFORT)。已经设过的不会被覆盖。
  • 面板里新增「供应商默认档位」一览。

宿主兼容

客户端注入模块名改为 @deepseek-ai/dsh-client-modules(DSH 0.2.0 桌面运行时注册表里的名字;dsh-client-runtime 在 0.2.0 里已不存在)。0.1.x 宿主未验证,请留在 v0.2.0。

测试

npm test → 41 通过。