前言¶
使用 DSH Web GUI 處理工作區文件時,常常需要確認當前對話所在倉庫裏有哪些未提交改動。dsh-git-sidebar 解決的是這類操作成本:它把 Git 工作區改動放到 DSH 對話頁右側,不用離開當前會話界面,就能看到已暫存、未暫存、未跟蹤文件、狀態、行數和單文件 diff。
插件定位¶
dsh-git-sidebar 是 DeepSeek Harness(DSH)Web GUI 的嵌入式 Git 工作區改動側邊欄插件,由 H2O-MERO 維護,採用 MIT 許可證。
它面向 DSH 對話頁,在右側停靠一個 VSCode 風格的未提交改動面板,用於查看當前對話工作區裏的 git 倉庫狀態。
核心能力¶
跟隨當前對話¶
- 打開哪個對話,就顯示哪個對話工作區的 git 倉庫。
- 切換對話時自動跟隨。
- 非 git 倉庫的對話顯示空態提示。
- 明暗主題跟隨 harness 界面自動切換。
查看未提交改動¶
- 文件列表分爲已暫存、更改、未跟蹤三組。
- 文件行帶狀態徽標:
A、M、D、R、U、?。 - 每行顯示
+/−行數。 - 點擊行可展開單文件 diff。
- 重命名文件展示爲
舊 → 新。 - 未跟蹤文件直接顯示內容。
面板控制¶
- 可單獨隱藏某個文件分組。
- 面板和分組均可點擊摺疊。
- 可拖拽調整寬度。
- 寬度與摺疊狀態會持久化。
- 摺疊時只顯示窄把手,不渲染內容、不發起請求。
- 宿主工具詳情面板打開時自動讓位。
打開文件¶
文件行展開後,可以調用系統默認應用打開該文件。
安裝與啓用¶
安裝需要把插件加入 DSH web profile,再重啓 dsh web。
1、把插件加入 profile 的依賴。
編輯 DSH web profile 的 package.json,在 dependencies 中添加:
{
"dependencies": {
"dsh-git-sidebar": "file:./plugins/git-sidebar"
}
}
plugins/git-sidebar 是插件源碼所在目錄,按實際路徑調整。
2、掛載 bundle。
在 profile 的 cordis.patch.yml 中加入:
- insert:
- id: git-sidebar
name: dsh-git-sidebar
config:
repo: "C:/path/to/your/repo"
config.repo 和 config.repos 是初始可訪問倉庫白名單。運行中被會話工作區發現的倉庫也會自動加入可訪問集合。
3、安裝依賴並重啓。
pnpm install
然後重啓 dsh web。
4、驗證。
打開 http://127.0.0.1:3080,進入任意會話頁,右側應能看到「未提交改動」側邊欄。
典型用法¶
先打開一個綁定到 git 工作區的 DSH 對話,修改文件後,在右側側邊欄裏查看狀態:
1、文件出現在已暫存、更改或未跟蹤分組中。
2、點擊文件行查看 +/− 行數和 diff。
3、如果是未跟蹤文件,直接看內容。
4、如果文件被重命名,查看 舊 → 新。
5、需要打開文件時,展開文件行後調用系統默認應用打開。
切換對話後,側邊欄會跟隨新的對話工作區顯示對應 git 倉庫;如果不是 git 倉庫,則顯示空態提示。
適用場景與注意¶
適合這類場景:
- 在 DSH 對話頁處理工作區文件,但不想頻繁切到終端或 IDE。
- 需要快速確認未跟蹤文件、已暫存文件、已修改文件的狀態。
- 需要在當前對話界面裏查看單文件 diff 和打開文件。
- 希望側邊欄寬度、摺疊狀態保持穩定,不打斷當前查看節奏。
注意:
config.repo/config.repos是初始白名單,不等於運行時唯一可訪問倉庫;會話工作區發現的倉庫也會加入。- 非 git 倉庫對話只會看到空態提示。
- 服務端和客戶端改動後需重啓
dsh web。 - 打開文件會調用系統默認應用,具體行爲取決於本機系統設置。
- 該插件以當前 DSH 進程權限運行,安裝前應檢查源碼和 MIT 許可證。
鏈接¶
- GitHub:https://github.com/H2O-MERO/dsh-git-sidebar
- 目錄頁 URL 未在已覈實資料中給出。