dsh-worktree-jump
在终端中运行以下命令:
dsh plugin install frederico-kluser/dsh-worktree-jump
将以下提示词粘贴到 DeepSeek Harness 对话框中:
在 DeepSeek Harness 中执行 dsh plugin install frederico-kluser/dsh-worktree-jump,或按文档从 https://github.com/frederico-kluser/dsh-worktree-jump 添加插件包后重启 dsh web。
插件介绍
在 DeepSeek Harness 里,会话的工作目录在创建时就被固定下来:系统提示里的当前路径、Shell 默认目录和沙箱根目录都跟着 session 元数据走,会话进行中没法换文件夹继续聊。若你想在独立分支目录里写代码、又不想丢掉对话上下文,就需要通过 fork 子会话并把 meta.cwd 指到新目录。
dsh-worktree-jump 把这件事收进新建对话流程:在选好工作区且尚未发送第一条消息时,工作区选择器左侧会出现新建 worktree 入口;输入合法名称后即可在仓库内创建 git worktree(默认落在 /.worktrees/,并通过 .git/info/exclude 排除,不改动已跟踪文件),随后通过与会话 fork 相同的链路在 worktree 路径上开启延续。已有 worktree 会以分支名按钮展示,点选即可直接进入对应目录,无需重复创建。
原会话仍留在原工作区,子会话在 worktree 里继续,符合 DSH 不可变创建元数据的模型,也方便在侧栏随时切回。界面与对话框支持英文、简体中文和葡萄牙语。若 fork 失败,worktree 与 Workspace 仍会保留,插件会降级为在该目录下打开新会话,而不是让操作彻底失败。
适合在 Git 仓库里用 worktree 做功能分支、并行实验或多目录开发的 DSH 用户:既保留 harness 的会话与 agent 预设继承,又让模型始终在正确的 checkout 里工作。
使用场景
- 在新对话里为功能分支一键建 worktree 并让 Agent 在该目录工作
- 需要在不影响主工作区的情况下并行试两个方案
- 想复用已有 worktree 目录直接开聊而不重复 git worktree add
适合人员
- 在 DSH 里用 Git 管理代码的日常开发者
- 习惯用 worktree 做功能分支或 hotfix 的工程师
- 希望会话上下文与独立 checkout 目录对齐的 Harness 用户