前言¶
使用 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 界面自动切换。
查看未提交改动¶
- 文件列表分为已暂存、更改、未跟踪三组。
- 文件行带状态徽标:
A、M、D、R、U、?。 - 每行显示
+/−行数。 - 点击行可展开单文件 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.repo 和 config.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 未在已核实资料中给出。