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