dsh-turn-doctor:DeepSeek Harness 轮次失败诊断插件

前言

在使用 DeepSeek Harness(DSH)开发智能体或代理时,请求超时是高频问题。DSH 的请求可能在多个层级超时:空闲看门狗、SDK 请求、HTTP 计时器、模型服务器或工具调用。UI 通常只显示最终错误,信息不够具体。例如,”Request timed out” 可能是 SDK 超时,也可能是 undici 的 300 秒头计时器超时。这容易导致开发者调整错误的配置。dsh-turn-doctor 通过测量每个模型请求的时间(首字节时间、最长字节间隙、总请求时间)来识别最可能的失败点。

插件简介

dsh-turn-doctor 是 DeepSeek Harness 的诊断插件,用于解释轮次失败原因并提供修复建议。它由开发者 d3vmeh 维护,许可证为 MIT。

核心功能

  1. 分析多层级超时:覆盖 DSH 空闲看门狗、SDK 请求、Node/undici HTTP 计时器、模型服务器、工具调用等层级。
  2. 识别具体失败层:通过计时数据定位具体失败点(例如 300 秒超时)。
  3. 提供针对性修复建议:给出具体的配置或操作建议(例如安装插件或调整参数)。
  4. 捕获被遗漏的失败:能够识别压缩失败和工具超时。

安装与启用

使用官方命令安装插件:

dsh plugin --profile web add dsh-turn-doctor

安装后,判决结果会打印在 dsh 终端中。

典型用法

  1. 查看判决:在聊天中输入 /why 命令,查看当前会话的最近判决。
  2. 配置超时:在配置文件 ~/.dsh/profiles/web/cordis.patch.yml 中设置 streamIdleTimeoutMs 或 timeoutMs,以便插件正确分类失败原因。

适用场景与注意

该插件仅用于诊断失败原因,不执行重试请求、更改设置或注入上下文。判决仅存在于内存中(dsh 进程生命周期),不写入会话日志。如果 SDK 计时器和 undici 标题计时器都设置为 300 秒,第一字节超时可能模棱两可(插件会报告 undici)。

与 dsh-error-lens 的区别:dsh-error-lens 按 HTTP 状态分组,dsh-turn-doctor 按请求计时/超时层区分。

生态背景:DSH 理念是「一切皆插件」;社区目录是独立站点(如 Skillhub),与 DeepSeek / 幻方无官方从属关系。

结尾

通过定位具体的超时层级,开发者可以避免盲目调整配置,快速定位问题根源。

GitHub 仓库:https://github.com/d3vmeh/dsh-turn-doctor

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜