Choose the profile first

DeepSeek Harness installs community plugins into profiles rather than one global plugin folder. The profile name matters because the web interface, a headless runner, and a custom composition can carry different dependency lists. Use the same profile when you install, inspect, update, or remove a package.

npx -y @deepseek-ai/dsh plugin --profile web ls
The built-in web and headless profiles initialize on first use. A custom profile is initialized when you first manage a plugin for that profile.

Install from the documented source

The plugin command forwards package-management arguments to pnpm inside the selected profile. A maintainer may publish to npm, point users to a GitHub repository, or document a local checkout. Copy the exact source from the repository README rather than guessing a package name.

npx -y @deepseek-ai/dsh plugin --profile web add <package-or-git-source>

Inspect what was installed

List the profile dependencies after installation and use the package manager's why command when you need to understand why a dependency is present. You can also dump the composed configuration without booting the full application.

npx -y @deepseek-ai/dsh plugin --profile web ls
npx -y @deepseek-ai/dsh plugin --profile web why <package>
npx -y @deepseek-ai/dsh --profile web --dump-config

Update deliberately

Update a single plugin when possible, then read its release notes and restart the profile. Updating every profile dependency at once is faster, but it makes regressions harder to isolate while dsh and many community projects remain in developer preview.

npx -y @deepseek-ai/dsh plugin --profile web update <package>

Remove and verify

Removing the dependency also lets dsh reconcile the profile's ordered bundle list. Dump the configuration afterward to confirm the layer is gone, then restart the profile.

  • Back up profile-specific configuration before removing a stateful plugin.
  • Check whether the plugin stores data outside the package directory.
  • Keep the package name and install source in your change notes so the setup is reproducible.
npx -y @deepseek-ai/dsh plugin --profile web remove <package>
npx -y @deepseek-ai/dsh --profile web --dump-config