返回目录

dsh-qa

编辑精选维护状态: 活跃

naodeng/dsh-qa

本地软件测试工作台,提供 AI 辅助的需求、用例、缺陷、里程碑、报告与看板管理。

前往 GitHub项目主页
$ dsh plugin add dsh-qa

安装

dsh 没有统一的安装命令——把该插件 README(见下方)中的配置行加入你的 profile/patch 配置,然后重启即可。

了解安装方式

21

星标

3

Fork

JavaScript

语言

NOASSERTION

许可证

2026-08-19

创建于

2026-09-15

最近推送

README

🇨🇳 中文 | 🇬🇧 English

dsh-qa · 质量工作台 image

License: PolyForm Noncommercial 1.0.0 Version Zero Dependencies DSH Plugin DeepSeek Harness Compatibility

dsh-qa 是 DeepSeek Harness 的本地 QA 工作台:在一个项目空间中管理需求、测试用例、风险、执行、证据和交付决策。项目与迭代的对话复用 DSH 原生会话,并自动使用「测试模式」(preset id: qa);业务数据保留在本机,运行时没有生产依赖。

当前实现版本是 v0.4.1,已针对 dsh-v0.1.6-alpha.1 在真实宿主完成 4/4 host smoke。npm 包、Git tag 和 GitHub Release 的发布状态仍分别以对应交付记录为准。

测试首页 → DSH 测试对话 → 项目看板 → 日历排期
image

目录

功能特性

测试项目管理

  • 项目与迭代双形态:顶层对象可选「测试项目」或「迭代」(迭代可挂靠父项目),两者均绑定独立 DSH 会话,筛选栏可分别查看
  • 测试首页与日历排期:在办项目、临期/逾期里程碑、待审批门禁、未关闭缺陷、最近动态同屏呈现;日历支持年/月/日跳转、点击日期新增、按项目登记里程碑或日程并直接删除
  • 实时看板:六列流水线(需求分析 → 用例设计 → 用例评审 → 执行中 → 缺陷回归 → 已发布),拖拽换列,SSE 实时推送,多窗口同步
  • 项目档案工作区:宽屏项目详情集中编辑名称、编号、产品、负责人、摘要和阶段;概览、质量任务、需求、用例、缺陷、里程碑、报告、知识、纪要和门禁 10 个分区,并展示进度、AI 策略、成员、文件目录与阶段时间线
  • 本地项目目录:创建项目时可自动生成 01_需求与范围 / 02_测试计划 / 03_测试用例 / 04_测试数据与脚本 / 05_测试执行 / 06_缺陷 / 07_测试报告 / 08_发布与归档 八级工作目录;删除项目记录不会删除文件夹
  • 门禁治理:需求评审/策略评审/用例评审/报告评审/发布/结项由 AI 提交申请,测试负责人人工审批(对齐 AI 研发质量分析 8 阶段工作流)

研发质量控制工作台(0.2–0.5 质量域,已进入 v0.4.0 基线)

  • 质量任务与来源快照:围绕单个测试目标创建质量任务,服务端采集并校验需求、工作区文件或允许的 Git 修订来源;记录摘要、指纹、验收标准、风险、测试范围和分析决策,避免把客户端提交的路径或内容当作可信输入
  • 测试计划与受控执行:质量任务下维护可评审的测试计划和不可变执行配置版本;只允许基于当前已评审计划、当前配置版本和来源摘要生成预览令牌,再启动最小化环境中的本地受控测试运行
  • 证据、分析与回归:终态运行可归档为带完整性校验的证据包;支持失败分析、人工确认后升级缺陷、同计划运行前后对比,以及可追溯、可排除的确定性回归集
  • 计算型质量门禁:依据执行来源、已验证证据、关键测试结果和风险状态计算 PASS / WARN / BLOCK;可查看交付报告与趋势,仅允许对合格的警告项创建带责任人、原因和过期时间的受控例外
  • 项目详情直达:首页在办项目和项目看板卡片主体可直接进入完整项目详情;首页最多展示 5 个在办项目,全部项目仍可在项目看板查看

质量交付流程参考

dsh-qa 质量交付流程:从可信来源、质量任务和受控执行,经证据与门禁,分流到 PASS 交付或 WARN/BLOCK 评审。

流程图描述的是质量控制边界:未形成终态运行或未验证证据时,先进入故障分析与回归并重新执行;门禁 PASS 才进入交付,WARN / BLOCK 需要评审。例外只能作用于可豁免的 WARN 检查项,不能把 BLOCK 变为通过。

AI 协作能力

  • 可控 AI 模式:每项目可选全流程辅助、按需协作,或完全关闭自动辅助;自动提取与首页提醒也可分别关闭
  • AI 材料上板:AI 从对话自动登记需求(可关联用例与验证目的)、测试用例(含优先级、需求追踪 trace、风险标签与三态)、缺陷(严重级别基于业务影响,含复现频率与影响范围)、里程碑(自动算截止日,逾期/临期徽章)、日程、测试知识、会话纪要、测试报告(版本链),并支持登记 Playwright/Pytest 等自动化结果;每次登记实时出现在看板卡片与材料流
  • DSH 技能与命令:每项目独立绑定 DSH 会话;“技能与命令”面板支持分类、搜索和点击插入,输入 / 出现即时建议,执行结果直接回显在工作台
  • QA Skill 安装页面:左侧 QA Skill安装 Tab 按「测试类型 / 测试工作流程 / 加强版」展示 Skill;测试类型继续按「需求与策略、用例与评审、功能与兼容、接口与自动化、质量保障专项、缺陷、报告与审查」分组,支持中英文切换、搜索、官网详情和一键安装到 DSH
  • DSH 单一对话与模型切换:只使用本项目 DSH 测试模式会话,模型切换器动态读取 DSH 原生模型目录,不存在插件内第二套模型

界面与连接

  • 中英文语言切换:顶栏「中 / EN」按钮一键切换,默认中文,选择在本机浏览器中持久保存;导航、首页、看板、列表、日历、雷达与抽屉/模态框标题均双语化
  • 可调工作区:主导航、项目栏与项目雷达均可拖动边缘改变宽度,可分别收起;双击边缘恢复默认,提供紧凑、标准与专注对话预设,选择在本机浏览器中持久保存
  • 四套 QA 主题:质量仪表、终端、极简与赛博四套完整皮肤;赛博主题可随时触发“BUILD PASSED”场景
  • 逾期里程碑红标、7 日内临期黄标、待批门禁紫标,顶栏实时统计

安装(DSH 插件)

请使用启动 DSH 的同一种方式管理插件:dsh webdsh --profile web 的别名,下面两组命令都操作同一个 web profile。

方式一:通过 npx 启动 DSH

# 安装 dsh-qa 插件
npx @deepseek-ai/dsh plugin --profile web add dsh-qa

# 更新到 npm 的 latest 版本
npx @deepseek-ai/dsh plugin --profile web update dsh-qa

# 安装或更新后启动/重启 Web UI
npx @deepseek-ai/dsh web

方式二:从 DeepSeek Harness 源码仓库启动

在已完成 pnpm installpnpm run build 的 Harness 仓库根目录运行:

# 安装 dsh-qa 插件
pnpm dsh plugin --profile web add dsh-qa

# 更新到 npm 的 latest 版本
pnpm dsh plugin --profile web update dsh-qa

# 安装或更新后启动/重启 Web UI
pnpm dsh web

如需固定到 GitHub 或本地开发副本,可在两种方式的 add dsh-qa 中分别替换为 add github:naodeng/dsh-qaadd link:/path/to/dsh-qa。安装或更新后重启 Web UI(插件在宿主启动时加载)。GUI 侧边栏会出现「质量工作台」入口;点击可在会话区打开,工具栏可在独立标签页打开。

模型与 API:工作台不维护第二套 API Key 或模型配置。每个测试项目绑定一个以项目文件夹为工作目录的 DSH 原生会话,并自动使用「测试模式」(preset id: qa)。模型列表、模型切换、技能、命令、工具和权限策略全部来自 DSH;新增服务商或模型请在 DSH 设置中配置。

旧项目如果绑定的是空白标准模式会话,工作台会直接切换为测试模式;如果旧会话已有对话,则保留原会话历史,自动新建并改绑一个测试模式会话。

npm 安装与更新(独立运行)

# 需要 Node.js 18+
npm install -g dsh-qa
qabench           # → http://127.0.0.1:8899

# 升级到 npm 的 latest 版本后,重新启动工作台
npm update -g dsh-qa
qabench

此方式只启动本地 QA 工作台;如需在 DeepSeek Harness 中使用会话、模型、技能和命令,请按上方「安装(DSH 插件)」步骤安装插件。

快速开始(不装插件体验)

# 需要 Node.js 18+
git clone https://github.com/naodeng/dsh-qa.git
cd dsh-qa
npm start        # → http://127.0.0.1:8899

首次启动会创建一个示例项目和一个示例迭代,包含需求、用例、缺陷、里程碑、报告和待审批门禁,可直接在首页、看板和日历中体验。独立模式可管理本地项目数据;DSH 对话、模型、技能和命令需从 DSH 侧边栏打开插件后使用。

独立运行模式

npm start          # 或双击 start.command
# → http://127.0.0.1:8899 (数据目录:<项目>/data)

独立地址可查看和管理测试项目、看板与日历;DSH 对话、模型、技能和命令必须从 DSH 侧边栏打开插件后使用。

架构

lib/index.js      宿主半(cordis 插件):进程内拉起工作台 + /api/dsh-qa 路由 + 系统提示播报
lib/client.js     浏览器半(v0.4.0):DOM 侧边栏入口 + 会话区 iframe;0.5 计划迁移官方 Panel/Slot API
cordis.patch.yml  profile bundle 补丁(插入插件行)
server/           工作台服务(原生 http + SSE;项目、质量任务、执行、证据与门禁数据)
public/           四视图前端(原生 JS,无构建步骤;相对路径,可挂任意前缀)

路由/api/dsh-qa/info(状态)、/api/dsh-qa/workbench/(同源镜像代理,SSE 透传)。同源 iframe 还通过 DSH 当前的 session/*agentPresets/*skills/*commands/* 接口连接原生会话;全部带 loopback 护栏。

数据目录:插件模式 ~/.dsh/dsh-qa/(项目与本地材料);独立模式 <项目>/data/。DSH 对话由 DSH 自身持久化。工作台与 DSH 都保持监听 127.0.0.1

AI 工具集

工作台内置 23 个 QA 域工具,供 DSH 会话通过函数调用实时登记数据并更新项目与质量任务:

分组 工具
项目管理 project_get project_update member_add project_transition
需求与用例 requirement_add testcase_add testcase_status testcase_link
缺陷与里程碑 defect_add defect_status milestone_add event_add
沉淀与报告 knowledge_save minutes_save report_draft report_draft_save
门禁与导入 gate_request testrun_import
质量任务 qa_quality_task_get qa_quality_analysis_request qa_quality_analysis_save qa_quality_risk_decide qa_quality_test_scope_suggest

测试模式 preset(插件模式)

插件模式下,质量工作台对话自动使用 DSH 的「测试模式」(preset id: qa)。首次使用 DSH 对话前安装该 preset;仅使用独立模式管理本地项目时无需安装。

# 一键安装 qa preset 到 ~/.dsh/.agent-presets/qa
scripts/install-qa-preset.sh
# 或预览:scripts/install-qa-preset.sh --dry-run

preset 基于 DSH 官方 standard(完整编码能力),persona 定制为 QA 测试助手,并内置 QA 质量原则(用例可执行可判定、覆盖正向/异常/边界、缺陷区分事实与猜测、不编造数据)。安装后无需重启,DSH 的 agentPresets/list 即可发现 id=qa

配套 QA 技能库

工作台对话复用 DSH 原生技能与命令(输入 / 检索),可直接安装 awesome-qa-skills 的测试技能作为配套能力,并参考 awesome-qa-prompt 的多角色工作流。

在 DSH 侧边栏打开工作台后,进入左侧 QA Skill安装 Tab 即可浏览和安装技能。页面按当前界面语言展示 skills/zhskills/en,目录卡片的名称、描述、适用场景和详情链接同步自 软件测试技能库,实际安装来源仍是本地 awesome-qa-skills 仓库。

安装页的分类顺序与网站保持一致:测试类型(需求与策略、用例与评审、功能与兼容、接口与自动化、质量保障专项、缺陷、报告与审查)、测试工作流程和加强版。安装目标为 DeepSeek Harness 的 ~/.dsh/skills/;安装完成后重启 dsh web,再在新的 DSH 会话中使用。

# 一键安装当前仓库中的测试类型与测试工作流程技能到 DSH 技能目录
scripts/install-qa-skills.sh                     # 默认中文全部技能
scripts/install-qa-skills.sh --lang en           # 英文技能
scripts/install-qa-skills.sh --skill test-case-writing   # 只装单个技能
scripts/install-qa-skills.sh --src /path/to/awesome-qa-skills   # 自定义仓库路径
scripts/install-qa-skills.sh --dry-run           # 预览不写入

安装后重启 dsh web,在质量工作台对话中输入 / 即可看到技能(如 /test-case-writing/bug-reporting/requirements-analysis/test-strategy/test-reporting)。工作台内置的 QA 系统提示已吸收这些库的质量原则:用例按需求追踪 trace 与风险标签组织、覆盖正向/异常/边界场景;缺陷区分「观察到的事实」与「原因猜测」、严重级别基于业务影响并记录复现频率与影响范围;报告区分已执行事实、未执行范围与证据缺口。

许可证说明:本插件与 awesome-qa-skills / awesome-qa-prompt 均采用 PolyForm Noncommercial 1.0.0 许可证,仅限非商业用途;本插件仅提供安装指引与质量原则参考,不复制其内容。

开发与贡献

  • 环境:Node.js 18+;开发或运行测试前执行 npm ci
  • 运行:npm start 独立启动;npm run dev 监听重启
  • 测试:npm test 运行单元/API 测试(node:test)与 Chromium 端到端测试(Playwright);npm run test:unit / npm run test:e2e 可单独执行
  • 测试端口冲突时:QA_E2E_PORT=8900 npm test;默认端口仍为 8899
  • Harness 宿主冒烟:DSH_WEB_URL='<dsh web 打印的完整 URL,包含 ?token=...>' DSH_HOST_VERSION=dsh-v0.1.6-alpha.1 npm run test:host-smoke;必须使用启动时打印的带 token URL,让 Playwright 先换取浏览器会话 cookie;该命令不属于标准 npm test
  • 发布:npm publish 后使用 dsh plugin --profile web add dsh-qa 安装;模型与密钥由使用者自己的 DSH 配置管理
  • 欢迎提交 Issue 与 PR(Conventional Commits)

路线图文档

许可证

PolyForm Noncommercial License 1.0.0 — 仅限非商业用途,详见 LICENSE

常见问题

  • 侧边栏没有入口:重启 dsh web 后生效(插件在宿主启动时加载)
  • 模型不可用或鉴权失败:在 DSH 设置中检查对应服务商、模型和凭据;工作台不单独保存密钥
  • 看不到技能或命令:确认是从 DSH 侧边栏打开,而不是直接访问 8899 独立地址;首次进入某项目时会自动创建并绑定 DSH 会话
  • 端口冲突:自动顺延 8899→8909;插件行可配置 port
  • 质量门禁显示 BLOCK:这表示运行、证据或风险尚未满足交付规则;先查看交付报告中的检查项,修复问题或仅对可豁免警告创建带有效期的例外
  • 与 DSH 测试模式的关系:测试业务数据仍由本插件保存;每个项目会话自动使用 qa preset,并可调用其中安装的测试工具和技能

DSH Plugins 是独立的 DeepSeek Harness 插件市场,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。