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

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

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

小夜