dsh-git-ui:DeepSeek Harness Web UI 的 Git 状态可视化插件

前言

在 DSH(DeepSeek Harness)的 Web UI 中运行会话时,会话的工作目录经常落在 Git 仓库里。开发者需要确认当前分支、脏文件计数、领先/落后远端的情况,也可能要看最近提交和文件变更。以往需要切到终端执行 git statusgit loggit diff,再回到浏览器查看会话。

dsh-git-ui 将这些 Git 状态放进 Web UI。下面介绍它的位置、能力、安装方式和注意事项。

这是什么

dsh-git-ui 是 DeepSeek Harness(dsh)Web UI 的 Git 状态可视化插件,由 Julyves 维护,许可证为 MIT。

它面向已经运行 web profile 的 DSH 场景,让浏览器中的会话头部直接展示当前会话工作目录的 Git 状态。它不替代终端 Git 工作流,也不暴露 push、pull、merge 等操作,而是把常用状态查看和变更管理集中到 Web UI。

核心功能

会话头状态胶囊

每个会话头部会显示一个状态胶囊,用于展示:

  • 当前分支
  • 脏文件计数:+N −N ?N
  • ahead / behind 信息

如果会话工作目录不是 Git 仓库,状态会显示为占位状态。

详情弹窗

点击会话头部的状态胶囊,可以打开详情弹窗。弹窗中可以看到:

  • 状态计数
  • 最近提交
  • 变更文件
  • 分支操作
  • 对变更文件进行 inline stage / unstage / discard

最近提交、变更文件可以进一步进入 Git center 查看更完整的上下文。

Git center

Git center 是更完整的 Git 管理入口,包含四个标签页:

  • History
  • Changes
  • Records
  • Settings

History 是默认落地标签页。

History

History 提供提交历史查看能力:

  • 分页提交列表
  • 分支图
  • 过滤树
  • 日期过滤
  • 搜索

选中某个提交后,可以查看提交内容、正文和变更文件树。点击文件树中的文件,可以进入 Changes 标签页查看该提交对应文件的 diff。

Changes

Changes 按 Git 状态分组展示文件:

  • staged
  • unstaged
  • untracked

它支持单文件操作和批量操作:

  • stage
  • unstage
  • discard

Changes 中还提供 commit 输入框。

diff 查看器支持:

  • side-by-side 模式
  • before 模式
  • after 模式
  • Markdown 渲染
  • mermaid 支持

Records

Records 用于查看每一轮工作的记录,并给出三方计数:

它还提供 confidence badges 和 correction actions,用于对归属判断进行修正。

对于动态构造的 bash 目标,Records 的判断是启发式的;不确定时可能回退为 ,并带 标记。冷会话会被跳过,观察时间线也有上限。

Settings

Settings 提供展示配置:

  • display presets
  • pill / popover 开关
  • popover 分区排序
  • diff viewer 选项

安装与启用

先确认环境满足要求:

  • 正在运行的 DeepSeek Harness,且启用 web profile
  • Node.js ^22.19.0 || >=24.0.0
  • dsh >= 0.1.0-rc(developer preview)
  • 主机上有 git

在确认环境后,添加插件:

dsh plugin --profile web add dsh-git-ui

执行完成后,重启 dsh web。

典型用法

  1. 打开一个会话,并确认该会话的工作目录位于 Git 仓库内。
  2. 查看会话头部的状态胶囊,无需额外操作。
  3. 点击状态胶囊,查看计数、最近提交和变更文件;需要完整管理时打开 Git center。

经过上面的步骤,就可以在 Web UI 中确认当前仓库状态,并查看提交、变更文件和 diff。

适用场景与注意

适合使用 dsh web profile 的 DSH 用户,尤其是希望在浏览器中查看分支、脏文件、提交历史、变更文件和相关记录,而不频繁切换终端的开发者。

需要注意以下几点:

  • 插件只展示当前会话工作目录的 Git 状态,不暴露 push、pull、merge。
  • 刷新基于轮询;基于文件 watcher 的事件推送属于计划中的能力。
  • 变更文件列表受 maxChanges 限制,并且对超大状态输出有 spill-file recovery。
  • 浏览器侧只发送 sessionId;宿主负责解析工作目录并运行 Git,且带有路径保护。
  • Records 对动态构造的 bash 目标使用启发式判断,可能回退为 并显示
  • 语法高亮和 mermaid 支持覆盖语言和图形子集,不是全集。
  • 插件会在 dsh web 宿主环境中执行 Git 相关操作,使用当前 dsh 进程可用的权限和本机 git。安装前建议检查源码、依赖和 MIT 许可证。

链接

  • GitHub:https://github.com/Julyves/dsh-git-ui
  • 社区目录页可按插件名 dsh-git-ui 检索。
羽毛球分组比赛记分
小程序二维码

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

Xiaoye