DSH 插件介绍:@goodandready/dsh-test-pilot(自动边界测试运行)

在 DSH 中进行代码修改时,AI 代理往往需要在完成前获得一个明确的执行信号。Test Pilot 插件旨在解决这个问题。它通过观察成功的文件写入,并在后台运行相关测试,将测试结果反馈给代理,从而在同一个 DSH 轮次中提供自动化的边界测试反馈。

插件简介

该插件由 GooDAnDReaREADY 维护,核心价值在于实现“自动边界测试运行,带有持久化的最近结果”。它是一个验证器工具,而非自主修复代理。

核心功能

  1. 自动触发与运行
    插件观察成功的文件写入结果,等待两秒的静默期以合并编辑,随后在后台通过 DSH 子进程服务运行测试。如果在同一轮次中可能完成,它会返回已完成的测试结果;如果轮次结束,它会刷新待处理的工作作为安全网。只读轮次不会启动测试进程。

  2. 测试匹配与执行
    支持多种测试运行器和命令:pytest、Jest、Vitest、Go、Rust/Cargo、TAP 和 TypeScript 编译器命令。

    • 当映射完整时,插件会运行与更改源文件约定匹配的测试。
    • 当映射不完整时,它会运行配置的完整套件并报告原因。
    • 插件拒绝 shell 操作符和命令替换,以确保安全执行。
  3. 管理与工具
    提供两个工具:

    • test_pilot_status:返回活动运行计数和最新结果。可选参数可限制包含最多 20 个最近的边界摘要。
    • test_pilot_run:在当前工作区或指定的 cwd 中启动配置的完整命令。
  4. 结果持久化
    测试结果保留 30 天。终端摘要原子性地存储在 $DSH_HOME/data/dsh-test-pilot/state.json 中。工作区路径使用 SHA-256 键表示,持久化的行仅包含状态、运行器、计数、时间戳/持续时间和失败测试标识符,绝不包含命令或完整输出。最多保留 50 个工作区和 50 条历史记录。

安装与启用

使用官方命令安装插件到 DSH web 配置文件:

dsh plugin --profile web add @goodandready/dsh-test-pilot

安装后,进入设置 -> 插件 -> 插件设置,展开 Test Pilot 面板,以编辑自动运行和配置。

典型用法

  1. 在设置中展开 Test Pilot,编辑自动运行配置和运行器默认值。
  2. 在开发过程中,使用 test_pilot_run 工具手动启动配置的完整命令进行测试。

注意事项

  • 该插件目前是 MVP 阶段,定位为验证器,不具备编辑文件、启动修复轮次、提交/推送、阻止审批或发送遥测的能力。
  • 如果状态损坏或为未知版本,插件将从空状态开始。
  • 并发请求不能在同一可变目录上同时测试,插件会序列化自动和手动运行。

总结

Test Pilot 为 DSH 中的 AI 代码更改提供了必要的可执行信号,通过后台运行和持久化结果来增强开发流程。

  • GitHub: https://github.com/GooDAnDReaDY/dsh-test-pilot
  • 插件目录: https://www.skillhub.cn/plugins/GooDAnDReaDY/dsh-test-pilot
羽毛球分组比赛记分
小程序二维码

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

小夜