dsh-git-vcs:DSH Web GUI 的 Git 版本管理插件

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 倉庫時,頁面會切換爲居中的空態,並提供一鍵初始化倉庫的按鈕。

安裝與啓用

  1. 安裝插件
    通過官方 CLI 安裝該插件:
    dsh plugin --profile web add dsh-git-vcs
確保當前環境兼容。該插件需要 DeepSeek Harness 版本 **≥ 0.1.7-rc.2**。
  1. 驗證安裝
    安裝完成後,檢查配置是否生效:
    dsh --profile web --dump-config | Select-String "dsh-git-vcs"
  1. 代碼生效
    插件採用零構建策略,但修改了 index.js(host 側)或 cordis.patch.yml 後,必須重啓 dsh web 進程才能生效。修改 lib/client.js(瀏覽器側)則只需刷新頁面。

技術實現與依賴

  • 零構建:插件無編譯步驟,直接使用 ESM 格式,不依賴運行時庫。
  • 依賴服務:
    • subprocess:用於在 host 進程中執行 git 命令(以 argv 形式,不進 shell)。
    • connection:用於 RPC 通道的信任柵欄校驗。
    • webServer:用於註冊 /git-vcs RPC 路由。
  • RPC 通道:插件通過 /git-vcs RPC 通道向 host 發起 Git 操作請求。Host 側執行後,返回標準化的錯誤碼(如 git-vcs/not-a-repo、git-vcs/write-disabled 等)及數據。

典型用法

  1. 查看倉庫狀態:在右側欄打開「版本管理」頁,查看當前會話工作目錄下的變更、分支與提交歷史。
  2. 初始化倉庫:如果打開的目錄不是 Git 倉庫,點擊頁面中央的「在當前目錄初始化 Git 倉庫」按鈕即可完成初始化。
  3. 調用命令:通過 /git-vcs RPC 通道調用具體的 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
羽毛球分组比赛记分
小程序二维码

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

小夜