Introduction

In the Web session of DeepSeek Harness (DSH), after an agent turn ends, users often have to re-enter the next round of prompts. dsh-suggest-prompt addresses this step: it writes a suggested next prompt via a bounded auxiliary LLM invocation at the end of every agent turn; the Web side renders this suggestion as light-colored ghost placeholder text within the input box, and by default, it is adopted into the draft via the Tab key.

Plugin Overview

It is a Web profile plugin for DSH, maintained by studyzy, and is licensed under MIT. Its core responsibilities are:

  • Generating a suggested prompt upon the completion of a turn;
  • Writing the suggestion to the session log;
  • Displaying it as placeholder text within the Web input box;
  • Providing a configurable shortcut key for acceptance.

Core Features

Suggestion Generation

After each agent turn completes, the plugin executes a bounded auxiliary LLM invocation. By default:

  • It inherits the router of the most recent recorded request in the main request;
  • It sends the last round of user input and the AI’s final answer;
  • maxRecentTurns defaults to 1;
  • It disables reasoning, using reasoningEffort: off, corresponding to thinking: disabled.

Web Display

The suggestion will be displayed as light-colored ghost placeholder text within the Web input box. While every completed turn generates a suggestion, the ghost text only appears when the draft is empty. It is adopted into the draft by default via Tab; you can also record the acceptance shortcut key as Alt+Slash, Ctrl+Enter, etc.

Configurable Limits

The plugin provides limits for bytes, tokens, timeouts, transcription length budgets, and visible character limits for suggestions. It supports explicitly specifying the provider / model, following the session router if not specified.

Filtering and Skipping

Transcription masking is performed before sending, and the output undergoes purification and semantic filtering. Empty or non-compliant replies will be silently skipped: no suggest-prompt/suggested event is written, the projection remains null, and no warning is logged.

Installation and Enablement

Prerequisites

The following environment must be met:

  • Node.js ^22.19 or >=24
  • pnpm
  • A dsh deployment based on deepseek-harness using the web profile
  • dsh ≥ 0.1.1-rc.1
  • The browser provides the conversation.input.overlay slot and inputActions.setDraft

Installation from GitHub

It is recommended to install from the GitHub repository first:

dsh plugin --profile web add git@github.com:studyzy/dsh-suggest-prompt.git

After installation, restart the running dsh web service.

If pnpm ≥10 intercepts the prepare build script during git installation, you need to add the package key printed by pnpm to the allowBuilds in:

~/.dsh/profiles/web/pnpm-workspace.yaml

and then re-execute the installation command.

Installation from Local Source

If you already have a source code directory locally:

dsh plugin --profile web add /path/to/dsh-suggest-prompt

Installation via npm

After the plugin is published, you can install it using the npm package name:

dsh plugin --profile web add @studyzy/dsh-suggest-prompt

Uninstallation

dsh plugin --profile web remove @studyzy/dsh-suggest-prompt

Typical Usage

  1. Open the “Suggest Prompt” card in the WebUI “Settings → Plugins”.
  2. Select the provider / model to use for suggestion generation, or choose to follow the session router.
  3. Save the configuration. The next completed turn will take effect.
  4. If needed, record the acceptance shortcut key in this card, for example Alt+Slash or Ctrl+Enter.
  5. Wait for the agent to complete a turn. If the input box draft is empty, light-colored ghost placeholder text will appear inside the input box.
  6. Press the default Tab to adopt the suggestion into the draft, then edit or send it.

Applicable Scenarios and Notes

It is suitable for users engaging in continuous multi-turn dialogue within the DSH Web profile. It is ideal for scenarios where you need to quickly obtain a draft for the next prompt while also wanting to retain the option for human confirmation.

Please note before use:

  • The plugin runs with the permissions of the current dsh process. You should check the source code and license before installing; this project declares the MIT license.
  • This plugin integrates via the DSH plugin mechanism and is not an official component from the app store.
  • A suggestion is generated for every completed turn, but the Web side only displays the ghost text when the draft is empty.
  • Generations that are aborted (or replaced) will not leave a suggestion for earlier turns.
  • Empty replies or filtered replies are considered as having no suggestion: no suggest-prompt/suggested event is written, the projection remains null, and no warning is logged.
  • The projection preserves the last suggestion; reopening an old session will display its final suggestion without initiating a new model call.
  • For models that cannot turn off thinking, the thinking process may consume the budget; if maxOutputTokens is set too low, it may end prematurely with max-tokens.

Conclusion

dsh-suggest-prompt limits the suggested prompt to a single bounded auxiliary generation and provides an adoptable placeholder text in the Web input box. It is suitable for DSH Web users who want to reduce repetitive input without interrupting the current draft.

GitHub Repository:

  • https://github.com/studyzy/dsh-suggest-prompt