在 DSH 中進行代碼修改時,AI 代理往往需要在完成前獲得一個明確的執行信號。Test Pilot 插件旨在解決這個問題。它通過觀察成功的文件寫入,並在後臺運行相關測試,將測試結果反饋給代理,從而在同一個 DSH 輪次中提供自動化的邊界測試反饋。
插件簡介¶
該插件由 GooDAnDReaREADY 維護,核心價值在於實現“自動邊界測試運行,帶有持久化的最近結果”。它是一個驗證器工具,而非自主修復代理。
核心功能¶
-
自動觸發與運行
插件觀察成功的文件寫入結果,等待兩秒的靜默期以合併編輯,隨後在後臺通過 DSH 子進程服務運行測試。如果在同一輪次中可能完成,它會返回已完成的測試結果;如果輪次結束,它會刷新待處理的工作作爲安全網。只讀輪次不會啓動測試進程。 -
測試匹配與執行
支持多種測試運行器和命令:pytest、Jest、Vitest、Go、Rust/Cargo、TAP 和 TypeScript 編譯器命令。- 當映射完整時,插件會運行與更改源文件約定匹配的測試。
- 當映射不完整時,它會運行配置的完整套件並報告原因。
- 插件拒絕 shell 操作符和命令替換,以確保安全執行。
-
管理與工具
提供兩個工具:test_pilot_status:返回活動運行計數和最新結果。可選參數可限制包含最多 20 個最近的邊界摘要。test_pilot_run:在當前工作區或指定的cwd中啓動配置的完整命令。
-
結果持久化
測試結果保留 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 面板,以編輯自動運行和配置。
典型用法¶
- 在設置中展開 Test Pilot,編輯自動運行配置和運行器默認值。
- 在開發過程中,使用
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