Preface

The DSH ecosystem emphasizes “everything is a plugin.” The catalog usually addresses “which plugins are available,” but before installation, there is a more immediate question: should this plugin enter the current profile?

bruc3van/dsh-desktop-safe-market is a community plugin marketplace for DeepSeek Harness (DSH), positioning itself as “review first, then install.” It combines a curated upstream shortlist and pre-install Agent review into a single entry point. The plugin itself does not execute installations and lacks any interface to do so.

It is not an official app store but a community-maintained DSH plugin marketplace.

What Is This

In one sentence: A DSH plugin marketplace that reviews first, then installs.

  • Maintainer: bruc3van
  • License: MIT
  • Entry: Adds a “Safe Marketplace” navigation item in DSH settings, divided into “Plugins” and “Skills” pages.
  • Coverage: Browser, CLI, and desktop client share the same profile; the navigation item appears in all three.
  • Compatibility: Version 0.3.0 supports both the legacy monolithic Client Runtime and the new split Session/Workspace Controller.

Core Features

Curated Sources

The marketplace list comes from human-curated products of the awesome-dsh-plugin daily snapshot pipeline, not raw GitHub topic scraping. Upstream removes non-plugins, archived/deactivated repositories, and balances categories. The plugin reads the market.json from the catalog snapshot, re-validates it on the host side, and sends it to the browser.

Safe Installation

“Safe Installation” does not install directly. It opens a new session, fills the security review prompt into the input box, but does not send it. Whether to send is decided by the user pressing Enter.

The prompt instructs the Agent to actually read the repository code, confirm it is clean, and then execute the official installation command. Installation priorities are:

  1. npm packages
  2. Pre-built tarballs from the latest release tag
  3. If neither is available, install source code from the default branch, pinned to a specific commit.

Plugin Does Not Execute Installation

The plugin itself has no interface to execute installations. The installation command is written in the prompt and executed by the Agent. Review and installation are structurally inseparable and cannot be bypassed.

Installed Plugins Panel

The “Plugins” page includes an Installed Plugins panel, listing plugins installed via package manager in the current profile and marketplace plugins automatically installed by the desktop client. The panel supports disabling/enabling and uninstalling. Marketplace plugins automatically installed by the desktop client use this panel as the only removal entry point.

Skills Page

The “Skills” page lists skills parseable in the current session, including name, description, source provider, and invocation strategy, with search functionality. The Skills page is currently read-only and cannot install skills.

Safe Upgrade

Installed plugin cards display “Installed vX.Y.Z,” and the button changes to “Safe Upgrade.” Safe upgrade first has the Agent confirm the latest upstream version; if it is not newer than the current version, it directly returns “Already up-to-date” with no changes; only if a new version exists does it proceed with the full review.

Default Disabled and Network Boundary

The Safe Marketplace is disabled by default. It only reads the catalog snapshot from GitHub after enabling; when disabled, the plugin makes no network requests. When disabled, the Remote interface directly refuses, preventing bypassing the toggle to read the catalog.

Source Switching and File Validation

Default reads market.json from GitHub raw. When unreachable or errored, it automatically switches to the jsDelivr CDN mirror of the same file and remembers the available source.

The market file is re-validated on the host side before being sent to the browser and persisted to $DSH_HOME/storages/safe_market.json; after restart, it uses ETag conditional requests.

Repository links are reassembled from owner/name and do not trust addresses in the market file. The default branch name undergoes pattern validation before entering the prompt, falling back to main if invalid. The configuration profile name must match [A-Za-z0-9][A-Za-z0-9._-]{0,63}, otherwise the plugin refuses to start.

Installation and Enabling

  1. Install to the web profile from npm:
dsh plugin --profile web add dsh-desktop-safe-market
  1. After installation, restart dsh web or the desktop client to activate the “Safe Marketplace” navigation item in settings.

  2. To pin to v0.3.0, use the GitHub release tarball:

dsh plugin --profile web add https://github.com/bruc3van/dsh-desktop-safe-market/archive/refs/tags/v0.3.0.tar.gz
  1. Alternatively, delegate installation to the Agent using this prompt:
Help me install the DSH Safe Marketplace: use the official command `dsh plugin --profile web add dsh-desktop-safe-market` to install it into the web profile. After completion, remind me to restart `dsh web` for it to take effect.

On first use, click “Enable Safe Marketplace” on the “Plugins” page. Only after enabling does the marketplace read the catalog snapshot; when disabled, no network requests are made.

Typical Usage

Safely Install a Plugin

  1. Open the “All Plugins” view on the “Plugins” page and browse by Star count.
  2. Click “Safe Install” on the plugin card.
  3. The plugin opens a new session and fills the review prompt into the input box.
  4. Press Enter to send, and the Agent begins reading the repository code and reviewing it.
  5. After the Agent confirms it is clean, it executes the official installation command; if installing from source, it needs to handle pnpm allowBuilds authorization.
  6. Verify the installed version with the following command:
dsh plugin --profile web list

allowBuilds for Source Code Installation

When installing from source, pnpm’s allowBuilds gate requires confirmation to allow the repository code to execute during installation. The prompt instructs the Agent to present the printed key to the user for confirmation, write it to pnpm-workspace.yaml, and rerun.

Managing Installed Plugins

In the Installed Plugins panel:

  • Disabling/enabling plugins takes effect immediately and persists after restart.
  • Uninstalling user plugins executes pnpm remove in the profile directory and cleans up related entries; if it fails, it still modifies the list and notes it in the panel.
  • Marketplace plugins installed by the desktop client use this panel as the only removal entry point; if the client still has “Integrate built-in Safe Marketplace” enabled, they may be reinstalled on next launch.

Upgrading Installed Plugins

Click “Safe Upgrade” on an installed plugin. The Agent first confirms the latest upstream version; only if a new version exists does it proceed with review and installation.

Override Configuration

You can override catalogBase and marketSize in ~/.dsh/profiles/web/cordis.patch.yml:

# Fill in according to actual deployment
catalogBase: <catalogBase>
marketSize: <marketSize>

Fill in specific values based on the deployment environment; do not assume a default value applies to all environments.

Use Cases and Notes

Suitable for:

  • Using DSH web, CLI, or desktop client and wanting to retain a manual confirmation before installing plugins.
  • Needing to view installed plugins in the current profile, plugins integrated by the desktop client, and skills parseable in the current session within settings.

Notes:

  • Inclusion does not represent a security endorsement; the Agent’s review is an evidence-based auxiliary judgment, not a security conclusion.
  • Plugins run with the current dsh process permissions. Before installation, check the source code and license; this plugin’s license is MIT.
  • Installation progress is not visible in the marketplace because installation commands are executed by the Agent, not the plugin.
  • Does not re-examine or re-audit installed plugins; the installed panel allows viewing, disabling, and uninstalling but does not re-audit installed code.
  • The Skills page is read-only and cannot install skills.
  • The navigation icon is a skin-level replacement; in the worst case, it reverts to a gear if the shell structure changes, without affecting functionality.

Links

  • Plugin repository: https://github.com/bruc3van/dsh-desktop-safe-market
  • Upstream catalog repository: https://github.com/bruc3van/awesome-dsh-plugin