dsh-doctor:DeepSeek Harness 診斷插件

前言

DeepSeek Harness(DSH)通過插件系統擴展功能。在調試或使用過程中,環境配置、端口占用、殘留進程以及過大的 session 常常導致問題。dsh-doctor 是一個診斷插件,它將 DSH_HOME、進程狀態、端口占用、版本信息以及過大 session 的檢查結果收集成一份可複製的 Markdown 報告。它不替代 Desktop 或 TUI 界面。

插件概況

  • 名稱:dsh-doctor
  • 維護者:henrytian1998
  • 類別:客戶端
  • 許可證:MIT
  • 定位:這是一個 bundle,不是 profile。它安裝到現有的 web / tui / 自定義 profile 中。

安裝與驗證

安裝插件需要使用官方的插件安裝命令,隨後重啓對應的 profile。

  1. 執行安裝命令:
    dsh plugin --profile web add github:henrytian1998/dsh-doctor
  1. 安裝完成後,重啓 profile(例如 dsh --profile web)。
  2. 驗證插件是否正確加載:
    dsh --profile web --dump-config
在輸出的配置中,必須包含 `id: doctor` 和 `name: dsh-doctor` 兩行。如果缺少,說明 manifest 解析失敗。
  1. 檢查 Host 啓動日誌,應包含 doctor loaded 字樣。

核心功能

該插件在 v0.1 版本中主要檢查以下內容:

  • 環境與版本:讀取 DSH_HOME、當前 profile 名稱和 bundles 配置。檢查 Node.js 版本(要求 ^22.19.0 || >=24.0.0)以及 dsh 版本。
  • 端口檢查:默認檢查端口 3080,或通過 --port 參數指定的端口。它會列出當前正在監聽的進程,但不會將當前進程樹標記爲錯誤。
  • 殘留進程:在 Windows 環境下,檢查殘留的 node 或 dsh 進程。它會標記可能屬於該 profile 的進程,但不會終止任何進程。
  • 過大 Session:檢查 $DSH_HOME/sessions/**/*.jsonl 和 *.jsonl.zstd 文件。默認閾值爲 50 MiB,僅報告文件路徑和大小,不會刪除文件或打開事件流。

使用方法

安裝並重啓 profile 後,在 DSH 的 UI 界面中運行命令 /doctor。

生成的報告會保存到以下位置:
* $DSH_HOME/logs/doctor-<timestamp>.md
* $DSH_HOME/logs/doctor-<timestamp>.json(包含 schema: dsh-doctor/v1)

參考文檔中的 docs/sample-report.md 可以瞭解報告的具體格式。將 Markdown 報告粘貼到 GitHub Discussions 時,結論會顯示爲 PASS / WARN / FAIL。

注意事項

  • Bundle 與 Profile:請勿將其視爲一個新的 profile,它是一個 bundle,需要安裝到現有 profile 中。
  • 權限與範圍:該插件以當前 dsh 進程的權限運行。目前不檢查 Desktop shell / Electron / Wails / Tauri 等框架,也不編輯官方 packages/client/* 目錄。
  • 安全機制:v0.1 版本不會刪除文件,也不會打開事件流。
  • 版本依賴:安裝後必須重啓 profile 才能生效。

鏈接

  • GitHub 倉庫:https://github.com/henrytian1998/dsh-doctor
  • 社區目錄:https://www.skillhub.cn/plugins/henrytian1998/dsh-doctor
羽毛球分组比赛记分
小程序二维码

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

小夜