为未配置的第三方 DeepSeek Harness 模型添加 models.dev 推理级别支持。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:aerince/dsh-models-dev-reasoning
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
从 models.dev 为 DeepSeek Harness 补齐第三方模型的模型发现、思考档位和上下文元数据。
本插件是 OpenChamber / OpenCode 两个插件的 DSH 移植版:
openai-model-discovery.ts— 调${baseURL}/models发现模型openai-compatible-hermes-variants.ts— 从 models.dev 匹配模型并生成推理档位
功能
- 模型发现:对每个在
llm-pi-ai中手工声明、带baseURL的 OpenAI 兼容路由请求/models,过滤 embedding / 语音 / 图像 / 已下线模型后合并进该路由的models列表。 - 推理档位:按模型 ID 匹配 models.dev 目录,把
reasoning_options映射成 DSH 的reasoningEfforts(off: null、low: "low"……),模型选择器即可显示思考档位。 - 上下文元数据:补齐
contextWindow、maxTokens,以及目录声明的图片输入能力。 - 自动更新:目录缓存 24 小时;每次启动、设置变更、配置重载时重新对齐;运行时每 6 小时做一次检查。
- 不覆盖已有配置:模型行已声明的字段一律保留,只填空缺字段。
工作方式
- 插件注入
settings,DSH 启动后等待llm-pi-ai命名空间可用,再延迟约 1.5 秒开始第一轮。 - 读
https://models.dev/api.json;失败时退回磁盘上的旧缓存,两者都没有则跳过推理档位。 - 逐路由请求
/models;apiKeyEnv通过ctx.credentials解析,解析不到就跳过该路由的发现(不影响档位补齐)。 - 用
ctx.settings.mutate("llm-pi-ai", ops, revision)写入;遇到SETTINGS_CONFLICT自动重试。 - 缓存文件:
$DSH_HOME/cache/models-dev-reasoning.json(DSH_HOME未设置时用~/.dsh)。
触发时机:启动、settings/document-updated(llm-pi-ai)、loader/volatile-update、app-boot/config-reload、6 小时定时器。
可选配置
在 cordis.patch.yml 的插件行上加 config,全部可省略:
| 键 | 默认 | 说明 |
|---|---|---|
discovery |
true |
是否请求 /models |
reasoning |
true |
是否从 models.dev 补档位/元数据 |
ttlHours |
24 |
目录缓存有效期 |
refreshIntervalHours |
6 |
运行期检查间隔 |
catalogUrl |
https://models.dev/api.json |
目录地址,可换镜像 |
timeoutMs |
20000 |
单个 /models 请求超时 |
catalogTimeoutMs |
30000 |
目录请求超时 |
cacheFile |
空 | 自定义缓存路径 |
providers |
[] |
只处理这些 provider id;空表示全部 |
transport |
auto |
/models 的传输层:auto(先 HTTP/2,失败回退 fetch)、http2、fetch |
minIntervalMs |
60000 |
两次完整 reconcile 的最小间隔,避免事件风暴重复请求 |
debounceMs |
2000 |
设置事件防抖 |
bootDelayMs |
1500 |
启动后首轮延迟 |
部分 OpenAI 兼容网关会重置 Node
fetch的 HTTP/1.1 连接(curl 或 ALPN h2 正常),因此auto默认先走 Node 的 HTTP/2,再回退fetch。
安装
命令行安装(需要可用的 dsh 与 pnpm):
dsh plugin --profile web add github:aerince/dsh-models-dev-reasoning
# 可复现安装:固定 release
dsh plugin --profile web add github:aerince/dsh-models-dev-reasoning#v0.2.0
# 不可变 commit pin
dsh plugin --profile web add github:aerince/dsh-models-dev-reasoning#8a1a18a6b2ed76bea464f45871dbf5fb0d4a635a
本包是零构建 JavaScript,没有 prepare,不需要 pnpm allowBuilds。兼容 DSH >=0.2.1-rc.2 <0.3.0;不满足该范围的版本会被当前 DSH 兼容性检查拒绝。
本地开发安装(无 dsh CLI)
把插件行写进用户级 patch 层 $DSH_HOME/cordis.patch.yml(不存在就新建;该层在 profile 补丁之后加载):
- insert:
- id: models-dev-reasoning
name: '/path/to/dsh-models-dev-reasoning/index.js'
name 用绝对路径指向本目录的 index.js,然后重启 DSH。
验证
- 启动后日志出现
models-dev-reasoning: refreshed models.dev catalog (...)或evaluated ...,写入时出现updated N provider model list(s)。 - 设置 → 模型页:手写路由下出现
/models返回的新模型;models.dev 标记为 reasoner 的模型出现思考档位。 - 缓存文件已生成:
$DSH_HOME/cache/models-dev-reasoning.json。 - 已有
reasoningEfforts或contextWindow的模型保持不变。
离线自测(不依赖 DSH):
node test.mjs
边界
- 声明了
modelOverrides的路由会被跳过(models与modelOverrides不能同时存在)。 - 只有 toggle 型推理(如部分 Qwen 的
enable_thinking)的模型不会映射成档位,因为 DSHreasoningEfforts只接受档位。 /models列表很大的路由会把返回的文本模型全部加进配置,可用providers限制范围。- 发现需要能解析出
apiKeyEnv;凭据缺失时只跳过发现,档位仍会补齐。
卸载
dsh plugin --profile web remove dsh-models-dev-reasoning
本地开发安装则删除 $DSH_HOME/cordis.patch.yml 中的对应行并重启。
License
MIT
链接
同类插件
Ebony-Vinyl/dsh-our-free-model★ 71490
为 dsh 接入免费模型车道(含 DeepSeek V4.1 Flash、Kimi K3 等),无需登录、注册或填写 API Key,并提供本地 OpenAI 兼容网关、降级路由与用量看板。
dingminhua/dsh-connect-workbuddy★ 1517
将本机登录的 WorkBuddy 模型(国内版与国际版)接入 DSH,每次刷新按上游目录读取每个模型的积分倍率,支持逐模型图片输入开关、带自动换号的账号池、手动每日签到,以及卡片与输入框里的只读积分胶囊读数。
Alice-Marx/dsh-model-router★ 959
为 DeepSeek Harness 规划有依赖的工作包,将其分配给已配置的模型 API 或支持的厂商 CLI,并提供费用预览。
V1ki/dsh-plugin-subscriptions★ 601
把 ChatGPT(Codex)、Claude、Grok 订阅当作 DeepSeek Harness 的 LLM 提供方:设置页登录、模型目录、用量展示,以及 image_generate、video_generate 与 x_search 工具。
XDTrees/dsh-workbuddy-xdpool★ 501
把本机 WorkBuddy 桌面 App 登录过的所有账号自动并入 DSH 模型池:多账号轮换自动容错、实时积分,模型目录按模型标注积分倍率与限时免费 / 夜间折扣。
XDTrees/dsh-xdpool★ 501
把本机 WorkBuddy 桌面 App 登录过的所有账号自动并入 DSH 模型池:多账号轮换自动容错、429 冷却、实时积分,模型目录按模型标注积分倍率与限时免费 / 夜间折扣,扫码登录 13 家厂商,聚合免费额度渠道。账号重启不丢。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。