前言¶
在 DSH 中新建會話時,如果需要在本地工作區與獨立 git worktree 之間切換,以往需要手動操作 git,容易遺漏或誤刪。這個插件通過在新建會話的 hero 行提供直觀選擇,在發送首條消息後自動創建或切換到獨立的 detached HEAD 檢出,同時提供清理保護與快照恢復能力。
這是什麼¶
這是一個爲 DSH 會話提供「Codex 風格」工作樹選擇的工作流插件。由維護者 wplct 維護,開源 MIT 許可證。它不會創建 Workspace,只在會話的 cwd 層面切換,分支命名由 Git 自己決定。
核心功能¶
- 新建會話時在工作區旁選擇「本地」或「新建本地工作樹」(默認爲新建本地工作樹)。
- 選擇後,發送首條消息時在會話第一次 turn 的
agent/pre-step階段創建獨立的 detached HEAD 檢出。 - 檢出路徑爲
<repo>/.agents/worktrees/wt-<timestamp>,會話的 cwd 切換到該檢出,而原 Workspace 不變。 - 在輸入框上方顯示三步進度卡片(Prepare workspace → Check out files → Set up environment),完成後側邊欄出現只讀工作樹圖標(提示爲 checkout 路徑)。
- 每個工作區路徑的記憶持久化在 sidecar 中,重啓後仍然有效。
- 清理時,若檢出被其他會話使用,則拒絕刪除(
worktree-in-use),需先切換回 Workspace 再清理;可選force強制刪除。 - 刪除前會爲 detached 且
HEAD ≠ baseCommit的檢出寫入快照到refs/dsh-codex-style-worktree/<timestamp+session suffix>,並在設置頁顯示「可恢復快照」列表。 - 提供
/wt-snapshots列出快照、/wt-restore <ref>恢復快照。 - 可選
cleanupOnArchive,在歸檔後清理乾淨且未使用的檢出。 - 設置頁提供可編輯表單,保存後立即生效(無需重啓)。
安裝與啓用¶
確保 DSH 版本爲 0.2.0-rc.2 或 0.2.1-rc.2,Node.js >=22.19.0,且 PATH 中有 git。執行以下命令安裝插件:
dsh plugin --profile desktop add github:wplct/dsh-codex-style-worktree
安裝後重新打開 DSH,在新建會話的 hero 行即可看到「本地」與「新建本地工作樹」選項。
典型用法¶
- 打開 DSH,新建一個會話,在 hero 行的工作區旁選擇「新建本地工作樹」。
- 輸入第一條消息,插件會在該工作區路徑下創建 detached HEAD 檢出並切換會話 cwd 到該檢出。
- 會話運行過程中,可在輸入框上方看到進度卡片,完成後側邊欄出現只讀工作樹圖標。
- 歸檔會話後,若不想保留檢出,可在設置頁開啓
cleanupOnArchive並手動清理,或使用/wt-snapshots查看並恢復快照。
適用場景與注意¶
適合需要在多個會話之間隔離代碼上下文,又不想創建多個 Workspace 的開發者。使用前請檢查源碼與許可證,插件以當前 DSH 進程權限運行。
短結尾¶
該插件通過在新建會話時提供直觀選擇,在會話運行時自動創建與管理獨立檢出,並提供清理保護與快照恢復,適合需要隔離工作上下文的開發者。更多細節可查看插件目錄頁與 GitHub 倉庫。
- 目錄頁:https://www.skillhub.cn/plugins/wplct/dsh-codex-style-worktree
- GitHub:https://github.com/wplct/dsh-codex-style-worktree
- 版本:0.5.1(2026-10-20)
- 許可證:MIT
- 維護者:wplct
- 分類:工作流
- API 命名空間:
/api/dsh-codex-style-worktree - RPC 前綴:
dsh-codex-style-worktree/ - Sidecar:
$DSH_HOME/dsh-codex-style-worktree/state.json - 禁用標記:
.dsh-codex-style-worktree-off - 依賴:DSH
0.2.0-rc.2/0.2.1-rc.2,Node.js>=22.19.0,git