Preface¶
The design slogan of DeepSeek Harness (referred to as DSH for short) is “Everything is a plugin”: models, tools, sessions, sandboxes, and interfaces can all be replaced with plugins, which are then assembled by Cordis. The official repository also recommends that authors tag their repositories with the dsh-plugin topic to make them easier for others to discover.
In actual use, it turns out that plugin discovery is still scattered. Searching topic:dsh-plugin on GitHub will include the official harness itself; there is also an independent community plugin directory website, but it is not an official app store for DeepSeek/Hyperspace, and has no affiliation with the DSH core repository. To browse, check popularity, and install a plugin in the web interface, you often have to switch to the terminal and run dsh plugin add.
dsh-plugin-workshop takes a different approach: it does not build a marketplace backend or implement an account system, but embeds a browsing experience similar to Steam Workshop into the DSH Web UI sidebar. The directory, search, and trending windows directly query GitHub. Below is an explanation of what it is, what it can do, how to install it, and how to use it, cross-checked against the community directory page and GitHub repository.
What is it¶
dsh-plugin-workshop is an interface enhancement plugin maintained by GitHub user yyyyukari, with the repository yyyyukari/dsh-plugin-workshop and npm package name @dsh-external/dsh-plugin-workshop. It is licensed under MIT, and its main language is JavaScript. The community directory categorizes it as “Interface Enhancement”; the current version in the repository’s package.json is 1.6.1, and it declares dsh.client.platform as web, meaning it is attached to the web interface rather than the terminal TUI.
As of 2026-08-17, the GitHub repository has 26 stars. The community directory page included it on 2026-08-15, when it showed 18 stars, so we will use the official GitHub data as the standard.
The problem it aims to solve is very specific: in an already open DSH Web UI, use a workshop-style interface to search, filter, view community plugins, and install, update, or uninstall them with one click based on repository type. The README explicitly states that this is different from centralized marketplace platforms like DSH_Creative_Workshop — this project does not deploy a control plane, and can be used immediately after adding it to your profile.
Core Features¶
Permanent Sidebar Entry¶
After installation and activation, the workshop entry will appear directly below the official “New Session” button. The README explains that it is implemented by cloning the official button’s DOM, and it works in both wide and narrow sidebars, remaining visible after refresh or restart. There is also a “Plugin Workshop” tab in the “Plugins” section of the settings page, which is the same interface mounted in two places as the sidebar overlay.
Search, Sorting, and Trending Windows¶
The default scope is the GitHub topic topic:dsh-plugin, the official recommended tag for plugin repositories. The search results will exclude core repositories like the official harness using -repo: in the query to prevent them from always topping the list.
Two sorting options are provided: “Most Popular” and “Latest”. There is also a set of time windows similar to Steam Trending: repositories created in the last 7, 30, or 90 days, sorted by stars. This is an approximation provided by the GitHub Search API, not the actual installation growth rate counted by the marketplace backend.
Chinese keywords can be entered directly. The README uses examples like “weather” and “translation”: the plugin will map them to English before performing the search.
When switching to full-site mode, a plugin feature verification will be conducted: check the dsh field in the repository’s package.json, cordis.yml, and other features, with requests going to raw.githubusercontent.com without consuming GitHub Search API quota. Repositories that fail verification will be filtered out by default.
Detail Page and Bilingual Support¶
Clicking on a card will display stars, forks, language, license, creation time, and a lightly rendered README. Manual installation commands and a direct GitHub link will be provided on the page.
The description can be switched between the original text and Chinese machine translation; the detail page can also translate the entire README. The translation uses the Google Translate API, and the results will be cached. Machine translations should not be treated as the official Chinese documentation of the author.
Smart Installation, Update, and Uninstallation¶
The detail page will first pre-check the repository structure and give a three-level rating: Directly Installable, Risky, Recommended Manual.
- Standard formats support one-click installation. The README divides repositories into three categories: bundle type (
package.jsondeclaresdsh.*) uses the officialdsh plugin add; ifdsh.bundle.patchis declared, DSH will add it to the profile’s bundles and activate the patch layer automatically. Nested type has exactly one dsh package in the directory tree (supports multi-layer monorepos likepackages/<name>), then links the sub-packages from the local copy. Preset type is copied to.agent-presets. - Special structures (multi-package monorepos, non-plugin repositories, with build scripts, etc.) will not automatically execute the installation. Instead, the commands given by the author will be extracted from the README, and only allowed to be copied.
- Uninstallation cleans up in reverse order of the installation path. The README specifies: if
pnpm removefails, no files will be touched and no invalid links will be left; after a successful removal,dsh webwill automatically restart to refresh the plugin list. If git is missing locally, the interface will prompt clearly.
There is also an “Installed” view in the toolbar, which combines profile dependencies, active lines, and local presets, displays the type, activation status, and installation source, and provides one-click update (pnpm update / git pull) and uninstallation.
Quota, Token, and Optional Statistics¶
Search data comes from the GitHub Search API, accessed directly from the browser (CORS). The anonymous quota is 10 requests per minute. The interface will display the remaining times and recovery countdown. For higher quotas, you can fill in a GitHub Personal Access Token in the toolbar; the README states that this allows 30 requests per minute, and the token is only stored in the local browser’s localStorage.
Feature verification and README fetching go through the raw CDN and do not consume search quota.
The default mode has zero servers. The remote/ directory of the repository provides an optional reference implementation of a Cloudflare Worker + D1 statistics service: after deployment, it can display community installation badges and a trending list calculated based on actual net installation growth. Not deploying it will not affect the main functionality at all; the host side only reports data when the environment variable DSH_WORKSHOP_STATS_URL exists. The README states that the reported fields are the full repository name, event type (install / update / uninstall), and an anonymous UUID per machine, without user identity, path, or persistent IP.
Installation and Activation¶
The installation command given on the community directory page is as follows, run it in the DeepSeek Harness terminal:
dsh plugin add github:yyyyukari/dsh-plugin-workshop
This is the original text from the directory page. Since this plugin is attached to the Web UI, the repository README recommends explicitly specifying the web profile:
dsh plugin --profile web add "github:yyyyukari/dsh-plugin-workshop"
The README explains: This package declares dsh.bundle.patch in package.json, pointing to cordis.patch.yml in the repository. dsh plugin add will add it to the current profile’s dsh.profile.bundles, and it will be automatically activated as a bundle patch layer on startup, so you generally do not need to modify the configuration manually. The plugin ID inserted in cordis.patch.yml is plugin-workshop, and the name is @dsh-external/dsh-plugin-workshop.
After installation, you need to restart dsh web and refresh your browser. The “🧩 Plugin Workshop” entry should appear below “New Session” in the sidebar.
If you need a reproducible installation, the directory page recommends pinning the commit hash:
dsh plugin add github:yyyyukari/dsh-plugin-workshop#commit
Replace commit at the end with the actual hash. The directory page also reminds users that the plugin runs with the permissions of the current DSH process, and may execute code during installation. You should check the source code repository and license before installing.
The old workflow was to add the package to the profile dependencies and manually write an activation line to $DSH_HOME/profiles/web/cordis.patch.yml. The current version already declares the bundle patch, so this step is only required when attaching to other profiles or if automatic activation fails.
Typical Usage¶
After activation, click “Plugin Workshop” in the sidebar to open the overlay, or go to the corresponding tab in “Settings → Plugins”.
- Browse Community Plugins: Keep the default “Plugin Topic” list to view repositories under
topic:dsh-plugin. - View Recent New Projects: Select the last 7/30/90 days from the time dropdown for trending, then sort by “Most Popular”.
- Chinese Search: Enter Chinese keywords directly, and the plugin will map them to English before querying.
- Read Chinese Instructions: Toggle “Description in Chinese” in the toolbar; use “Translate README” in the detail page when you need the full text translation.
- Install or Uninstall: Open the detail page and check the pre-check rating first. Use “One-Click Install (Subscribe)” for directly installable repositories; for risky or manually recommended ones, copy the author’s commands instead of expecting the workshop to run them. Updates and uninstallations can be done via the detail page or the “Installed” view.
- Search Rate Limited: Fill in a Token for increasing GitHub Search quota in the toolbar gear menu. This is not logging into a workshop account, as the workshop itself has no account system.
The host side registers same-origin routes /dsh-plugin-workshop/api/{status,install,update,uninstall} on the webServer. Installation and uninstallation go through these interfaces, with custom headers for CSRF protection. The browser side is responsible for the interface and GitHub queries, and the README explicitly states that the browser side does not execute third-party plugin code.
Applicable Scenarios and Notes¶
It is more suitable for the following situations:
- You are already using the DSH Web UI and want to switch to the terminal less often, finding community plugins directly in the sidebar.
- You accept that “the directory comes from GitHub and popularity comes from stars and time windows”, and do not need a centralized reviewed marketplace.
- You need Chinese keywords and machine-translated descriptions to quickly scan the README before deciding whether to install.
- Git is already installed locally, so that you can go through clone/pull and similar paths.
You need to know the following boundaries before use:
- Permissions and Trust. The plugin runs with the permissions of the current DSH process. The workshop can execute dsh plugin add, modify profiles, and restart the web service on your behalf, which means handing over part of the package management capabilities to this plugin. You should open the corresponding repository to check the source code and license before installing the workshop itself and before installing other plugins through the workshop.
- Only Covers the Web Interface. The package.json declares the platform as web. If you only use the terminal and do not use the Web UI, installing it will not show the sidebar entry.
- GitHub Quota. Anonymous searches allow 10 requests per minute, and with a Token, the README states 30 requests per minute. When the quota is exhausted, the interface will display a countdown, which does not mean the workshop is down.
- Meaning of Trending List. The default window is “new repositories within the time range + sorted by stars”, not the actual installation volume. The real trending list depends on the optional statistics service, and this data will not be available if it is not deployed.
- Machine Translation. Chinese descriptions and README translations come from the Google Translate API, which may be inaccurate. The installation commands should still refer to the original text of the repository.
- Not the Same Project as Other “Workshops”. There is also a centralized marketplace-style DSH_Creative_Workshop in the community, as well as another Steam-style store plugin dsh-workshop (maintained by loguhan). This article introduces yyyyukari/dsh-plugin-workshop, so do not mix up the installation commands.
- Community Directory is Not an Official Store. https://deepseek-harness-plugin.com is an independent community website for retrieving and displaying installation commands, and does not represent official endorsement by DeepSeek.
Summary¶
dsh-plugin-workshop brings plugin discovery from “opening GitHub or the directory site and then returning to the terminal to install” into the DSH Web UI sidebar. It does not build its own server, and the search and trending windows directly use GitHub; the installation path reuses the official dsh plugin add and bundle patch mechanism as much as possible, and falls back to the commands in the author’s documentation for special repositories.
If you are already running the web interface and want a way to browse the dsh-plugin ecosystem without additional maintenance, you can first check the source code, then install it into the web profile using the command from the directory page.
- Community Directory: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-plugin-workshop/
- GitHub: https://github.com/yyyyukari/dsh-plugin-workshop
- DeepSeek Harness Official Repository: https://github.com/deepseek-ai/deepseek-harness