dsh-hover-dict
点选或划选聊天回复里的英文单词,显示词性、中文释义与考纲标签;划选纯英文句子翻译成中文。词库离线内置:20,499 词条,8,960 个带双语例句,6,374 个带词根分析。
安装
dsh plugin --profile web add dsh-hover-dict
沙箱测试
这个插件还没测过。提交测试 →
README
点选查词 · dsh-hover-dict
在 DeepSeek Harness 里读英文时,点一下词就看到它什么意思。
它做什么
你做什么 · 出现什么
单击一个英文单词 · 小浮层:词性、中文释义、考纲标签
双击一个英文单词 · 同上
左键划选一个词 · 同上
左键划选一段纯英文 · 中文翻译
左键划选中英混排的内容 · 不翻译,提示一句
点小浮层 · 就地展开大卡片:全部义项、英英释义、词形变化、同根词、词根词缀、双语例句
点卡片上的 ☆ · 收进生词本(再点取消)
范围只限对话正文。 包括代码块、行内代码和工具调用卡片里的英文 —— 那些地方恰恰最常需要查词(变量名、命令、报错信息)。
输入框、右下角的模型选择器、侧栏、设置页都不响应:在这些地方点一下是想定位光标或开菜单,弹词典只会碍事。
只翻译纯英文。 选中的内容里汉字超过 10% 就不翻——中英混排的段落翻出来往往词不达意,而且选它是想复制或引用。这时候会给一句提示,不会静默无反应。
结果不会自己消失。 只有三种情况关闭:点浮层外面、按 Esc、重新选别的。
选中词不加任何底色或边框。 早先版本给选中的词画半透明底,深色主题下等于把那几个字糊掉一层灰。现在完全不加视觉覆盖,浮层自己就在词旁边。
没有音标,没有发音。
生词本
卡片和浮层右上角都有星标,点亮表示这个词已在生词本里。
三色标注,一眼看出一个词和你背过的词是什么关系:
颜色 · 含义 · 例子
红 · 这个词本身在生词本里(含它的变位) · 收藏了 run,ran / running / runs 也标红
蓝 · 语义词族里但没收藏 · 查 care 时,careful / careless / carer 标蓝
同根词靠派生规则判断,不靠字符串相似:care 与 career 前缀一样但毫无词源关系,不会连在一起。
生词本存在 DSH 的本地存储里(KV 落磁盘),换浏览器或清缓存都不会丢。
导入:设置面板里可以直接粘贴单词表,一行一个。有道、欧路、百词斩导出的内容都能识别——每行第一个像英文单词的片段会被收下。
词根词缀
卡片里给出一个词的拆解,例如:
biography bio[词根] 生命 · graph[词根] 写 telephone tele[词根] 远 · phon[词根] 声音 careless -less[形容词后缀] 没有 rewrite re-[前缀] 再
6,374 个词有分析(占词库 31%)。宁可漏也不误判:拆完必须过四道闸门——词干要真实存在、释义要有语义重叠、独立基础词不硬拆、人工确认的假拆分列进排除表。所以 understand 不会被拆成 under- + stand,uncle 不会被拆成 un- + cle。
设置页
在 设置 里,左侧导航那一列(账号与余额 / 通用设置 / 模型 / …)会多出一项「英语翻译」,
排在「技能」与「费用」之间。点开后有两个标签:
标签 · 内容
生词本 · 全部收藏的词,带中文释义预览;可搜索、单个移出
设置 · 翻译接口、词库管理、生词本导入导出、显示参数
只有这一个入口。 不再另外挂插件详情页或侧边栏图标。
词库与句子库
系统自带三个,随包分发,完全离线:
包 · 内容
核心词库 · 20,499 个考纲核心词(中考/高考/四六级/考研/托福/雅思/GRE)
词根词缀库 · 6,374 个词的拆解
双语例句库 · 8,960 个词的中英对照例句
自己加词库
把文件放进 data/packs/,重启 DSH 后自动加载。支持两种格式:
ECDICT 的 CSV —— 只要有 word 与 translation 两列就能用,definition 与 tag 可选:
word,translation,definition,tag serendipity,"n. 意外发现, 侥幸",luck,cet6 blockchain,n. 区块链,a distributed ledger,
与 dict.dat 同构的 JSON —— 键是词头,值是槽位数组。格式见 docs/架构.md 的数据契约。
文件名只能是 小写字母/数字/连字符 加 .dat 或 .csv。这是在防路径穿越:宿主不接受任意路径,
只认 data/packs/ 下扫描到的文件。
重新生成词库
词库是构建期产物,已经随包提供。要改筛选口径或换语料才需要重跑:
node scripts/build-data.mjs --src <原始数据目录> --out data
它会读该目录下的 ecdict.csv 与三个 Tatoeba 文件,产出 data/dict.dat 与 data/meta.json。
开发
node client/build.mjs # 从 client/src/ 生成 client.js node client/build.mjs --check # 校验产物与源码同步 node scripts/test-host.mjs # 宿主侧路由测试(起真 http 服务器) node client/test/smoke.mjs # 端到端冒烟(假宿主里装载产物)
各模块单测在 client/test/ 下,文件名前缀 _ 的是跑单个模块用的。
源码分模块放在 client/src/,构建期拼成单文件 client.js。不用打包器是因为这个仓库的运行期依赖必须是零。
改完源码务必跑一次 node client/build.mjs —— client.js 是产物,只改 client/src/ 不会生效。
结构
index.js 宿主侧:词库文件的静态路由,带 ETag 与 gzip client.js 浏览器半构建产物(不要手改) client/src/ word / hit / selection / dict / net / position / overlay / card / config / app client/build.mjs 拼接构建 + 产物校验 data/dict.dat 词库(以词头为键的 JSON) data/meta.json 构建元信息 locale/ 界面文案(中 / 英) scripts/build-data.mjs 数据构建脚本 scripts/test-host.mjs 宿主侧测试 docs/架构.md 设计文档 .snapshots/ 源码快照,防改动丢失
许可
MIT,见 [LICENSE](LICENSE)。
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:4,最后更新 2026-11-03