Skip to main content

dsh-plugin-hub

62Stars3Forks1Issues0Watchers

Adds a plugin management panel to the DSH Web interface: one-click toggle for installed plugins, browse/search/install plugins and skills from GitHub and custom sources, built-in one-click upgrade for DSH framework.

Evidence5/5methodologySourceInstallMaintenanceDSH versionSecurity scan
Machine-auditedInstall commandRepo verifieddsh-plugin topicLicenseREADMEAI wiki
Language
JavaScript
License
MIT
Branch
main
deepseek-harnessdshdsh-plugindsh-pluginsgithubhelp-wantedplugin-managerplugin-market

Install

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

Run the command above in your terminal to install this plugin via the dsh CLI. You can switch Profile in the top-right corner. New to dsh? Read the beginner tutorial

Install via your agent

Install the DeepSeek Harness plugin Noob-stupid/dsh-plugin-hub for me: review the repository at https://github.com/Noob-stupid/dsh-plugin-hub first, then run the install command and verify the plugin loads successfully.

Paste this instruction to the DSH Web GUI assistant — it will install and verify for you.

One-Line Summary

dsh-plugin-hub is the plugin management panel for DeepSeek Harness: it packs plugin install/uninstall/start/stop, browsing the plugin marketplace, searching GitHub/Gitee/custom sources, installing skills and Agent presets, and one-click DSH framework upgrades—all into a single Tab in the settings page. No more returning to the terminal to run dsh commands.

Core Features

  • One-click enable/disable of installed plugins in the "Plugin Management" Tab on the settings page (writes user patch layer, HMR takes effect in ~1 second), with automatic shielding of protected host infrastructure entries
  • Browse built-in static plugin index (500 plugins + 300 skills, auto-refreshed every 6 hours via CI), search GitHub/Gitee/custom sources by keyword
  • One-click install plugins or skills, automatically tries configured software sources in primary→backup order via npm registry, curl channel, and git channel; gives local AI fallback with cost authorization prompt on failure
  • Software source management: add/edit/set primary npm registry source, built-in GitHub and Gitee (direct repo install mode), add arbitrary custom search sources with header authentication support
  • Detect npm new versions for installed plugins and check sub-package配套 (compatibility), avoid half-updated mixing causing startup conflicts
  • One-click DSH framework upgrade (backup → online install → verify → auto restart), with real-time progress, automatic rollback on failure, and timeout protection

Technical Implementation

  • Language: JavaScript (ESM, Node built-in modules preferred)
  • Key Dependencies: All Node.js built-in modules (node:fs/promises, node:https, node:child_process), zero external dependencies
  • Architecture: Cordis plugin + custom HTTP route table, registers loopback /plugin-console/* routes via apply(ctx); client bundle injected into settings panel via dsh.client.inject
  • Entry Files: lib/index.js (host side); lib/client.js (browser-side bundle, settings page Tab)

Use Cases

You've installed DSH and want to casually install/uninstall third-party plugins without memorizing dsh plugin add commands and version numbers; or you want to browse what dsh plugins are available on GitHub and check if your installed plugins have new versions; when prompted for framework upgrades, you can complete the upgrade with one click in the panel instead of manually backing up, running commands, and restarting.

Prerequisites & Compatibility

DependencyMinimum VersionDescription
DeepSeek Harness (DSH)0.1.0-rc.6 (0.1.0 series)Installation command requires --profile web; running web package version must match /^0.1.0-/, otherwise compatibility warning displayed at panel top
Node.jsFollows DSH upstreamThis plugin doesn't declare separately, follows host DSH's Node requirements
PlatformmacOS / Windows / LinuxCross-platform, on Windows uses corepack.js to run directly avoiding .cmd startup issues
Native ModulesNoneAll dependencies are Node.js built-in modules, no node-gyp compilation
GitAvailable in PATHGit channel in install chain, Release downloads, skill/suite clone all depend on git CLI
curlAvailable in PATHInstall chain uses curl manual fallback when pnpm hits black hole; on win32 finds curl.exe

Installation

dsh plugin --profile web add github:Noob-stupid/dsh-plugin-hub

Configuration

This plugin requires no additional configuration in files. Runtime environment variables and software sources are set via UI in "Plugin Management → Software Sources", common items as follows:

ConfigTypeDescriptionDefault
DSH_HOMEEnvironment VariableOverrides DSH data root directory; affects sources.json written by this plugin, upgrade snapshots, installed skills location~/.dsh
Software Source (registry)Panel UInpm install source list tried in primary→backup order, supports https and local/private network httpnpmmirror (primary) + npmjs (backup)
Search SourcePanel UIBuilt-in GitHub / Gitee + custom URL templates ({q} / {page} placeholders, supports header auth)GitHub + Gitee
Gitee client_id / client_secretPanel UIOnly needed when increasing direct install mode search quota (via OAuth); direct install itself doesn't require loginNot configured
~/.dsh/github-auth.jsonFileReuses GitHub token written by dsh-github-login tool, panel only reads login state doesn't save tokenNot exists = not logged in
Upgrade failure rollback pointAutomaticAuto backup to ~/.dsh/plugin-console/framework-backups/<old version>/ before framework upgrade, auto restore on failureNone

FAQ

Q: Which DSH profile do I install this plugin into to see the GUI?

A: Install into DSH's built-in web profile. DSH's other profiles don't start Web GUI; this plugin's client bundle only loads in web profile; installing into other profile locations only gets background routes without interface.

Q: Why are some plugins on the panel marked "protected" with grayed-out toggles?

A: Those are host infrastructure entries (Cordis loader, HMR, WebServer, storage, settings chain, etc. 70+ core modules). Disabling would break hot reload itself, so the panel forbids toggling—this is a protection mechanism, not a bug.

Q: I see an "Authorization Pending" popup, should I agree?

A: It only pops up when all three deterministic channels (config source / curl / git) fail, explicitly telling you "Will call DeepSeek API model, may incur API costs". You can click "Cancel", or check "Don't remind me again", or turn it off completely in the AI fallback master switch at market page bottom (zero API costs after turning off).

Q: Why can't I search anything on Gitee source with keywords?

A: Gitee official search API has been discontinued, so Gitee source uses "direct repo install mode": enter complete repo path (supports Chinese and full URL), panel searches by exact path and installs, not keyword search.

Q: I added a custom registry but installation failed, what to do?

A: The panel will auto-fallback to built-in sources (npmmirror / npmjs) after custom source install failure continues trying; if all fail then goes to curl and git channels. You can also edit name or set as primary source in software source management; delete button is disabled to avoid accidentally deleting sources that plugin installations depend on.

Q: Why did my old custom functions disappear after DSH upgrade?

A: This is because DSH framework files were overwritten. This plugin detects version changes and automatically reapplies "cordis.patch.yml parsing tolerance patch" (issue #5), backs up old version snapshot to ~/.dsh/plugin-console/framework-backups/; if still abnormal after restart, you can manually run scripts/apply-framework-patch.cjs from the repo.

Q: I installed a skill but can't find it in DSH?

A: Skills are installed to ~/.dsh/skills/<name>/, discovered by scanning @deepseek-ai/dsh-skill-filesystem plugin. If that plugin isn't enabled in current profile, skills go dormant—enable dsh-skill-filesystem in profile's cordis.yml and restart.

Q: Where is data saved? Is uninstall clean?

A: Software source config: ~/.dsh/plugin-console-sources.json; framework upgrade snapshots: ~/.dsh/plugin-console/framework-backups/; installed skills: ~/.dsh/skills/<name>/; install timestamp: <profile>/node_modules/<pkg>/.dsh-installed-at. Uninstalling this plugin won't delete other installed plugins, but state files under ~/.dsh/plugin-console/ can be manually cleaned.

Learning Curve

Beginner — install to web profile and restart, common functions (toggle installed plugins, install/uninstall) are completed in a few clicks in the panel, no documentation needed; when encountering edge cases like "protected", "AI fallback authorization", "sub-package配套", just glance at README.

Known Issues & Limitations

  • Host code changes require restarting DSH service to take effect (client changes only need page refresh); the restart button in the panel goes through daemon bring-up, no manual action needed
  • Real-time GitHub search depends on GitHub accessibility (browser direct connection + server-side multi-channel race fallback); network black hole period may return in 5-15 seconds
  • Version detection only works for packages published to npm; skill-type repos have no version concept
  • Static index has 500 plugins + 300 skills cap per build, new repos need star climb or wait for next 6-hour CI cycle to enter index
  • ★ marked search results need 1-3 seconds background completion, may temporarily show empty when opening market
  • Gitee official search API has been abandoned, only supports direct repo install mode (exact owner/repo match), no keyword search
  • Third-party bundle-type plugins (like some aggregator repo sub-packages) auto-install skipped by default (to prevent bundle incompatibility with DSH version causing startup crash), need manual install via "official install method" in detail panel

Read the usage guide →

Install steps, key points, FAQ and compatibility for this plugin — auto-derived from indexed fields.

Listing badge

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/Noob-stupid/dsh-plugin-hub)

Paste this markdown into your GitHub README to link back to this listing. The badge only states the listing — not a security endorsement.

← Back to plugin directory