Introduction

DeepSeek Harness (DSH) follows the “everything is a plugin” philosophy. As a plugin author, continuously building, publishing, and managing versions is part of daily work. Traditional workflows often require opening a terminal and running commands, or switching between multiple pages (GitHub, npm, local workspace). dsh-plugin-cicd brings this CI/CD workflow inside DeepSeek Harness: a new icon appears in the sidebar, and clicking it opens a dedicated main panel. This panel not only displays the latest CI run status for each repository, but also manages published Releases, checks whether local code is ahead, confirms whether the local profile is installed from a Release tgz or from a link: local checkout, and synchronizes version information from npm. It reuses the locally authenticated gh CLI and the Host’s package manager, without requiring separate storage of GitHub or npm credentials.

Plugin Overview

dsh-plugin-cicd is a client plugin for DeepSeek Harness, designed to address build and release management during plugin development. Through a dedicated UI panel, it centrally displays repository build status, release records, and local code state. It is maintained by SOH4C4759 and licensed under the MIT License.

Core Features

This plugin provides the following core capabilities:

  • CI status monitoring: Displays the status, duration, and trigger event of the latest CI run for each repository.
  • Release management: Displays published Releases, draft Releases, and their asset lists.
  • Local diff checking: Displays the local package.json version, the number of commits ahead of or behind upstream, and the number of uncommitted files.
  • Profile dependency checking: Checks whether the local profile uses a Release tgz or a link: local checkout, and compares version numbers.
  • NPM synchronization: Checks whether the current version exists on npm.
  • No-code operation: Log in to GitHub via a browser and complete the required permissions; manage repositories by selecting them with checkboxes; trigger builds, publish (one-click or draft), and make drafts public with mouse clicks; add an npm token with mouse clicks and push to npm; view failed logs, rerun, or cancel with mouse clicks.

Installation and Activation

To install this plugin, use the DSH command-line tool. After installation, restart DSH for the changes to take effect.

  1. Install the plugin (use the link: method to point to a local checkout):
    dsh plugin --profile desktop add "link:F:\CodeProj\dsh-plugin-cicd"
Or install by downloading a tgz file:
    dsh plugin --profile desktop add "file:$PWD\dsh-plugin-cicd-0.1.0.tgz"
  1. Restart DeepSeek Harness; the “Release Console” icon appears in the sidebar.

Typical Usage

After installation and restart, most operations can be completed with the mouse:

  • Authorization and repository management: Click “Log in to GitHub with a browser” at the top of the panel to authorize. In “Manage Repositories”, check the repositories you want to manage; uncheck a repository to remove it.
  • One-click publish: Click the “One-Click Publish” button, and the plugin automatically completes a series of steps, including committing code, upgrading the version number, triggering a build, waiting for the build, pushing to npm, making the Release public, and posting a Bilibili notification.
  • Push to npm: Expand a repository row and click “Push to npm vX” to publish a specific version to npm (the npm token must be configured at the top of the panel).
  • Update installed plugins: If a new version is detected, an “Update to vX” button appears on the row. After clicking it, the plugin downloads the tgz and installs it. The panel prompts “Restart DSH Now” to activate the new version.

Notes

When using this plugin, keep the following facts and limitations in mind:

  • Prerequisites: The plugin itself must be installed via the command line. Currently, gh (GitHub CLI) must also be installed via the command line and logged in. Creating tags must be done manually (optional).
  • Credential management: GitHub or npm credentials are not stored. GitHub credentials are reused from the local gh CLI; the npm token comes from the Host’s .npmrc; Bilibili credentials are stored in the plugin’s own directory.
  • Concurrency limitation: Only one update operation runs at a time.
  • Status determination: Equal version numbers do not necessarily mean the same code (it may be a link: local checkout).
  • Release restrictions: Repositories with private: true cannot be pushed to npm; a workspace with uncommitted changes cannot be pushed to npm; already published versions cannot be pushed to npm.
  • Fault tolerance: If the pipelines.json file cannot be read, one-click publishing refuses to start.
  • Profile service: The panel’s “Update” feature requires the Host to provide the pluginManager service.

Summary

dsh-plugin-cicd integrates the CI/CD workflow for DSH plugins into the application, providing a visual management interface through the sidebar and a dedicated panel. It supports a one-stop workflow covering code pushing, building, version upgrading, npm publishing, and releasing public Releases, while reusing the local toolchain to remain lightweight. For users developing plugins with DeepSeek Harness, this is a publishing console solution integrated directly into the tool.

  • Plugin homepage: https://www.skillhub.cn/plugins/SOH4C4759/dsh-plugin-cicd
  • GitHub repository: https://github.com/SOH4C4759/dsh-plugin-cicd