在 DeepSeek Harness (DSH) 的開發流程中,針對同一倉庫的不同開發任務,通常需要頻繁切換分支或處理多個併發會話。dsh-worktree 插件通過集成 Git worktree 機制,解決了在 DSH 中隔離任務環境的需求。
這是一套由 alpacachen 維護的插件(npm 包名爲 @alpacachen/dsh-simple-worktree),旨在將 Git 的 worktree 功能與 DSH 的工作區系統打通。它允許用戶在現有的 Git Workspace 中創建新的 worktree,並將其註冊爲獨立的 DSH Workspace,從而開啓隔離的會話。
安裝與啓用¶
安裝該插件需要使用官方的安裝命令:
dsh plugin --profile web add @alpacachen/dsh-simple-worktree
安裝完成後,必須重啓 dsh web 進程才能生效。
核心功能¶
該插件提供了從創建到管理的完整工作流:
- 創建 Worktree:在任意 Git Workspace 的 New Session 中,可以直接創建新的 Git worktree。
- 分支選擇:在創建過程中,用戶可以選擇當前分支,或者直接使用倉庫的主分支作爲基準。
- Workspace 註冊:創建成功後,新的 worktree 會被自動註冊爲 DSH Workspace,並開啓一個獨立的會話。
- 任務分支命名:插件會自動將分支命名爲
task/<name>格式。 - 統一管理:所有鏈接的 worktree 都可以在 Settings → Worktree Management 頁面進行統一管理。該頁面支持掃描所有 Workspace 中的 Git 項目,檢查分支狀態和是否處於髒狀態,並支持移除不再需要的 worktree。
- 零配置:無需額外的服務或項目配置即可使用。
- 多語言支持:支持 DSH 主題,並提供中文和英文界面。
典型用法¶
- 在任意 Git Workspace 中打開 New Session。
- 在 composer 上方選擇 Create worktree 選項。
- 輸入任務名稱。默認情況下,系統會選中倉庫的主分支。
- 點擊 Create and open 按鈕。系統將創建 worktree,註冊新的 Workspace,並打開隔離的會話。
- 在 Settings → Worktree Management 中,可以查看當前所有關聯的 worktree 信息,並執行清理操作。
適用場景與注意¶
- 版本兼容性:該插件基於 DSH 0.1.5 客戶端契約開發,僅支持
0.1.5-rc.1或0.1.5-rc.2版本,且僅適用於 web profile。 - 數據安全:在 Worktree Management 中刪除對應的 Workspace,只會移除 DSH 的鏈接,不會刪除底層的 Git 分支。
- 許可證:插件遵循 MIT 許可證。
- 生態背景:DeepSeek Harness 生態遵循“一切皆插件”的理念。該插件由社區開發者維護,其官方目錄地址爲 skillhub.cn,與 DeepSeek 官方無直接隸屬關係。
使用 dsh-worktree,可以在不離開 DSH 界面的情況下,利用 Git worktree 管理多任務並行開發環境,提升本地開發效率。