fonlan/dsh-model-parameters

fonlan★ 0TypeScript最后同步: 2026-08-19

在 GitHub 打开

README 摘要

dsh-model-parameters 中文 English DSH 插件:当 provider 的模型同步(或任何设置写入)留下缺失能力字段的模型条目时,自动从 models.dev 目录补全——显示名称(display name)、上下文窗口(context window)、最大输出 token、推理档位(reasoning efforts)和输入模态(input modalities)。 大多数 provider 的 /v1/models 列表只披露一个 id,别无其他。本插件用本地缓存的目录补全这些同步模型的元数据,让它们立即可用,并报告补全了什么、哪些无法匹配。 工作原理 1. 插件监听 llm-pi-ai 设置命名空间( settings/updated )。任何已提交的变更——新同步的 provider、编辑过的 provider 卡片、手动编辑的 settings.yaml ——都会触发一次 reconcile。 2. 插件启动时还会对现有配置执行一次全量回填。 3. 对每个缺少 name / contextWindow / maxTokens / reasoningEfforts / input 任一字段的模型条目,解析出最佳目录条目,只补全缺失字段(fill-only:已有值绝不覆盖)。 4. 写入走设置接缝( ctx.settings.mutate ),即落到 /.dsh/settings.yaml ——与你手动编辑的是同一个文件。 reconcile 天然是 fill-only 的,因此它自己的写入不会造成循环:下一次 settings/updated 看到字段已存在,不会产生任何操作。 匹配逻辑 models.dev 把同一模型挂在许多 provider 名下( deepseek-v4-flash 出现在 57 个 provider 下)。解析是确定性的、且 provider 感知: 1. Provider 匹配 —— 为 dsh provider 映射的 models.dev provider(显式 providerMap 覆盖,其次同 id)。你的 opencode-go 路由本身也是 models.dev provider,所以它的条目优先。 2. 完整 id 精确匹配 —— 已带 vendor/ 前缀的 dsh 模型 id 与完全相同的 models.dev key 匹配。 3. 官方 vendor 优先 —— officialProviders (deepseek、openai、anthropic、google、xai……)在冲突时偏向厂商自己的条目。 4. 完整性 —— 两个 limit 都已知的条目优于部分已知的。 5. provider id 字母序 —— 稳定的兜底。 裸 id 对最后一段路径段做大小写不敏感匹配…

在 GitHub 查看完整 README →
工具/开发dsh-plugin

分类