Introduction¶
DSH’s plugin mechanism allows capabilities to be attached to session rendering and the Agent invocation chain. For Agent sessions, a specific problem is: after an answer ends, deciding what to ask next still requires manual input. dsh-suggest addresses this relatively narrow scope: after each round of Agent answers, it generates 3 clickable, editable suggested follow-up questions below the answer.
It is maintained by shaoeric and is released under the MIT license, offering two forms: formal plugin and dynamic plugin. Below, we introduce it by functionality, installation, usage, and precautions.
What is it¶
dsh-suggest is a DeepSeek Harness (DSH) plugin. After each round of Agent answers, it generates 3 clickable, editable suggested follow-up questions below the answer.
Clicking a recommended item submits it directly to the Agent, automatically starting a new round of answering; hovering over a recommended item allows editing before sending. The plugin offers both formal and dynamic plugin forms, targeting the same use cases.
Core Features¶
Here are several verified capabilities.
-
Automatic generation of follow-up questions
After the Agent finishes answering, it generates 3 recommended follow-up questions based on the most recent 3 user messages. -
Direct submission on click
After clicking a recommended item, the content is submitted directly to the Agent and a new round of answering is started. -
Edit before sending
When hovering over a recommended item, you can enter edit mode first, modify the content, and then send it. -
Model invocation strategy
Prioritize using the flash model of the same provider and disable thinking; if it fails, fall back to the session’s original model. -
Generation status and failure handling
Cached by session + round. Shows skeleton placeholders during generation; on failure, it displays the specific reason and allows one-click retry. -
Keep only the latest round
Recommended items are only displayed below the latest round of answers. After initiating a new round of conversation, old recommended items are automatically hidden. -
Theme adaptation
Uses--dsw-alias-*theme variables to automatically adapt to light and dark modes.
Installation and Activation¶
Formal Plugin¶
Formal plugins are installed persistently and are suitable for scenarios where persistence across restarts is required. The installation commands provided in the documentation are based on local repository paths.
First, clone the repository and enter the repository directory:
git clone https://github.com/shaoeric/dsh-suggest
cd dsh-suggest
Then install it to the web profile:
dsh plugin --profile web add file:$(pwd)
Here, file: is followed by the local repository path. On Windows, it needs to be changed to the absolute path of the repository, for example:
dsh plugin --profile web add file:C:/path/to/dsh-suggest
After installation, you need to restart dsh web and refresh the browser:
- Stop the running
dsh web; - Re-run
dsh web; - Refresh the browser page.
Updating the Formal Plugin¶
The file: dependency caches a snapshot taken at installation time; simply running add again will not refresh the content. To update, delete it first and then re-add it:
dsh plugin --profile web remove dsh-suggest
dsh plugin --profile web add file:/绝对路径/dsh-suggest
After completion, restart dsh web.
Uninstalling the Formal Plugin¶
Execute the removal command:
dsh plugin --profile web remove dsh-suggest
Then restart dsh web.
Dynamic Plugin¶
Dynamic plugins are defined temporarily within the process and are suitable for temporary verification or debugging. They will be lost after the DSH process restarts and need to be redefined and re-run.
In the “Creative Mode” session of the DSH Web GUI:
- Use
cordis_defineto create the plugin, fillhost.jscontent into the host code, andclient.jscontent into the client code; - Use
cordis_runto activate the plugin; - Approve the plugin in the GUI.
On the first approval, check the box to authorize the current version; double-click to authorize subsequent updates.
Typical Usage¶
After completing the installation and refreshing the page, you can use it as follows.
- Initiate a question to the Agent.
- After the Agent finishes answering, 3 recommended follow-up questions will appear below the latest round of answers.
- If a recommendation is suitable, click it directly; it will submit to the Agent and start a new round of answering.
- If a recommendation needs adjustment, hover over it to edit first, then send.
- After initiating a new round of conversation, the recommended items from the previous round will be automatically hidden.
- If the recommendation generation fails, the specific reason will be displayed, and you can retry as prompted.
Dependencies and Implementation Boundaries¶
The Host side depends on llm and sessions; the formal version additionally requires typert. The client side depends on the conversation.chat.turnTail slot.
Once installed, formal plugins are in a persistent state and remain available after restarting dsh web. Dynamic plugins only exist within the current DSH process and require redefinition and activation after the process restarts.
Applicable Scenarios and Precautions¶
dsh-suggest is suitable for scenarios that require quick follow-up questions and a desire to reduce manual input, especially when performing continuous task breakdown, debugging, or solution discussion within DSH Web sessions.
Note a few points before use:
-
Dynamic plugins do not persist across restarts
If you wish to keep it long-term, use a formal plugin. -
Updating formal plugins requires deletion before re-adding
Thefile:dependency caches a snapshot taken at installation time; simply runningaddagain will not refresh the content. -
Documentation does not provide remote package installation commands
The installation methods provided are for local repositoryfile:paths; do not try to concatenate your own remote installation commands. -
Check source code and license before installation
The plugin runs within the DSH process, equivalent to the permissions of the currentdshprocess. Before installation, you should check related source code such ashost.js,client.js, andlib/, and confirm that the MIT license meets the project requirements.
Conclusion¶
dsh-suggest converges post-answer follow-up input into “choose or lightly edit”: after an answer ends, it provides 3 clickable, editable follow-up questions; clicking submits immediately, and editing before sending is also supported. It offers both formal and dynamic plugin forms, suitable for continuous follow-up questioning in DSH Web sessions.
GitHub Repository:
https://github.com/shaoeric/dsh-suggest
There is also a directory page link in the documentation:
https://www.skillhub.cn/plugins/shaoeric/dsh-suggest
However, this directory page URL has not been directly confirmed in the scraped data; it is recommended to rely on the GitHub repository.