前言¶
用 AI 助手写代码、查资料时,回复里经常混着 RAG、LoRA、MCP 这类术语。不认识就得中断当前话题:要么复制出去搜,要么在对话里追问——前者打断节奏,后者会污染上下文。
下面介绍一个把这件事自动化的小插件:what-was-that。它在 DSH 的 web 界面里放一只小章鱼桌面宠物,自动扫描 AI 回复里的术语,用大白话给你解释。
这是什么¶
what-was-that 是 SH-9999 开发的一个 DSH 静态客户端插件(运行在 web 平台),MIT 许可,已发布到 npm(what-was-that@0.1.9,压缩包 212 KB,解压 1.3 MB)。它的定位用作者的话说就是:一个可爱的小章鱼桌面宠物插件,自动帮你“看懂” AI 回复里的术语和黑话。
从原型阶段的“粘贴 JS”重写为规范的 TypeScript 静态插件包:源码在 src/,资源(词库、宠物 SVG)随包内置,通过 import.meta.url 相对解析,不依赖写死的绝对路径。
核心功能¶
桌面宠物¶
章鱼有四个状态:呆萌、疑惑、思考、开心,形象是透明 SVG,深浅色主题自适应,可以拖动。
自动扫描与本地词库¶
插件自动扫描 AI 回复正文,命中本地词库里的术语时,章鱼身上出现红点角标并弹出气泡轻提示。本地词库共 255 条,全部用大白话解释,零消耗、不联网。
AI 深挖¶
本地解释不够时,点“再讲深一点点”,让模型继续解释,多轮递进:短解释 → 换个说法 → 长解释 → 到底线。
对话区选词¶
在对话区直接框选一个不认识的词(10 字以内),选区旁会弹出大白话解释卡片,点卡片外任意处关闭。这是静态插件专属、需要 DOM 才能实现的功能。
可设置¶
- 解释用哪个模型:默认跟随对话,也可以固定选一个已配置的模型,设置重启后保持,仅当该模型消失时才退回默认。
- 选到词库外的词时,是否弹“帮我解释”提示。
隐私与权限设计¶
这部分值得单独说:
1、不注册任何模型工具(Tool),只做观察和展示。
2、不读取模型“思考中”的内部过程,只关心最终回答正文。
3、绝不把完整回复发回模型。AI 深挖只发送你点中的词加上前后各 80 字,并且带缓存。
安装与启用¶
要求机器上已安装 pnpm(dsh plugin 命令依赖它),Node 版本 >= 22(package.json 的 engines 字段)。在 DSH 的 profile 里执行:
dsh plugin --profile web add what-was-that
装完重启 dsh web 并硬刷新(Ctrl+Shift+R),右下角出现小章鱼即成功。
没有 pnpm 时,可以把仓库里的 lib/ 产物放进 profile 手动挂载(cordis.patch.yml 声明了挂载点),无需编译。
开发者:本地构建¶
想自己改源码的话,先装依赖(esbuild、typescript 都只在 devDependencies),再执行构建脚本:
pnpm install
node build.mjs
node build.mjs 会打包出 lib/index.js 和 lib/client.js,并复制 assets。仓库配置了 GitHub Actions CI,每次 push/PR 自动跑 typecheck + 测试 + 构建。插件零运行时依赖,只用 DSH 自带接口,可以随时停止或删除,不留全局副作用。
适用场景与注意¶
适合在 DSH web 界面里对话的用户,尤其是刚入门、经常被术语卡住的人。词库覆盖不到的词,可以用选词加 AI 深挖兜底。
安装前提醒一点:插件以当前 dsh 进程的权限运行,装之前建议先看一遍源码和许可证。这个仓库是 MIT,源码、词库、构建产物都在 GitHub 上 openly 可查。
结尾¶
what-was-that 解决的是一个小但高频的问题:AI 回复里看不懂的词,不用再打断手头的事去查。词库本地解释零消耗,深挖时也只发送最小上下文,权限收得很干净。
- 社区目录页:https://www.skillhub.cn/plugins/SH-9999/what-was-that
- GitHub 仓库:https://github.com/SH-9999/what-was-that
有问题可以通过仓库的 Issue 反馈。