DSH Hub

How to install plugins

`dsh plugin` is not a second package manager. It initializes the profile, runs pnpm inside the profile directory, then reconciles `dsh.profile.bundles` against what is installed. Only packages that declare `dsh.bundle` join the stack. A plain dependency gets a warning and stays a library.

Start with the harness

npx @deepseek-ai/dsh web

You can also `npm install -g @deepseek-ai/dsh`, then `dsh web`. pnpm is required on the machine.

Add a GitHub repo

npx @deepseek-ai/dsh plugin --profile web add github:owner/repo

Pin a branch or tag with `github:owner/repo#main`. Local directories work too. Relative paths resolve from the directory you ran the command in, so the profile does not self-link.

Add an npm package

npx -y @deepseek-ai/dsh plugin --profile web add @liustack/modlens

Update and inspect the tree

dsh plugin --profile web update package-name
dsh --profile web --dump-config

dump-config prints the plugin tree your machine actually boots. Any row can be replaced by your own patch.

Restart after install

Bundle layers compose at boot. Most UI plugins need a web restart. Some settings.yaml keys hot-reload. Trust the plugin README.

Third-party plugins can register tools, change UI, and listen to session events. Read source, license, and permissions first. A listing here is not a security audit.