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
羽毛球分组比赛记分
小程序二维码

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

小夜