The design philosophy of DSH (DeepSeek Harness) emphasizes modularity and pluginization. When developers need to extend functionality, they typically have to manually manage Git repositories locally. This plugin adds a “Plugin Marketplace” tab to the DSH web version, enabling browsing, previewing, and one-click installing DSH plugins published on GitHub within the browser.

It is maintained by developer Viveksssss and is a DSH client plugin. It is itself a DSH plugin and also an installer for DSH plugins, serving as an entry point connecting DSH with the community ecosystem.

Core Features

This plugin mainly provides the following capabilities:

  1. Repository browsing and search: Supports searching GitHub repositories by keywords such as topic:dsh-plugin and topic:dsh-theme.
  2. Metadata viewing: Displays the repository’s description, star count, fork count, programming language, license, and Topics.
  3. One-click install/uninstall: By invoking DSH’s official plugin mechanism, it supports one-click installing or uninstalling plugins.
  4. Installation validation: After installation, it automatically checks whether the plugin package entry file exists. If missing, the system automatically rolls back to avoid preventing the Profile from starting due to an invalid plugin.
  5. Persistent management: The enabled plugin list is persistently saved to a local JSON file and remains after restarting DSH.
  6. Theme adaptation: The interface style adapts to DSH’s light and dark themes.
  7. Friendly feedback: Provides a feedback mechanism for three states: error, warning, and notice.

Installation and Usage

Installing the Plugin

Install this plugin to your Web Profile using the command line:

dsh plugin --profile web add github:Viveksssss/DeepSeek-harness-marketplace

Starting and Operating

After installation, start the DSH web version:

dsh web

Go to the web version’s Settings → Plugins, then click the Plugin Marketplace tab at the top to start using it.

Basic Workflow

  1. Search: Enter a keyword in the search box (such as topic:dsh-plugin) and search.
  2. Preview: Click a repository card to view the README, description, and metadata.
  3. Install: Click the Enable button to install it. The system automatically validates and handles rollback logic.
  4. Manage: View all installed plugins in the Enabled List, and click Disable to uninstall them.

Plugin Recognition Rules

Not every GitHub repository can be correctly recognized as a DSH plugin. To be recognized by this Plugin Marketplace (and by dsh plugin), a repository must meet the following conditions:

  1. Declare a Bundle: package.json must declare dsh.bundle.patch, pointing to cordis.patch.yml at the repository root.
  2. Declare a Patch: cordis.patch.yml must exist at the repository root and define an entry so that it can be loaded by the Loader.
  3. The entry file must actually exist: This is the most common pitfall. If the repository does not commit build artifacts (such as lib/) and does not configure a prepare script, the entry file will be missing after installation. The Plugin Marketplace validates the entry file and automatically rolls back if it is missing.

Notes

  • Runtime environment: The Plugin Marketplace UI features require running dsh web to be used.
  • State file: The state file for the enabled list is stored at ~/.dsh/plugin-marketplace. (note the dot at the end of the filename).
  • GitHub API limits: The browsing feature depends on the GitHub API and is subject to rate limits. A message will be shown if the limit is reached.
  • Plugin development: If you plan to develop plugins, you must declare dsh.bundle and cordis.patch.yml, and ensure that build artifacts or a prepare script can generate the correct entry file.

This is a typical ecosystem entry tool, designed to simplify the discovery and management of DSH plugins. It is suitable for developers who frequently integrate third-party DSH plugins.