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 webYou 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/repoPin 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/modlensUpdate and inspect the tree
dsh plugin --profile web update package-namedsh --profile web --dump-configdump-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.