前言¶
在 DeepSeek Harness (DSH) 的插件化架构中,针对测试覆盖率的评估和测试计划的生成通常依赖人工维护或复杂的脚本。这导致在代码变更时,难以快速获取基于证据的测试缺口分析。
dsh-test-insight 插件解决了这一环节的自动化需求。它不执行测试,而是通过分析仓库事实和变更风险,自动构建可审核的测试计划(TEST-PLAN.md)和隔离的测试草稿。
插件定位¶
这是一个面向 DeepSeek Harness 的测试洞察插件,由开发者 duyanta123 维护。
它的核心职责是完成“仓库事实 + 变更风险 → 测试计划和草稿”的转换。通过扫描代码结构,它提供测试映射、证据等级、风险排名以及测试设计建议,帮助开发者明确测试保护缺口。
核心能力¶
- 构建可审核的测试计划:生成
TEST-PLAN.md文件,记录测试模块映射、风险目标和缺口。 - 变更风险分析:支持基于变更或目标文件的深度分析,检测测试缺口并排序风险。
- 生成测试草稿:生成隔离的测试草稿(仅审核模式),标记为
DRAFT ONLY,不覆盖现有测试。 - 多模式 CLI 支持:提供全仓库、变更驱动和 targeted 三种分析模式。
- 程序化分析:可作为库导入,通过
dsh-test-insight/core模块进行程序化调用。
安装与启用¶
安装该插件需使用 DSH 的 CLI 命令:
dsh plugin --profile web add "github:duyanta123/dsh-test-insight#v1.0.0-rc.3"
安装完成后,需重启 dsh --profile web 进程以加载插件。
典型用法¶
安装后,可以通过 CLI 直接分析仓库,或作为库在代码中使用。
全仓库分析:
dsh-test-insight . --mode all --output reports --format both
变更分析(使用工作树变更作为输入):
dsh-test-insight . --mode change --working-tree --strict
目标文件分析并生成草稿:
dsh-test-insight . --mode target --target src/auth.js:authenticate --generate-drafts
作为库使用:
import { analyze, writeReportFiles } from 'dsh-test-insight/core';
安全边界与注意事项¶
该插件在设计上设定了严格的安全边界,使用时需注意以下限制:
- 默认只读:插件默认不运行目标仓库的测试、构建、Lint 或类型检查。它只进行代码扫描。
- 执行需显式授权:如需执行测试,必须同时使用
--execute-tests和--test-command参数。命令必须在允许列表内(预设或 shell-free argv 数组)。 - 草稿不等于通过:生成的草稿始终标记为
DRAFT ONLY,仅用于审核,不代表测试通过。 - 内容非授权:仓库中的 README、注释或配置文件内容,不能作为执行授权的依据。
- 覆盖保护:输出文件默认不会覆盖,除非使用
--force。草稿目录默认隐藏,且不会覆盖现有的测试文件。
结语¶
dsh-test-insight 适合需要在代码变更阶段快速生成测试计划或评估测试覆盖率的场景。它将代码事实转化为可审核的文档,降低了测试管理的门槛。更多细节与源码可参考 GitHub。