前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的理念。作爲插件作者,持續構建、發佈以及管理版本是日常工作的一部分。傳統的流程往往需要打開終端執行命令,或者在多個頁面(GitHub、npm、本地工作區)之間切換。dsh-plugin-cicd 將這套 CI/CD 流程搬進了 DeepSeek Harness 內部:側邊欄增加了一個圖標,點擊後進入一個獨立的主面板。這個面板不僅顯示每個倉庫的最近一次 CI 運行狀態,還管理已發佈的 Release、檢查本地代碼是否領先、確認本機 profile 裝的是 Release 的 tgz 還是 link: 本地檢出,以及同步 npm 上的版本信息。它複用了本機已認證的 gh CLI 和 Host 的包管理器,不需要單獨保存 GitHub 或 npm 的憑據。
插件簡介¶
dsh-plugin-cicd 是 DeepSeek Harness 的一個客戶端插件,旨在解決插件開發過程中的構建與發佈管理問題。它通過一個獨立的 UI 面板,集中展示倉庫的構建狀態、發佈記錄以及本地代碼狀態。該插件由 SOH4C4759 維護,採用 MIT 許可證。
核心功能¶
該插件提供以下核心能力:
- CI 狀態監控:顯示每個倉庫最近一次 CI 運行的狀態、耗時以及觸發事件。
- Release 管理:顯示已發佈的 Release、草稿 Release 以及其資產清單。
- 本地差異檢查:顯示本地
package.json的版本、領先或落後上游的提交數、未提交文件數。 - Profile 依賴檢查:檢查本機 profile 裝的是 Release 的 tgz 還是 link: 本地檢出,並對比版本號。
- NPM 同步:在 npm 上檢查當前版本是否存在。
- 零代碼操作:通過瀏覽器登錄 GitHub 並補齊權限;通過鼠標勾選管理倉庫;通過鼠標觸發構建、發佈(一鍵或草稿)、公開草稿;通過鼠標添加 npm token 並推送到 npm;通過鼠標查看失敗日誌、重跑或取消。
安裝與啓用¶
安裝該插件需要使用 DSH 的命令行工具。安裝後需要重啓 DSH 才能生效。
- 安裝插件(使用 link: 方式指向本地檢出):
dsh plugin --profile desktop add "link:F:\CodeProj\dsh-plugin-cicd"
或者通過下載 tgz 文件安裝:
dsh plugin --profile desktop add "file:$PWD\dsh-plugin-cicd-0.1.0.tgz"
- 重啓 DeepSeek Harness,側邊欄會出現「發佈臺」圖標。
典型用法¶
安裝並重啓後,可以通過鼠標完成大部分操作:
- 授權與倉庫管理:點擊面板頂部的「用瀏覽器登錄 GitHub」進行授權。在「管理倉庫」中勾選需要管理的倉庫,取消勾選可移除。
- 一鍵發佈:點擊「一鍵發佈」按鈕,插件會自動完成代碼提交、版本號升級、觸發構建、等待構建、推送到 npm、公開 Release 以及 B 站播報等一系列流程。
- 推送到 npm:展開倉庫行,點擊「推送到 npm vX」可以將特定版本發佈到 npm(需在面板頂部配置好 npm token)。
- 更新已裝插件:如果檢測到有新版本,行上會出現「更新到 vX」按鈕。點擊後會下載 tgz 並安裝,面板會提示「立即重啓 DSH」以使新版生效。
注意事項¶
使用該插件時,需注意以下事實與限制:
- 前置依賴:需要命令行安裝該插件本身;目前需要命令行安裝
gh(GitHub CLI)並登錄;打 tag 操作需要手動執行(可選)。 - 憑據管理:不保存 GitHub 或 npm 的憑據。GitHub 憑據複用本機
ghCLI;npm token 來自 Host 的.npmrc;Bilibili 憑據保存在插件自己的目錄中。 - 併發限制:一次只跑一個更新操作。
- 狀態判斷:版本號相等不代表同一份代碼(可能是 link: 本地檢出)。
- 發佈限制:
private: true的倉庫不能推送到 npm;工作區有未提交改動不能推送到 npm;已發佈的版本不能推送到 npm。 - 容錯機制:
pipelines.json文件讀不出來時,一鍵發佈會拒絕啓動。 - Profile 服務:面板的「更新」功能需要 Host 提供
pluginManager服務。
總結¶
dsh-plugin-cicd 將 DSH 插件的 CI/CD 流程集成到了應用內部,通過側邊欄和獨立面板提供了可視化的管理界面。它支持從代碼推送、構建、版本升級到 npm 發佈、Release 公開的一站式操作,同時複用本機工具鏈以保持輕量。對於使用 DeepSeek Harness 進行插件開發的用戶,這是一個直接集成在工具內的發佈臺解決方案。
- 插件主頁:https://www.skillhub.cn/plugins/SOH4C4759/dsh-plugin-cicd
- GitHub 倉庫:https://github.com/SOH4C4759/dsh-plugin-cicd