前言¶
DeepSeek Harness(DSH)采用插件化架构。当模型配置(如 baseURL 路径、协议类型)出现错误时,系统报错往往只有简单的 HTTP 状态码,难以定位具体是哪一层配置问题。本插件在 DSH 的会话视图中新增「模型健康检查」页签,通过手动发送裸 HTTP 测试请求,提供针对特定模型和协议的即时诊断能力。
核心功能¶
- 四行选择器:在面板内按「供应商(baseURL分组)→ API类型 → 模型 → 路由」逐行点选。每一行的候选由上一行的选择推导,选项完全由本机
settings.yaml的llm-pi-ai.providers动态生成。 - 裸 HTTP 测试:手动发送真实的 HTTP 请求,不经过宿主
ctx.llm.stream,也不套用路由的compat/headers/retryPolicy,直接测试基础连通性。 - 三协议支持:支持
openai-completions、openai-responses、anthropic-messages三个协议。不做任何智能修正,配置成什么样就发什么。 - 一屏诊断:展示请求耗时、TTFT(首字节时间)、HTTP 状态、token 用量、响应内容以及三层诊断链(API请求 / 模型响应 / 严格校验)。
- 错误人话化:所有错误均翻译为中文结论与下一步操作建议,例如
HTTP_404会提示检查 baseURL 是否包含/v1。 - 默认模型设置:面板打开时会预选宿主的默认模型。可一键将当前选中的路由+模型设为默认,下次打开自动预选。
- 自动重试:提供用户显式启动、成功即停的有限重试会话。支持「严格」(内容匹配)和「连通」(仅响应结构)两种成功判定模式,以及 4 条停止条件。
安装¶
本插件以本地 tgz 包形式分发,需使用完整路径安装。
# 1) 打包(在插件目录内)
cd D:\Company\dsh-plugin\dsh-model-health-probe
npm pack
# 2) 安装进 web profile
dsh plugin --profile web add D:\Company\dsh-plugin\dsh-model-health-probe\dsh-model-health-probe-<版本>.tgz
安装成功后,需重启 DSH 宿主进程才能在会话视图中看到新增的页签。后续更新只需刷新页面即可。
使用说明¶
目标选择¶
- 供应商:按归一化的 baseURL 分组(仅去尾部斜杠,不增删
/v1)。注意https://api.example.com与https://api.example.com/v1是两个不同分组。 - API 类型:同一 baseURL 下可能挂载多种协议,按声明去重列出。
- 模型:该分组内模型 ID 的并集。
- 路由:仅当所选模型被多条路由声明时出现(
routeKeys.length > 1)。否则该行隐藏,目标自动锁定。
流式与非流式¶
- 开启流式:可测出 TTFT。
openai系协议会自动带上stream_options.include_usage。 - 关闭流式:一次性等待完整响应体,便于查看完整 JSON 结构。
严格校验¶
每次测试会产生三层结论:
- API 请求层:检查域名解析、TCP/TLS、HTTP 状态。
- 模型响应层:检查响应体结构、文本提取、流终止标记。
- 严格校验层:检查模型返回内容是否精确等于默认值 OK。
判定规则:
- 严格校验失败 → 判定为 Slow(绝不判 Failed)。
- 超时 / 非 2xx / 流缺终止标记 → Failed。
- 三层全过但耗时超过 slowMs(默认 15000ms)→ Slow。
自动重试¶
在面板中配置间隔、最大次数、最长时长(均为分钟),启动后可离开,回来看结果。
- 严格模式:内容匹配且未超时才算成功。
- 连通模式:HTTP 2xx 且响应体解析成功就算成功。
- 致命错误不短路:401/403/404/400 不会提前结束会话,允许在修复后继续重试。
注意事项¶
- 非监控工具:这是一个手动探针,不轮询、不监控、不告警、不落盘、不记录历史趋势。
- 单例运行:自动重试会话同一时刻只允许一个,重复启动会返回
409 RETRY_IN_FLIGHT。 - 安全:密钥零泄漏,记录、日志、响应中均不出现密钥明文。
llm-pi-ai配置全程只读。 - 配置依赖:插件依赖宿主环境的
settings.yaml和凭据服务(.credentials.yaml)。
生态背景¶
DSH(DeepSeek Harness)是 DeepSeek 生态下的插件化平台,核心设计理念是「一切皆插件」。本插件由社区开发者维护,遵循 MIT 许可证。