
paradoxSCH/dsh-worktree
30最近提交 2026年8月15日
dsh-worktree DSH 插件
dsh-worktree 为 DSH 子代理提供隔离的 Git worktree,并行任务在独立 checkout 中工作。任务结束后可以审阅、验证、提交、交付、合并、归档或恢复结果,不直接影响主工作区。
如何安装 dsh-worktree DSH 插件
dsh plugin --profile web add @paradoxsch/dsh-worktree@alpha复制不会执行命令。安装 dsh-worktree DSH 插件前请核对仓库和版本。
dsh-worktree DSH 插件数据来源
dsh-worktree DSH 插件快照日期:2026年8月16日
discovered
dsh-worktree DSH 插件能做什么
- 三种任务起点模式(working-state、head、fresh)控制子代理继承哪些变更。
- 三种保留模式(ephemeral、managed、permanent)决定 worktree 是否自动清理或保留。
- 通过 /worktree 命令进行全生命周期管理:list、create、review、validate、commit、branch、handoff、merge、push、pr、archive、restore、discard。
- 安全检查:有修改的 worktree 不会被自动丢弃;操作前重新检查 worktree 状态。
- 与 DSH 任务系统集成:支持后台子代理任务(run_in_background: true)和 job_output/job_kill。
dsh-worktree DSH 插件适合哪些场景
- 并行运行多个子代理任务,每个任务在独立 worktree 中工作。
- 在合并到主分支前审阅和验证子代理的修改。
- 在临时 worktree 中尝试风险修改,然后丢弃或归档结果。
- 将子代理的增量变更交付到当前会话 checkout,不中断进行中的工作。
- 使用 GitHub CLI 从 worktree 分支创建 Pull Request。
dsh-worktree DSH 插件适合谁
- 使用 DSH 的开发者,需要管理多个并发任务或变更。
- 需要为子代理操作提供隔离环境以避免工作区冲突的团队。
dsh-worktree DSH 插件的限制
- 当前 alpha 版本仅支持 DSH 0.1.0-rc.6 及后续 0.1.x 版本。
- 创建 Pull Request 需要已登录的 GitHub CLI(gh),没有 gh 则无法使用 PR 操作。
- 敏感文件(如 .env、密钥和证书)不会复制到 worktree 中,需通过 DSH credentials 或运行环境提供。
- 不使用 force push;push 和 merge 操作要求干净和安全的状态。
dsh-worktree DSH 插件的仓库 README 摘录
以下文字摘自 dsh-worktree DSH 插件的上游仓库 paradoxSCH/dsh-worktree 的 README,版权归原作者,仅作引用。
为 DeepSeek Harness(DSH)子代理提供隔离的 Git worktree。并行任务在独立 checkout 中工作,不直接修改主工作区;任务结束后可以审阅、验证、提交、交付、归档或恢复结果。 > [!IMPORTANT] > 当前 alpha 版本支持已发布的 DSH `0.1.0-rc.6` 及后续 `0.1.x` 版本。 ## 安装 插件安装到全局 DSH profile,不会修改业务项目的 `package.json`。 Web profile: ```sh dsh plugin --profile web add @paradoxsch/dsh-worktree@alpha ``` Headless profile: ```sh dsh plugin --profile headless add @paradoxsch/dsh-worktree@alpha ``` 检查是否安装成功: ```sh dsh plugin --profile web why @paradoxsch/dsh-worktree dsh --profile web --dump-config ``` ## 第一次使用 让 Agent 使用 `subagent_worktree` 委派任务,子代理会自动进入独立 worktree。Web profile 的侧边栏底部会出现 **Worktrees**,可以在其中查看状态、diff 和可用操作。 委派默认等待子代理返回结果;需要并行执行时可以设置 `run_in_background: true`,之后通过 DSH 的 `job_output` 查看结果、通过 `job_kill` 停止任务。每次委派都是独立子任务。 也可以使用 `/worktree` 命令手动管理: ```text /worktree list /worktree create working-state managed /worktree review <id> /worktree validate <id> /worktree doctor ``` 不带子命令的 `/worktree` 等同于 `/worktree list`。`<id>` 来自 list/create 的返回结果。 ## 选择任务起点 | 模式 | 子代理从哪里开始 | 适合场景 | | --- | --- | --- | | `working-state` | 当前 HEAD,加上 staged、unstaged 和非 ignored 的 untracked 变更 | 继续当前正在进行的工作;默认值 | | `head` | 当前已提交的 HEAD | 不希望继承未提交修改 | | `fresh` | 远端最新基线 | 与本地当前分支无关的
阅读完整 README仓库许可: MIT
dsh-worktree DSH 插件常见问题
如何安装 dsh-worktree?
对于 web profile,运行 `dsh plugin --profile web add @paradoxsch/dsh-worktree@alpha`;headless profile 使用 `--profile headless`。安装后可用 `dsh plugin --profile web why @paradoxsch/dsh-worktree` 验证。
任务起点模式有哪些?
三种模式:working-state(默认,包含 staged、unstaged 和非忽略的 untracked 变更)、head(仅当前已提交的 HEAD)、fresh(远端最新基线)。根据是否需要继承未提交修改来选择。
如何管理 worktree?
使用 `/worktree` 命令,子命令包括 list、create、review、validate、doctor。也可以通过 `subagent_worktree` 委派子代理任务,自动创建隔离 worktree。
如何从 worktree 创建 Pull Request?
使用 `/worktree pr <id> <title>`。需要已安装并登录 GitHub CLI(`gh`),检查方式为 `gh auth status`。没有 gh 时仍可本地进行 commit、branch、handoff、merge 和 archive。
任务结束后 worktree 会怎样?
取决于保留模式:ephemeral 自动移除 clean checkout;managed 保留有修改的结果供审阅;permanent 长期保留直到用户明确处理。有修改的 worktree 永远不会被自动丢弃,需使用 discard 或 archive 清理。