前言¶
DeepSeek Harness(DSH)在 Settings → Models 里配置模型提供商与目录,但页面本身不会告诉你:某个已填写的 provider / model 组合,走与智能体相同的调用链时能否正常返回。配错密钥、选错模型名、适配器未就绪等问题,往往要等到对话或任务失败才暴露。
dsh-model-connection-test 是社区维护者 Willmylife 发布的 DSH 插件(分类:模型推理)。它在模型设置页底部增加「模型连接测试」面板,对每个当前可路由的模型发起一次最小 chat 往返(固定短 prompt "ping"),给出成功/失败结论、Harness 失败码,以及首包与总耗时。探测在 Host 进程内通过 ctx.llm.stream 完成,与智能体使用的路径一致;凭证在 Host 侧解析,不会进入浏览器或本插件的对外日志。
这是什么¶
- 名称:dsh-model-connection-test(npm 包名同左,当前资料中版本 1.0.6)
- 维护者:Willmylife
- 仓库:https://github.com/Willmylife/dsh-model-connection-test
- 引擎要求:DSH ≥ 0.2.0(
engines.dsh);纯 JavaScript,无构建步骤、无依赖安装 - 许可证:MIT
插件通过 Cordis patch 挂载在 Settings → Models 页脚(settings.models.footer),读取部署侧 live 模型目录(session.modelCatalog),与你在设置里看到的可路由 provider / model 列表对齐。
核心功能¶
资料中已说明的能力如下。
- 列目录:列出当前可路由的 provider 组与模型,并标记默认组合;目录中已标记为不可用的 provider 单独展示原因。
- 单测与全测:行旁的 Test 只测该模型;Test all 按目录顺序探测,并发上限为 3。
- 结果展示:成功示例为
✓ Connected 1.2s(悬停可看首包与总耗时);失败为✗ Failed <CODE>,<CODE>来自 Harness LLM 失败分类,例如NO_ADAPTER、MISSING_CREDENTIAL、AUTH、RATE_LIMIT、INVALID_CREDENTIAL、TIMEOUT等,悬停可看失败消息。 - 刷新目录:可在当前页刷新 catalog,无需离开设置页。
- 健康检查:Host 提供
GET /model-connection-test/api/health,返回{ ok: true, providers: <n> },便于快速诊断。
探测逻辑要点(与 README 一致):
- 每个模型一次
POST /model-connection-test/api/test,请求体含provider、model;单次探测默认超时 60 秒,客户端可通过请求体配置 1–120 秒。 - Host 侧调用
ctx.llm.stream,消息为单轮 user"ping",maxTokens默认 16、硬上限 256。 - 以流式终端 chunk(
type: 'finish')判定:stop、max-tokens、tool-calls视为完成;error、aborted携带失败信息。首包延迟从第一段 text / reasoning / tool-call 输出开始计时。
安全边界(插件自述):测试路由与 dsh-market 类似做同源/Host 约束(loopback 或部署声明的 authority、拒绝跨站 sec-fetch-site、Origin 校验、请求体上限 4 KiB 等);插件不存储、不上报任何数据。
安装与启用¶
从插件市场(dsh-market):仓库列入 awesome-dsh-plugin 后,在市场中搜索 Model Connection Test / 模型连接测试 安装;多数情况下无需重启。
从 CLI(任意 Host):
dsh plugin --profile <your-profile> add https://github.com/Willmylife/dsh-model-connection-test
从 DeepSeek Harness Desktop:在应用内 Settings → Plugins 从市场或 Git URL 安装;Desktop 的 profile 由应用运行时的插件管理器持有。
安装前请自行查看仓库源码与 MIT 许可证。插件以当前 DSH Host 进程权限运行探测请求,会使用你在 Settings → Models 中已配置的凭证与网络出站能力。
典型用法¶
- 安装插件后打开 DSH Settings → Models,滚动至页底的 模型连接测试 / Model connection test 面板。
- 确认列表与当前 catalog 一致(含默认模型标记);若刚改过配置,可用面板上的刷新更新目录。
- 对可疑的一行点击 Test;上线前或换密钥后,可用 Test all 扫一遍目录(注意全量探测会对每个模型各发一次最小请求,token 开销 README 描述为「少量」)。
- 若失败,根据
✗ Failed <CODE>对照 Harness 失败码排查(缺凭证、鉴权、限流、超时等);需要 Host 侧快速确认时,可对GET /model-connection-test/api/health做本地访问(路径前缀/model-connection-test/api/health,须满足插件文档中的同源与安全约束)。
开发或二次修改时,仓库结构为 index.js(Host 路由与探测)、client.js(设置页 UI)、cordis.patch.yml 等;本地改代码后需重新安装 bundle(目录安装可链接 checkout,Git 安装会重新拉取);Client 改动可能需要刷新页面,Host 改动视情况 HMR 或重启。
适用场景与注意¶
适合:在 DSH 里集中配置了多 provider / 多模型,需要在改密钥、换 endpoint、升级 DSH 或插件后,用与智能体相同的路径做端到端连通性验证的开发者或运维。
注意:
- 全目录测试会对每个模型发起真实 LLM 调用,可能触发计费与限流;单次输出 token 有上限,但仍非「零成本」操作。
- 探测超时与并发由插件实现固定(全测并发 3); hanging 的单个模型不会阻塞其他行的独立 POST。
- 社区插件目录(如 skillhub、dsh-market 相关站点)为独立生态索引,与 DeepSeek / 幻方无官方从属关系;星标与 listing 状态以各站点为准,资料中 GitHub 星标为 0。
结尾¶
dsh-model-connection-test 补的是「模型配好了但不知道能不能答」这一环:在设置页内完成最小往返探测,失败码与延迟可直接对照 Harness 语义排查。目录页:https://www.skillhub.cn/plugins/Willmylife/dsh-model-connection-test;源码与完整说明:https://github.com/Willmylife/dsh-model-connection-test(含 README.zh.md)。