DeepSeekDSH
Independent community guideNot affiliated with DeepSeek.Official source snapshot

Install Plugins in DeepSeek Harness

Understand the Profile and Bundle boundary first, then add a reviewed package, handle pnpm install-time build prompts and verify the plugin after restart.

On this page
Discovery is not approval

A community plugin appearing in a directory only means it can be found. Review its repository, package metadata, permissions, install scripts and recent maintenance before adding it to a Profile.

First understand Profile vs Bundle

A DSH Profile owns its own dependencies and Bundle composition. Installing a plugin into one Profile does not copy it into another. A package becomes a Bundle layer only when its package manifest declares the DSH Bundle metadata expected by the CLI.

Profile

The runnable composition under $DSH_HOME/profiles/<name>. Choose the Profile you actually intend to modify.

Bundle

A package that contributes a declared cordis.patch.yml layer to the Profile's startup composition.

Plain dependency

A dependency can install successfully without becoming an active Bundle. The CLI warns when it has no Bundle declaration.

STEP 1

Check pnpm before using dsh plugin

The normal npm quick-start does not require pnpm just to run npx @deepseek-ai/dsh web. Plugin management is different: the official dsh plugin command forwards package operations to pnpm, so pnpm must be available on PATH.

pnpm --version

If that command is not recognized, install a compatible pnpm before trying to diagnose a DSH plugin error.

STEP 2

Review the package before installing it

  • Confirm the repository and package belong to the author you expect.
  • Read the README and the package's install/build scripts.
  • Check what files, network endpoints, credentials or external executables it may use.
  • Prefer an exact reviewed version or commit after review instead of blindly tracking a moving branch.
Third-party code runs with real local privileges

Plugin installation and plugin runtime are outside the model's prose response. Treat them like installing any other local software dependency.

STEP 3

Add the package to the intended Profile

The official generic form is:

dsh plugin --profile <name> add <package-or-git-spec>

Use the actual Profile name you intend to change. Relative local paths are resolved from the directory where you invoke the command.

Do not copy install commands from an unreviewed community card

Open the author's repository or package page, verify the current installation instructions and pin the version or commit you reviewed.

STEP 4

If pnpm asks for allowBuilds, stop and review

Git-hosted source plugins can run a prepare build during installation. pnpm 10+ can block that build until the consuming Profile explicitly allows it. The first add can therefore fail with an allowBuilds hint and a pointer to the Profile's pnpm-workspace.yaml.

If—and only if—you have reviewed the source and intend to allow that install-time build, follow the key printed by pnpm/DSH in that Profile's workspace configuration, then re-run the add operation.

allowBuilds is a security decision

It is not a harmless syntax fix. You are permitting a dependency's install-time code to execute. Do not approve the entry merely to make the error disappear.

STEP 5

Restart after Bundle membership changes

A successful add, remove or update changes the Profile on disk, but a running Profile keeps the Bundle set it mounted at startup. Restart that Profile—or DSH Desktop if it owns the Profile—after Bundle membership changes.

Ordinary edits to Profile/home cordis.patch.yml can hot reload; adding or removing a Bundle crosses a startup boundary.

STEP 6

Verify the plugin actually became active

  1. 01

    Confirm the intended Profile

    Make sure you restarted the same Profile you modified.

  2. 02

    Check the Bundle or capability

    Verify the expected tool, preset option or provider appears. Installation success alone does not prove the feature is active.

  3. 03

    Run a bounded test

    Use a disposable workspace and a small task before granting the plugin access to an important project or credential.

Common plugin-installation failures

pnpm is not recognized

Install pnpm or fix PATH. The npm quick-start working does not prove plugin management has pnpm available.

First Git-based add fails with allowBuilds

Review the package's install scripts. If you approve the source build, add only the key pnpm printed to the Profile's pnpm-workspace.yaml, then retry.

The command succeeded but the plugin is not visible

Restart the Profile. Bundle membership is fixed for the current start.

The plugin is visible in one Profile but not another

Profiles own separate dependency/Bundle compositions. Install and review it separately for the intended Profile.

The dependency installed but no feature appeared

The package may not declare DSH Bundle metadata, or the Bundle may only register a dormant provider that still needs a matching preset/tool row enabled.

NEXTNeed to debug the composed Profile?
Open source/development guide →
Primary source

DeepSeek Harness CLI behavior reference. The current CLI documents pnpm forwarding, Bundle reconciliation, restart boundaries and Git-source allowBuilds behavior.