deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
naodeng/dsh-qa
dsh-qa · QA Workbench — A local software testing workbench plugin for DeepSeek Harness. Zero-dependency test project & iteration management with AI-assisted requirements, test cases, defects, milestones, reports, kanban and calendar.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:naodeng/dsh-qa
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
dsh-qa 是 DeepSeek Harness 的本地 QA 工作台:在一个项目空间中管理需求、测试用例、风险、执行、证据和交付决策。项目与迭代的对话复用 DSH 原生会话,并自动使用「测试模式」(preset id: qa);业务数据保留在本机,运行时没有生产依赖。
当前发布版本是 v0.7.2;本版在 0.7.1 的工作台可读性基础上,恢复同一项目空间中的历史 DSH 对话展示,补齐 Harness 0.2.0-rc.2 宿主验证和官方 macOS 客户端安装指引。安装 dsh-qa 主 bundle 会同时提供 qa 与 quality-control 两个 preset,无需再执行单独的 preset 安装命令。任意外部提供方的真实执行仍需按具体 provider 单独验收。
兼容性验收:已在 DeepSeek Harness v0.2.0-rc.2 官方 macOS 客户端上验证插件加载、qa 测试模式和已有项目历史 DSH 对话展示通过;同版本带认证宿主 URL 的 qa Host Smoke 已完成 6 passed。该结果覆盖 qa bundle,不替代 quality-control 独立 bundle 的单独验证。
测试首页 → DSH 测试对话 → 项目看板 → 日历排期
01_需求与范围 / 02_测试计划 / 03_测试用例 / 04_测试数据与脚本 / 05_测试执行 / 06_缺陷 / 07_测试报告 / 08_发布与归档 八级工作目录;删除项目记录不会删除文件夹PASS / WARN / BLOCK;可查看交付报告与趋势,仅允许对合格的警告项创建带责任人、原因和过期时间的受控例外流程图描述的是质量控制边界:未形成终态运行或未验证证据时,先进入故障分析与回归并重新执行;门禁 PASS 才进入交付,WARN / BLOCK 需要评审。例外只能作用于可豁免的 WARN 检查项,不能把 BLOCK 变为通过。
trace、风险标签与三态)、缺陷(严重级别基于业务影响,含复现频率与影响范围)、里程碑(自动算截止日,逾期/临期徽章)、日程、测试知识、会话纪要、测试报告(版本链),并支持登记 Playwright/Pytest 等自动化结果;每次登记实时出现在看板卡片与材料流/ 出现即时建议,执行结果直接回显在工作台QA Skill安装 Tab 按「测试类型 / 测试工作流程 / 加强版」展示 Skill;测试类型继续按「需求与策略、用例与评审、功能与兼容、接口与自动化、质量保障专项、缺陷、报告与审查」分组,支持中英文切换、搜索、官网详情和一键安装到 DSHqa 与 quality-control请使用启动 DSH 的同一种方式管理插件:dsh web 是 dsh --profile web 的别名,下面两组命令都操作同一个 web profile。
# 安装 dsh-qa 插件
npx --yes @deepseek-ai/dsh plugin --profile web add dsh-qa
# 更新 dsh-qa 插件
npx --yes @deepseek-ai/dsh plugin --profile web update dsh-qa
# 安装或更新后启动/重启 Web UI
npx --yes @deepseek-ai/dsh web
在已完成 pnpm install 和 pnpm 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-qa 或 add link:/path/to/dsh-qa。安装或更新后重启 Web UI(插件在宿主启动时加载)。GUI 侧边栏会出现「质量工作台」入口;点击可在会话区打开,工具栏可在独立标签页打开。
官方 macOS DSH 客户端独占 desktop profile,不能使用 dsh plugin --profile desktop 通过 CLI 管理。请按以下步骤安装 dsh-qa:
https://github.com/naodeng/dsh-qa 并确认安装;本地开发时也可以选择本地 Git 仓库或路径。⌘Q 完全退出并重新打开 DSH,使插件代码重新加载。如果插件管理器对同一个 Git 地址提示 Already up to date 但没有加载新代码,可先在 Plugins 页面移除旧的 dsh-qa 条目,再重新添加;这不会删除 ~/.dsh/dsh-qa/ 中的项目数据和对话关联。上面的 v0.2.0-rc.2 验收记录即来自该客户端路径。
模型与 API:工作台不维护第二套 API Key 或模型配置。每个测试项目绑定一个以项目文件夹为工作目录的 DSH 原生会话,并自动使用「测试模式」(preset id:
qa)。模型列表、模型切换、技能、命令、工具和权限策略全部来自 DSH;新增服务商或模型请在 DSH 设置中配置。旧项目如果绑定的是空白标准模式会话,工作台会直接切换为测试模式;如果旧会话已有对话,则保留原会话历史,自动新建并改绑一个测试模式会话。
# 需要 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 浏览器半(0.7.1):官方 Panel/Slot 侧边栏与 main keyed slot + Workbench iframe
lib/panel-contract.js Panel/Slot 语义契约(运行时适配层只在 client.js)
cordis.patch.yml profile bundle 补丁(插入插件行)
preset/qa/cordis.patch.yml 声明式 QA preset bundle
preset/quality-control/cordis.patch.yml 声明式 quality-control preset 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。
工作台内置 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 |
插件模式下,质量工作台对话自动使用 DSH 的「测试模式」(preset id: qa)。安装 dsh-qa 主 bundle 时会一并声明 qa 和 quality-control 两个 preset;仅使用独立模式管理本地项目时无需安装。
# 从当前 checkout 将 dsh-qa bundle 安装到 web profile
scripts/install-qa-preset.sh
# 指定 profile 或预览命令
scripts/install-qa-preset.sh --profile web --dry-run
preset 基于 DSH 官方 standard(完整编码能力),persona 定制为 QA 测试助手,并内置 QA 质量原则(用例可执行可判定、覆盖正向/异常/边界、缺陷区分事实与猜测、不编造数据)。Harness 0.1.7+ 从当前 profile 的 bundle 声明发现 id=qa 和 quality-control。
dsh-qa 主 bundle 现在同时声明 qa 与 quality-control。安装或更新 dsh-qa 后重启 DSH,即可直接使用「测试模式」和「研发质量控制模式」,无需再执行单独的 preset 安装命令。
如需单独管理 quality-control bundle(高级用法),请参阅 preset/quality-control/README.md。官方 Electron 客户端的 desktop profile 仍由客户端独占管理,不能使用 CLI 或 npx --profile desktop 修改。
如果之前单独安装过 dsh-qa-quality-control,请先从对应 DSH profile 移除或禁用它,再更新 dsh-qa,避免同一个 preset 被声明两次。
preset/quality-control 仍保留为可独立安装的 bundle,不会修改或复制用户目录中的 preset 文件。
工作台对话复用 DSH 原生技能与命令(输入 / 检索),可直接安装 awesome-qa-skills 的测试技能作为配套能力,并参考 awesome-qa-prompt 的多角色工作流。
在 DSH 侧边栏打开工作台后,进入左侧 QA Skill安装 Tab 即可浏览和安装技能。页面按当前界面语言展示 skills/zh 或 skills/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 许可证,仅限非商业用途;本插件仅提供安装指引与质量原则参考,不复制其内容。
npm cinpm 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;默认端口仍为 8899DSH_WEB_URL='<dsh web 打印的完整 URL,包含 ?token=...>' DSH_HOST_VERSION=dsh-v0.2.0-rc.2 npm run test:host-smoke;当前配置同时保留 dsh-v0.1.7-rc.2、dsh-v0.1.7-rc.1 和 dsh-v0.1.7-alpha.1 兼容入口;版本变量必须与实际 Harness 精确一致;必须使用启动时打印的带 token URL,让 Playwright 先换取浏览器会话 cookie;面板生命周期可单独运行 npm run test:host-smoke -- test/e2e/dsh-panel-lifecycle.spec.js;这些命令不属于标准 npm testnpm publish 后使用 dsh plugin --profile web add dsh-qa 安装;模型与密钥由使用者自己的 DSH 配置管理qa bundle 真实宿主 6 passed;quality-control 运行验证保持未评估1.0 之后的 Obligation、Graph、Adapter、Policy、Multi-Agent 和 Autonomous QE 方向PolyForm Noncommercial License 1.0.0 — 仅限非商业用途,详见 LICENSE。
dsh web 后生效(插件在宿主启动时加载)portqa preset,并可调用其中安装的测试工具和技能CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。