前言¶
寫 DeepSeek Harness(DSH)插件時,一個常見的困擾是:文檔之外,harness 內部到底 emit 了哪些事件、waterfall 分發鏈路是怎麼走的,只能翻源碼或者在自己的代碼裏到處插日誌。日誌散落在各處,看過就丟,也很難回答「這類事件今天觸發了多少次」這種問題。
下面介紹的 dsh-event-auditor 就是針對這個問題:它把流經 harness 的事件收集起來,按類型和分發模式計數,並提供一個 Web 面板供你隨時查看。
這是什麼¶
dsh-event-auditor 是一個 DSH 插件,定位是「Harness 事件流審計面板」:觀察事件類型、分發模式、計數與最近事件,幫助插件作者理解 harness 內部發生了什麼。作者是 qing3a,許可證爲 MIT。
README 註明其狀態爲:已在本地 DSH 源碼環境驗證運行(2026-08-14),並以 mock-llm 方案完成了 waterfall 運行時捕獲實證,74 個事件 / 12 個 waterfall 全部捕獲。
它監聽了什麼¶
插件監聽兩類事件來源:
1、22 個 harness emit 事件,覆蓋 agent 生命週期、會話、工具、subagent、配置等環節;
2、10 個 waterfall 事件,包括 tools/execute、approval/request、fs/write-intent、llm/stream 等。插件以觀察性透傳的方式調用 next(),不影響原有分發鏈路。
完整的事件清單與聲明位置,見倉庫內生成的文檔 docs/event-producer-consumer.zh.md。
計數、緩衝與面板¶
收集到的事件按下述方式組織:
- 按事件名與分發模式分別計數;
- 環形緩衝保留最近 500 條;
- 提供一個
/audit面板,是純靜態頁; - 同時暴露
/api/audit/eventsJSON 接口,支持?since=增量查詢,方便自己寫腳本拉取。
也就是說,面板之外還有一條程序化取數的路徑。如果你想把自己觀察到的數據接入別的工具,直接消費這個 JSON 接口即可。
分組開關與 settings 熱改¶
事件按 agent / session / tools / subagent / config / waterfall 六個分組管理。其中 config 分組默認關閉,其餘分組默認開啓。
開關通過 settings 面板熱改實現:插件使用 installSettingsSection 註冊配置項,即時修改分組開關後立即生效,不需要重啓 harness。
headless 模式¶
如果環境裏沒有可交互的面板,可以通過環境變量 DSH_EVENT_AUDIT_DUMP 觸發 dump,把收集到的事件直接輸出。
安裝與卸載¶
生產安裝用 npm 包名,先添加插件,再以對應 profile 啓動 DSH:
dsh plugin --profile <profile> add @qing3a/dsh-event-auditor
dsh --profile <profile>
# 打開 http://localhost:<port>/audit
卸載命令如下:
dsh plugin --profile <profile> remove @qing3a/dsh-event-auditor
依賴方面,插件在 peerDependencies 中聲明瞭 @deepseek-ai/dsh-host-webserver,dependencies 中包含 @deepseek-ai/schemastery ^3.0.0。
開發模式¶
如果你想改代碼或者直接跑倉庫源碼,先做克隆和構建,再以 link 方式安裝進本地 DSH 目錄。需要 Node >= 22 和 pnpm:
git clone https://github.com/qing3a/dsh-event-auditor.git
cd dsh-event-auditor && pnpm install && pnpm build
cd <path-to-deepseek-harness>
dsh plugin --profile <profile> add link:$(pwd)/dsh-event-auditor
經過上面的步驟,插件會以本地鏈接的形式掛到當前 DSH 環境裏,改完源碼重新構建即可看到效果。
適用場景與注意¶
這個插件適合兩類人:
1、DSH 插件作者,想確認自己監聽的事件、waterfall 鏈路是否按預期觸發;
2、在做 headless 或自動化排障的開發者,需要通過 DSH_EVENT_AUDIT_DUMP 和 /api/audit/events 接口拿到事件數據。
幾點注意:
- config 分組默認關閉,如果你關心配置類事件,需要在 settings 面板裏手動打開;
- 環形緩衝只保留最近 500 條,長跑場景下如果要留存完整歷史,應通過 JSON 接口增量拉取;
- 插件以當前 dsh 進程的權限運行,安裝前建議先檢查源碼與許可證。本插件爲 MIT 許可,源碼在 GitHub 上可查。
小結¶
dsh-event-auditor 做的事情很剋制:把 harness 內部的事件流攤開給你看——類型、分發模式、計數、最近 500 條,外加面板熱改和 headless dump。對需要理解 DSH 內部機制的插件作者來說,它省掉的是到處插日誌和翻源碼的時間。
插件目錄頁:https://www.skillhub.cn/plugins/qing3a/dsh-event-auditor(社區目錄爲獨立站點,與 DeepSeek、幻方無官方從屬關係)。
源碼倉庫:https://github.com/qing3a/dsh-event-auditor