前言¶
在 DeepSeek Harness(DSH)中,同時進行多個開發任務通常需要在同一個倉庫或分支上操作,這容易導致衝突和上下文混亂。gord-dsh-worktree 插件通過引入 Git worktree 機制,允許在獨立的目錄和分支中隔離並行工作。它由 nightosong 維護,提供了一套從命令行到 UI 的管理方案,並附帶了“快速模式”預設和任務注意力托盤。
核心功能¶
- 創建與管理:支持通過命令行(
worktree_list,worktree_create,worktree_status,worktree_remove,worktree_prune,worktree_relocate)或 UI(Settings → Worktrees)創建和管理 worktree。支持原子創建、安全刪除(自動忽略 .env 等文件)以及雙擊重命名會話。 - 會話隔離:在 New Session 行中使用工作樹選擇器,可以選擇在當前 worktree 啓動,或創建新的 worktree 並在其中啓動會話。
- 變更審查:側邊欄的 Changes 標籤頁會顯示會話目錄的未提交差異,包括文件變更統計和具體補丁。
- 任務注意力托盤(0.6.0 新增):位於對話右側索引下方,用於跟蹤運行中、等待中或已結束但未查看的聊天。支持拖動保存位置、點擊打開以及重置位置。
- 快速模式:一個輕量級的代理預設,支持批量獨立調用、上下文感知的錯誤解釋以及在編輯前讀取、編輯後重讀。
- 併發工具調用:通過可選補丁,允許
bash,glob和grep等只讀工具調用併發執行,而非串行運行。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add gord-dsh-worktree@0.6.0
安裝完成後需要重啓 dsh web 以加載插件。Fast mode(快速模式)由插件包聲明,安裝後即會出現在預設選擇器中。
使用示例¶
- 命令行操作:
- 查看所有 worktree:
worktree_list - 創建新 worktree:
worktree_create - 遷移舊版工作樹:
worktree_relocate
- 查看所有 worktree:
- UI 操作:
- 在 New Session 行選擇工作樹。
- 在 Settings → Worktrees 中管理列表、歸檔或遷移舊版工作樹。
- 雙擊側邊欄會話行進行重命名。
注意事項¶
- 版本要求:插件依賴 DeepSeek Harness 引擎版本
^0.1.5-rc.1或更高。 - 衝突處理:Fast mode 由 bundle layer 聲明。如果 profile 中的
cordis.patch.yml已有preset-fast聲明,安裝此插件會導致衝突(插件預設會覆蓋或重複掛載)。 - 功能依賴:任務注意力托盤功能需要
uiSession.sessionStatus支持(版本0.2.0-rc.2+)。 - 舊版遷移:舊版本創建的工作樹存儲在
$DSH_HOME/worktree/,可通過 Settings → Worktrees 的“Move into project”或命令worktree_relocate遷移到項目目錄內。
總結¶
gord-dsh-worktree 爲 DSH 提供了標準的 Git worktree 管理能力,解決了多任務並行開發的隔離問題。配合快速模式和任務注意力托盤,能夠提升開發效率和狀態追蹤能力。
GitHub 倉庫 | SkillHub 目錄