Preface¶
In the DeepSeek Harness (DSH) dsh web dialog box, developers often repeatedly input the same types of phrases: prompt fragments, technical terminology, project-specific conventions, common follow-up questions, or fixed templates. Existing approaches typically involve manually copying and pasting or maintaining a snippet list outside the editor.
dsh-wordbox addresses this scenario as a web client plugin: it adds a “Word” button to the right of the conversation input box. Clicking it pops up a persistent pull-up panel for managing common words/phrases at the global or current project level, and allows one-click insertion into the input box.
What This Is¶
dsh-wordbox is a DSH web client plugin maintained by arcmosin, licensed under MIT.
It is a standard DSH bundle plugin. Installation and removal are handled via the dsh plugin command, and it is automatically mounted to the web profile. The plugin interface supports both Chinese and English, following the DSH interface language.
Core Features¶
The main capabilities provided are listed below.
- Displays a “Word” button to the right of the conversation input box; shows
Win the English interface. - Clicking the “Word” button pops up a persistent pull-up panel; it can be closed by clicking the button again, clicking outside, or pressing
Esc. - Entries are divided into two buckets:
- Global: shared across all workspaces.
- Current project: isolated by workspace directory.
- The panel provides three display scope toggles: All, Global, and Current.
- Clicking an entry appends it to the input box, retains focus, and preserves one undo step.
- The panel does not close after clicking an entry, allowing multiple entries to be inserted consecutively.
- In current project mode, entries can be added to global with one click.
- Hovering over the end of an entry row allows deletion of the entry.
- For long entries, hovering causes a slow scrolling display of the full content.
- The word database is stored in the browser
localStorage, isolated by browser profile. - Synchronization across workspaces and tabs is done via the
storageevent. - The bundle is pure JS with no build steps.
Installation and Activation¶
The prerequisite is that DeepSeek Harness dsh web is already available in the environment, and pnpm is on the PATH. The dsh plugin command forwards to pnpm.
Installation command:
dsh plugin --profile web add dsh-wordbox
After execution, restart dsh web. After restarting, the “Word” button will appear to the right of the input box; in the English interface, it displays as W.
Typical Usage¶
- Click the “Word” button to the right of the input box, and the panel pulls up and remains open.
- Toggle the display scope at the bottom right of the panel: All, Global, or Current.
- Click an entry, and it gets appended to the input box.
- If more insertions are needed, click multiple entries consecutively.
- Hover over the end of an entry row to reveal a
×delete button; click it to delete the entry. - In “Current” mode, hovering over the end of an entry row shows a button to add it to global, used to copy the current project entry to global.
- If an entry is too long, hovering causes a slow scrolling display of the full content.
Data, Uninstallation, and Synchronization¶
The word database is stored in the browser localStorage. Uninstalling the plugin does not delete this data.
Uninstallation command:
dsh plugin --profile web remove dsh-wordbox
After execution, restart dsh web, and the “Word” button to the right of the input box will disappear.
If you confirm clearing the local word database, delete the following browser localStorage keys:
dsh.common-word-box.words.v1
dsh.common-word-box.words.project.v1
dsh.common-word-box.mode.v1
Data is isolated by browser profile. Cross-workspace and cross-tab synchronization is done via the storage event.
Development and Updates¶
- After modifying
lib/client.js, the hostclient-hmrpolls the bundle hash and automatically hot-reloads on changes. - After first installation, uninstallation, or modification of
cordis.patch.yml, a restart ofdsh webis required. - The bundle is pure JS with no build steps.
- In rare cases, after
remove, a residual empty directory or link may remain atprofiles\web\node_modules\dsh-wordbox; manually deleting it is safe and does not affect functionality.
Applicable Scenarios and Notes¶
dsh-wordbox is suitable for the following situations:
- Frequently inserting identical phrases, prompt fragments, or terminology in
dsh webconversations. - Needing to differentiate between global common words and current project common words.
- Wanting the word database stored per browser profile and synchronized across workspaces and tabs within the same browser profile.
- Needing to insert multiple entries consecutively in one panel to reduce copy-paste effort.
Usage notes:
- The plugin participates as a DSH client plugin with the permissions available to the current
dshprocess. Reviewing the source code and MIT license before installation is recommended. dsh plugindepends onpnpm; ensurepnpmis on the PATH.- Uninstallation does not clear the word database data in the browser
localStorage. - A restart of
dsh webis required after first installation, uninstallation, or modification ofcordis.patch.yml. - No restart is needed after modifying
lib/client.js; the hostclient-hmrauto hot-reloads.
Links¶
GitHub repository: https://github.com/arcmosin/dsh-wordbox