dsh-plugins-update
fengzhiyushui/dsh-plugins-update
第三方 DSH 插件检查与更新增强工具,启动后台探测并在侧边栏与已安装列表展示更新角标(原生弹窗更新完成后自动同步消隐),支持 GitHub 仓库及分支/标签(#ref)、固定 commit 解锁与 monorepo 子路径的 CDN 并发竞速检测与升级,提供 npm/npmmirror/自定义源切换与官方源回退、minimumReleaseAge 观察期绕过、快照与离线回滚对齐,以及默认让位原生与按需开启详情页更新按钮。
安装
dsh plugin --profile web add github:fengzhiyushui/dsh-plugins-updateREADME
dsh-plugins-update
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
English | 简体中文
Important Notice: DeepSeek Harness (DSH) has natively supported checking and updating plugins since
0.2.2-rc.1. Starting fromv0.2.2, this plugin adapts to coexist with DSH's native update mechanism (compatible with DSH0.2.2-rc.1through0.2.2-rc.3, locally verified on0.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
Pluginsitem, and attaches native-styleUpdate availabletags 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
npmjsregistry), 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 Updatechannel. - 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'spackage.jsonandpnpm-lock.yaml, restores them automatically on install or version-verification failure, and performs best-effort offline lockfile alignment ifnode_modulesdrifted. - GitHub Update Signal: For GitHub-sourced plugins (including
#refbranch/tag targets, 40-char commit-pinned specs, and monorepo&path:<subdir>specs), updates are detected via concurrent HTTP requests racing jsDelivr andraw.githubusercontent.comfor the targetpackage.jsonversionfield (upstream repositories must bumpversionto 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 onpackage.jsonfor one-click upgrades while preserving#refand&path:<subdir>; - Proactive Global Reminders: Performs lightweight startup/background HTTP checks without spawning
pnpm viewsubprocesses, showing a sidebar numeric badge onPluginsand inlineUpdate availabletags 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
minimumReleaseAgerestrictions so newly published versions can be updated immediately; - Snapshot & Safe Rollback: Snapshots
package.jsonandpnpm-lock.yamlbefore 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