前言¶
在 DeepSeek Harness 的開發場景中,Agent 需要清晰理解 Git 倉庫的拓撲結構,包括提交歷史、分支合併情況以及工作樹狀態。dsh-git-graph 插件爲 Harness 提供了可視化的提交圖視圖和工具接口,使 Agent 能夠通過瀏覽器側邊欄查看 Lane 圖,並直接調用 git_graph 和 git_worktree 工具進行查詢。
插件介紹¶
這是一個 DeepSeek Harness 插件,由 DevViking-Persike 維護,採用 MIT 許可證。
它的核心價值在於:
1. 在瀏覽器中提供可視化的提交圖視圖,顯示車道、分支和合並信息。
2. 提供工作樹列表。
3. 向 Agent 提供可推理的文本化工具接口。
安裝與配置¶
在終端中運行以下命令安裝插件:
dsh plugin --profile web add github:DevViking-Persike/dsh-git-graph
安裝完成後需要重啓 dsh 進程。
使用方式¶
重啓 dsh 後,輸入框旁邊會出現一個 ⎇ grafo 按鈕。點擊該按鈕打開面板,手動輸入倉庫路徑並加載歷史記錄。加載後,Agent 即可使用 git_graph 和 git_worktree 工具。
核心功能¶
- 提交圖視圖:每個提交顯示爲彩色車道上的一個點。首父節點連線保持直線,合併連線在不同車道間彎曲。分支和標籤標籤會顯示在對應提交旁,當前分支標記爲
*。 - 工作樹列表:圖形下方會列出所有工作樹及其分支狀態(如
[detached]或[bare])。 - Agent 工具:
git_graph:提供包含車道、父節點、引用和工作樹摘要的歷史信息。git_worktree:列出工作樹及其分支。
- 安全機制:插件僅提供讀取權限,不執行提交、檢出、創建或移除任何操作。
配置項¶
插件支持通過配置文件調整歷史記錄深度和路由路徑。
limit:歷史記錄深度限制,默認爲 300。route:瀏覽器端訪問路徑,默認爲/git-graph。
示例配置:
- id: dsh-git-graph
name: 'dsh-git-graph'
config:
limit: 500
適用場景與注意¶
- 適用場景:需要查看 Git 提交歷史拓撲結構、分析分支合併情況、管理本地工作樹的 Agent 任務。
- 權限限制:插件以只讀模式運行,通過固定參數調用 Git 子進程,避免 Shell 注入風險。
- 已知限制:
- 歷史記錄深度有限(默認 300),無法加載全部歷史。
- 需手動輸入倉庫路徑,無法自動檢測會話的當前工作目錄(cwd)。
- Ref 裝飾不顯示 stash 條目。
- 面板中不提供工作樹的創建或移除操作。
結語¶
dsh-git-graph 爲 Harness 提供了直觀的 Git 可視化能力,適合需要深入理解代碼庫結構的場景。更多詳情可查閱 SkillHub 目錄 或 GitHub 倉庫。