dsh-git-sidebar:在 DSH 对话页查看 Git 工作区未提交改动

前言

使用 DSH Web GUI 处理工作区文件时,常常需要确认当前对话所在仓库里有哪些未提交改动。dsh-git-sidebar 解决的是这类操作成本:它把 Git 工作区改动放到 DSH 对话页右侧,不用离开当前会话界面,就能看到已暂存、未暂存、未跟踪文件、状态、行数和单文件 diff。

插件定位

dsh-git-sidebar 是 DeepSeek Harness(DSH)Web GUI 的嵌入式 Git 工作区改动侧边栏插件,由 H2O-MERO 维护,采用 MIT 许可证。

它面向 DSH 对话页,在右侧停靠一个 VSCode 风格的未提交改动面板,用于查看当前对话工作区里的 git 仓库状态。

核心能力

跟随当前对话

  • 打开哪个对话,就显示哪个对话工作区的 git 仓库。
  • 切换对话时自动跟随。
  • 非 git 仓库的对话显示空态提示。
  • 明暗主题跟随 harness 界面自动切换。

查看未提交改动

  • 文件列表分为已暂存、更改、未跟踪三组。
  • 文件行带状态徽标:AMDRU?
  • 每行显示 +/− 行数。
  • 点击行可展开单文件 diff。
  • 重命名文件展示为 旧 → 新
  • 未跟踪文件直接显示内容。

面板控制

  • 可单独隐藏某个文件分组。
  • 面板和分组均可点击折叠。
  • 可拖拽调整宽度。
  • 宽度与折叠状态会持久化。
  • 折叠时只显示窄把手,不渲染内容、不发起请求。
  • 宿主工具详情面板打开时自动让位。

打开文件

文件行展开后,可以调用系统默认应用打开该文件。

安装与启用

安装需要把插件加入 DSH web profile,再重启 dsh web

1、把插件加入 profile 的依赖。

编辑 DSH web profile 的 package.json,在 dependencies 中添加:

{
  "dependencies": {
    "dsh-git-sidebar": "file:./plugins/git-sidebar"
  }
}

plugins/git-sidebar 是插件源码所在目录,按实际路径调整。

2、挂载 bundle。

在 profile 的 cordis.patch.yml 中加入:

- insert:
    - id: git-sidebar
      name: dsh-git-sidebar
      config:
        repo: "C:/path/to/your/repo"

config.repoconfig.repos 是初始可访问仓库白名单。运行中被会话工作区发现的仓库也会自动加入可访问集合。

3、安装依赖并重启。

pnpm install

然后重启 dsh web

4、验证。

打开 http://127.0.0.1:3080,进入任意会话页,右侧应能看到「未提交改动」侧边栏。

典型用法

先打开一个绑定到 git 工作区的 DSH 对话,修改文件后,在右侧侧边栏里查看状态:

1、文件出现在已暂存、更改或未跟踪分组中。
2、点击文件行查看 +/− 行数和 diff。
3、如果是未跟踪文件,直接看内容。
4、如果文件被重命名,查看 旧 → 新
5、需要打开文件时,展开文件行后调用系统默认应用打开。

切换对话后,侧边栏会跟随新的对话工作区显示对应 git 仓库;如果不是 git 仓库,则显示空态提示。

适用场景与注意

适合这类场景:

  • 在 DSH 对话页处理工作区文件,但不想频繁切到终端或 IDE。
  • 需要快速确认未跟踪文件、已暂存文件、已修改文件的状态。
  • 需要在当前对话界面里查看单文件 diff 和打开文件。
  • 希望侧边栏宽度、折叠状态保持稳定,不打断当前查看节奏。

注意:

  • config.repo / config.repos 是初始白名单,不等于运行时唯一可访问仓库;会话工作区发现的仓库也会加入。
  • 非 git 仓库对话只会看到空态提示。
  • 服务端和客户端改动后需重启 dsh web
  • 打开文件会调用系统默认应用,具体行为取决于本机系统设置。
  • 该插件以当前 DSH 进程权限运行,安装前应检查源码和 MIT 许可证。

链接

  • GitHub:https://github.com/H2O-MERO/dsh-git-sidebar
  • 目录页 URL 未在已核实资料中给出。
羽毛球分组比赛记分
小程序二维码

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

Xiaoye