dsh-lifecycle-inspector: DeepSeek Harness 插件生命週期診斷工具

前言

DeepSeek Harness (DSH) 採用 “Effects” 機制管理插件生命週期,允許插件隨其所有者一同銷燬。這種機制在處理資源清理時非常強大,但在插件加載失敗、處於掛起狀態或卸載緩慢時,通過原始日誌排查具體問題非常困難。

dsh-lifecycle-inspector 是一個獨立構建的社區插件,旨在將 DSH 內部的生命週期狀態轉化爲操作員友好的儀表盤和簡潔的診斷命令,幫助開發者快速定位問題。

這是什麼

dsh-lifecycle-inspector 是一個 DeepSeek Harness 插件,用於可視化 Cordis Effects 的生命週期診斷、檢查插件健康狀態以及驗證 Teardown 清理過程。

  • 維護者: Rex16200513
  • 許可證: MIT License
  • 定位: 獨立社區插件,專門爲 DSH 設計,遵循 DSH 的插件優先架構,通過觀察現有 Cordis 生命週期而非修改 Agent 循環來工作。

核心功能

該插件提供以下能力:

  1. 原生 DSH Web 儀表盤: 在 Settings → Plugins → Lifecycle 中提供健康總覽、搜索、僅顯示問題項的過濾、刷新以及可展開的 Effect 詳情。
  2. 可讀的生命週期報告: 將底層的 Effect 標籤歸類爲服務、事件監聽器、命令、工具、子插件和清理敏感資源。
  3. Fiber 健康信號: 高亮顯示失敗的、掛起的和卸載中的插件,並區分活躍、禁用、已銷燬和未掛載的條目。
  4. Teardown 觀察: 記錄最近的 Fiber 轉換,並標記超過可配置閾值的清理操作。
  5. Agent 可診斷性: 暴露只讀的 lifecycle_inspect 工具,同時支持 /lifecycle 命令。
  6. 生命週期安全實現: 插件本身的命令、工具、事件監聽器、HTTP 路由、本地化和 UI 槽位都註冊爲可銷燬的 Effects。
  7. 雙語支持: UI 和文檔支持英語和中文,跟隨 DSH 的當前語言環境。

安裝與啓用

安裝前請確保環境滿足要求:
* DSH Web profile
* Node.js ^22.19.0 || >=24.0.0

使用以下命令安裝:

dsh plugin --profile web add github:Rex16200513/dsh-lifecycle-inspector

安裝完成後,重啓 DSH Web 進程,並在 Settings → Plugins → Lifecycle 中找到該插件。

使用方法

插件提供命令行工具和 Agent 工具兩種方式。

命令行

/lifecycle list
/lifecycle list --verbose
/lifecycle inspect lifecycle-inspector
/lifecycle inspect <plugin-id> --verbose
  • list:提供簡短的健康摘要。
  • inspect:接受 loader 路徑、配置的入口 ID、完整包名或不帶 dsh- 前綴的包名。僅在需要精確 Effect 標籤時添加 --verbose。

Agent 工具

Agent 可以調用只讀的 lifecycle_inspect 工具,該工具接受一個可選的 plugin 參數,用於觀察運行時狀態,不會卸載或修改插件。

配置說明

插件通過 DSH patch 安裝,包含以下默認配置:

- insert:
    - id: lifecycle-inspector
      name: dsh-lifecycle-inspector
      config:
        slowTeardownMs: 2000
        historyLimit: 100
  • slowTeardownMs: 控制何時將觀察到的 teardown 報告爲慢速。
  • historyLimit: 限制保留在內存中的 Fiber 轉換歷史記錄數量。

適用範圍與限制

該插件驗證的是 Cordis Effects 樹是否被清理,即 Cordis 完成了它管理的每個註冊銷燬器的清理。它不能證明插件沒有創建 DSH 之外的進程、定時器、套接字、觀察者或其他資源。

雖然外部資源探測是自然的功能擴展方向,但它們應保持爲獨立的提供者:核心檢查器應保持只讀,並報告權威的 Cordis 狀態。

結語

dsh-lifecycle-inspector 提供了從內部視角審視 DSH 插件生命週期的能力,適合需要嚴格監控資源清理過程的開發者使用。其文檔和 UI 的雙語特性降低了使用門檻。

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

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

小夜