Introduction¶
A common issue when writing prompts in DSH is pausing mid-sentence to think about the next step. The existing approach is to copy the unfinished sentence to another model window for completion, then paste it back, requiring manual alignment of context and key positions in the process. dsh-tab-complete directly displays the next sentence suggestion (in gray text) within the DSH input box. Pressing Tab fills the suggestion into the draft; whether to adopt it is up to the user, and it will not be sent automatically.
This plugin is maintained by FurinaLiF and falls under the “Model Inference” category. Below are introductions to its capabilities, installation method, and verification boundaries.
What is this¶
A one-sentence positioning: A plugin that provides the next sentence suggestion (in gray text) for the DeepSeek Harness (DSH) input box, maintained by FurinaLiF.
It solves the problem of scattered continuation actions: no need to exit DSH, draft filling is done directly within the session. It is worth noting that prediction remains always-on; the plugin will hand over the end of the currently visible session (up to 2000 characters), current time, local timezone, and available last message time to the model configured in DSH, which may generate usage or costs; disabling requires uninstalling the plugin.
Core Features¶
Look at it from three layers.
Interaction¶
- Tab: Adopt the suggestion, only filling the draft, without auto-sending or executing the operations described in the suggestion.
- Esc: Discard the current suggestion.
- Clearing adopted draft: In the same round and same day, previously cached suggestions are restored, and no new model call is initiated.
- Hiding suggestions: When typing text or when the assistant is generating.
Cache Strategy¶
During the runtime of each client, a request is initiated at most once per observed session round and per local date; it remains blank if there is no model result. Restarting rebuilds the cache. Returning to the window or page after crossing days invalidates the old cache and re-predicts to avoid using yesterday’s time phrasing.
Time Awareness¶
The plugin understands expressions like “tomorrow” and “tonight” based on the current time and historical message times. If the message time is missing, it is marked as unknown, and specific dates are not inferred; if the timezone is unparseable, it is labeled UTC.
It is worth noting that suggestions may be incorrect, including proposing operations the user has not yet agreed to. Only messages actually sent by the user constitute instructions.
Installation and Enablement¶
First, end the currently generating session and completely exit DSH, then execute the installation command:
dsh plugin --profile desktop add github:FurinaLiF/dsh-tab-complete
Reopen DSH, enter an existing session, and wait for the gray suggestion to appear when the assistant stops generating and the input box is empty. This version does not display a prediction switch button. The repository comes with readable JS and requires no additional build. If the DSH package manager prompts for build authorization, read the specific prompt first and do not disable security checks entirely.
Uninstall method: Exit DSH and execute:
dsh plugin --profile desktop remove dsh-tab-complete
Then reopen DSH.
Typical Usage¶
The following flow is taken from the “Usage” section of the README.
- After the assistant finishes generating, wait for the gray prediction to appear when the input box is empty.
- Press Tab to fill the suggestion into the draft and check the wording.
- Press Enter to let the user decide whether to send; or press Esc to discard the suggestion.
- If the draft is filled and then cleared, cached suggestions are restored for the same round and day, consuming no extra model calls.
The plugin’s dependencies on DSH include the conversation.input.overlay slot, inputActions.captureInsertion/insertText, webServer, and llm services. If there is no model service, suggestions will not be displayed, and no additional API key entry is required.
Applicable Scenarios and Notes¶
It is suitable for DSH desktop users who need to frequently continue the next sentence of a prompt and are willing to hand over the context at the end of the session to the configured model. The Web profile can try the same installation command, but there is no independent web runtime verification.
A few points need attention. The plugin runs with the permissions of the current DSH process; one should check the repository source code and the MIT license before installation. Currently, real model returns, gray text display, and Tab filling into the draft have been verified on Windows desktop DSH 0.2.1-rc.2; subsequent 0.3.1 and 0.3.2 features (switch removal, cache recovery, time boundaries) were verified via offline regression, but real model and interface verification have not been redone item-by-item yet. Compatibility with other systems and DSH versions is unverified.
Context is processed by the configured model channel in DSH, not through the author’s server; the plugin communicates with DSH via same-origin HTTP routes, and the prediction route uses DSH’s connection admission check. Diagnostic files are located at dsh-tab-complete/debug.jsonl in DSH_HOME (or .dsh in the user directory if not set). They only record routing, event types, result length, etc., and do not record the session body. When providing feedback, providing the DSH version, system, specific key effects, and sanitized error messages is sufficient; do not submit keys, full sessions, full configurations, or full logs.
The official offline test commands are as follows, using mock services and React slot adapters, without sending real model requests:
node test/host.test.mjs
node test/client-state.test.mjs
Host tests write to diagnostic files, so DSH_HOME can be pointed to a temporary directory first.
Summary¶
dsh-tab-complete places the next sentence prediction inside the DSH input box itself, combined with Tab filling the draft and date-based cache recovery, making it suitable for sequential writing scenarios. The limitations are also clear: prediction being always-on will generate model usage, and other systems and DSH versions have not been verified.
Plugin convention page: https://github.com/FurinaLiF/dsh-tab-complete
Community directory page: https://www.skillhub.cn/plugins/FurinaLiF/dsh-tab-complete