DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Plugin Update Checker — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
P

dsh-plugin-update-checker

Plugin Update Checker

A DeepSeek Harness plugin that adds a "Check updates" button to the Plugins settings section: it scans every installed plugin bundle for published updates and evaluates its peer-dependency compatibility against the running DSH runtime.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:windrover/dsh-plugin-update-checker#2534f2bb09b3c04a75b8b8833db85d735382bfa5
READMECompatibilityVersions

Compatibility and provenance

Plugin Update Checker is published as dsh-plugin-update-checker and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/4/2026

Versions

0.1.0stable
10/4/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/10/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Ssh@linxin666/dsh-sshRemote SSH operations for the dsh web GUI: host config store (~/.dsh/dsh-ssh.json, import from ~/.ssh/config), a persistent ssh2 connection pool with jump-host support, exec / PTY web terminal / SFTP transfer / local port-forward tunnels / cluster executiUpdate@linxin666/dsh-updateSelf-update plugin for the dsh web GUI: probes npm for newer family releases and runs the owning profile's pnpm update in place, from a sidebar trigger beside the settings seat with a release-notes panelTui@deepseek-harness-tui/dsh-tuiInteractive terminal interface for DeepSeek Harness agents, sessions and tools.Cc Safety Netcc-safety-netA coding agent CLI hook - block destructive commands and secret file access

README

dsh-plugin-update-checker

English · 中文

A DeepSeek Harness plugin that adds a Check updates button to the Built-in plugins settings section. Click it and the plugin scans every installed plugin bundle for (1) the latest published version on the npm registry and (2) its compatibility with the running DSH runtime — then shows one row per bundle.

It lives beside the read-only inventory tab, itself contributing no configuration: it only reports. Updating or toggling a bundle is still done in the sidebar Plugins page or via dsh plugin.

✨ What it does

CheckSourceNotes
Update availabilitynpm registry (latest dist-tag vs the installed version)Registry-only. Bundles installed from a tarball / git / path publish nothing, so they are reported as Unsupported rather than falsely Up to date.
Compatibilitythe bundle's @deepseek-ai/dsh* peerDependencies vs the running DSH versionReuses @deepseek-ai/dsh-app-boot's evaluatePluginCompatibility, the same helper the launcher applies on boot. An exact-version exemption granted in compatibility.json shows as Compatible (exempted).

Compatibility and update availability are computed independently — a slow or unreachable registry can never hide an incompatible peer range, and a local-only bundle still gets a compatibility verdict.

📸 Where it sits

Open Settings → Built-in plugins. The section now has two tabs:

  • Plugin list — the read-only inventory (shipped by DSH).
  • Check updates — this plugin. It shows the running DSH version, a Check updates button, and the results table (plugin / installed / latest / compatibility / update).

The check is on demand: click the button, the host scans, and the table fills in. One broken manifest or an unreachable registry is isolated to its own row — it never blanks the whole report.

📦 Install

Option A — from this GitHub repository (recommended)

  1. Open the sidebar Plugins page → Add plugin.

  2. In the source field, enter one of these install specs (the launcher resolves them through installBundle, the same primitive the GUI uses):

    github:windrover/dsh-plugin-update-checker
    # or the full URL:
    https://github.com/windrover/dsh-plugin-update-checker
    
  3. Restart to load the new bundle:

    dsh check     # iron rule #1: preflight before restart
    dsh restart   # reloads the web profile; the new bundle loads
    
  4. Open Settings → Built-in plugins → Check updates → Check updates. The Check button's fetch('/api/plugin-update-checker/scan') runs inside the authenticated browser session, so it needs no manual token.

This repository is public, so installing directly from GitHub works without any extra authentication. On networks where registry.npmjs.org is unreachable, the launcher uses registry.npmmirror.com automatically.

Option B — local link (for development / editing the plugin)

  1. Clone the package where your profile can link it:

    # e.g. inside your DSH workspace
    git clone https://github.com/windrover/dsh-plugin-update-checker dsh-plugin-update-checker
    
  2. Link it into your profile. Add a link: dependency + a bundles entry to the profile manifest:

    // ~/.dsh/profiles/web/package.json
    {
      "dependencies": {
        "dsh-plugin-update-checker": "link:/abs/path/to/dsh-plugin-update-checker"
      },
      "dsh": { "profile": { "bundles": [ "…", "dsh-plugin-update-checker" ] } }
    }
    

    Then install. npm install rejects the link: protocol in this profile — use pnpm (the profile is a pnpm workspace), which is what dsh wires under the hood:

    cd ~/.dsh/profiles/web
    pnpm install --registry=https://registry.npmmirror.com   # link: deps don't hit the network
    

    dsh's wire_link_plugin_deps auto-symlinks any @deepseek-ai/* the plugin imports into its own node_modules, but it does not handle plain npm packages — so pre-link the one real dependency yourself (the documented link-plugin gotcha: a link: plugin can't resolve packages that aren't hoisted into its tree):

    mkdir -p dsh-plugin-update-checker/node_modules
    ln -sfn ~/.npm/_npx/<active-dsh-hash>/node_modules/semver \
            dsh-plugin-update-checker/node_modules/semver
    
  3. Restart and open it (dsh check && dsh restart, then the same Settings path as Option A).

🔌 How it is built

One bundle, two halves:

  • Host (lib/index.js → lib/host/update-checker.js) registers POST /api/plugin-update-checker/scan, which walks the profile's bundles (via ctx.remote.pluginManager.listBundles(), falling back to scanning node_modules), reads each manifest, evaluates peer compatibility, and probes the registry. cordis.patch.yml adds the Loader row.
  • Browser (lib/client.js) registers a tab into the settings.plugins.tab slot of the Built-in-plugins section and renders the result with react (require("react")) and the design tokens DSH already exposes. The bundle id equals the package name — the contract dsh-client-modules enforces.

🧪 Test

node test/client-contract.test.mjs

Pins the browser-half contract (id == package name, one settings.plugins.tab registration, renderable body). The host scan was exercised against the live profile during development and returns { ok, dshVersion, checkedAt, plugins: [...] }.

📝 Limitations

  • Read-only — it reports; it does not update or toggle anything.
  • Registry reachability — registry checks need network access to the configured registry; offline or firewalled hosts show Unknown per bundle.
  • Local / git / tarball bundles — publish no registry version, so their update status is Unsupported. Their compatibility is still evaluated from the local manifest.