miiy/dsh-review:DSH Web GUI 的 review-first Git 面板

前言

在 DSH Web GUI 里做代码审查,通常有两种做法:切到终端手动跑 git status、git log 和 git diff,或者把命令丢给智能体代跑。前者要离开界面,后者的输出格式由模型决定,不适合逐行看 diff。dsh-review 走的是第三条路:在右侧 Sidebar 加一个 tab,把工作树状态、提交历史、分支比较和差异渲染成固定结构。

需要先说明的是,这个插件目前已标记为废弃。DSH 0.2.2 在右侧 Sidebar(@deepseek-ai/dsh-experimental-client-ui-forge)内置了 Code review and changes tab,覆盖了它原本的功能。仓库只保留作参考,只有仍固定在 DSH 0.2.1 或更早版本的用户才值得安装。

这是什么

dsh-review 由 miiy 维护,MIT 许可证,当前版本 0.2.0,分类为客户端插件。它把 Git 审查相关的操作收进一个原生 tab,回答代码审查真正关心的四个问题:工作树里有什么改动、某个 commit 改了什么、当前分支和另一个分支差多少、当前在哪个分支上。

它的定义是只读的:除了 git checkout 之外没有任何写操作,没有 commit、push、stage 和 reset。唯一的写操作还会在脏工作树时直接拒绝,而不是自动 stash 或强制切换。

核心功能

Changes:列出 staged、unstaged 和 untracked 文件,每个文件带 +/- 计数;点击文件看 diff。

Commits:当前分支的历史,分页展示。每一行标注指向该 commit 的 ref(main、origin/main、tag 等)。点开 commit 看 message、author 和变更文件,点文件看 diff。

Branches:本地分支和远程分支分开标注,各自显示最后一条 commit。本地分支显示还有多少 commit 没 push,一键切换;对比 把本地分支与其 upstream 做 diff(没有 upstream 时对比 HEAD),列出变更文件并可逐条看 diff。

子项目:当工作目录是容器而非仓库时,面板列出其下的 Git work tree,并按 Session 记忆选择。

Diff:直接渲染 git diff 原文,包含 rename、二进制文件和 mode 变更,逐行显示,使用 Host 的语法高亮。

安装与启用

方式一,通过 Host 的 installBundle(安装并启用):

在对话里让智能体执行:

install the plugin github:miiy/dsh-review

或把同样的 spec 粘贴到 Settings → Plugins 的安装字段。两者都调用 Host 的 installBundle,一步完成安装、写入 dsh.profile.bundles 并热应用。

方式二,从 CLI 安装(只安装,不启用):

dsh plugin --profile <profile> add github:miiy/dsh-review

dsh plugin 会把参数透传给 profile 目录里的 pnpm,因此这一步只装包、不合成。装完后在 Settings → Plugins 里该行显示为已安装但关闭,打开开关才会加入 dsh.profile.bundles。若开关没有立即生效,重启 dsh web。由于这是无构建脚本的纯 JavaScript bundle,git 安装无需 allowBuilds 审批。也支持本地 checkout:

dsh plugin --profile <profile> add /path/to/dsh-review

然后正常启动 dsh web。bundle 在挂载时向 Host 的 webServer 注册路由,无需额外启动参数。

典型用法

打开右侧 Sidebar,从 tab 引导(+)里选 Git 审查 / Git Review。面板跟随 Session 的工作目录,因此每个会话审查各自的仓库。

面板顶部的 Refresh 重新读取当前内容;切走再切回来同样会刷新,后台没有轮询。

点 header 里的仓库名,可以在 Session 能访问到的 Git work tree 之间切换:包含工作目录的那个,以及向下最多四层的嵌套 work tree。如果 Session 目录本身不是仓库,只有一个候选时自动选择,有多个时弹问。

适用场景与注意

适合仍在 DSH 0.2.1 或更早版本、想在 Web GUI 内完成 Git 审查的用户。要求 Host 上有 git,且 Session 工作目录位于某个 Git working tree 内;否则面板回答 not-a-repository。

需要留意三点。第一,插件以当前 dsh 进程的权限运行,安装前应阅读源码和许可证(MIT),确认来源可信。第二,它以只读为设计约束,但仍保留 git checkout 这一写操作,且在脏工作树时拒绝执行。第三,语法高亮取决于 Host 是否导出 useCodeHighlighter,否则行内容以纯文本渲染。

同时要知道,DSH 0.2.2 起功能已由内置 tab 覆盖,继续使用这个插件通常是在绕开已有能力。

社区目录 skillhub.cn 与 DeepSeek / 幻方没有官方从属关系,插件上架不代表官方背书。

结尾

dsh-review 的价值在于把分散在终端里的 git status、log、diff、checkout 收进一个只读的 Sidebar tab,让审查不必离开 Web 界面。它的位置已被 DSH 0.2.2 的内置功能取代,仓库保留仅供参考。

  • 目录页:https://www.skillhub.cn/plugins/miiy/dsh-review
  • GitHub:https://github.com/miiy/dsh-review
羽毛球分组比赛记分
小程序二维码

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

小夜