在 DeepSeek Harness (DSH) 的調試流程中,通常需要人工在瀏覽器控制台和服務器日誌之間切換,試圖定位故障。現有的日誌往往包含大量噪音,難以過濾出相關的執行分支。此外,讓智能體從靜態快照推斷問題,通常會導致猜測而非驗證。DSH 的 Debug Mode 插件通過在運行時注入探針並捕獲結構化 JSONL 事件來解決這個問題,使智能體能夠證明失敗分支、執行鍼對性修復並清理診斷。
這是什麼¶
dsh-debug-mode 是一個用於 DeepSeek Harness 的插件,旨在提供 AI 調試的運行時證據。它由 a554878526 維護,旨在通過結構化數據捕獲替代手動日誌收集,使調試循環更加高效。
核心功能¶
- 結構化 JSONL 事件捕獲:將證據作爲 JSONL 流記錄,便於流式處理和 grep。
- 統一證據:捕獲來自瀏覽器、Electron 和 Node.js 環境的事件,無需手動合併日誌。
- 假設聚焦的探針:錄製 1-3 個與特定假設相關的探針,而非大量無關數據。
- 與 /debug 命令集成:與 DSH 原生調試命令協同工作。
- 自動化清理:提供“Fixed”操作來觸發探針和日誌的清理。
- 輔助腳本:提供用於會話生成、事件攝取、日誌總結和查找工具的腳本。
安裝與啓用¶
在安裝前,請確保已安裝 Node.js ^22.19.0 || >=24.0.0、pnpm 以及 DSH 0.1.0-rc.7 或更高版本。
執行以下命令以添加插件:
dsh plugin --profile web add "github:a554878526/dsh-debug-mode#main"
安裝後,請重啓 dsh web 並打開一個新任務以加載插件。
典型用法¶
- 在 DSH 中運行
/debug並描述遇到的 Bug。 - 遵循重現說明並點擊 Continue。這會啓動證據循環。
- 修復驗證後,點擊 Fixed 以清理診斷探針和日誌。
- 要手動生成會話並注入事件,請使用 Python 輔助腳本:
python3 scripts/new_debug_session.py --root .
- 在代碼中,使用
__codexDebug函數注入事件:
__codexDebug({
hypothesisId: "H1",
location: "SessionStore.ts:restore",
message: "cache lookup",
data: { hit: true, entryCount: 3 },
});
適用場景與注意¶
該插件適合需要跨瀏覽器、Electron 和 Node.js 運行時進行結構化調試的場景,特別是對於 UI 狀態、Worker 邊界、異步競態條件和靜態代碼無法證明的 Bug。
注意事項:
* 依賴項:需要 Node.js ^22.19.0 || >=24.0.0、pnpm 和 DSH 0.1.0-rc.7 或更高版本。
* 進程本地狀態:當前的調試狀態是進程本地的。重啓 DSH Host 會結束活動循環。
* 數據隱私:切勿在事件日誌中記錄密鑰、憑據或個人身份信息 (PII)。應進行計數、採樣或截斷。
* 版本兼容性:0.1.1 及更早版本寫入的 debug-mode/state 事件與官方 DSH 構建不兼容。如果遇到此問題,請檢查並修復日誌。
該工具通過提供可驗證的運行時證據閉環,將調試流程從人工日誌搜索轉變爲智能體驅動的修復。要了解更多信息或查看源代碼,請訪問 GitHub 倉庫。