@wongzexu/dsh-git-status: DSH Web Git 狀態浮窗

前言

DeepSeek Harness (DSH) 的插件化架構允許開發者擴展 Web 端能力。在本地開發過程中,頻繁切換終端查看 Git 狀態或查看提交歷史會影響效率。@wongzexu/dsh-git-status 插件直接在 DSH Web 界面右側提供 Git 狀態浮窗,將 commit DAG 泳道圖、未提交改動、stash 以及分支操作集成到編輯器或對話界面的側邊,減少上下文切換。

是什麼

@wongzexu/dsh-git-status 是一個獨立運行的 Git 狀態插件,專爲 DSH Web 端設計。它通過右緣浮窗展示 Git 倉庫狀態,核心能力包括 commit DAG 泳道圖渲染、未提交改動分類、stash 管理、行內 diff 查看以及完整的分支/遠程操作。

插件由 Wongzexu 維護,基於 MIT 許可證開源,零第三方依賴(無 React、無構建產物依賴)。

安裝與依賴

使用該插件前,需確保環境滿足以下條件:
1. DSH web 端已安裝並運行。
2. 系統已安裝 git 命令行工具(插件通過系統 git 執行所有操作)。

安裝插件:

dsh plugin --profile web add @wongzexu/dsh-git-status

啓用插件:
1. 重啓 DSH web 服務。
2. 打開 DSH Web 頁面,進入設置頁的“插件”面板,確認 @wongzexu/dsh-git-status 已啓用。

核心功能

該插件提供以下主要功能:

  • 浮窗交互
    面板支持拖拽移動,位置會自動記憶。右上角設有懸浮開關按鈕,關閉後可重新展開。

  • Commit DAG 泳道圖
    使用網格制 SVG 渲染。第一父鏈成線,列分配採用貪心最左算法,泳道支持複用。合併提交會有連線,HEAD 處顯示加粗圓點。

  • Refs 徽標
    顯示 HEAD(游離)、分支(金色)、遠程(藍色)、標籤(綠色)。支持同名本地/遠程分支合併顯示,或同一分支有多個遠程時的計數摺疊。

  • 未提交改動虛擬行
    當工作區有改動時,圖頂部會插入虛擬行,用空心圓和灰色虛線連接 HEAD。分類顯示未暫存和已暫存的文件處數,點擊展開詳情。

  • 暫存與提交
    提供暫存全部、貯藏未提交改動、放棄全部未提交(包含未跟蹤文件)的操作。支持提交已暫存內容或修訂上一條提交,多行提交信息使用快捷鍵提交。

  • Stash 顯示與操作
    stash 節點以雙層圓和徽標顯示在圖中。支持展開詳情、應用、彈出、從 stash 創建分支及刪除操作。

  • 行內展開詳情
    點擊 commit 行可展開提交信息、變更文件列表及逐文件的 diff 詳情。

  • 分支操作
    右鍵本地分支徽標可進行切換、合併(支持 NoFF/Squash)、重命名、刪除(含強制刪除)。支持變基、重置到指定提交、創建 tag。

  • 遠程操作
    支持一鍵拉取所有遠程倉庫(git fetch --all)。右鍵遠程分支可創建本地分支並檢出,或進行刪除操作。推送支持 normal、force-with-lease 和 force 模式。

  • 衝突處理
    顯示未解決衝突以及合併/rebase 進行中的狀態。提供中止/繼續操作入口。

  • 即時刷新
    通過 SSE 訂閱 /git/events 實現即時刷新,斷連時自動切換至 10s 輪詢兜底。

使用方法

安裝並啓用後,進入任意聊天視圖:

  1. 展開浮窗
    點擊面板右上角外側的分支圖標按鈕,展開「Git 狀態」浮窗。

  2. 查看詳情
    點擊 commit 行可展開查看提交信息和 diff;右鍵 stash 徽標可應用或刪除;右鍵 commit 行可創建 tag 或在該提交基礎上創建分支。

  3. 分支與遠程操作
    右鍵本地分支徽標可進行切換、合併、變基、重命名或刪除。右鍵遠程分支徽標可創建本地分支或拉取合併。點擊浮窗頭部的「⇣」按鈕可一鍵拉取所有遠程倉庫。

  4. 處理未提交改動
    右鍵未提交改動虛擬行可暫存全部、貯藏改動或放棄全部未提交。右鍵 stash 徽標可應用、彈出或刪除。

注意事項

  • 包名區分:npm 上存在同名但無作用域的包 dsh-git-status(非本插件),安裝時請認準 @wongzexu/dsh-git-status。
  • 環境依賴:插件依賴當前 DSH 進程所在的 git 倉庫。如果當前會話不是 git 倉庫,浮窗會顯示提示,需切換到倉庫目錄所在的會話。
  • 權限與安全:插件通過系統 git 執行寫操作,請確保在可信環境中使用。

總結

@wongzexu/dsh-git-status 通過可視化浮窗將 Git 基礎操作直接集成到 DSH Web 界面中,減少了開發者查看狀態和執行常規 Git 命令的步驟。對於需要在 DSH 環境下進行高頻 Git 操作的開發者,該插件提供了較爲完整的 CLI 能力替代方案。

GitHub 倉庫

羽毛球分组比赛记分
小程序二维码

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

小夜