dsh-spell-suggestions:在 DSH 消息输入框里用右键获得拼写建议

前言

在 DeepSeek Harness(DSH)里写提示词、错误信息或技术说明时,输入框里的拼写错误往往只有浏览器底层的波浪线提示,桌面壳层本身没有系统级右键菜单,改词只能手敲或全选替换。社区插件 osman3n/dsh-spell-suggestions(包名 @osman3n/dsh-composer-spellcheck)专门针对消息输入区(Composer)补上右键菜单:在错别字上弹出按编辑距离与词频排序的建议,并保留剪切、复制、粘贴等常规编辑项。下面介绍它的定位、行为与安装方式;事实以 GitHub 仓库 README 为准。

这是什么

维护者 osman3n 将其归类为客户端插件:浏览器侧逻辑已预构建并提交为 client.js,运行时无需再拉网构建。Host 侧仅有占位用的 index.js,供 Loader 挂载条目。

Composer 使用 Lexical 编辑器(目标节点带 [data-composer-input])。本插件在 document 上注册 capture 阶段的 contextmenu 监听,且只处理落在 Composer 内的事件,应用其他区域的右键行为与未装插件时一致。Chromium 自带的拼写下划线不会被插件改写;插件提供的是可操作的共享 Web 上下文菜单(ctx.contextMenus),弥补桌面壳没有原生右键菜单的缺口。

核心功能

经过上面的定位,菜单内容与 README 描述一致,可归纳为下面几点。

拼写建议

  1. 根据指针下的词,对照内置词典校验。
  2. 最多展示 5 条建议,先按编辑距离、再按词频排序。
  3. 建议保留原词的大小写形式(例如 Recieve → Receive)。
  4. 词典已收录的词仍会显示编辑命令块,方便对正确文本做剪切、复制等操作。
  5. 无法匹配时显示 “No suggestions”,同样附带编辑命令。

加入词典

菜单项 Add to dictionary 将词记入 localStorage,键名为 dsh.composer-spellcheck.user-words,后续视为已知词。

编辑命令

在建议(或 “No suggestions”)之后有分隔线,随后为 Cut、Copy、Paste、Select all、Undo、Redo,与壳层本应在默认菜单中提供的功能对齐。

词典来源与局限

  • 约 3 万 英文词,来自 FrequencyWords(CC-BY-SA),并合并 src/allowlist.txt 与 src/typos.json 中的 curated 纠错对(含如 dont → don't 一类写法)。
  • 语料里本就存在的非正式拼写(dont、cant、youre 等)会从频率表侧剔除,以免与纠错表冲突、导致从不出现建议。
  • 仅覆盖 Composer;建议基于捆绑词典,与操作系统拼写检查的标红范围可能略有差异。菜单由应用共享 Web 菜单呈现,键盘导航与关闭方式遵循平台行为。

安装与启用

浏览器半部已预构建在仓库内,安装阶段不需要 build,运行时亦不需要访问外网拉取词表。

图形界面

  1. 在应用中打开插件管理器:Settings → Plugins。
  2. 选择从本地文件夹安装,路径指向本仓库的检出目录(README 要求以 checkout 方式指向仓库,而非凭空拼接远程名;具体目录需你自行取得源码副本,本文不涉及 git clone 步骤)。
  3. 重载窗口:Ctrl+R。浏览器半部按页面加载注入,重载后右键菜单才会出现。

命令行(脚本安装)

README 给出的形式为:

dsh plugin --profile <name> add <path-or-git-url>

该命令安装 package 半部;对应 profile 的 dsh.profile.bundles 列表中也需包含本包(插件管理器在 UI 路径下会一并处理这两步)。<path-or-git-url> 以你环境中的实际路径或 Git URL 为准,勿凭插件目录名臆造 github:owner/repo 字符串。

安装或更新插件后同样建议 Ctrl+R 重载窗口。

典型用法

  1. 在 DSH 消息输入框中输入或保留一处拼写可疑的英文词。
  2. 在该词上 右键。
  3. 若有建议,点选其一完成替换;若为专有名词或术语,可选 Add to dictionary。
  4. 需要常规编辑时,使用同菜单中的 Cut / Copy / Paste / Select all / Undo / Redo。

未在 Composer 内右键时,不会出现本插件菜单;其他界面区域行为不变。

适用场景与注意

适合:经常在 DSH Composer 里写英文提示、日志片段或技术描述的开发者,希望在桌面壳内用右键快速改词,而不只依赖波浪线提示。

安装前建议:

  • 插件随当前 DSH 进程权限 运行,客户端脚本可访问页面 DOM 与 localStorage;安装前应自行查看 源码仓库 与 MIT 许可证(捆绑词表另涉 FrequencyWords 的 CC-BY-SA 归属,见 README)。
  • 社区目录 SkillHub 插件页 与 GitHub 为独立维护入口,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本文不将其描述为官方应用商店条目。

维护者自行重建客户端(可选,需 Node.js):仅在刷新词表或改模板时执行,普通用户安装预构建的 client.js 即可。仓库根目录示例:

node tools/prepare-words.mjs --limit=30000 --min-count=2
node tools/build-client.mjs
node tools/test-client.mjs

其中 prepare-words.mjs 会向 .tmp/ 下载频率表(git 忽略);完成后仍需重载应用窗口。

结尾

osman3n/dsh-spell-suggestions 在 Lexical Composer 上叠加捕获阶段右键菜单:有限条数的词典建议、用户词典与完整编辑命令,针对 DSH 桌面壳缺少原生上下文菜单的缺口。查阅详情与 issue 可访问 GitHub,分类浏览见 SkillHub 目录页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜