前言¶
在 DeepSeek Harness (DSH) 的生态中,”一切皆插件” 是核心设计理念。对于使用智能体进行应用测试的开发者来说,如何让 Agent 真正理解业务流程并留下可追溯的测试证据,是一个典型痛点。zseven-w/dsh-qa 插件正是为此设计,它作为 DSH 的 QA 协调器插件,解决了”如何让 Agent 探索真实应用并转化为可复现测试场景”的问题。
这是什么¶
zseven-w/dsh-qa 是一个 QA 协调器插件,旨在让 Agent 以真实用户的方式探索应用,并在探索过程中捕获证据,最终将验证过的操作转化为确定性的回放场景。
- 维护者: ZSeven-W
- 类别: 工作流
- 许可证: MIT
- 核心价值: Explore real apps, capture evidence, and turn verified actions into repeatable QA scenarios.
核心功能¶
该插件提供了一套从观察到回放的工作流能力:
- 探索模式: Agent 驱动应用,像真实用户一样操作,并基于证据输出发现结果。
- 回放模式: 将探索到的路径导出为声明式的
QaScenario文件(JSON),以确定性方式执行,并生成报告。 - 多驱动支持: 支持 Browser、macOS desktop、iOS 和 Android 四种平台。
- 证据导向: 基于证据的断言,支持无损 JSON 导出。
安装与启用¶
本插件基于 Node.js 运行,且依赖多个独立驱动包。
环境要求¶
- Node.js 24.11.0 或更高版本
安装步骤¶
- 安装核心插件:
npm install @zseven-w/dsh-qa # the orchestrator
- 安装 DeepSeek Harness:
npm install -g @deepseek-ai/dsh@latest
驱动安装¶
安装 @zseven-w/dsh-qa 本身不包含任何驱动。若要使用特定平台的能力,必须单独安装对应的驱动包:
npm install @zseven-w/dsh-browser # 浏览器会话
npm install @zseven-w/dsh-computer # macOS 桌面会话
npm install @zseven-w/dsh-ios # iOS 设备/模拟器会话
npm install @zseven-w/dsh-android # Android 设备/模拟器会话
启用插件¶
- 注意: 仅安装 DSH 并不会自动激活此插件。需要在配置中指定其入口(如
cordis.patch.yml或.mcp.json),并确保在启动会话前已加载该插件。 - 登录状态注入: 若需注入登录态,必须获得所有者(owner)的明确授权。
典型用法¶
工作流¶
按照标准流程执行:观察 -> 行动 -> 断言 -> 证据 -> 导出。
验证安装¶
运行官方提供的浏览器示例脚本来验证安装是否成功(需要 dsh-qa 和 dsh-browser):
node node_modules/@zseven-w/dsh-qa/scripts/run-example.mjs
成功的安装会输出 [example] status: pass。
适用场景与注意¶
适用场景¶
- 需要自动化 QA 工作流的智能体开发。
- 需要基于真实应用操作生成可复现测试脚本的场景。
- 跨平台(Web、桌面、移动端)的自动化测试需求。
关键注意事项¶
- 无虚假通过: 对于未知的操作回执,系统需要新鲜的证据。运行结果为
pass、inconclusive或fail,未覆盖不代表失败。 - 无权限升级: 安全字段和
EXTERNAL_COMMIT_TARGET被拒绝。移动会话必须提供明确的设备 ID,不允许回退到默认设备。 - 回放需要持久目标: 临时引用和模糊选择器不会被导出为持久场景。
- 视觉是辅助: 视觉断言仅用于排查,不决定运行状态。
- 移动端支持有条件:
- iOS: 文本输入需要实时的原生元素绑定原语和标识符。
- Android:
type需要验证真实焦点;fill不可用。
- 证据安全: 结构化报告使用 fail-closed 红头,但截图可能包含隐私内容。请使用合成测试数据。
- macOS 计算机辅助: 必须由用户自行构建(需要 Accessibility + 屏幕录制权限),插件不提供现成的可分发构建版本。
结语¶
zseven-w/dsh-qa 为 DeepSeek Harness 提供了一套严谨的 QA 能力,通过 Agent 驱动的探索和确定性回放,连接了真实应用与自动化测试场景。对于需要构建高质量智能体测试体系的开发者,这是一个值得纳入工具链的插件。