在使用 DeepSeek Harness(DSH)進行開發時,我們需要頻繁在多個倉庫、分支和工作樹之間切換,並確保每個會話運行在正確的隔離環境中。Composer 區域通常僅用於輸入,缺乏直觀的狀態展示和快速創建隔離環境的入口。dsh-worktree-bar 在 Composer 上方增加了一行動態狀態欄,並在啓動會話時提供了創建 Git 工作樹的複選框。
這是一個爲 DeepSeek Harness Web UI 提供的插件,由 Hermannmayer 維護。它解決的核心問題是:如何在會話開始前快速準備隔離的開發環境,以及在對話過程中實時監控當前運行的工作區、分支及文件差異。該插件是一個獨立 bundle,不依賴其他運行時環境。
核心功能¶
- 上下文狀態行:在 Composer 上方顯示當前會話所屬的倉庫、工作區、分支名稱以及未提交和未跟蹤文件的差異統計。
- 會話啓動複選框:在首次提示之前,顯示一個複選框。勾選該框會創建一個鏈接的 Git 工作樹,並將隨後打開的空白會話置於該工作樹內。
- 項目級準備:通過項目根目錄的配置文件,定義工作樹需要鏈接的目錄(如虛擬環境)、需要複製的文件(如配置)以及初始化命令(如
npm install)。
安裝與啓用¶
安裝前請確保已安裝 Node.js 20 或更高版本,且 DeepSeek Harness 版本不低於 0.1.7-rc.1。使用以下命令進行安裝:
dsh plugin --profile desktop install Hermannmayer/dsh-worktree-bar
安裝完成後,重啓 Harness 或重新加載頁面即可看到新增的狀態欄。
典型用法¶
- 創建會話:在開始屏幕勾選
worktree複選框,系統會根據項目配置準備環境並打開新會話。 - 查看狀態:在對話中,上方狀態行會顯示當前分支(如
main或worktree-calm-otter)和工作樹路徑,懸停+N -M可查看具體的差異文件數量。 - 移除工作樹:在對話過程中,點擊狀態行中的分支名稱菜單,選擇“Remove worktree…”即可刪除該插件創建的工作樹(未提交更改會提示丟棄)。
適用場景與注意¶
該插件適合需要嚴格隔離開發環境、或項目依賴本地緩存/虛擬環境的場景。安裝前建議查閱源碼與 MIT 許可證,確認符合項目規範。注意:由於插件是獨立 bundle,客戶端代碼的修改需要刷新頁面生效,主機代碼的修改需要重啓 Harness。移除工作樹前會要求確認,若存在未提交更改,會提示直接丟棄。
通過該插件,可以在 Composer 區域之上獲得清晰的狀態視圖和便捷的工作樹操作入口,簡化了 Git 工作樹的使用流程。更多信息請參考 GitHub 或 SkillHub 目錄。