Overview¶
DSH’s philosophy is “Everything is a plugin”. When looking for plugins in dsh web, users typically have to leave the settings page to search GitHub repositories, read the documentation, confirm the installation method, and then return to execute the installation command. dsh-plugin-library-search puts this process into the “Settings → Plugins” page: it adds a “Plugin Library Search” tab, displays repositories on GitHub tagged with topic:dsh-plugin, and supports waterfall browsing, keyword filtering, installation, and jumping to the repository page.
It connects to the collection of GitHub repositories tagged with topic:dsh-plugin, not the official DeepSeek or Huanfuan application stores.
What is this¶
dsh-plugin-library-search is a DSH plugin. After installation, it adds a “Plugin Library Search” tab in the DSH “Settings → Plugins” page, located to the right of the “Plugin List”.
The basic information is as follows:
- Repository:
AiLi1337/dsh-plugin-library-search - Maintainer:
AiLi1337 - License:
MIT package.jsondeclaresversionas0.1.0engines.noderequires>=18
Core Features¶
The following introduces several verified capabilities.
- Adds a “Plugin Library Search” tab in the DSH “Settings → Plugins” page.
- Connects to the GitHub
topic:dsh-pluginrepository collection, sorted by Star via the GitHub Search API, and supports searching. - Displays plugin images, names, and descriptions in a waterfall layout.
- Each card provides an “Install” button and a “Jump to GitHub Plugin Page” link.
- The search box supports filtering by name, description, and author keywords.
- Automatically loads the next page when scrolling to the bottom of the list.
- Models can call the following tools via the
toolsservice:plugin_library_searchplugin_library_installplugin_library_installed
- When the GitHub Search API is rate-limited or fails, it automatically falls back to scraping the
github.com/topics/dsh-pluginpage. - Supports bundle plugin installation writing to the
dsh.profile.bundlesstack, requiring a restart ofdsh webto take effect. - Supports pure cordis plugin installation writing to the
cordis.patch.ymlinsert lines in the profile, configuring HMR real-time mounting.
Installation and Enabling¶
First, install the plugin. The recommended installation command provided in the documentation is:
dsh plugin --profile web add dsh-plugin-library-search
You can also install directly from the GitHub repository:
dsh plugin --profile web add "github:AiLi1337/dsh-plugin-library-search"
After installation, restart dsh web, refresh the browser, and go to “Settings → Plugins → Plugin Library Search”.
This plugin declares dsh.bundle and will enter the dsh.profile.bundles stack.
Typical Usage¶
The usage steps can follow the order below.
- Open “Settings → Plugins” and click the “Plugin Library Search” tab on the right.
By default, it shows a list of repositories sorted by Star from the official plugin library. You can also enter keywords in the search box to filter; keywords can be the name, description, or author.
- Scroll through the list.
Scrolling to the bottom of the list will automatically load the next page. The documentation states there are approximately 100 items per page, with a maximum load of 500.
- Click the “Install” button on the card.
During installation, it parses the npm package name from the repository’s package.json. If the repository has been published to npm, it prioritizes executing something similar to:
pnpm add <npm package name>
If it has not been published to npm, it falls back to something similar to:
pnpm add github:<owner>/<repo>
- Complete the mounting based on the plugin type.
- Bundle plugins, after installation, write to the
dsh.profile.bundlesstack and require a restart ofdsh webto take effect. - Pure cordis plugins, after installation, write to the
cordis.patch.ymlinsert lines of the profile, configure HMR real-time mounting, and refresh the page to see the changes.
-
Click “GitHub ↗” to open the plugin repository in a new tab.
-
Let the model call the plugin tools in the chat.
For example, you can enter:
帮我搜索一下插件库里的 xxx 插件
Or:
安装 vlln/plugin-registry
The model will call the corresponding tool. After restarting, the new session will be able to see these tools.
Use Cases and Notes¶
This plugin is suitable for users using dsh web who want to browse and install topic:dsh-plugin plugins directly in the settings page, as well as scenarios where users want the model to search or install plugins directly.
Points to note before use:
- The plugin runs with the permissions of the current dsh process. You should check the source code and license before installing.
- The unauthenticated GitHub Search API rate limit is 10 times/minute, returning
HTTP 403when exceeded. - When rate-limited or failed, the plugin will automatically fall back to scraping the
github.com/topics/dsh-pluginpage. The results are consistent, but the sort order defaults to the topic page order, not Star count. - It is recommended to set one of the following variables in the environment where dsh starts:
GITHUB_TOKEN
GH_TOKEN
After setting, the search quota increases to 30 times/minute. The host has an additional 5-minute cache to reduce requests.
- One-click install depends on
pnpmbeing in thePATHof the web service process. - For repositories installed from git source that have a
preparescript,pnpmmay need to be allowed inpnpm-workspace.yaml’sallowBuildsfirst. - The “Installed” status in the plugin list is based on package name matching. For repositories not published to npm, the success response of the installation is the standard.
Reference¶
GitHub Repository:
https://github.com/AiLi1337/dsh-plugin-library-search