dsh-git-sidebar:在 DSH 對話頁查看 Git 工作區未提交改動

前言

使用 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 界面自動切換。

查看未提交改動

  • 文件列表分爲已暫存、更改、未跟蹤三組。
  • 文件行帶狀態徽標:AMDRU?
  • 每行顯示 +/− 行數。
  • 點擊行可展開單文件 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.repoconfig.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 未在已覈實資料中給出。
羽毛球分组比赛记分
小程序二维码

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

小夜