gord-dsh-worktree:爲 DeepSeek Harness 提供的 Git Worktree 管理

前言

在 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
  • 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 目錄

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜