Skip to main content
F

dsh-plugins-update

fengzhiyushui/dsh-plugins-update

Update checker and installer companion for third-party DSH plugins with startup sidebar and row badges that reconcile after native updates, concurrent CDN checks and upgrades for GitHub branch/tag (#ref) and monorepo subpath specs, npm/npmmirror/custom registry switching with official fallback, minimumReleaseAge bypass, snapshot rollback with offline lockfile alignment, and an optional detail-page toggle.

Install

dsh plugin --profile web add github:fengzhiyushui/dsh-plugins-update

README

dsh-plugins-update

dsh-plugins-update icon

A lightweight updater & power-tool companion for third-party DeepSeek Harness (DSH) plugins.
Proactive Global Reminders · One-Click GitHub Plugin Updates · Smart Native UI Coexistence · Release Age Policy Bypass

License: MIT Release

English | 简体中文


Important Notice: DeepSeek Harness (DSH) has natively supported checking and updating plugins since 0.2.2-rc.1. Starting from v0.2.2, this plugin adapts to coexist with DSH's native update mechanism (compatible with DSH 0.2.2-rc.1 through 0.2.2-rc.3, locally verified on 0.2.2-rc.3).

Introduction

dsh-plugins-update is a lightweight update enhancement plugin for DeepSeek Harness (DSH) that extends the built-in plugin manager in everyday maintenance scenarios:

  • Background Probing & Global Reminders: At startup, the plugin runs lightweight concurrent HTTP checks across installed third-party plugins, adds a numeric update counter badge on the sidebar Plugins item, and attaches native-style Update available tags next to plugin titles in the installed list—letting you see pending updates without opening each plugin one by one. Also automatically reconciles pending badges when DSH's native update/install dialog finishes.
  • Native-First Layering & On-Demand Fast Channel: By default (when using the official npmjs registry), standard npm plugin detail pages yield cleanly to DSH's native update controls with zero duplicate buttons. For GitHub repository plugins, setups using npmmirror / custom registries, or when Always show the Fast Update button on plugin detail pages is enabled in settings, this plugin exposes a direct ⚡ Fast Update channel.
  • Registry Switching & Failure Rollback: Choose between npm official, npmmirror, or custom private registries in settings, with optional automatic fallback to npm official if a mirror fails. Before upgrading, the plugin snapshots your profile's package.json and pnpm-lock.yaml, restores them automatically on install or version-verification failure, and performs best-effort offline lockfile alignment if node_modules drifted.
  • GitHub Update Signal: For GitHub-sourced plugins (including #ref branch/tag targets, 40-char commit-pinned specs, and monorepo &path:<subdir> specs), updates are detected via concurrent HTTP requests racing jsDelivr and raw.githubusercontent.com for the target package.json version field (upstream repositories must bump version to trigger an update notice), while upgrading pulls the latest commit on the configured branch/tag (or default branch when commit-pinned or unpinned).

Features

  • Enhanced GitHub Plugin Update Support: Supplements DSH native updates (where unpinned branch/tag/shorthand specs and &path:<subdir> monorepo paths are not handled natively) by racing global CDN and GitHub raw endpoints on package.json for one-click upgrades while preserving #ref and &path:<subdir>;
  • Proactive Global Reminders: Performs lightweight startup/background HTTP checks without spawning pnpm view subprocesses, showing a sidebar numeric badge on Plugins and inline Update available tags on installed plugin rows (while avoiding duplicates with DSH native tags);
  • Native-First Coexistence + Optional Toggle: Yields standard official npm detail pages to DSH native by default, while keeping GitHub plugins, mirror/custom registries, and an explicit settings toggle ready whenever single-step fast updates are needed;
  • Release Age Policy Bypass: Automatically catches and bypasses pnpm minimumReleaseAge restrictions so newly published versions can be updated immediately;
  • Snapshot & Safe Rollback: Snapshots package.json and pnpm-lock.yaml before updates, verifies installed semver versions afterward, and restores/realigns on failure;
  • Multi-Registry & Fallback: Supports npm official, npmmirror, and custom HTTP/HTTPS registries with optional fallback retry to npm official;
  • Native Design System & Bilingual (i18n): Built with DSH UI primitives and synchronized English / Simplified Chinese localization.

Install

In DSH open Plugins → Add plugin and enter:

fengzhiyushui/dsh-plugins-update

Or by npm package name:

dsh-plugins-update

Or use the DSH CLI:

dsh plugin --profile desktop add fengzhiyushui/dsh-plugins-update

Development

pnpm install
pnpm run build

License

MIT License © fengzhiyushui

Related plugins