DSH(DeepSeek Harness)採用插件化架構,支持在 Web 界面中擴展功能。dsh-git-vcs 是一個實現 Git 版本控制能力的插件,它在 DSH Web GUI 的右側欄新增了「版本管理」頁,將本地變更管理、提交樹查看、分支與貯藏管理等核心操作集成到瀏覽器端。
插件定位與功能¶
該插件由 TiChuXiXi 維護,基於 MIT 協議開源。它主要解決在 Web 界面下進行代碼版本管理的問題,功能參照 IntelliJ IDEA 的 Version Control 工具窗(Alt+9)與 Commit 工具窗(Alt+0)設計。
核心功能點如下:
- 右側欄入口:在右側欄註冊了「版本管理」頁(
order: 20),同時引導頁提供膠囊入口。分欄、全屏及展開/收起由官方的@deepseek-ai/dsh-client-ui-sidebar-right插件處理。 - 版本管理能力:支持本地變更查看與勾選提交、提交樹(多泳道圖,支持
--all)、分支/遠程/貯藏管理、以及 Git 命令流水記錄。 - 非倉庫處理:當打開的目錄不是 Git 倉庫時,頁面會切換爲居中的空態,並提供一鍵初始化倉庫的按鈕。
安裝與啓用¶
- 安裝插件
通過官方 CLI 安裝該插件:
dsh plugin --profile web add dsh-git-vcs
確保當前環境兼容。該插件需要 DeepSeek Harness 版本 **≥ 0.1.7-rc.2**。
- 驗證安裝
安裝完成後,檢查配置是否生效:
dsh --profile web --dump-config | Select-String "dsh-git-vcs"
- 代碼生效
插件採用零構建策略,但修改了index.js(host 側)或cordis.patch.yml後,必須重啓dsh web進程才能生效。修改lib/client.js(瀏覽器側)則只需刷新頁面。
技術實現與依賴¶
- 零構建:插件無編譯步驟,直接使用 ESM 格式,不依賴運行時庫。
- 依賴服務:
subprocess:用於在 host 進程中執行 git 命令(以 argv 形式,不進 shell)。connection:用於 RPC 通道的信任柵欄校驗。webServer:用於註冊/git-vcsRPC 路由。
- RPC 通道:插件通過
/git-vcsRPC 通道向 host 發起 Git 操作請求。Host 側執行後,返回標準化的錯誤碼(如git-vcs/not-a-repo、git-vcs/write-disabled等)及數據。
典型用法¶
- 查看倉庫狀態:在右側欄打開「版本管理」頁,查看當前會話工作目錄下的變更、分支與提交歷史。
- 初始化倉庫:如果打開的目錄不是 Git 倉庫,點擊頁面中央的「在當前目錄初始化 Git 倉庫」按鈕即可完成初始化。
- 調用命令:通過
/git-vcsRPC 通道調用具體的 Git 命令端點(如repo/info獲取倉庫元數據,status獲取變更狀態等)。
總結¶
dsh-git-vcs 爲 DSH Web 界面提供了完整的 Git 版本控制能力,使其具備了類似 IDE 的操作體驗。開發者可以通過標準的 RPC 接口或右側欄 UI 進行代碼的提交、分支管理與歷史回溯。
- 倉庫地址: https://github.com/TiChuXiXi/dsh-git-vcs
- 目錄頁: https://www.skillhub.cn/plugins/TiChuXiXi/dsh-git-vcs