dsh-error-lens:DeepSeek Harness 的只讀錯誤診斷插件

前言

在 DeepSeek Harness (DSH) 的開發或調試過程中,經常會遇到請求失敗的情況。此時界面往往只顯示模糊的“API 錯誤”或“Provider Error”,缺少錯誤碼、Request ID 等關鍵上下文,且第三方網關返回的 HTTP 狀態碼(如 401、403、429)在界面上往往被統一處理,難以快速定位問題根源。

dsh-error-lens 插件旨在解決這一問題。它作爲 DeepSeek Harness 的一個社區插件,通過讀取本地會話日誌,將失敗記錄整理成結構化的診斷信息,並自動進行脫敏處理,幫助開發者快速排查 API 故障。

插件介紹

dsh-error-lens 是一個只讀的、脫敏的模型請求錯誤診斷工具。

  • 維護者:Wanbinyu
  • 類別:admin-security
  • 許可證:MIT
  • 定位:它不攔截請求,也不自動重試,僅作爲 Web UI 的輔助診斷面板存在。

核心功能

  1. 失敗信息展示
    插件會在消息輸入區上方顯示最近一次仍未恢復的請求失敗信息。
  2. 歷史記錄對比
    展開面板後,可以看到最近 3 條此前失敗的記錄,便於判斷是否爲重複故障。
  3. 錯誤分類
    插件會將錯誤細分爲 8 類:身份驗證、禁止訪問、限流、上下文超限、兼容性、超時、網絡和服務端錯誤。
  4. 關鍵上下文
    它會展示 DSH 已持久化的供應商錯誤消息以及對應的 Request ID,這些是排查問題的重要依據。
  5. 報告生成
    提供一鍵複製功能,生成中英文脫敏的診斷報告,適合直接提交到 GitHub Discussions 或發給技術支持。
  6. 交互與狀態
    支持手動關閉當前診斷面板(不刪除會話內的記錄),且在成功完成下一輪對話後自動隱藏提示。

安裝與啓用

在安裝前,請確保環境滿足以下要求:
* Node.js:版本 >= 22.19
* DeepSeek Harness:版本 0.1.0-rc.6 或更高

使用官方提供的安裝命令進行安裝:

dsh plugin --profile web add https://github.com/Wanbinyu/dsh-error-lens/releases/download/v0.1.7/dsh-error-lens-0.1.7.tgz

安裝完成後,需要重啓 Harness 服務以加載插件:

dsh web

如需卸載,可使用:

dsh plugin --profile web remove dsh-error-lens

配置說明

插件的默認配置位於 Web profile 的 cordis.patch.yml 文件中:

- insert:
    - id: error-lens
      name: dsh-error-lens
      config:
        maxRecords: 10
        maxMessageLength: 2000
配置項 默認值 說明
maxRecords 10 每個會話投影保留的最近錯誤數量,範圍 1-50
maxMessageLength 2000 單條脫敏錯誤的最大字符數,範圍 256-8000

隱私與邊界

該插件設計時遵循嚴格的隱私原則:
* 數據來源:僅處理 DSH 會話日誌中已經存在的終止失敗記錄。
* 不讀取敏感信息:不會讀取 settings.yaml 中的密鑰,不會記錄請求正文或完整提示詞。
* 無外部交互:不會向外部服務發送遙測數據,不會自動更改配置、重試或切換模型。
* 無 DOM 注入:基於官方 session projection 與 Web UI slot 實現,不進行破壞性的 DOM 注入。

雖然插件會嘗試通過文本規則移除 API Key、Token 和 URL 密鑰參數,但複製或公開報告前仍建議人工檢查,因爲基於文本的脫敏無法保證覆蓋所有供應商自定義的錯誤格式。

適用場景與注意

  • 適用場景:適合在調試 API 調用、排查網關報錯、分析 Request ID 時使用。
  • 注意:這是一個非官方社區插件,與 DeepSeek 官方無隸屬或背書關係。
  • 權限提示:插件以當前 DSH 進程的權限運行。在安裝任何插件前,建議檢查其源碼與許可證。

結尾

dsh-error-lens 提供了從模糊報錯到清晰診斷的中間層能力。對於需要頻繁排查 API 問題的開發者,它能顯著提升溝通與調試的效率。

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

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

小夜