Codex 风格 Worktree 插件

前言

在 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 行即可看到「本地」与「新建本地工作树」选项。

典型用法

  1. 打开 DSH,新建一个会话,在 hero 行的工作区旁选择「新建本地工作树」。
  2. 输入第一条消息,插件会在该工作区路径下创建 detached HEAD 检出并切换会话 cwd 到该检出。
  3. 会话运行过程中,可在输入框上方看到进度卡片,完成后侧边栏出现只读工作树图标。
  4. 归档会话后,若不想保留检出,可在设置页开启 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
羽毛球分组比赛记分
小程序二维码

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

小夜