前言¶
在 DSH 的插件化扩展方式中,接入自定义供应商时,模型条目常常只有 id。若缺少上下文长度、输出上限、显示名和输入模态,界面展示和容量判断都会缺少依据。dsh-model-meta-autofill 面向这个场景,把目录里已知的模型元数据补填到 llm-pi-ai 设置区。
这是什么¶
dsh-model-meta-autofill 是 DSH 插件,用于为 llm-pi-ai 设置区中的自定义供应商模型自动预填 contextWindow、maxTokens、name 与 input。默认数据来源是 models.dev 的 Model Metadata Registry,也支持通过 sources 合并其他目录源。
仓库地址为 https://github.com/QJAG1024/dsh-model-meta-autofill。资料中的所有者线索为 QJAG1024,未明确声明维护者。许可证为 MIT。
数据与匹配¶
- 默认从 models.dev Model Metadata Registry 获取目录数据。
- 构建时打包离线索引,离线可用。
- 启动时可实时刷新
models.dev/api.json;实时刷新默认开启。 - 各数据源独立失败隔离,单个源失败不影响其余源与离线索引。
- 支持
sources多目录源合并,兼容models.dev、PublicProviderConf 名称或http(s)URL。 - 兼容数字或 K/M 后缀的容量字段写法。
- 兼容模型 id 的精确、小写、
provider/前缀剥除、~变体等别名。 - 目录中未出现的新发布或小众模型不会被猜测,只填有目录依据的字段。
写入行为¶
- 目标设置区固定为
llm-pi-ai。 - 插件监听
llm-pi-ai设置区变化,对缺失字段生成补丁。 - 只填充缺失字段,不覆盖已有设置。
- 用户已有值始终优先,包括
modelOverrides。 - 只处理存在于用户设置层的 provider 路由;base-only provider 不会被物化进用户文档。
models列表有改动时整表重述,写入幂等。fillReasoning为保留开关,默认关闭,当前恒为false。
宿主接口与操作入口¶
插件通过 ctx.modelMeta 暴露宿主接口,包括 lookup、stats、refresh、buildSectionPatch。
设置页会提供「模型元数据」分区,支持:
- 单模型「填充」
- 「全部覆盖」入口
- 「显示名称携带厂商名」开关
- 「刷新」
- 「获取网关模型」
插件还提供本机回环 HTTP API:
GET /model-meta-autofill/api/status
GET /model-meta-autofill/api/models
POST /model-meta-autofill/api/apply
POST /model-meta-autofill/api/apply-all
POST /model-meta-autofill/api/discover
POST /model-meta-autofill/api/discover/add
「获取网关模型」走网关的 OpenAI 兼容 /models 清单接口;与 llm-pi-ai 的 discoverModels 是两条独立通路。
安装与启用¶
插件需要装入运行 dsh web 的 profile,例如 ~/.dsh/profiles/web。运行环境要求 Node >=22.0.0。
使用插件命令安装:
dsh plugin --profile web add dsh-model-meta-autofill
从源码安装时,先做本地构建,再安装 tarball:
pnpm install
pnpm build
npm pack
dsh plugin --profile web add dsh-model-meta-autofill@<tarball路径>
安装后,重启 dsh web 或对应管理面重载插件。首次运行时,如果 llm-pi-ai 已存在带模型的 provider,初始扫描会立即补填一次。
典型用法¶
在设置页操作¶
重启后,在设置页「模型元数据」分区中可使用:
- 「填充」:对单个模型执行补填。
- 「全部覆盖」:设置页列出的批量入口。
- 「显示名称携带厂商名」:影响填充显示名的写法。
- 「刷新」:刷新目录数据。
- 「获取网关模型」:获取网关模型列表并添加。
使用本机回环 API¶
HTTP 端点运行在本机回环,可直接用 curl 或浏览器 console 调用。可用端点如下:
GET /model-meta-autofill/api/status
GET /model-meta-autofill/api/models
POST /model-meta-autofill/api/apply
POST /model-meta-autofill/api/apply-all
POST /model-meta-autofill/api/discover
POST /model-meta-autofill/api/discover/add
维护目录源¶
sources 支持多目录源合并,可写入 models.dev、PublicProviderConf 名称或 http(s) URL。
如需 PublicProviderConf 网关拼写兜底:
pnpm gen:data aihubmix
并将 aihubmix 加入 sources。
更新默认打包源:
pnpm gen:data
pnpm build
pnpm gen:data 会拉取默认源并规整为 src/data/{source}.json,pnpm build 会重新打包。
适用场景与注意¶
适合在 DSH 中使用自定义供应商模型的开发者:当模型条目只有 id,且需要从 models.dev 等目录补充 contextWindow、maxTokens、name、input 时,可以用这个插件减少手工维护。
使用前注意:
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证。 - 目标设置区固定为
llm-pi-ai。 - 只填目录中有据可查的字段;目录未出现的新发布或小众模型不会被猜测。
- 用户已有值优先,包括
modelOverrides。 fillReasoning当前恒为false,不要把它当作可用开关。- 不要把插件目录理解为官方应用商店;安装对象以仓库与命令指向的包为准。
相关链接¶
- GitHub:
https://github.com/QJAG1024/dsh-model-meta-autofill - models.dev:
https://models.dev/