dsh-sidebar-git-graph:DeepSeek Harness 的只讀 Git 提交圖譜側邊欄

前言

在 DeepSeek Harness(DSH)的智能體開發或工具鏈構建過程中,開發者經常需要在本地查看倉庫的提交歷史與工作樹狀態。傳統的命令行工具雖然精確,但在可視化和上下文切換上存在成本。

dsh-sidebar-git-graph 旨在解決這個問題。它作爲一個客戶端插件,爲 DSH 的 Web 端提供右側欄頁面,直接將當前會話的倉庫渲染爲可視化的 Git 提交圖譜。該插件支持 VS Code 風格的分支/合併泳道與貝塞爾曲線,並可與 dsh-better-sidebar 共存。

插件簡介

這是 AFunDog 維護的一個 DSH 插件,主要解決多倉庫、多工作樹場景下的 Git 歷史查看與變更追蹤需求。它通過只讀模式,利用六條 Git 命令在本地構建視圖,不執行任何寫入操作。

核心功能

1. 可視化提交圖譜
頁面展示只讀的 Git 提交圖譜,採用 VS Code 風格的泳道設計。每條歷史線佔據一個泳道,分支分叉與匯入處使用貝塞爾曲線連接。合併提交的圓點較大,當前 HEAD 所在泳道會使用主題色高亮。每個提交節點顯示 Ref 芯片(本地分支、遠程分支、標籤),當前分支的文字顏色與主題配色對齊。

2. 工作樹改動區
在圖譜上方提供工作樹改動區,展示暫存區、未暫存區和合並中的更改。每行顯示文件狀態字母(M/A/D/R/C/U)及增刪行數。用戶點擊行即可就地展開 Diff,改動區支持摺疊且會記住狀態。

3. 多倉庫與多工作樹支持
當工作區包含多個倉庫時,頂部會出現下拉框供用戶選擇。支持切換不同倉庫,並記住用戶的選擇。對於使用 git worktree 管理的場景,插件支持列出並切換不同工作樹,每個工作樹展示各自的分支與未提交改動。

4. 搜索與詳情查看
提供提交信息搜索功能,高亮命中項並逐個跳轉(不過濾列表)。點擊提交行可查看詳情,包括完整 SHA、作者、時間、父提交及參與 refs。下方列出該提交改動的文件清單,點擊文件可展開 Patch 視圖。

5. 性能與限制
使用虛擬列表技術,窗口內僅渲染可見行,優化了大量提交時的性能。頁面在非激活狀態時不發送請求。但虛擬列表限制窗口內最多 2000 條,單次最多 3000 行改動。

安裝與啓用

在安裝前,請確保宿主環境滿足要求:@deepseek-ai/dsh >= 0.1.7-rc.1。

執行以下命令安裝插件:

dsh plugin --profile web add github:AFunDog/dsh-sidebar-git-graph

安裝完成後,需要重啓 dsh web 宿主進程以加載新路由。

啓用步驟如下:
1. 打開 DSH Web 客戶端。
2. 在右側欄選擇「Git 圖譜」(若安裝了 dsh-better-sidebar,可在 + 菜單中找到;裸 DSH 則在引導頁)。
3. 使用頂部下拉框切換倉庫或工作樹。
4. 點擊圖譜中的行或文件列表中的項查看詳情。

適用場景與注意

該插件適用於需要頻繁在本地查看 Git 歷史和變更的開發者。它特別適合管理包含嵌套倉庫或多個 git worktree 的工作區。

注意事項:
* 只讀設計:插件不執行 checkout、commit、reset、rebase、fetch/push、add、restore 等寫入命令,只使用 rev-parse、status、for-each-ref、log、diff、worktree list。
* 本地依賴:圖譜僅基於本地倉庫,不進行網絡請求,因此遠端更新需先執行 git fetch。
* 版本區分:NPM 上的 dsh-git-graph 是另一個作者的插件,本插件爲 @zeng/dsh-sidebar-git-graph。

總結

dsh-sidebar-git-graph 通過可視化的方式,將 Git 歷史與工作樹狀態集成到 DSH 的側邊欄中。它剋制地只讀數據,通過虛擬列表和精細化渲染,提供了流暢的查看體驗。對於構建基於 DSH 的開發工具鏈,這是一個輔助查看狀態的高效組件。

插件目錄 | GitHub 倉庫

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

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

小夜