前言¶
在 DSH 生态中,”代码已写完”与”可发布”是两个不同的概念。大多数项目在交付时面临三个核心问题:不知道该测什么(盲点),没有验证记录(结论易丢失),以及无法结构化地协商修复范围(修复顺序不清)。QualityForge 旨在将 QA 流程转化为一个可复现的流水线:从扫描、生成清单、执行检查,到生成可勾选的报告,最后回到项目内部进行修复和复测。
什么是 QualityForge¶
QualityForge 是一个企业级的 DeepSeek Harness QA 插件。它通过系统化的端到端测试,提供基于 P0–P3 严重等级的可操作报告。该插件维护者 lpeixin 提供了包含 45 个领域、290 种方法、1363 个用例的企业级测试方法库。
核心能力¶
QualityForge 的核心价值在于将验证过程标准化、结构化。
- 企业级测试方法库:涵盖 45 个领域(如构建依赖、静态质量、单元测试、集成契约、API 层、UI/无障碍、E2E 验收、数据、性能、安全合规、可靠性、可观测性等)。
- 四级测试深度:支持
smoke(冒烟)、standard(标准)、deep(深度)、exhaustive(全面)四种深度,分别对应 331、984、1295、1363 个检查项。 - 项目类型感知:自动识别项目类型(库、CLI、服务、Web、桌面、移动、插件、数据、ML、Monorepo),并跳过不适用的检查项。跳过的项会记录原因,绝不计入通过。
- 证据优先:侦察结论仅来源于磁盘证据,每个缺陷都需要证据、复现步骤、文件和修复建议。
- 自动化执行与回写:内置 11 种预设命令(build、typecheck、lint、format、test、coverage、e2e、依赖审计、密钥扫描、install、outdated)。结果会精确回写到具体的测试项上。如果缺少工具,会被跳过,不会被视为失败。
- 可勾选报告与回读:生成 Markdown + JSON 报告,报告中的每一项都有复选框。通过
qf_update sync=true将勾选状态(WONTFIX / DEFER / NA)写回结构化数据。 - 修复范围协商:
qf_fixplan能够构建修复波次(Fix Waves)和交接单,明确本轮修复哪些项。 - 安全边界:侦察阶段只读不写;执行阶段仅运行白名单预设命令;无运行时依赖。
安装与启用¶
在 DSH 中添加该插件:
dsh plugin --profile <profile> add dsh-qualityforge
安装后重启 DSH 会话,使模块生效。如果在会话中直接安装,需要 danger-full-access 权限。安装后可通过以下命令验证配置:
dsh --profile <profile> --dump-config | grep -A3 qualityforge
典型用法¶
QualityForge 提供了一套标准的工作流命令,用于完成从扫描到报告的全过程。
qf_scan:进行侦察。分析栈、项目类型、可运行命令,确认工程化缺口。qf_plan:生成检查清单。默认根据标准深度生成,并按适用性过滤。qf_exec:执行检查。运行构建、类型检查、Lint、测试、覆盖率、依赖审计、密钥扫描等命令。qf_report:渲染报告。生成 Markdown 和 JSON 格式的报告,包含判决结果和修复波次。qf_update sync=true:回写状态。开发者勾选报告中的项后,同步状态回结构化数据。qf_fixplan:生成修复方案。基于当前状态生成修复波次和交接单。
输出与证据¶
所有中间产物和报告均存储在审计项目内部的 .qualityforge/ 目录下,而非插件内部:
<project>/.qualityforge/
├── audit.json 结构化数据(单一事实来源)
├── QUALITYFORGE-REPORT.md 可勾选的报告
└── report.json 机器可读快照
权限与限制¶
- 语言环境:当前报告和目录均为中文。
- 证据来源:证据仅来源于磁盘。
- 工具缺失处理:如果检测到工具不存在,命令会被跳过,绝不会导致流程失败。
- 安全性:侦察阶段是只读的,执行阶段仅限于白名单内的预设命令,攻击面极小。
总结¶
QualityForge 解决了 “写完代码” 到 “准备发布” 之间的证据鸿沟。它通过结构化的检查清单、可回写的状态机制以及基于证据的修复波次,为团队提供了一个可协商、可验证的 QA 流程。