在使用 DeepSeek Harness(DSH)进行开发时,我们需要频繁在多个仓库、分支和工作树之间切换,并确保每个会话运行在正确的隔离环境中。Composer 区域通常仅用于输入,缺乏直观的状态展示和快速创建隔离环境的入口。dsh-worktree-bar 在 Composer 上方增加了一行动态状态栏,并在启动会话时提供了创建 Git 工作树的复选框。
这是一个为 DeepSeek Harness Web UI 提供的插件,由 Hermannmayer 维护。它解决的核心问题是:如何在会话开始前快速准备隔离的开发环境,以及在对话过程中实时监控当前运行的工作区、分支及文件差异。该插件是一个独立 bundle,不依赖其他运行时环境。
核心功能¶
- 上下文状态行:在 Composer 上方显示当前会话所属的仓库、工作区、分支名称以及未提交和未跟踪文件的差异统计。
- 会话启动复选框:在首次提示之前,显示一个复选框。勾选该框会创建一个链接的 Git 工作树,并将随后打开的空白会话置于该工作树内。
- 项目级准备:通过项目根目录的配置文件,定义工作树需要链接的目录(如虚拟环境)、需要复制的文件(如配置)以及初始化命令(如
npm install)。
安装与启用¶
安装前请确保已安装 Node.js 20 或更高版本,且 DeepSeek Harness 版本不低于 0.1.7-rc.1。使用以下命令进行安装:
dsh plugin --profile desktop install Hermannmayer/dsh-worktree-bar
安装完成后,重启 Harness 或重新加载页面即可看到新增的状态栏。
典型用法¶
- 创建会话:在开始屏幕勾选
worktree复选框,系统会根据项目配置准备环境并打开新会话。 - 查看状态:在对话中,上方状态行会显示当前分支(如
main或worktree-calm-otter)和工作树路径,悬停+N -M可查看具体的差异文件数量。 - 移除工作树:在对话过程中,点击状态行中的分支名称菜单,选择“Remove worktree…”即可删除该插件创建的工作树(未提交更改会提示丢弃)。
适用场景与注意¶
该插件适合需要严格隔离开发环境、或项目依赖本地缓存/虚拟环境的场景。安装前建议查阅源码与 MIT 许可证,确认符合项目规范。注意:由于插件是独立 bundle,客户端代码的修改需要刷新页面生效,主机代码的修改需要重启 Harness。移除工作树前会要求确认,若存在未提交更改,会提示直接丢弃。
通过该插件,可以在 Composer 区域之上获得清晰的状态视图和便捷的工作树操作入口,简化了 Git 工作树的使用流程。更多信息请参考 GitHub 或 SkillHub 目录。