deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
中文 | English
DSH 插件:当 provider 的模型同步(或任何设置写入)留下缺失能力字段的模型条目时,自动从 models.dev 目录补全——显示名称(display name)、上下文窗口(context window)、最大输出 token、推理档位(reasoning efforts)和输入模态(input modalities)。
大多数 provider 的 /v1/models 列表只披露一个 id,别无其他。本插件用本地缓存的目录补全这些同步模型的元数据,让它们立即可用,并报告补全了什么、哪些无法匹配。
llm-pi-ai 设置命名空间(settings/updated)。任何已提交的变更——新同步的 provider、编辑过的 provider 卡片、手动编辑的 settings.yaml——都会触发一次 reconcile。name / contextWindow / maxTokens / reasoningEfforts / input 任一字段的模型条目,解析出最佳目录条目,只补全缺失字段(fill-only:已有值绝不覆盖)。ctx.settings.mutate),即落到 ~/.dsh/settings.yaml——与你手动编辑的是同一个文件。reconcile 天然是 fill-only 的,因此它自己的写入不会造成循环:下一次 settings/updated 看到字段已存在,不会产生任何操作。
models.dev 把同一模型挂在许多 provider 名下(deepseek-v4-flash 出现在 57 个 provider 下)。解析是确定性的、且 provider 感知:
providerMap 覆盖,其次同 id)。你的 opencode-go 路由本身也是 models.dev provider,所以它的条目优先。vendor/ 前缀的 dsh 模型 id 与完全相同的 models.dev key 匹配。officialProviders(deepseek、openai、anthropic、google、xai……)在冲突时偏向厂商自己的条目。裸 id 对最后一段路径段做大小写不敏感匹配,所以 qwen3.7-max 解析到 Qwen/Qwen3.7-Max,kimi-k2.7-code 解析到 Kimi-K2.7-Code。
| dsh 字段 | models.dev 来源 | 说明 |
|---|---|---|
name |
name |
显示名称 |
contextWindow |
limit.context |
token 数 |
maxTokens |
limit.output |
token 数 |
reasoningEfforts |
reasoning_options[type=effort].values |
恒等字典 {high:"high", max:"max"};pi-ai 档位之外的取值(default/none/……)被过滤;toggle/budget_tokens 选项忽略 |
input |
modalities.input |
过滤到 text/image(pi-ai 仅接受这两种模态;pdf/audio/video 丢弃) |
目录中无匹配的模型(例如本地网关模型 hy3-paid)保持原样,并在补全报告中列为 unmatched。
https://models.dev/api.json 拉取,缓存在 ~/.dsh/model-parameters/catalog.json(约 4 MB)。ttlDays(默认 7 天)后,在下一次 reconcile 时惰性刷新。在 DSH 设置 → 插件 → 插件配置 中会出现一张 "模型参数补全 / Model Parameters" 可展开卡片(样式与内置插件卡片一致,默认折叠):

fillName、fillContext、fillMaxTokens、fillReasoning、fillInput);provider → models.dev provider 映射覆盖;插件配置保存在 model-parameters 设置命名空间(~/.dsh/settings.yaml),例如:
model-parameters:
enabled: true
ttlDays: 7
fillName: true
fillContext: true
fillMaxTokens: true
fillReasoning: true
fillInput: true
providerMap: {}
officialProviders:
- deepseek
- openai
- anthropic
- google
- xai
通过 dsh plugin 命令安装(web 换成你的 profile 名):
从 npm 安装:
dsh plugin --profile web add @fonlan/dsh-model-parameters
直接从 GitHub 安装:
dsh plugin --profile web add github:fonlan/dsh-model-parameters
卸载:
dsh plugin --profile web remove @fonlan/dsh-model-parameters
pnpm install
pnpm build # tsc 类型 + tsdown host 与 client bundle
pnpm typecheck
node scripts/verify-catalog.mjs # 用 models.dev dump 校验匹配逻辑
打 tag 自动发布到 npm(GitHub Actions Publish to npm,校验 tag 与 package.json 版本一致后执行 npm publish,需仓库配置 NPM_TOKEN secret):
npm run release:patch # npm version patch && git push && git push --tags
npm run release:minor
npm run release:major
MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。