DeepSeek Harness(DSH)在生成代碼的同時,c8 可以統計覆蓋率,但往往無法區分哪部分代碼是 AI 產生的。dsh-code-coverage 解析 DSH session 日誌,將 AI 產生的文件與 c8 覆蓋率數據疊加,解決歸因問題。
插件簡介¶
這是 DeepSeek Harness 生態的一個工作流插件,由 SleepEggTart 維護,採用 MIT 許可證。它通過解析 DSH session 日誌,識別 AI 創建或修改過的文件(支持 write、edit、str_replace_editor),併疊加 c8 的覆蓋率數據,產出對比報告。
核心功能¶
- 文件歸因:解析 DSH session 日誌,識別 AI 修改過的文件。
- 覆蓋率疊加:使用 c8 收集測試覆蓋率。
- 對比分析:產出「AI 代碼 vs 人工代碼」的行數與覆蓋率對比。
- 風險清單:生成未測 AI 文件的高危風險清單。
- 信任分:基於覆蓋率計算 0-100 分的信任分。
- 閉環工作流:支持生成補測試計劃與驗證補測效果。
安裝與啓用¶
前提條件:Node.js ≥ 18,本地已安裝 DeepSeek Harness,項目中存在 package.json。
安裝命令:
dsh plugin --profile web add dsh-code-coverage
使用方式¶
安裝爲 DSH 插件後,Agent 可直接在會話中調用以下工具:
code_coverage_check:分析 AI 代碼覆蓋率,產出信任分卡片。code_coverage_fix:定位高危未測 AI 文件,生成補測試計劃。code_coverage_verify:與上次存檔對比,驗證補測效果。
作爲 CLI 獨立使用時,支持以下命令:
# 生成 HTML 報告
dsh-code-coverage --html report.html
# 生成補測計劃(顯示 Top 3)
dsh-code-coverage fix --top 3
# 驗證補測效果
dsh-code-coverage verify
注意事項¶
- 語言限制:僅支持 JS/TS。
- Shell 命令解析:通過 Shell 命令重定向(如
>)寫文件的操作暫不解析。 - 歸因粒度:當前爲文件級歸因,非行級(行級歸因計劃在 v0.3 實現)。
- Vitest 配置:vitest 3 默認
pool=forks會屏蔽覆蓋率,需使用--pool=threads。 - 命令參數:測試命令按空白字符拆分,不支持帶引號的複雜命令。
- 信任分含義:信任分高僅代表 AI 生成的文件有測試,不代表測試質量高。
總結¶
該工具的核心在於「歸因」,幫助開發者量化 AI 代碼的測試保護情況。
- GitHub:https://github.com/SleepEggTart/dsh-code-coverage
- 生態目錄:https://www.skillhub.cn/plugins/SleepEggTart/dsh-code-coverage