Introduction¶
The philosophy of DSH is “everything is a plugin”. After installing many third-party plugins, the built-in “Plugin List” in the Web GUI Settings page starts to become insufficient: to confirm if a specific plugin is third-party, where it is mounted, and what it does, you have to look up other materials. The dsh-plugin-catalog introduced below targets this problem—it upgrades the Settings → Plugins page into a plugin catalog, supplementing third-party badges, mount point aggregation, and bilingual functional descriptions, without changing the plugin’s own installation and management methods.
What is this¶
dsh-plugin-catalog is a DeepSeek Harness (DSH) Web GUI plugin maintained by LuniteGlaze, version 1.0.0, with an MIT License. It takes over the “Plugin List” tab in the Settings page, replacing the original list with a searchable, filterable plugin catalog, solving the problem of “installing a bunch of plugins but not seeing the full picture.”
Core Features¶
Third-party Badges and Header Count¶
It determines if a plugin is third-party based on the profile dependency list, directly displays a badge on the card, and summarizes the count in the page header.
Mount Point Aggregation¶
One plugin per card. If a plugin is mounted to multiple locations, the card displays a ×N mounts badge; expanding it allows viewing the hierarchy/status of each mount point.
Bilingual Functional Descriptions¶
The card title row displays the Chinese and English descriptions in a single line. Hover to view the full text, and expand to edit online. The descriptions are module-level, and edits are persisted to $DSH_HOME/plugin-descriptions.json. The description functionality and built-in description dictionary come from dsh-plugin-description (MIT), see THIRD_PARTY_NOTICES.md in the repository for details.
Search, Filter, and Sort¶
- Search: Tokenized AND, relevance sorting, hit highlighting;
- Quick filters: All / Third-party / Enabled / Disabled;
- Sort: Name / Third-party first / Status first.
One-click Copy¶
Source profile and entryId support one-click copying, convenient for directly referencing when troubleshooting or writing scripts.
Installation and Enabling¶
It is recommended to install from GitHub Release:
dsh plugin --profile web add https://github.com/LuniteGlaze/dsh-plugin-catalog/releases/latest/download/dsh-plugin-catalog.tgz
# Restart dsh web to apply
It can also be installed from git. The repository has committed build artifacts in lib/, no build authorization needed:
dsh plugin --profile web add github:LuniteGlaze/dsh-plugin-catalog
After the above steps, restart dsh web, and the Settings → Plugins page will be the catalog view.
Secondary Development¶
TypeScript source code is in src/. First modify the source code, then execute build and type checking:
pnpm build
pnpm typecheck
Use Cases and Notes¶
Suitable for DSH users who have installed many plugins and need to frequently confirm “what is installed, where it is mounted, and what it does.”
- This plugin will disable the built-in “Plugin List” tab row; the built-in list will automatically recover after uninstallation.
- It is mutually exclusive with plugins that also take over the “Plugin List” tab (such as dsh-plugin-description), and simultaneous installation is not recommended.
- The plugin runs with the permissions of the current
dshprocess. Before installing, it is recommended to read the source code and license (MIT) to ensure you accept it.
Conclusion¶
dsh-plugin-catalog does not introduce a new plugin management workflow; it simply organizes the information already in the Settings page into a searchable catalog. Source code and release packages can be found on GitHub: https://github.com/LuniteGlaze/dsh-plugin-catalog. The entry address on the community plugin catalog (an independent site, with no official affiliation with DeepSeek or Huanfang) comes from plugin clues and does not appear in the repository materials; for reference only: https://www.skillhub.cn/plugins/LuniteGlaze/dsh-plugin-catalog.