DeepSeek Harness 插件:dsh-git-manager

前言

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在進行智能體開發或日常交互時,Git 倉庫的管理與 GitHub 流程的流轉往往需要頻繁切換終端窗口。dsh-git-manager(原名 gitcompass)旨在解決這一問題,它將 Git 操作與 GitHub 流程可視化地集成到 DSH 的 Web 界面中,同時爲 Agent 提供結構化的工具接口。

插件介紹

dsh-git-manager 是一個 GitHub 連接的 Git 可視化管理器。由 Dayi-Z 維護,採用 MIT 許可證。它不僅提供了可視化的操作面板,還內置了引導式 GitHub 流程和結構化的 Git 工具,旨在降低 Agent 處理版本控制的複雜度。

核心功能

引導流條
頂部提供可視化步驟指示器,引導完成 GitHub Flow 的標準流程:分支創建 → 提交 → 推送 → 創建 PR → 審覈與合併。

分支與變更管理
- 分支管理:支持查看本地/遠程分支,執行切換、創建、刪除、重命名、合併、獲取及檢出遠程分支操作。
- 變更視圖:展示文件狀態(已暫存/未暫存/未跟蹤),支持暫存/取消暫存、提交、查看差異、暫存、推送、拉取及獲取。

提交圖與 PR 管理
- 提交圖:採用類似 GitLens 的分 Lane 可視化佈局,顯示 SHA、提交信息,並帶有 PR 標記。支持將提交 Cherry-pick 到當前分支或回滾提交。
- PR 管理:支持 PR 列表查看、詳情展示(包含檢查、審覈、評論),創建 PR、Squash 合併,以及進行審覈(批准/請求變更/評論)和添加評論。

Issue 管理
提供 Issue 列表、詳情查看、創建新 Issue 及添加評論的功能。

GitHub 集成
- 支持設備流 OAuth 登錄、PAT 輸入以及 gh CLI 的複用。
- 在 Windows 上使用 DPAPI 對令牌進行加密存儲,確保安全。

Agent 結構化工具
爲模型提供標準化的 Git 和 GitHub 工具調用接口,包括 git_status、git_diff、git_branches、git_commit、github_pr_* 及 github_issue_* 等系列工具。

Agent 活動監控
通過 SSE 實時流監控 Agent 的每一次工具調用(開始/完成/失敗)。同時,工作區觀察器會輪詢工作區狀態,捕獲插件工具之外執行的外部 Git 操作(如新的提交、分支切換、工作樹變更),並在活動流中標記。

面板內審批
針對寫入操作,面板會彈出審批卡片,支持直接“批准”或“拒絕”。該機制與 DSH 原生模態競速,先決勝。無論審批策略如何設置(包括 never 策略),面板內的審批路徑均可生效。若未連接面板,調用會快速失敗並提示打開面板。

主題與國際化
- 面板 Chrome 完全基於 DSH 主題令牌構建,無需手動換膚,支持跟隨 Light/Dark 模式及第三方皮膚。
- 自動跟隨 DSH Web 的語言設置(中文/英文)。

安裝與啓用

安裝插件:

dsh plugin --profile web add dsh-git-manager

本地開發模式:

dsh plugin --profile web add link:/path/to/dsh-git-manager

安裝完成後,重啓 dsh web。打開一個綁定到 Git 倉庫的會話,右側列會出現“Git Manager”面板。

架構與宿主模式

插件以 Cordis 插件形式註冊,包含 HTTP 路由、工具定義、SSE 事件流及前端 UI。

雙宿主模式
- 依賴 dsh-better-sidebar 時:插件會註冊爲側邊欄的一個 Tab,放棄獨立的右列,面板內容通過側邊欄切換。
- 不依賴 dsh-better-sidebar 時:插件保持獨立的右列卡片模式,卡片頭部包含摺疊手柄。摺疊後僅保留頭部,並停止後臺輪詢。

工作區感知
面板會解析所屬會話的 cwd。同時,插件會監聽文件工具(read、write 等)的路徑參數,自動向上查找倉庫根目錄並註冊。自動註冊的倉庫會標記爲 name · auto,數量上限爲 20 個,且優先淘汰最舊的自動條目。

注意事項

  • 插件已從 gitcompass 重命名爲 dsh-git-manager(2.0.0 起),涉及包名、HTTP 路由(/gitm/*)及 CSS 變量。
  • 權限:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
  • 依賴:dsh-better-sidebar 爲可選依賴,用於側邊欄模式;若無此依賴,插件自動降級爲獨立卡片模式。
  • 環境:依賴 DSH 版本 >=0.1.0-rc.6 及 Node.js ^22.19 || >=24。

總結

dsh-git-manager 將 Git 操作與 GitHub 流程可視化的同時,通過結構化工具與活動監控,增強了 Agent 對代碼庫狀態的掌控力。其雙宿主模式設計確保了在有無側邊欄環境下的兼容性,是構建 DeepSeek Harness 智能體時的實用輔助工具。

目錄頁 | GitHub 倉庫

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

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

小夜