前言¶
DeepSeek Harness (DSH) 採用插件化架構,通過擴展點來增強功能。在開發智能體或調試工作流時,開發者通常需要關注工具調用的耗時分佈、錯誤類型以及整體的成功率。
dsh-local-diagnostics 是一個專爲 DSH 設計的本地內存診斷插件。它通過 Harness 已公開的 Cordis 擴展點進行觀察,無需修改 Agent Loop 即可收集運行狀態。相比需要採集大量提示詞和中間狀態的通用日誌方案,該插件專注於性能指標和結構化錯誤碼,且嚴格遵循隱私優先原則。
插件定位¶
- 名稱:dsh-local-diagnostics
- 維護者:fengyufengzi
- 類別:admin-security
- 許可證:MIT
- 核心價值:隱私優先的內存診斷,用於觀測 DeepSeek Harness 的運行時狀態。
核心功能¶
插件通過以下擴展點收集數據,不寫入磁盤,也不發送網絡請求:
- 性能測量:在
tools/execute階段測量 dispatch 耗時,並始終調用next(),確保診斷過程不影響主流程執行。 - 狀態統計:在
tools/result階段統計最終的成功與失敗情況,以及結構化錯誤碼。 - 事件監控:在
session/event階段僅統計事件類型。 - 錯誤分類:在
agent/error階段僅統計錯誤類名。 - 報告生成:通過
diagnostics_report接口返回當前 Session 的脫敏聚合報告。
隱私保證¶
插件在設計上排除了敏感信息的採集,確保調試過程不泄露數據:
- 不採集:提示詞、消息、工具參數、工具輸出、錯誤消息、Session ID、文件路徑或憑證。
環境與安裝¶
安裝前請確保環境滿足以下要求:
- Node.js
^22.19.0 || >=24.0.0 - pnpm
11.7.0 - DeepSeek Harness
0.1.0-rc.6系列
安裝步驟如下:
- 編譯並安裝插件到 DSH profile:
corepack pnpm run build
npx @deepseek-ai/dsh plugin --profile web add .
- 配置插件(在 Harness 配置文件中添加):
- insert:
- id: local-diagnostics
name: dsh-local-diagnostics
config:
maxDistinctValues: 128
典型用法¶
- 觸發報告:在對話中要求 Agent 調用
diagnostics_report,即可在控制台或日誌中查看脫敏後的聚合診斷信息。 - 移除插件:如需卸載,執行以下命令:
npx @deepseek-ai/dsh plugin --profile web remove dsh-local-diagnostics
注意事項¶
- 數據生命週期:統計數據僅覆蓋插件本次加載之後的進程生命週期。重啓或插件熱重載都會清空統計。
- 測量範圍:
timing指標僅包含 dispatch 階段耗時,不包含審批和結果渲染階段。 - 當前限制:第一版沒有 UI 界面、文件導出功能、OpenTelemetry 集成或跨進程聚合能力。
- API 穩定性:Harness 尚處於開發者預覽階段,插件 API 可能發生破壞性變化,建議關注源碼更新。
總結¶
dsh-local-diagnostics 提供了一種輕量級、無網絡交互的調試手段,適合在本地開發環境中快速排查工具調用性能和錯誤類型。開發者可以在不泄露敏感業務數據的前提下,獲取結構化的運行時反饋。更多詳情可參考 GitHub 倉庫。