Touchstone: DeepSeek Harness 代理驱动的自动化测试平台

前言

DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”,它允许通过扩展来定义智能体的行为。在实际的 AI 测试开发中,往往需要管理长期的智能体会话、维护测试用例库以及追踪 Bug。DSH 本身提供的是原子化的执行能力,而如何编排多轮次的探索、回归与修复流程,是很多开发者面临的挑战。

Touchstone 是一个专为 DeepSeek Harness 设计的插件。它将 DSH 从单次命令行工具转变为一个长期运行的自动化测试工作流平台。该插件旨在提供结构化的测试用例管理、Bug 报告生成、以及可视化的开发板视图,帮助开发者在本地环境中完成从探索代码到修复验证的完整闭环。

核心功能

Touchstone 提供了一套完整的测试生命周期管理机制,主要包含以下能力:

  • Markdown 案例库:测试用例以 Markdown 格式存储,支持人类阅读和编辑。每个案例包含案例文件和状态文件,目录索引 (INDEX.md) 便于导航。
  • Bug 报告作为一等公民:测试失败会被结构化为 Bug 报告(包含严重性、复现步骤、日志证据等),并直接存入 bug_report/ 目录,可与后续的修复或用例修订任务关联。
  • 统一的项目级串行队列:同一项目下,任务、看板卡片和消息共享同一个串行槽位,确保同一时间只有一个智能体会话对代码仓库进行操作,避免冲突。
  • 开发板:提供 Kanban 视图,展示任务状态、队列位置和会话信息。卡片可以在独立的 git worktree 中运行,保证探索性工作不影响主代码检出。
  • 六种任务类型:覆盖完整的 QA 循环,包括探索、回归、压力、修复、重测和用例修订。
  • 内置压力测试:支持生成负载场景和驱动脚本,由平台自动执行多轮压测,并输出 Markdown 或 JSON 报告。
  • 飞书/即飞通知:支持通过飞书卡片接收推送通知,并可双向回复。
  • 语义搜索:基于 RAG(检索增强生成)技术,对案例库进行语义检索。

前置条件

在启用 Touchstone 之前,需要满足以下环境要求:

  • Node.js:22.19.0 或 24.0.0 及以上版本。这是 DSH 主机和插件模式后端(默认)的最低要求。
  • Python:3.12.0 及以上版本。用于独立模式 (./touchstone.sh start) 或插件模式下的 Python 后端。
  • DeepSeek Harness:已安装并运行。

安装与启用

Touchstone 的安装流程建议参考其官方 GitHub 仓库。由于具体安装命令在已核实事实中未提供,请通过以下链接获取最新安装说明:

https://github.com/gavinc-cn/touchstone-dsh

安装完成后,在 DSH 的配置中加载该插件即可使用。插件支持两种后端模式:默认的 Node.js 后端和 Python 后端(作为回退选项)。

典型用法

Touchstone 的工作流通常分为以下几个步骤:

  1. 注册项目:
    在 Touchstone 中定义一个项目,需要指定源码目录、工作目录(存放案例和报告)、环境标签以及指导智能体遵循的规则。

  2. 创建任务:
    指定任务类型(例如“探索”或“回归”)和结束阶段(例如“报告”)。系统会将任务加入对应项目的串行队列。

  3. 执行 Rounds:
    智能体会以常驻会话的形式运行。每一轮 (Round) 都会基于上下文执行任务,直到达到结束阶段或满足停止条件。日志会实时输出。

  4. 管理工件:
    执行完成后,新的测试用例会保存在工作目录的 free_style/ 下,Bug 报告保存在 bug_report/ 下。这些文件是可读写的 Markdown 文件,可以直接用于代码审查或后续修复。

  5. 后续任务:
    一个 Bug 报告可以触发“修复”任务,修复任务完成代码变更后可触发“重测”任务,或者将失败的用例标记为“用例修订”。

注意事项

  • 本地运行:Touchstone 在本地运行,使用 SQLite 数据库和文件系统作为存储。除非 DSH 主机主动发起模型调用,否则数据不会离开本地机器。
  • 非一次性 CLI:它不是用于一次性执行测试套件的命令行工具,而是设计用于管理多轮智能体交互的持久化平台。
  • 权限与安全:插件以当前 DSH 进程的权限运行,请确保在安装前检查源码与许可证。
  • 环境依赖:如果使用默认的 Node.js 后端,必须确保 Node.js 版本满足 22.19+ 或 24+ 的要求。

总结

Touchstone 为 DeepSeek Harness 提供了一套完整的测试工作流管理能力。它通过结构化的案例库、可视化的开发板和统一的队列机制,解决了 AI 测试中上下文管理、状态追踪和协作的难题。对于希望在本地构建自动化测试闭环的开发者来说,这是一个实用的插件选择。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜