前言¶
DeepSeek Harness(DSH)通過插件系統擴展功能。在調試或使用過程中,環境配置、端口占用、殘留進程以及過大的 session 常常導致問題。dsh-doctor 是一個診斷插件,它將 DSH_HOME、進程狀態、端口占用、版本信息以及過大 session 的檢查結果收集成一份可複製的 Markdown 報告。它不替代 Desktop 或 TUI 界面。
插件概況¶
- 名稱:dsh-doctor
- 維護者:henrytian1998
- 類別:客戶端
- 許可證:MIT
- 定位:這是一個 bundle,不是 profile。它安裝到現有的
web/tui/ 自定義 profile 中。
安裝與驗證¶
安裝插件需要使用官方的插件安裝命令,隨後重啓對應的 profile。
- 執行安裝命令:
dsh plugin --profile web add github:henrytian1998/dsh-doctor
- 安裝完成後,重啓 profile(例如
dsh --profile web)。 - 驗證插件是否正確加載:
dsh --profile web --dump-config
在輸出的配置中,必須包含 `id: doctor` 和 `name: dsh-doctor` 兩行。如果缺少,說明 manifest 解析失敗。
- 檢查 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