dsh-git-branch-switcher:在会话头部显示并切换 Git 分支的 DSH Web 插件

前言

在 DeepSeek Harness (DSH) 的 Web 环境下,会话通常对应一个具体的工作区目录。当项目使用 Git 管理时,开发者需要频繁在本地不同分支间切换。手动执行 git checkout 命令打断工作流,且在 Web 界面中操作不够直观。dsh-git-branch-switcher 插件直接在会话头部提供分支胶囊,将 Git 操作集成到 DSH 的 UI 中。

这是什么

这是一个 DeepSeek Harness (DSH) Web 客户端插件。由 mixin-ai 维护。它通过在会话头部显示一个胶囊按钮,让用户能够直接在 DSH 界面中查看当前 Git 分支并进行切换,避免频繁在终端和界面间跳转。

核心功能

  • 分支胶囊显示:在会话头部右上角显示当前 Git 分支(仅在 Git 管理的工作区中显示)。
  • 分支切换:点击胶囊弹出分支面板,列表中当前分支会以 ✓ 高亮,点击任意分支即可执行 git checkout。
  • 状态同步:支持 detached HEAD 状态,显示短提交哈希;每 30 秒自动刷新,并支持点击 ↻ 按钮手动刷新。
  • 错误反馈:切换失败时(如本地有冲突改动),会显示 Git 原始报错信息。
  • 主题与安全:所有颜色使用 --dsw-* 主题 token,适配亮/暗模式;Git 命令与会话 Shell 使用同一套沙箱策略执行。

安装与启用

执行以下命令将插件安装到 Web profile:

dsh plugin --profile web add "github:mixin-ai/dsh-git-branch-switcher#main"

安装后重启 Web profile 以加载插件:

dsh --profile web

典型用法

  1. 打开一个工作区为 Git 仓库的会话。
  2. 在会话头部右上角点击分支胶囊。
  3. 在弹出的面板中选择目标分支进行切换。
  4. 若需立即同步最新状态,点击面板内的 ↻ 按钮重新读取分支列表。

适用场景与注意

  • 适用范围:该插件仅在 Git 管理的工作区中才会显示分支胶囊。
  • 版本要求:依赖 Node.js 版本为 ^22.19.0 或 >=24.0.0。
  • 安全性:插件通过 shell 服务执行 Git 命令,遵循与会话 Shell 相同的沙箱策略。分支名经过单引号转义并拒绝控制字符,防止命令注入。

短结尾

该插件通过将 Git 操作下沉到会话头部,降低了 Web 环境下分支切换的操作成本,适合需要频繁在 DSH 中进行代码切换的开发者。插件详情与源码位于:GitHub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜