The DSH plugin ecosystem is continuously expanding, but finding the right plugin often requires checking multiple catalogs. Simple GitHub searches can easily include generic repositories or obscure projects, while relying only on name matching can miss high-quality plugins that are listed but have unrelated names. The dsh-find-plugins plugin aims to provide agents with a tool that solves this problem by locally aggregating multi-source data.

Plugin Overview

The plugin is maintained by Eray114514 and released under the MIT license. It provides DSH agents with a tool named find_dsh_plugins. The tool searches the entire DSH plugin ecosystem and ranks results by Relevance × Trust × Freshness × Popularity, rather than relying solely on GitHub stars.

Installation and Activation

Before installing, ensure the environment meets the requirements:
* Node.js version >= 22
* DSH has @deepseek-ai/dsh-tools installed (version >= 0.1.5-rc.2 or >= 0.2.0-rc.1)
* Note: dsh-tools must share the same instance with the host (implemented via peerDependencies).

The installation command is:

dsh plugin --profile <你的 profile> add dsh-find-plugins

After installation, restart DSH to activate the find_dsh_plugins tool.

Core Features

  1. Whole-ecosystem search: The tool retrieves the entire DSH plugin ecosystem, not just a single source.
  2. Multi-dimensional ranking: Results are sorted by Relevance × Trust × Freshness × Popularity. This mechanism avoids the noise caused by ranking solely on star counts and also prevents high-quality plugins from being buried due to literal name matching only.
  3. Seven-source aggregation: Data is sourced from 7 independent sources, including:
    • dsh.so
    • dsh.works
    • radar
    • awesome-dsh-plugin
    • Lanshu directory
    • npm registry
    • GitHub topics
  4. Runtime characteristics:
    • Read-only operations: The plugin itself does not perform install, uninstall, start, or stop operations, and does not modify profiles or cordis.patch.yml.
    • In-memory caching: Data is kept only in memory, not written to disk, and does not create an index, avoiding stale-cache issues.
    • No model calls: The plugin does not make model calls, reducing latency and overhead.

Usage

After installation and restarting DSH, agents can directly use the find_dsh_plugins tool.

It supports multiple keywords separated by spaces. For example:

find_dsh_plugins terminal memory

If you need to disable prewarming on load (by default, it warms once in the background starting 5 seconds after the plugin loads), you can set the environment variable:

DSH_FIND_PLUGINS_NO_PREWARM=1

Use Cases and Notes

  • Use cases: When you need to quickly locate plugins with a specific capability in the DSH ecosystem, or when you want a plugin list validated by multiple sources.
  • Permission limits: The plugin runs with the permissions of the current DSH process and performs read-only operations. Before installing any plugin, it is recommended to review its source code and license.
  • Dependency check: Because dsh-tools must share the same instance, incorrect dependency configuration can cause service activation to fail.