- Home
- Plugins
- Sessions & Messages
- dsh-followup-prompt
dsh-followup-prompt
keliwang/dsh-followup-prompt
DeepSeek Harness plugin that predicts your next message after each reply. Press Tab to accept it as an editable draft; it never sends by itself.
Install
dsh plugin --profile web add github:keliwang/dsh-followup-promptREADME
Followup Prompt
English | 中文
Predicts your next message in DeepSeek Harness. Press Tab to use it; it never sends by itself.
After each reply, the plugin guesses what you are most likely to say next and shows it as gray text inside the empty composer. Press Tab to turn it into an editable draft, or just start typing and it disappears.
- Unobtrusive: appears only when the composer is empty; failures and timeouts show nothing and never raise an error.
- You stay in control: a prediction is only a draft. You always send it yourself.
- Works out of the box: uses the current session's model by default, with no extra dependencies or services.
Contents
Installation
Requires DeepSeek Harness >=0.2.1-rc.2 <0.3.0 (verified on 0.2.1-rc.2) with at least one model configured.
Harness Desktop (Windows, macOS)
- In the sidebar, open Plugins → Add plugin.
- Enter
dsh-followup-promptas the Package name or address. In mainland China, set Registry to Mainland China mirror. - Click Install, then Enable now, and reload the page. If you are told to restart DSH, quit Harness completely and open it again.
If npm is unreachable, step 2 also accepts the full path of a dsh-followup-prompt-<version>.tgz downloaded from Releases.
Harness Web (Windows, macOS, Linux)
Requires Node.js 22.19 or later and pnpm.
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-followup-prompt
npx @deepseek-ai/dsh@0.2.1-rc.2 web
[!NOTE] Do not install from the source directory (entering this repository's path as the package address). A directory install cannot find the dependencies that ship with Harness, so the plugin fails to load. To build locally, run
pnpm packin this repository and install the resulting.tgz.
Verify the installation: ask a question, wait for the reply to finish, and leave the composer empty. Gray prediction text appears in the composer; press Tab and the text moves into the composer without being sent. If no prediction appears, see the FAQ.
Usage
When a reply finishes and the composer is empty, the prediction appears where the placeholder would be.
| Action | Effect |
|---|---|
| Tab | The prediction becomes a draft in the composer with the cursor at the end, ready to edit |
| Esc | Closes this prediction; it does not come back for this turn |
| Start typing or composing with an input method | The prediction hides; once the composer is cleared, a prediction that was already generated reappears |
| Start a new turn or switch sessions | The prediction hides |
Reopening a finished session also shows the prediction for its last turn.
How it works
What gets sent: your messages and the visible text of the model's replies in this session. Thinking, tool calls, tool output, and the system prompt are left out.
When it runs: only when a turn has finished and you're looking at the session with an empty composer. The result is kept until the next turn starts, so viewing it again isn't billed again. Interrupted or failed turns, empty sessions, and subagent sessions are skipped.
What it predicts: a short reply to the model's latest message, based only on what's in the conversation. When there's nothing worth sending, like a plain "OK" or "thanks", or the next message depends on something only you know, such as a test result, no prediction appears. Predictions can still be wrong, so read one before you send it.
Cost: every prediction is an ordinary model request billed by your provider; with providers that support prompt caching, most of the input is billed at the cached rate. To spend less, pick a cheaper model for predictions in the settings; to stop entirely, switch the plugin off on the Plugins page.
Privacy
- Data goes only to the current session's model, or to the model you set with
provider/model. Nothing is reported to any third party. - Predictions live in memory only. They are never written to the session log or to disk, and are gone after a restart.
- Logs record metadata only (latency, token counts, outcome), never conversation content.
- There is no server-side content moderation. Predictions that look like secrets are dropped locally, and you always send a prediction yourself.
Configuration
On the Plugins page, find Followup Prompt in the Installed list and click its configure button to open the settings. Click Save when you're done; changes take effect right away, no restart needed.
The Model list shows the models you have already set up in DSH, the same ones you see when switching models in the composer. Pick Session default to use whatever model your current session is running.
To turn the plugin off, use the switch on its row in the Plugins list.
If you are comfortable with profile patches, you can also edit this plugin's config directly.
[!IMPORTANT]
configin a patch is replaced as a whole, not merged. When editing by hand, write out every field even to change one; use this package'scordis.patch.ymlas a reference. Saving from the settings page also rewrites the wholeconfig.
| Field | Default | Description |
|---|---|---|
provider / model | '' / '' | The model used for predictions; both must be set together. Leave empty to follow the current session's model. Same as the Model option on the settings page. |
reasoningEffort | 'low' | One of '', off, low, high, max. '' uses the model's default; the session's own setting is never inherited. |
maxTokens | 8192 | Output token limit, reasoning tokens included. Actual output is usually short; the default leaves room for thinking. |
timeoutMs | 30000 | Timeout for one prediction, 2–30 seconds. |
prompt | '' | Advanced: replaces the built-in prediction instruction. |
FAQ
No prediction ever appears
- On the Plugins page, check that the plugin's switch is on.
- With non-DeepSeek models,
reasoningEffort: 'low'may not be supported; change it to''. - A prediction is given up when the model takes longer than
timeoutMs; try a faster model or a lowerreasoningEffort. - Predictions are not shown while the composer contains text or attachments.
Tab does nothing
While the slash-command menu or another popup menu is open, Tab belongs to the menu. Close the menu and press Tab again.
The prediction is misaligned
Where the prediction is drawn depends on the internal structure of the Harness composer, which can shift after a Harness upgrade. Please open an issue; until it is fixed, switch the plugin off on the Plugins page.
An older version was installed
Harness installs plugins with pnpm, which by default holds back versions published very recently (minimumReleaseAge) and installs the previous version instead; the install result shows the version actually installed. Wait a while, then reinstall following the upgrade steps.
Upgrade and uninstall
Harness Desktop: on the Plugins page, find Followup Prompt in the Installed list and click Uninstall. To upgrade, uninstall first, then install again following Installation.
Harness Web:
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-followup-prompt@latest # upgrade
npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web remove dsh-followup-prompt # uninstall
Reload the page afterwards, and restart Harness if needed. To pause the plugin temporarily, switch it off on the Plugins page.
Development
docs/design.md(Chinese): architecture, implementation details, development, testing, and release.docs/protocol.md: the interface contract between the Host and the browser.
License
Related plugins
dsh-web-ui (dsh-chat-recovery)
zhu1090093659/dsh-web-ui
billion-context
ranxianglei/billion-context
dsh-synapse
liangmianya/dsh-synapse
dsh-chat-import
nwflower/dsh-chat-import