前言¶
DeepSeek Harness(DSH)的核心理念是“一切皆插件”。在智能體開發或代碼編寫流程中,經常需要將代碼修改隔離在獨立的環境中,並在最終交付前進行驗證。dsh-worktree-studio 插件解決了人工管理多個 Git 工作樹與 DSH 會話的痛點,它將 Git 分支、工作樹與 DSH 的 Workspace 和 Session 建立了一一對應的映射關係。
插件定位¶
- 名稱:
palaiologos1453/dsh-worktree-studio - 定位: 專爲 DeepSeek Harness 設計的人工操作 Git 工作樹任務看板
- 維護者: Palaiologos1453
- 許可證: MIT
核心功能¶
本插件主要提供以下能力:
- 隔離分支與工作樹: 創建獨立的分支並關聯對應的工作樹。
- 原生會話集成: 將工作樹檢出爲原生的 DSH Workspace 和 Session。
- 狀態驗證: 記錄驗證結果時,基於確切的 Git 內容狀態生成令牌(SHA-256),確保驗證結果與當前代碼一致。
- 合併預覽: 使用
git merge-tree預覽合併可行性,不改變目標檢出目錄。 - 交付守門: 在合併前重新檢查所有交付條件。
- 非侵入式設計: 不會註冊模型工具、修改系統提示詞或添加工具模式。看板和命令位於模型上下文之外,不會增加提示詞 Token 消耗。
安裝與啓用¶
安裝前請確保滿足環境要求(見下方“注意事項”)。
- 安裝預構建的 npm 包:
dsh plugin --profile web add dsh-worktree-studio
dsh web
- 安裝後,Worktree tasks 按鈕會出現在 Web 側邊欄的底部。
典型用法¶
插件通過 Web 看板和本地命令共同管理任務流程。
命令列表¶
所有命令由本地處理,不會發送給模型:
/worktree-studio list
/worktree-studio create <title>
/worktree-studio inspect <id>
/worktree-studio validate <id> <command...>
/worktree-studio preview <id>
/worktree-studio deliver <id>
/worktree-studio archive <id>
/worktree-studio recover
基本工作流¶
- 創建任務: 在 Web 看板中註冊倉庫並創建任務。
- 開發: 插件創建
dsh/<task>-<id>目錄,註冊爲 Workspace 並開啓 Session。在此 Session 中提交代碼。 - 驗證: 在看板中運行“Validate”,執行指定的命令(如
pnpm test)。 - 預覽: 使用“Review”查看變更,使用“Merge check”測試當前提交與目標分支的合併情況。
- 交付: 執行“Deliver”,系統會再次檢查內容令牌、驗證結果和合並可行性,確認無誤後才執行非快進合併。
- 歸檔: 歸檔會移除乾淨的工作樹但保留記錄;丟棄需要確認任務 ID。
注意事項¶
環境要求¶
- DeepSeek Harness: 0.1.0-rc.7 或兼容的 0.1.x 版本。
- Node.js: 22.19.0 或更高版本。
- Git: 2.38 或更高版本(需支持
merge-tree --write-tree)。 - 本地倉庫: 插件僅管理本地倉庫,不涉及推送到遠程或創建 Pull Request。
功能限制¶
- 交付機制: 交付僅合併已提交的更改,不會將未提交的工作樹內容複製到目標檢出目錄。
- 數據清理: 歸檔和丟棄的記錄仍保留在
tasks.json中,插件目前不提供自動清理功能。 - 安全性: 插件通過迴環連接和同源標記提供 Host 路由,但執行邊界不等於認證,本地同權限進程仍可調用。
總結¶
dsh-worktree-studio 爲 DeepSeek Harness 提供了一個以人工決策爲核心的代碼交付流程。它通過 Git Worktree 和狀態令牌機制,在不增加模型上下文負擔的前提下,實現了對代碼修改的隔離驗證與安全合併。