前言¶
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 的工作流通常分爲以下幾個步驟:
-
註冊項目:
在 Touchstone 中定義一個項目,需要指定源碼目錄、工作目錄(存放案例和報告)、環境標籤以及指導智能體遵循的規則。 -
創建任務:
指定任務類型(例如“探索”或“迴歸”)和結束階段(例如“報告”)。系統會將任務加入對應項目的串行隊列。 -
執行 Rounds:
智能體會以常駐會話的形式運行。每一輪 (Round) 都會基於上下文執行任務,直到達到結束階段或滿足停止條件。日誌會實時輸出。 -
管理工件:
執行完成後,新的測試用例會保存在工作目錄的free_style/下,Bug 報告保存在bug_report/下。這些文件是可讀寫的 Markdown 文件,可以直接用於代碼審查或後續修復。 -
後續任務:
一個 Bug 報告可以觸發“修復”任務,修復任務完成代碼變更後可觸發“重測”任務,或者將失敗的用例標記爲“用例修訂”。
注意事項¶
- 本地運行:Touchstone 在本地運行,使用 SQLite 數據庫和文件系統作爲存儲。除非 DSH 主機主動發起模型調用,否則數據不會離開本地機器。
- 非一次性 CLI:它不是用於一次性執行測試套件的命令行工具,而是設計用於管理多輪智能體交互的持久化平臺。
- 權限與安全:插件以當前 DSH 進程的權限運行,請確保在安裝前檢查源碼與許可證。
- 環境依賴:如果使用默認的 Node.js 後端,必須確保 Node.js 版本滿足 22.19+ 或 24+ 的要求。
總結¶
Touchstone 爲 DeepSeek Harness 提供了一套完整的測試工作流管理能力。它通過結構化的案例庫、可視化的開發板和統一的隊列機制,解決了 AI 測試中上下文管理、狀態追蹤和協作的難題。對於希望在本地構建自動化測試閉環的開發者來說,這是一個實用的插件選擇。