DSH Hub
dsh-plugin-console cover

Noob-stupid/dsh-plugin-gating-hub

dsh-plugin-console

UIWeb UI114 GitHub stars· updated 2026-10-27

DSH plugin - framework upgrade safety & plugin gating: contract pre-check, rollback point, auto-rollback on failure, evidence-based auto-disable; plus a multi-source plugin market. Unofficial.

Install

npx @deepseek-ai/dsh plugin --profile web add @noob-stupid/dsh-plugin-console

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-plugin-console DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-plugin-gating-hub.svg)](https://dshhub.dev/plugins/dsh-plugin-gating-hub)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from Noob-stupid/dsh-plugin-gating-hub, cleaned of badges and images.

<sub><b>Web</b> & <b>Desktop</b> — both supported.</sub>

English: README.md | 中文: README.zh.md


DSH Plugin Gating Hub (dsh-plugin-gating-hub)

Renamed from dsh-plugin-hub — old URLs redirect.

Framework-upgrade safety and plugin-version gating for DSH. A failed upgrade rolls back. A framework changed by any update channel is still guarded. A version the host cannot take is refused, not installed.

Install (npm, one line)

dsh plugin --profile web add @noob-stupid/dsh-plugin-console

Then restart the dsh service → refresh the page → Settings → Plugins → Plugin Console.

Three hard guarantees

  • 🛡️ Contract pre-check → rollback point → auto-rollback. A data-driven contract pre-check runs first (message contract / dependency API / config schema / removed API / loader contract); then config backup + a full-tree rollback point. A failed install or relaunch auto-rolls the tree back, a 「roll back to previous」 button restores the last version, and plugins the new framework cannot load are auto-disabled — version check catches fake success, 15-min timeout + stall detection.
  • 👁️ Even when another update channel changes the framework. An environment fingerprint catches changes made by the official desktop updater or a manual pnpm: it auto-runs a read-only pre-flight, and disables a row only with hard evidence (package unresolvable / file:// target gone / named in a boot-failure log). @deepseek-ai/* and protected / core rows are never auto-disabled; each auto-disable writes a one-command recovery record.
  • 🔒 Plugin install & upgrade gating. Version/declaration gate (dsh.engines.framework / engines.dsh / @deepseek-ai/* ranges, built-in zero-dependency semver), a repo-size gate on source channels, and explicit handling of non-registry sources — a bare version is written back only once the registry really resolves it, otherwise the package is materialized as link:. Install scripts are never auto-authorized, and pnpm's supply-chain gate is never bypassed.

Discovery layer on top: a built-in multi-source plugin market & index (500+ plugins / 300+ skills, zero GitHub API calls) — and every source is swappable: install source (incl. a private intranet registry), search source (URL template + headers), index source (self-hosted intranet index), Git source (incl. a local file:// bare repo), so plugins can be installed on an intranet-only or fully offline machine.

Why DSH Plugin Gating Hub

…

Related plugins