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.

  1. 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.

  2. 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.

  3. Edit before sending
    When hovering over a recommended item, you can enter edit mode first, modify the content, and then send it.

  4. 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.

  5. 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.

  6. 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.

  7. 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:

  1. Stop the running dsh web;
  2. Re-run dsh web;
  3. 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:

  1. Use cordis_define to create the plugin, fill host.js content into the host code, and client.js content into the client code;
  2. Use cordis_run to activate the plugin;
  3. 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.

  1. Initiate a question to the Agent.
  2. After the Agent finishes answering, 3 recommended follow-up questions will appear below the latest round of answers.
  3. If a recommendation is suitable, click it directly; it will submit to the Agent and start a new round of answering.
  4. If a recommendation needs adjustment, hover over it to edit first, then send.
  5. After initiating a new round of conversation, the recommended items from the previous round will be automatically hidden.
  6. 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:

  1. Dynamic plugins do not persist across restarts
    If you wish to keep it long-term, use a formal plugin.

  2. Updating formal plugins requires deletion before re-adding
    The file: dependency caches a snapshot taken at installation time; simply running add again will not refresh the content.

  3. Documentation does not provide remote package installation commands
    The installation methods provided are for local repository file: paths; do not try to concatenate your own remote installation commands.

  4. Check source code and license before installation
    The plugin runs within the DSH process, equivalent to the permissions of the current dsh process. Before installation, you should check related source code such as host.js, client.js, and lib/, 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.