dsh-models-dev
Verifieddsh-models-dev · v0.1.10 · MIT · Web UI
Keep DSH provider model catalogs current with the living models.dev catalog: refreshes each provider's models (new and existing) with updated modalities and thinking levels — automatically and from one refresh button in the Models page. / Utrzymuj żywy ka
Install
dsh plugin add dsh-models-dev Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Tags
Creators
Readme
dsh-models-dev
用活的 models.dev 目录维护 DSH 提供方的模型目录。
DeepSeek Harness 里已配置的提供方,其模型行的模态(图片输入)与思考档位会随版本
发布逐渐过时,新模型也不会出现。本插件刷新你已在使用的提供方的 models
数组——补入新模型、就地更新已有模型的能力,用户手加的模型行保持不动。它
不注册任何路由:不产生重复的提供方。
工作方式
- 抓取
https://models.dev/api.json(24 小时 TTL 缓存于$DSH_HOME/plugins/dsh-models-dev/models.dev.json,断网时回退到缓存)。 - 对每个已接入的路由(可配置提供方目录中的 llm-pi-ai 系列行)把 models.dev
记录映射为
models条目:modalities.input→input(图片输入开关),reasoning_options档位值 →reasoningEfforts(思考档位及其发送值)。 - 用设置接口的路径写入与修订号围栏把合并后的数组写回
providers.<route>.models——与「模型能力」编辑器的写入完全一致。
路由的 api/baseURL(线上端点)比模型行谨慎得多,因为它决定请求发往哪个
端点、落在哪份账单上。缺失的字段一律保持缺失:llm-pi-ai 的内置目录通常已经
解析出该字段,用 models.dev 的端点去覆盖正是「把能用的路由指错口味」的根源
(models.dev 的 zai 是 Z.AI 开放平台,而 pi-ai 的 zai 路由是 Z.AI
Coding Plan——钉住开放平台端点后每次调用都会变成
429 Insufficient balance or no resource package)。只有当 llm-pi-ai 的严格
校验拒绝写入(needs an api / needs a baseURL)时才写入线上字段;0.1.5–
0.1.7 留下的错误钉值,会在 sources 指明该路由实际订阅的 models.dev 提供方
后被自动修复。
从 0.1.5–0.1.7 升级: 如果升级后某条路由开始报「余额/资源包」形状的 429, 请到 设置 → 模型 →(提供方)编辑 → 自定义设置 检查它的
baseURL。这些版本 会钉住同名 models.dev 提供方的端点;GLM Coding Plan 的密钥请在下方配置sources: { zai: zai-coding-plan }(或把 Base URL 改为https://api.z.ai/api/coding/paas/v4),下一次刷新即会修复。
入口
- 自动检查——启动时一次、此后每
refreshHours一次,覆盖所有已接入提供方 (autoSync)。 - 刷新按钮——位于 设置 → 模型 →(提供方)编辑 → 模型能力 的标题栏:
一个地球图标("update models from models.dev API")。悬停时图标旋转 360°,
移开后平滑归位;点击后地球平滑过渡为加载图标,等待期间持续旋转。完成后弹出
通知卡片:成功卡片显示各路由的统计(
opencode-go: +2/~28),失败卡片显示 错误信息、主机日志与堆栈跟踪。点击立即刷新该提供方的模型行。
POST /api/dsh-models-dev/refresh body: { "route": "opencode-go" } # 或 {} 刷新全部
该端点与其他内置 /api 路由一样仅限 loopback(受信任的 LAN 请求由 dsh-lan
重放为 loopback)。
设置
需要 DSH >= 0.1.7。本插件的配置不再是 ~/.dsh/settings.yaml 里的一个小节:
0.1.7 会根据插件自身的配置 schema 渲染表单(设置 → 插件 → dsh-models-dev),
并把取值保存在当前 profile 补丁(profiles/<name>/cordis.patch.yml)。键与条目
config: 块相同:
dsh-models-dev:
refreshHours: 24 # 自动刷新周期(小时)
autoSync: true # 启动时与定时的自动检查
modelsDevUrl: https://models.dev/api.json # 可选
cachePath: ... # 可选:目录缓存位置
sources: # 可选:路由 -> models.dev 提供方 id 映射
my-gateway: opencode-go
zai: zai-coding-plan # GLM Coding Plan 密钥:models.dev 的 `zai` 是开放平台
配置修改即时生效(字段为 volatile):下一次刷新直接使用新取值,无需重启插件。
作用范围:llm-pi-ai 系列(settingsNs: llm-pi-ai)——本插件写入的模型形状
(input、reasoningEfforts)即该系列的 schema。其他适配器(如 DeepSeek)声明的
形状不同,保持不动。
启动链路的追踪记录保存在 $DSH_HOME/plugins/dsh-models-dev/bootstrap.log
(模块导入 → apply → 各步骤 → 失败堆栈):没有日志 exporter 的部署里,
"Running" 状态会掩盖一切失败。
开发
npm install
npm run verify # 语法 + 单元测试 + 线上 smoke
npm run bootstrap # 用桩 ctx 重放宿主组合