前言¶
DeepSeek Harness (DSH) 的設計理念是“一切皆插件”。在本地開發與智能體協作中,管理多個分支和會話上下文往往需要頻繁切換工作目錄,這會打斷會話的連續性。dsh-worktree 插件通過在 DSH Web 客戶端中集成 Git 工作樹管理,解決了這一問題。它允許在隔離的分支環境中運行會話,而無需手動管理文件夾。
這是什麼¶
該插件由 navid-kianfar 維護,旨在爲 DeepSeek Harness Web 客戶端提供分支和工作樹切換功能。它將 Git 工作樹直接作爲 Harness 工作區使用,允許在新建會話時基於消息生成新分支並創建工作樹,或在活躍會話中切換、管理分支與工作樹。
核心功能¶
該插件提供以下核心能力:
- 新建會話工具欄集成:在新建會話界面,編輯器上方新增了項目切換器、模式芯片和一個分支膠囊。分支膠囊包含一個“工作樹”複選框,用於控制當前會話是否基於工作樹運行。
- 工作樹模式與會話創建:勾選工作樹複選框後,首次發送消息時,系統會基於消息內容生成新分支名稱(或使用消息 slug,若模型不可用),在指定路徑創建新的 Git 工作樹,並將該工作樹註冊爲 Harness 工作區。
- 分支與工作樹管理:在活躍會話中,編輯器上方顯示當前分支狀態(ahead/behind)、未提交更改(圓點)及工作樹數量。支持切換、創建、重命名、刪除分支,以及打開、鎖定/解鎖、刪除工作樹。
- Git 命令集成:提供 Fetch and prune remotes 和 Prune stale records 功能,分別執行
git fetch --all --prune和git worktree prune。
安裝與啓用¶
該插件依賴以下環境:
- DeepSeek Harness:版本 0.1.5-rc.2 (web profile)。
- Git:宿主機安裝 Git 2.23+ (2.36+ 用於顯示 locked/prunable 標誌)。
- pnpm:宿主機需安裝 pnpm。
安裝與啓用方式請參考插件目錄或官方提供的源碼安裝指引。
典型用法¶
- 創建基於工作樹的新會話:在新建會話界面,勾選分支膠囊中的“工作樹”複選框。選擇一個基礎分支,輸入消息併發送。系統將自動生成分支名、創建工作樹並在其中運行會話。
- 管理分支與工作樹:在運行中的會話中,編輯器上方會顯示分支和工作樹狀態。點擊該膠囊可切換分支、創建新工作樹或執行修剪操作。
- 執行 Git 命令:在分支或工作樹彈窗中,可使用 Fetch and prune remotes 或 Prune stale records 命令清理遠程和過期記錄。
適用場景與注意¶
- 適用場景:適合需要爲不同任務維護獨立分支環境、在主倉庫保持乾淨的同時進行實驗性開發或並行處理的開發者。
- 注意事項:
- 瀏覽器不直接運行 Git 命令,所有操作通過宿主進程執行。
- 刪除工作樹不會自動取消註冊的工作區,需手動在側邊欄移除。
- 該插件許可證爲 MIT,使用前請檢查源碼。
總結¶
該插件通過將 Git 工作樹機制與 DSH 會話管理深度綁定,實現了會話與分支環境的隔離與切換。對於需要在本地進行多分支協作的開發者,它提供了更直觀和高效的操作方式。