dsh-plugin-cicd:DSH 插件的持續構建與發佈臺

前言

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 才能生效。

  1. 安裝插件(使用 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"
  1. 重啓 DeepSeek Harness,側邊欄會出現「發佈臺」圖標。

典型用法

安裝並重啓後,可以通過鼠標完成大部分操作:

  • 授權與倉庫管理:點擊面板頂部的「用瀏覽器登錄 GitHub」進行授權。在「管理倉庫」中勾選需要管理的倉庫,取消勾選可移除。
  • 一鍵發佈:點擊「一鍵發佈」按鈕,插件會自動完成代碼提交、版本號升級、觸發構建、等待構建、推送到 npm、公開 Release 以及 B 站播報等一系列流程。
  • 推送到 npm:展開倉庫行,點擊「推送到 npm vX」可以將特定版本發佈到 npm(需在面板頂部配置好 npm token)。
  • 更新已裝插件:如果檢測到有新版本,行上會出現「更新到 vX」按鈕。點擊後會下載 tgz 並安裝,面板會提示「立即重啓 DSH」以使新版生效。

注意事項

使用該插件時,需注意以下事實與限制:

  • 前置依賴:需要命令行安裝該插件本身;目前需要命令行安裝 gh(GitHub CLI)並登錄;打 tag 操作需要手動執行(可選)。
  • 憑據管理:不保存 GitHub 或 npm 的憑據。GitHub 憑據複用本機 gh CLI;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
羽毛球分组比赛记分
小程序二维码

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

小夜