前言¶
在 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,且啓用
webprofile - 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。
典型用法¶
- 打開一個會話,並確認該會話的工作目錄位於 Git 倉庫內。
- 查看會話頭部的狀態膠囊,無需額外操作。
- 點擊狀態膠囊,查看計數、最近提交和變更文件;需要完整管理時打開 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檢索。