DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

dsh-spell-suggestions

o

dsh-spell-suggestions

Identified

Right-click spelling suggestions in the DeepSeek Harness composer: ranked corrections, add to dictionary, and the standard edit actions.

Composer spellcheck

Right-click a word in the message composer and get spelling suggestions, with the usual editing commands in the same menu.

Install

The browser half is prebuilt and committed (client.js), so there is no build step and no network access at runtime.

  1. In the app, open the plugin manager (Settings → Plugins) and install from a local folder, pointing at a checkout of this repository.
  2. Reload the window (Ctrl+R). The browser half is loaded per page load, so the menu only appears after a reload.

For scripted installs, dsh plugin --profile <name> add <path-or-git-url> installs the package half; the profile's dsh.profile.bundles list also needs this package (the plugin manager does both steps).

What it does

  • Adds a capture-phase contextmenu listener on document. It only claims events whose target sits inside the composer ([data-composer-input], the Lexical editor), so every other right-click in the app behaves exactly as before.
  • Works out the word under the pointer, checks it against a bundled dictionary, and opens the shared Web context menu (ctx.contextMenus) with:
    1. up to five suggestions, ranked by edit distance and then word frequency;
    2. Add to dictionary — remembered in localStorage under dsh.composer-spellcheck.user-words;
    3. a separator, then Cut, Copy, Paste, Select all, Undo, Redo, so the default menu functions the shell would otherwise offer are still available.
  • A word that is already known still gets the editing block, so the menu is useful for correct text too. Words the dictionary cannot match show “No suggestions” plus the same editing commands.
  • Suggestions keep the original capitalisation: Recieve → Receive.

The composer is a Lexical editor; Chromium's own squiggles are untouched. This plugin supplies the menu that makes them actionable in the desktop shell, which has no native context menu at all.

Files

PathPurpose
index.jsHost half — no service, exists so the Loader entry mounts.
client.jsBuilt browser half: listener, suggestion engine, menu contribution.
src/client.template.jsSource template with __WORDS__ / __EXTRA__ / __DROP__ / __TYPOS__ placeholders.
src/allowlist.txtExtra known words for technical writing (one per line).
src/typos.jsonCurated misspelling → correction pairs, including typed contractions (dont → don't).
tools/prepare-words.mjsDownloads the frequency list once into .tmp/, filters and writes .tmp/words.json.
tools/build-client.mjsInjects the word data into the template and writes client.js.
tools/test-client.mjsLoads the built bundle through a stub loader, applies it to a fake contextMenus, and checks suggestions and timing.

Rebuild

# from the repository root
node tools/prepare-words.mjs --limit=30000 --min-count=2   # only when refreshing the word list
node tools/build-client.mjs
node tools/test-client.mjs

prepare-words.mjs downloads the frequency list once into .tmp/ (git-ignored); the other two scripts need nothing beyond Node.js, so a fresh clone can rebuild client.js offline.

Reload the app window afterwards; the browser half is loaded per page load.

Dictionary

~30k words from the FrequencyWords English list (CC-BY-SA), plus the allowlist, plus the curated corrections. Informal spellings that the corpus contains (dont, cant, youre, …) are dropped, because the curated map treats them as misspellings and they would otherwise never get suggestions.

Limits

  • Only the composer is covered. Menu entries appear at the pointer; the menu itself is the app's shared Web menu, so keyboard navigation and dismissal are the platform's.
  • Suggestions come from the bundled dictionary, not from the operating system's spellchecker, so the set of underlined words and the set of words with suggestions can differ slightly.

License

MIT — see LICENSE.

The bundled word list comes from FrequencyWords, which is distributed under CC-BY-SA; the curated misspelling table in src/typos.json is original to this project.

Comments

Loading…

Similar plugins

dsh-prompt-enhance

One-click prompt enhancement for the DeepSeek Harness composer: a chip beside the model selector rewrites the draft into a structured prompt using the session's own model.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

dsh plugin --profile web add dsh-prompt-enhance

by wuwaka

Adds a right-click menu to DeepSeek Harness inside desktop shells that ship no context menu: cut, copy, paste and select all in the composer, copy and copy-as-plain-text on selected text elsewhere, an

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 12, 2026

dsh plugin --profile web add dsh-clipboard-menu

by konglong87

dsh 常用内容插件:保存、编辑提示词,点击回填输入框,不自动发送。deepseek harness 插件

UI & ExperienceDevelopment & InfrastructureManifest valid

★ 3

MIT

JavaScript

Sep 23, 2026

dsh plugin --profile web add dsh-input-list

by tuogusa

Word auto-completion in the Web composer: prefix-matched suggestions sorted by closeness, arrow-key selection and Enter to confirm.

UI & ExperienceManifest valid

★ 3

MIT

JavaScript

Aug 19, 2026

dsh plugin --profile web add dsh-word-complete

by Chi-hong22

DeepSeek Harness Web composer markdown editing helper: Shift+Enter list continuation with ordered-list auto-renumbering and Tab indent

Terminal & ClientsManifest valid

★ 0

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add @chi-hong22/dsh-mdbox

by ruiyukirin

DSH 输入框一键提示词增强按钮 | One-click prompt enhancement for the DeepSeek Harness composer: rewrite the unsent draft into a clearer, more specific prompt, restore the original with one click. Ported from Tencent WorkBuddy's EnhancePrompt design; independent model call that never touches the session log.

UI & ExperienceSessions & MessagesManifest valid

★ 1

MIT

JavaScript

Oct 25, 2026

dsh plugin --profile web add dsh-prompt-optimization-master