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 dsh process. 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.