前言¶
DSH 的 Web GUI 以工作区和会话为基本操作对象。当开发者需要在多个分支上并行工作,或者希望把“主工作树、分支 worktree、会话”放在同一个侧边栏中查看时,普通工作区列表不够直接。
下面介绍 dsh-worktree-panel。它是用于 DeepSeek Harness Web GUI 的 Git worktree 与分支管理面板。
这是什么¶
dsh-worktree-panel 是 HeathHe 维护的 DSH 插件,MIT 许可。
它的作用是在 DeepSeek Harness Web GUI 中扩展工作区侧边栏,把项目、主工作树或分支 worktree、会话组织成更清晰的管理层级,同时保留原有工作区交互方式。
核心功能¶
- 在项目组内显示主工作树、当前分支、clean/modified 状态,以及关联的分支 worktree。
- 在 worktree 内启动会话、删除 worktree,并切换主工作树分支。
- 为已有分支创建 worktree,或创建新分支及对应 worktree。
- 对非 Git 文件夹,可以直接启动会话;项目操作菜单中提供
Initialize Git and enable worktrees。 - 默认把 worktree 存储在项目目录下:
<project>/.dsh/workspaces/
也可以配置为自定义全局目录。
- 当 worktree 存储位置变化时,检测并迁移已有 worktree;迁移过程会跳过有未提交更改或活跃会话的 worktree。
- 对非 Git 工作区,保留默认会话流程,并可选加入 Git/worktree 初始化能力。
- 通过
settings.section提供独立的 Worktree 设置页。 - 支持当前 Host description store 和 home-directory path abbreviation。
安装与启用¶
先安装插件:
dsh plugin --profile web add dsh-worktree-panel
安装后,重启 dsh web。重启后,worktree 层级会出现在工作区侧边栏中。
安装指定版本¶
如果需要使用明确版本,例如 0.1.5:
dsh plugin --profile web add dsh-worktree-panel@0.1.5
升级插件¶
升级时使用对应版本号:
dsh plugin --profile web add dsh-worktree-panel@<version>
升级完成后,重启 dsh web。
本地开发¶
如果你在本机有 dsh-worktree-panel 源码目录,可以使用 link: 方式加载:
dsh plugin --profile web add link:/absolute/path/to/dsh-worktree-panel
客户端构建¶
lib/client.js 由 lib/build.mjs 基于 @deepseek-ai/dsh-client-ui-workspace 的浏览器 bundle 生成。构建过程会校验上游包版本,并记录到生成文件头部。
如需指定一个明确的上游 bundle 文件,可以使用:
DSH_WORKSPACE_BUNDLE=/absolute/path/to/client.js npm run build
兼容性¶
已核实资料中写明,该插件在以下版本中测试过:
DSH Desktop 2.0.3 / DeepSeek Harness 0.1.1-rc.2
DSH peer dependency range 为:
>=0.1.1-rc.2 <0.2.0
适用场景与注意¶
- 适合需要在 DeepSeek Harness Web GUI 中管理多个 Git worktree 的开发者。
- 适合希望把分支、worktree 与会话放在同一侧边栏中查看的场景。
- 适合非 Git 文件夹先启动会话,之后可选择初始化 Git 和 worktree 的工作方式。
- 插件以当前
dsh进程权限运行。安装前应检查源码、LICENSE与NOTICE。 lib/client.js派生自@deepseek-ai/dsh-client-ui-workspace。相关声明见仓库中的NOTICE和LICENSE。- 本文材料未提供 Stars 数、分类和独立目录 URL,因此这里不给出这些字段。
资源¶
GitHub:
https://github.com/HeathHe/dsh-worktree-panel
插件目录页:本文材料未提供独立目录 URL。你可以在自己使用的 DSH 插件目录中搜索:
dsh-worktree-panel