在 DeepSeek Harness (DSH) 的生態中,現有的 GitHub 插件無法完全覆蓋發佈流水線中關於發佈、標籤及淨化鏡像的需求。dsh-github-ops 插件針對這些場景提供了補充。
插件簡介¶
該插件由 GooDAnDReaDY 維護,旨在爲 DSH 提供 GitHub 運維能力。它包含發佈管理、標籤管理、受保護的通用 API 轉發、淨化鏡像發佈、工作流運行以及倉庫設置等功能。
核心功能¶
插件提供了以下核心工具集:
-
發佈與標籤管理
- 發佈管理:支持列表查看、單個查看、創建、編輯、刪除以及資產和備註的管理。通過
gh_release_edit並設置makeLatest: true,可以保持倉庫徽章指向當前版本。 - 標籤管理:支持列表查看、創建(支持輕量級或帶註釋)以及刪除。
- 發佈管理:支持列表查看、單個查看、創建、編輯、刪除以及資產和備註的管理。通過
-
通用 API 訪問
gh_api工具用於訪問 Typed Tools 未覆蓋的接口(如 refs、rulesets、organizations、gists)。讀取操作無需確認,寫入操作(POST/PATCH/PUT/DELETE)需要設置confirm: true。
-
Issue 與 Pull Request 管理
- 支持列表、搜索、創建、評論、關閉、合併 PR。
gh_review提供代碼審查打包功能,包含元數據、區域、差異、評論和 CI 彙總。review_post用於發佈審查結果。
-
CI/CD 檢查
gh_checks用於檢查運行、遺留狀態和合並審查。ci_run提供基於規則的 PR 審查。
-
淨化鏡像發佈
gh_mirror_check用於檢查發佈計劃,確認哪些文件會到達鏡像。gh_mirror_publish用於發佈淨化後的樹,該操作僅在鏡像分支上快進合併,不使用強制推送。
安裝與啓用¶
安裝插件需要 DeepSeek Harness 環境,並確保已安裝 Node 20+。
dsh plugin --profile web add @goodandready/dsh-github-ops
安裝後,需要在 DSH 憑證服務中配置一個 GitHub Token,默認使用名爲 GITHUB_TOKEN 的憑證。
典型用法¶
以下爲插件提供的典型命令示例:
- 列出發佈
gh_release_list
- 創建發佈
gh_release_create
- 查看發佈詳情
gh_release_view
- 生成發佈備註
gh_release_notes_generate
- 發佈淨化鏡像
gh_mirror_publish
- 編輯發佈並保持最新
gh_release_edit makeLatest: true
適用場景與注意¶
- 開發狀態:該插件目前處於開發中,尚未正式發佈。
- 權限與安全:插件以 DSH 進程的權限運行。刪除倉庫、轉移倉庫或刪除組織等高風險操作會被拒絕,即使用戶設置了
confirm: true。 - 緩存策略:讀取操作會使用內存緩存(默認 TTL 爲 60 秒),但寫入操作總是直接寫入網絡並清除緩存。
- 前置條件:使用前需在 DSH 憑證服務中配置 GitHub Token。
總結¶
dsh-github-ops 插件填補了 DSH 在 GitHub 發佈流程和鏡像管理上的空白。通過提供受保護的 API 和淨化發佈功能,它適合需要精細化控制 GitHub 發佈流程的開發者。