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:
- Repository browsing and search: Supports searching GitHub repositories by keywords such as
topic:dsh-pluginandtopic:dsh-theme. - Metadata viewing: Displays the repository’s description, star count, fork count, programming language, license, and Topics.
- One-click install/uninstall: By invoking DSH’s official plugin mechanism, it supports one-click installing or uninstalling plugins.
- 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.
- Persistent management: The enabled plugin list is persistently saved to a local JSON file and remains after restarting DSH.
- Theme adaptation: The interface style adapts to DSH’s light and dark themes.
- 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¶
- Search: Enter a keyword in the search box (such as
topic:dsh-plugin) and search. - Preview: Click a repository card to view the README, description, and metadata.
- Install: Click the Enable button to install it. The system automatically validates and handles rollback logic.
- 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:
- Declare a Bundle:
package.jsonmust declaredsh.bundle.patch, pointing tocordis.patch.ymlat the repository root. - Declare a Patch:
cordis.patch.ymlmust exist at the repository root and define an entry so that it can be loaded by the Loader. - 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 apreparescript, 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 webto 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.bundleandcordis.patch.yml, and ensure that build artifacts or apreparescript 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.