universal-plugin-hub
No description
- Stars
- 1
- Language
- JavaScript
- Created
- Aug 26, 2026
- Updated
- Aug 26, 2026
Introduction
Universal Plugin Hub
English | 中文
Plugin marketplace for DeepSeek Harness (DSH). Browse plugins from multiple Git sources, install with one click, and let their skills, subagents, MCP connectors, LSP servers, and hooks light up in DSH.

What it does
Universal Plugin Hub is a visual plugin manager for DSH. It clones plugin sources (the Anthropic official catalog, community repos, or any Git repository), lists what each plugin actually provides, and wires those pieces into DSH:
- skills and slash commands become agent skills (
commands/is mirrored intoskills/, as is a rootSKILL.md) - subagents are compiled into one delegated Hub skill per plugin (
skills/<plugin>-agents/) - MCP connectors register into
cordis.patch.ymlas@deepseek-ai/dsh-mcp-cliententries - LSP servers register as
@deepseek-ai/dsh-lsp-stdioentries — installtypescript-lsp, restart DSH, and thelsptool works - hooks are loaded into DSH by registering a per-plugin
@deepseek-ai/dsh-hooks-claude-codebridge entry; the bridge runs the plugin's native Claude Codehooks.jsonon DSH's own interception points
Features
- Multiple sources — add or remove Git repositories as plugin sources; the built-in Anthropic catalog is always there
- Drag-to-reorder source tabs — hold and drag a source tab to reorder it (the bar auto-scrolls at the edges, so you can reach the last tab); the order persists
- Search, filter & sort — fuzzy search across the current source plus filter and sort controls; hover a card for a quick preview before opening it
- Skill & subagent scanning — detects skills, slash commands, and subagent definitions in a plugin, and compiles subagents into a Hub skill DSH can delegate to
- MCP connectors — connectors that need no auth register automatically on install; the rest you verify and enable from the manage page, and you can toggle individual MCP tools on or off per connector
- LSP servers — plugins declaring
lspServers(clangd, pyright, typescript-lsp, and more) are registered into DSH on install; the detail page shows them with an active dot - Hooks — a plugin's Claude/Codex
hooks.jsonis parsed and loaded into DSH via the Claude hooks bridge; the detail page shows the real events (e.g.SessionStart,PreToolUse: Bash) rather than filenames - Light / dark theme — follows the DSH UI theme
Requirements
- Node.js 18+
- DSH with the
webprofile (0.1.0-rc.6 or newer recommended). The hub's own install (dsh plugin add universal-plugin-hub) runs apostinstallscript that pre-provisions the 5 LSP/hook host packages into the DSH installation — versions are resolved to match the running DSH release, and a provisioning failure fails the hub install outright. After that, plugins declaring LSP servers or Claude/Codex hooks register as a singlecordis.patch.ymlwrite each (DSH HMR picks them up within ~1s).
Where data lives
All hub state sits under ~/.dsh/agent-skills/universal-plugin-hub/:
state.json— sources, installed-plugin records, and their ordermarket/<sourceId>/— shallow (--depth 1) clones of each plugin sourcemarket/remote/— clones of plugin repositories installed from remote URLsinstalled/<name>/— the working copy of each installed plugin (skills, agents, connectors)icons/— cached plugin icons, served through the hub's/iconproxy
Connectors, LSP servers, and hooks register by writing entries into the DSH cordis patch ($DSH_HOME/profiles/web/cordis.patch.yml); per-tool MCP switches live in ~/.dsh/.mcp-tools-state.json.
Install
From the DSH marketplace
Search Universal Plugin Hub in the DSH plugin market and click install.
From the CLI
dsh plugin add universal-plugin-hub
Manually
cd ~/.dsh/plugins
git clone https://github.com/CaesarEmperor/universal-plugin-hub.git
cd universal-plugin-hub
npm install
Restart DSH, then open the Universal Plugin Hub panel from the DSH UI.
Quick start
- Open the panel. The built-in Anthropic source is loaded by default.
- Optional: add another source, e.g.
anthropics/claude-plugins-community. - Browse or search. Open a plugin to see what it ships: skills, subagents, connectors, LSP servers.
- Click Install. The hub copies the plugin, registers skills and subagents, wires any LSP servers and Claude/Codex hooks into DSH, and auto-connects what needs no setup.
- Manage installed plugins from the manage page — enable/disable, toggle connectors and individual MCP tools, verify auth tokens, update, or remove.

Project structure
src/ server: REST routes, marketplace parser, git ops, agents compiler, install lifecycle
client/ UI — a single React file loaded through the DSH client runtime (no build step)
scripts/ postinstall — pre-provisions the 5 LSP/hook host packages into the DSH install
Development
npm install
node --check src/index.js
node --check client/client.js
node scratch/verify-lsp-support.mjs # end-to-end check against a throwaway DSH_HOME
The UI is a single React file loaded through the DSH client runtime (dsh-client-runtime and dsh-client-ui-theme are injected by the host). There is no build step — edit client/client.js and reload.
Support
Report bugs or request features via GitHub Issues.
Contributing
PRs are welcome. Keep changes surgical and run node --check on touched files; for server behavior changes, extend scratch/verify-lsp-support.mjs with end-to-end coverage.
License
MIT © CaesarEmperor