dsh-git-ui:DeepSeek Harness Web UI 的 Git 狀態可視化插件

前言

在 DSH(DeepSeek Harness)的 Web UI 中運行會話時,會話的工作目錄經常落在 Git 倉庫裏。開發者需要確認當前分支、髒文件計數、領先/落後遠端的情況,也可能要看最近提交和文件變更。以往需要切到終端執行 git status、git log、git 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 檢索。
羽毛球分组比赛记分
小程序二维码

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

小夜