DeepSeek Harness 插件

dsh-test-assistant

DSH 测试助手插件:自动生成测试、运行测试套件、分析失败原因并修复,支持 Jest/Vitest/pytest。(英文原文)

跳到安装方式

来源信息

GitHub 仓库
WorldPea/dsh-test-assistant
最近更新
2026年8月20日
分类
插件开发工具
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/WorldPea/dsh-test-assistant
插件名:dsh-test-assistant
作者:WorldPea

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-test-assistant

运行在 DeepSeek Harness 中的端到端 QA 自动化插件。它以当前 Harness 会话工作区为边界,编排 Java、Python、前端项目测试、服务生命周期、Playwright 页面操作、HTTP API、只读 MySQL 和服务日志,并输出覆盖率、通过率、失败证据和待修复问题。

安装

git clone https://github.com/WorldPea/dsh-test-assistant.git
cd dsh-test-assistant
pnpm install
pnpm build
dsh plugin --profile web add link:$(pwd)

重启 dsh web 后,在会话中使用 qa_discoverqa_validateqa_runqa_report,或者从“端到端 QA”页签复制任务看板 Prompt。

能力

  • Java:Maven/Gradle、Spring Boot 服务、JaCoCo 报告。
  • Python:pytest、可配置 Web 服务、coverage.py 报告。
  • 前端:Vitest/Jest、dev server、Playwright Chrome 页面操作。
  • 跨层验证:页面登录后复用 Cookie 调 API,再查只读 DB 和服务日志。
  • 报告:需求/用例/步骤覆盖率、各项目代码覆盖率、用例通过率、截图和问题清单。
  • 任务看板:生成标准 Prompt,可绑定工作区、权限并通过 cron 定时执行。

工作区配置

优先在 Harness 会话的“端到端 QA”页签使用工作台向导。工作台会:

1. 自动识别 Java Maven/Gradle、Python 和前端子项目。 2. 引导配置页面/API 地址、登录选择器、DB 与日志环境变量引用。 3. 自动生成、校验并原子保存配置;覆盖旧配置时保留 .bak。 4. 展示测试用例,直接执行只读测试并查看报告。

工作台最终仍在被测项目维护同一份事实配置:

.dsh/qa.e2e.json

可从 [examples/qa.e2e.example.json](examples/qa.e2e.example.json) 开始。完整设计见 [docs/e2e-qa-assistant-design.md](docs/e2e-qa-assistant-design.md)。

工作台 Host API 只接受 loopback 请求,并使用当前会话 sessionId 在 Host 端解析工作区;浏览器不能传入任意本机路径。

项目发现口径

工作台不会展示工作区的所有目录。它默认向下扫描 3 层,只识别含 pom.xmlbuild.gradle*、Python 项目标志或 package.json 的技术项目。界面按应用分组:Maven/Gradle 聚合项目显示为一张顶层卡片,同类型子模块折叠在卡片内;独立前端、Python 项目保留为单独卡片。默认选择顶层应用,只有需要单独运行某个子模块时才展开勾选。

敏感值只使用环境变量:

{
  "value": "${env:QA_PASSWORD}"
}

报告默认写入 .dsh/qa-runs/<run-id>/。建议在业务仓库 .gitignore 中忽略 .dsh/qa-runs/

Harness 工具

工具用途
qa_discover识别 Java/Python/前端项目和配置。
qa_validate只读校验配置和环境变量。
qa_run执行端到端流程并生成报告。
qa_report读取最近一次或指定运行报告。
qa_task_template生成任务看板标准 Prompt。

原有 test_runtest_gentest_fix 保留,并改为使用调用会话的工作区。

页面操作

ui 步骤支持:

  • goto
  • fill
  • click
  • press
  • waitFor
  • assertText
  • assertUrl
  • screenshot

环境 browser.setup 可完成一次登录;后续 UI 步骤共享 BrowserContext。API 步骤设置 useBrowserSession: true 后会复用登录 Cookie。

验证码、短信、人脸和企业 SSO 二次确认不会被绕过,应当作为人工接管点或使用测试环境专用认证方案。

任务看板

在任务看板中新建任务并选择被测工作区。可以先在会话中调用:

qa_task_template

将返回的 Prompt 填入任务。任务看板负责独立会话和 cron 调度;测试助手负责结构化执行与报告。任务卡“已完成”只说明 Harness 会话正常结束,测试事实以 qa_run.status 为准。

安全边界

  • write 用例要求 confirmWrite=true
  • destructive 用例还要求配置 allowDestructive=trueconfirmDestructive=true
  • MySQL 适配器只接受 SELECT/WITH/SHOW/DESCRIBE/EXPLAIN,使用参数化查询并设置只读事务。
  • 服务和测试命令使用参数数组与 shell:false
  • 环境变量中的密码、Token、Secret、Key 会在报告中脱敏。
  • 插件不会自动创建外部缺陷单、修改公司系统或绕过登录安全措施。

开发验证

npm run typecheck
npm test

自动化测试包含 Java/Python/前端探测、数据库只读拦截,以及一个真实 Chrome 登录页面的完整本地 E2E 闭环。