DeepSeek Harness (DSH) 允许通过 Web 界面管理 Git 仓库。Git worktree 是在隔离目录中处理不同分支的标准方式,但通常需要终端操作。dsh-git-worktree 插件将此功能直接引入 DSH Web UI,实现了分支选择、切换以及 Worktree 的创建与隔离。
插件介绍¶
这是一个由开发者 LaoYueHanNi 维护的客户端插件。它旨在解决在 Web UI 中进行 Git 分支管理和 Worktree 隔离的需求。该插件采用 MIT 许可证。
核心功能¶
插件提供了一系列操作,覆盖从分支切换到 Worktree 全生命周期的管理:
-
分支管理
- 分支切换:在 Web 界面直接切换分支,支持从远程分支检出。
- 创建与重命名:支持从任意分支创建新分支,或对本地分支进行原地重命名。
- 分支更新:支持将当前分支更新至上游,仅允许 fast-forward。
- 远程同步:支持从 Web 界面执行 fetch 并清理过期追踪分支。
-
Worktree 管理
- 隔离:通过开启 Worktree 模式,将当前分支的工作空间切换到隔离的目录中。
- 快速跳转:支持直接跳转到已存在的 Worktree 目录。
- 移除:支持移除 Worktree,并处理未提交文件和运行中的会话。
- 管理器:提供一个统一的视图查看所有 Worktree,包括新旧存储位置。
-
交互体验
- IDEA 风格选择器:支持层级折叠、搜索、高亮匹配分支。
- 行上下文菜单:右键菜单提供检出、新建、重命名、删除等操作。
安装与启用¶
由于 GitHub 直接安装已结束,必须通过 npm 进行安装。安装前请确保主机版本符合要求。
安装命令
dsh plugin --profile web add @laoyuehanni/dsh-git-worktree
环境要求
* 需要启用 web profile (dsh web)。
* 主机版本需为 dsh 0.1.7-rc.1 或更高版本。
典型用法¶
安装后,可通过以下命令管理插件:
更新插件
dsh plugin --profile web update @laoyuehanni/dsh-git-worktree
移除插件
dsh plugin --profile web remove @laoyuehanni/dsh-git-worktree
注意事项¶
- 更新限制:无法直接原地更新插件,需要先执行
remove再执行add。 - 存储位置:新创建的 Worktree 位于仓库内的
.dsh/gitworktree/目录下。旧版存储(根目录下)为只读状态,以保持兼容。 - 配置保存:插件的设置保存在 DSH 设置文档中,而非本地文件。
总结¶
dsh-git-worktree 为 DSH Web UI 增加了完整的 Git Worktree 支持。通过集成 IDEA 风格的分支选择器和行上下文菜单,它提供了在浏览器中进行分支管理、远程同步和 Worktree 隔离的能力,适合需要在 Web 环境下维护多分支项目的开发者。