Introduction¶
When using DSH as a local toolchain, common requirements go beyond simply executing a single installation command. Instead, they involve continuously discovering community plugins, Skills, client UIs, and development resources, and determining if they are installed locally, updatable, or uninstallable. Directly searching GitHub, npm, or community directories makes it easy to separate “resource discovery” from “local installation status.”
The following introduces a DSH community plugin panel: it provides an entry point in the DeepSeek Harness Web GUI, placing browsing, searching, favoriting, installed management, and the official dsh plugin command in a single interface.
It is worth noting that the DSH community ecosystem emphasizes “everything is a plugin.” This panel belongs to the category of community plugin panels, not the DeepSeek or Huanfang official app store; the community directory has no official affiliation with DeepSeek / Huanfang.
What is This?¶
dsh-plugin-panel is a DSH community plugin market panel, installed from the repository Dylan37670/dsh-plugin-panel, maintained by Dylan37670.
It provides an entry at the bottom of the DeepSeek Harness Web GUI sidebar; clicking it opens a drawer on the right side. Users can browse and search for community plugins, Skills, client UIs, and development resources in the drawer, view Chinese descriptions, favorite entries, confirm installed status, and complete installation, updates, or removals via the official dsh plugin command.
Core Features¶
Entry and Directory Sources¶
The following introduces the basic entry and directory sources of the panel.
- Entry provided at the bottom of the sidebar.
- Clicking the entry opens the right-side drawer.
- Provides “Featured / All” dual directory sources.
- Supports directory caching and manual refresh.
- Categories include: Plugins / Skills / Client / Development Resources, with counts displayed.
Search, Sorting, and Chinese Translation¶
The panel supports the following browsing capabilities:
- Search using Chinese and English keywords.
- Sorting options include: Default / Most Stars / Least Stars / Name A-Z / Name Z-A / Newest Created / Oldest Created.
- Sorting selections persist in settings.
- Chinese translation of descriptions: Featured items have built-in human translation.
- Supports one-click switching between “Chinese / EN”.
- Supports on-demand translation and fallback.
Favorites, Installed, and Operation Logs¶
The panel saves local machine state locally:
- Favorites management is persisted in
~/.dsh/plugin-panel/state.json. - Supports filtering to “Show Favorites only”.
- Installed management reads the profile’s dependencies, bundle lists,
cordis.patch.ymluser layer registration, and~/.dsh/skills. - Operation logs are saved for a maximum of 100 entries, located at
~/.dsh/plugin-panel/operations.json. - Operation logs do not save raw command output or API Keys.
Installation, Update, and Uninstallation¶
The panel’s installation, update, and uninstallation actions do not directly execute arbitrary commands but forward them to the official dsh plugin command. The lifecycle command form provided in the documentation is:
dsh plugin --profile <profile> add|remove <spec>
The following steps are taken before execution:
- Two-step confirmation for the button, meaning it requires clicking again to execute.
- Backing up profile-related files to:
~/.dsh/plugin-panel/backups/<timestamp>/
Backup files include:
package.json
cordis.patch.yml
pnpm-lock.yaml
- Call the official
dsh plugincommand. - Validate results.
- Automatically restore backup on failure.
The installation source is the repositories / npm packages listed in the directory; the panel does not execute arbitrary commands, only forwarding to the official dsh plugin.
Semantic Search¶
The panel provides semantic search for vector-based semantic retrieval in addition to keyword search.
Basic configuration is as follows:
- There is a “Semantic Search” checkbox on the right side of the search box.
- The settings area has “Embedding Model (Semantic Search)”.
- An API Key needs to be configured and is mandatory.
- The model defaults to
BAAI/bge-m3. - The API address defaults to:
https://api.siliconflow.cn/v1
After configuration, you can click “Build Vector Index”. The vector index is cached to:
~/.dsh/plugin-panel/vectors.json
Regarding the local saving of the API Key, the documentation explicitly states:
- The API Key is only written locally after explicitly clicking “Save Embedding Settings”:
~/.dsh/plugin-panel/state.json
- Requests go directly to the configured embeddings endpoint, defaulting to SiliconFlow.
- The panel does not log the Key.
Environment Self-Check and Panel Auto-Update¶
The panel also provides two types of maintenance capabilities:
- Environment self-check: Displays whether
dshCLI /pnpmis available; one-click installpnpmif missing. - Panel auto-update: Version check, update panel button, restart reminder.
- The panel auto-update automatically retries once when encountering network / GitHub / pnpm pull-type temporary failures.
- Failure records retain safe error categories, not saving raw command output, API Key, or tokens.
Author, Tutorials, and Feedback¶
The panel settings area provides links for Author / Tutorials / Feedback. The documentation states that Douyin and Bilibili homepage links will be provided, but specific URLs are not listed in the provided facts; therefore, this article will not write specific links.
Security Boundaries¶
The panel runs in the local DSH environment, reads local machine profiles, dependencies, bundles, and Skill status, and calls the local dsh plugin command. The security boundaries provided in the documentation include:
- The HTTP API only accepts loopback requests.
- Installation sources are the repositories / npm packages listed in the directory.
- It does not execute arbitrary commands, only forwarding to the official
dsh plugin. - Operation logs do not save raw command output or API Key.
- The panel does not log the API Key for semantic search.
Installation and Enablement¶
Installation from GitHub¶
In an environment where DSH CLI is already installed, use the official plugin command provided in the documentation to install:
dsh plugin --profile web add github:Dylan37670/dsh-plugin-panel
This command installs the repository to the web profile.
After installation or update, you need to restart the DSH Web GUI. After restarting, “Plugin Panel” will appear at the bottom of the sidebar.
Mounting from Source Code¶
If building from source as a developer, the steps provided in the documentation are as follows:
git clone https://github.com/Dylan37670/dsh-plugin-panel.git
cd dsh-plugin-panel
npm install
npm run build && npm test
dsh plugin --profile web add .
dsh --profile web --dump-config | grep plugin-panel-market
The first four steps are for cloning the repository, installing dependencies, building, and running tests. dsh plugin --profile web add . is used to mount the local source code to the web profile. The last command is used to check if plugin-panel-market appears in the configuration.
Restart Requirements¶
After installation or uninstallation, the GUI needs to be restarted for the plugin bundle itself to load or unload. This is a requirement of the DSH bundle mechanism.
Before restarting, the panel itself can still be browsed.
Typical Usage¶
Browsing and Filtering¶
First, perform the following operations:
- Restart the DSH Web GUI.
- Click “Plugin Panel” at the bottom of the sidebar.
- Switch between “Featured / All” directory sources in the right drawer.
- Select a category: Plugins / Skills / Client / Development Resources.
- Input Chinese or English keywords to search.
- Select a sorting method, such as Name A-Z, Newest Created, or Oldest Created.
- Favorite entries of interest and switch to “Show Favorites only”.
Using Semantic Search¶
If semantic retrieval is needed, configure it by following these steps:
- Find the “Semantic Search” checkbox on the right side of the search box.
- Open “Embedding Model (Semantic Search)” in the settings area.
- Fill in the API Key.
- Keep or modify the model, defaulting to
BAAI/bge-m3. - Keep or modify the API address, defaulting to:
https://api.siliconflow.cn/v1
- Click “Build Vector Index”.
- Wait for the local generation and caching to complete:
~/.dsh/plugin-panel/vectors.json
Afterward, input search terms, and the panel will perform vector semantic retrieval.
Installing, Updating, or Uninstalling an Entry¶
After clicking the install, update, or uninstall button for a target entry in the panel, it will first enter a two-step confirmation. After confirmation, the panel will execute the following process:
- Backup key files of the current profile:
package.json
cordis.patch.yml
pnpm-lock.yaml
The backup location is:
~/.dsh/plugin-panel/backups/<timestamp>/
- Forward to the official
dsh plugincommand. The command form provided in the documentation is:
dsh plugin --profile <profile> add|remove <spec>
- Validate results.
- If it fails, automatically restore the backup.
Maintainer Rebuilding the Directory¶
If maintaining directory data, the commands provided in the documentation are as follows:
npm run build
node scripts/build-catalog.mjs --reset
node scripts/validate-catalog.mjs catalog/catalog.json
GITHUB_TOKEN=<token> node scripts/build-catalog.mjs
The first command executes the build first. The second is for rebuilding directory data completely. The third is for validating the generated catalog/catalog.json. The last command with GITHUB_TOKEN is for executing directory building when a token has been provided.
Suitable Scenarios and Notes¶
Who is this for¶
This panel is suitable for the following usage scenarios:
- Using the DSH Web GUI and wanting to browse community plugins, Skills, client UIs, and development resources in a single interface.
- Need Chinese or English keyword search, or need semantic search.
- Need to favorite frequently used entries and check local installed status.
- Want to complete installation, update, or uninstallation via the official
dsh plugincommand rather than manually copying multiple commands. - Need to view the local environment status of
dshCLI andpnpm.
Pre-installation Notes¶
The following precautions come from the documentation or general security requirements:
- The panel runs in the local DSH environment, accesses the current profile, dependencies, bundles, and Skill status, and calls the local
dsh plugincommand. Before installation, you should check the source code, directory sources, and license. - The documentation does not explicitly specify the license type; please check the license information in the repository yourself and confirm before use.
- Version numbers in the provided documentation are not completely consistent, for example,
v6.16,0.6.16,v0.6.16, etc. This article does not write specific version numbers; please refer to the current information in the repository before installing or updating. - After installation or uninstallation, the DSH Web GUI needs to be restarted for the plugin bundle itself to load or unload.
- The panel HTTP API only accepts loopback requests.
- Operation logs are a maximum of 100 entries and do not save raw command output or API Key.
- The semantic search API Key is only written locally after explicit saving, and the panel does not record the Key.
- The community directory is an independent community resource, not the DeepSeek or Huanfang official app store.
Conclusion¶
The value of dsh-plugin-panel lies in placing community resource browsing, Chinese retrieval, favorites, installed status, and the local dsh plugin lifecycle in a single Web GUI drawer. It does not bypass the official plugin commands but chains discovery, confirmation, backup, execution, and rollback into a checkable process.
GitHub Repository:
https://github.com/Dylan37670/dsh-plugin-panel
The community directory page URL is not explicitly listed in the provided facts, so this article will not write the specific directory page address.