在開發 DeepSeek Harness (DSH) 插件時,遇到啓動失敗或工具調用異常時,通常需要查看日誌堆棧或對話上下文。但直接收集這些數據涉及隱私風險。dsh-plugin-diagnostics 提供了一個隱私受限的診斷服務,專注於記錄插件生命週期和任務狀態,而不收集對話內容或憑證。
插件介紹¶
這是 Kerberos255 開發的一個可選插件,旨在統一收集本地插件的加載、失敗與任務狀態,並以 JSONL 格式按日輪轉寫入日誌。它幫助排查插件啓動問題、工具支持情況以及定時任務變更,同時嚴格限制敏感數據的收集。
核心功能¶
該插件主要記錄以下內容:
- 生命週期事件:收集插件的啓動和停止事件。
- 允許列表事件:記錄特定事件名稱、狀態、持續時間、安全錯誤代碼和工具名稱。
- 顯式錯誤報告:記錄插件通過
pluginDiagnostics.record(...)顯式上報的錯誤。 - 日程變更通知:記錄定時任務的變更通知,但不包含具體內容。
- 隱私保護:不記錄用戶消息、答案、提示、模型響應、工具參數、HTTP 主體、令牌、密鑰值、堆棧跟蹤或用戶身份。
安裝與啓用¶
該插件需要兼容的 DSH 主機才能運行。安裝命令如下:
dsh plugin --profile desktop add github:Kerberos255/dsh-plugin-diagnostics
安裝完成後,需要重啓 DSH 主機以應用插件代碼更改。其他插件在檢測到 pluginDiagnostics 服務存在時會自動啓用,無需單獨的儀表板或設置頁面。
日誌與監控¶
日誌是排查問題的主要依據。日誌目錄結構爲:
DSH_HOME/plugin-diagnostics/logs/<plugin-name>/YYYY-MM-DD.N.l
- 文件限制:每天最多生成 2 個 1MB 大小的文件。
- 保留時間:保留 14 天。
- 降級處理:如果日誌目錄不可寫,日誌條目會被靜默丟棄,不會阻塞用戶任務。
運行 npm test 可以進行便攜式日誌記錄器測試。使用 npm pack --dry-run 可以檢查打包內容。
適用場景與注意事項¶
- 適用場景:適合需要調試插件生命週期、工具支持結果以及任務調度的開發者。
- 隱私提示:日誌僅包含元數據,但可能泄露操作時間。在共享日誌前,請務必檢查
SECURITY.md。 - 兼容性:安裝前應檢查源碼與許可證,確保 DSH 主機版本兼容。
- 獨立性:沒有日誌記錄功能的插件仍然可以正常工作。
總結¶
dsh-plugin-diagnostics 是一個基於 MIT 許可證的輕量級診斷工具。它在不侵入用戶隱私的前提下,爲插件開發者提供了必要的運行狀態和錯誤信息。