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
羽毛球分组比赛记分
小程序二维码

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

小夜