Introduction¶
In the DSH plugin ecosystem, it is easy to determine if a single plugin is usable, but the challenge lies in determining “which plugins should be installed for this specific task”. Plugins may be mutually exclusive, and their costs vary; simply handing a list of plugins to an agent does not solve the combination problem.
wuykjl/dsh-equip-engine is a task-driven DSH plugin configuration engine. It outfits the task with a complete set of plugins, rather than providing a simple list.
What is this¶
Repository: https://github.com/wuykjl/dsh-equip-engine. Maintainer: wuykjl. License: MIT.
It retrieves candidate plugins based on the task description and then provides configuration suggestions based on combination scores. The core idea is: first split capabilities by task phases, then judge which plugins can be placed together and which cannot coexist.
Core Capabilities¶
Five-Slot Configuration¶
Configuration is divided into five slots: Perception, Decision, Action, Memory, and Output.
These slots are divided by the agent’s loop phases, making them more stable than simply categorizing by capability names.
Combination Scoring¶
Combination scoring is the core capability. The score includes:
- Synergy Bonus: Reflects set effects.
- Conflict Penalty: Mutually exclusive plugins do not coexist.
- Cost: Controls combination overhead.
- Trust: Composed of stars, actual test status, and personal feedback.
In other words, the score doesn’t look at whether a “single plugin is good,” but rather whether “this group of plugins is suitable when placed together.”
Dual Retrieval¶
Retrieval includes two types of paths:
- Refined Rule Library: Precise matching.
- LLM Semantic Understanding: Handles semantic expressions in task descriptions.
The two-stage pre-filtering process is: screening down to ≤48 candidates from 2000+ plugin manifests, then handing them to the LLM for fine-ranking. This is fast and saves tokens.
Data and Evaluation¶
There are 2052 manifest entries in total: 19 hand-curated and 2033 generated by LLM. Plugin IDs use the fully qualified owner/repo form to avoid naming conflicts.
Evaluation data:
* On 19 tasks, the rule must pass rate is 100%.
* Under weak keyword tasks, TF-IDF recall is 97%; SEM (Semantic Search) etc. are covered.
Regarding data freshness, it automatically syncs with the ecosystem weekly (via cron), and newly added plugins are automatically indexed.
Installation and Usage¶
The plugin runs with the permissions of the current DSH process. It is recommended to check the source code and license before installation; this plugin is licensed under MIT.
The runtime environment requires node >= 18.
Below are example commands from the README quick start guide.
- Installation:
dsh plugin --profile web add github:wuykjl/dsh-equip-engine
- Execute
dsh web, used to restart or startdsh web:
dsh web
- Enter a slash command in the chat box, for example:
/equip write code to handle a large amount of JSON and CSV files
Typical Usage¶
Chatbox Commands¶
/equip write code to handle a large amount of JSON and CSV files
This is an example of the rule retrieval path, suitable for tasks where the description hits local rules.
/equip.mix help me do an in-depth research report on cell gene editing, need to see experimental images
/equip.mix is the LLM hybrid retrieval version, requiring an API key to be configured.
CLI Usage¶
Run inside the repository directory:
node src/equip.js "task description"
This command is used for the local rule version retrieval.
node src/equip-export.js "task" --dsh
This command is used to export installation commands.
node src/equip-html.js "task"
This command is used to generate equipment bar visualization HTML.
node src/eval-suite.js
This command is used to run gold-standard evaluation.
Suitable Scenarios and Notes¶
Suitable for the following scenarios:
- Need to quickly configure DSH plugin combinations based on a task.
- Hope to avoid installing mutually exclusive plugins simultaneously.
- Wish to control the cost of plugin combinations.
- Need to see combination suggestions rather than just a list of plugins.
Notes:
- The generated library
capsstill contains noise. In the 2033 LLM-generated manifests, thecapQualitydistribution shows low (<0.4) around 97 entries, with a main peak between 0.6–0.8. During matching, entries withgeneratedare down-weighted by quality score; entries without valid descriptions are not handed to the LLM for guessing. costsemantics: The generated librarycostis decoupled from stars and uses a unified neutral value of 0.35;failedstill adds 0.2. Popularity is only expressed bytrustScore(stars).MAX_COST=1.5approximates the quantity budget of “about 4 plugins”.- Extreme synonym rewrites may still cause missed recall. When the task description shares almost no words with caps/desc, local TF-IDF may be insufficient, potentially requiring actual embedding or manual supplementing of caps.
Conclusion¶
Through the steps above, dsh-equip-engine provides a task-level configuration process: first understanding the task by the five slots, then using dual retrieval (rules and LLM) to narrow down candidates, and finally performing combination scoring based on synergy, conflict, cost, and trust.
Repository Address:
* GitHub: https://github.com/wuykjl/dsh-equip-engine