dsh-deep-verbs
DeepSeek Harness(DSH)纯前端插件:给思考状态行加表情。
内置 UI 在模型思考/执行时显示 Deep diving...(15 秒后附计时)。本插件把它扩展成 53 条 deep 系短语的英/中双语池:每个回合开场随机一条;之后每当对话里新出现一个思考段或工具调用就换下一条,两次切换至少间隔 3 秒(洗牌袋抽取,短期不重复、不连出同一条;窗口内的连续事件合并为一次补切),计时器不受影响。点击思考状态行即可切换中/英文——同一条短语换语言展示(不重新抽取),所有并排状态行同步切换,选择写入 localStorage,重载后自动恢复。
短语池(英文)
| 短语 | 含义 |
|---|---|
Deep diving... |
原版:潜水 |
Deep seeking... |
点题:deep seek 动词化 |
Deep delving... |
delve into,深入探究 |
Deep surfacing... |
潜完上浮换气 |
Deep breaching... |
鲸跃出水(致敬 whale logo) |
Deep bubbling... |
在深海冒泡泡 |
Deep singing... |
鲸歌 |
Deep fishing... |
深度摸鱼 |
Deep sinking... |
沉下去慢慢想 |
Deep sleeping... |
睡着了(长思考自嘲) |
Deep napping... |
打盹中(长思考自嘲) |
Deep dreaming... |
做梦中 |
Deep cooking... |
let me cook |
前 13 条为原创 deep 系短语;其余 40 条扩充自 Claude Code 的 spinner 词表(
github.com/ConardLi/easy-agent),按烹饪/探索/头脑/俏皮/科学/存在/放飞分类。
| 短语 | 含义 |
|---|---|
Deep baking... |
烹饪系:烘焙 |
Deep brewing... |
烹饪系:酿造 |
Deep caramelizing... |
烹饪系:熬糖色 |
Deep fermenting... |
烹饪系:发酵 |
Deep flambéing... |
烹饪系:喷火炙烤 |
Deep frosting... |
烹饪系:抹奶油 |
Deep garnishing... |
烹饪系:摆盘 |
Deep julienning... |
烹饪系:切丝 |
Deep kneading... |
烹饪系:揉面 |
Deep leavening... |
烹饪系:发面 |
Deep marinating... |
烹饪系:腌制入味 |
Deep proofing... |
烹饪系:醒面(面团休息=思考) |
Deep sautéing... |
烹饪系:爆炒 |
Deep seasoning... |
烹饪系:调味 |
Deep simmering... |
烹饪系:咕嘟冒泡 |
Deep stewing... |
烹饪系:文火炖煮 |
Deep tempering... |
烹饪系:回火 |
Deep whisking... |
烹饪系:打发 |
Deep zesting... |
烹饪系:削皮 |
Deep spelunking... |
探索:探洞(deep diving 的地洞亲戚) |
Deep burrowing... |
探索:往地底钻 |
Deep ruminating... |
头脑:反刍式思考 |
Deep incubating... |
头脑:孵蛋等结果 |
Deep percolating... |
头脑:咖啡渗滤 |
Deep honking... |
鲸鱼:鸣笛(whale honk) |
Deep noodling... |
俏皮:瞎鼓捣 |
Deep doodling... |
俏皮:涂鸦开小差 |
Deep waddling... |
俏皮:摇摇晃晃 |
Deep frolicking... |
俏皮:撒欢 |
Deep moseying... |
俏皮:慢悠悠溜达 |
Deep moonwalking... |
俏皮:太空步 |
Deep photosynthesizing... |
摸鱼:光合作用发呆 |
Deep precipitating... |
科学:沉淀 |
Deep combobulating... |
存在:拼拼凑凑 |
Deep recombobulating... |
存在:重组 |
Deep levitating... |
放飞:悬空冥想 |
Deep metamorphosing... |
放飞:蜕变 |
Deep zigzagging... |
放飞:蛇皮走位 |
Deep boondoggling... |
放飞:瞎忙活 |
Deep gallivanting... |
放飞:到处浪 |
短语池(中文)
与英文池索引一一对应——点击切换语言时保留同一条短语,只换语言展示。中文用「…中」进行时后缀对应英文的 -ing(Deep diving... ↔ 深潜中…)。
| 短语 | 对应英文 | 含义 |
|---|---|---|
深潜中… |
Deep diving... |
原版:潜水 |
深度求索中… |
Deep seeking... |
DeepSeek 官方中文名,点题 |
刨根问底中… |
Deep delving... |
delve into,深入探究 |
喷涂彩虹中… |
Deep surfacing... |
潜完上浮换气(鲸喷水柱像彩虹) |
跃出海面中… |
Deep breaching... |
鲸跃出水(致敬 whale logo) |
海底冒泡中… |
Deep bubbling... |
在深海冒泡泡 |
引吭高歌中… |
Deep singing... |
鲸歌 |
摸鱼中… |
Deep fishing... |
深度摸鱼 |
沉底中… |
Deep sinking... |
沉下去慢慢想 |
呼呼大睡中… |
Deep sleeping... |
睡着了(长思考自嘲) |
偷偷打盹中… |
Deep napping... |
打盹中(长思考自嘲) |
白日做梦中… |
Deep dreaming... |
做梦中 |
小火慢炖中… |
Deep cooking... |
let me cook(慢慢酝酿) |
以下 40 条与英文池扩充一一对应(同一索引 = 同一条短语)。
| 短语 | 对应英文 | 含义 |
|---|---|---|
烘焙中… |
Deep baking... |
烹饪系 |
酿造中… |
Deep brewing... |
烹饪系 |
熬糖色中… |
Deep caramelizing... |
烹饪系 |
发酵中… |
Deep fermenting... |
烹饪系 |
喷火炙烤中… |
Deep flambéing... |
烹饪系 |
抹奶油中… |
Deep frosting... |
烹饪系 |
摆盘中… |
Deep garnishing... |
烹饪系 |
切丝中… |
Deep julienning... |
烹饪系 |
揉面中… |
Deep kneading... |
烹饪系 |
发面中… |
Deep leavening... |
烹饪系 |
腌制入味中… |
Deep marinating... |
烹饪系 |
醒面中… |
Deep proofing... |
面团休息=思考 |
爆炒中… |
Deep sautéing... |
烹饪系 |
调味中… |
Deep seasoning... |
烹饪系 |
咕嘟咕嘟中… |
Deep simmering... |
烹饪系 |
文火炖煮中… |
Deep stewing... |
烹饪系 |
回火中… |
Deep tempering... |
烹饪系 |
打发中… |
Deep whisking... |
烹饪系 |
削皮中… |
Deep zesting... |
烹饪系 |
洞窟探秘中… |
Deep spelunking... |
探洞 |
挖洞中… |
Deep burrowing... |
往地底钻 |
反刍中… |
Deep ruminating... |
反刍式思考 |
孵化中… |
Deep incubating... |
孵蛋等结果 |
渗滤中… |
Deep percolating... |
咖啡慢慢滴 |
哔哔鸣笛中… |
Deep honking... |
鲸鱼鸣叫 |
瞎鼓捣中… |
Deep noodling... |
俏皮 |
涂鸦中… |
Deep doodling... |
开小差 |
摇摇晃晃中… |
Deep waddling... |
俏皮 |
撒欢中… |
Deep frolicking... |
俏皮 |
溜达中… |
Deep moseying... |
慢悠悠 |
太空步中… |
Deep moonwalking... |
俏皮 |
光合作用中… |
Deep photosynthesizing... |
发呆晒太阳 |
沉淀中… |
Deep precipitating... |
科学 |
拼拼凑凑中… |
Deep combobulating... |
存在 |
重组中… |
Deep recombobulating... |
存在 |
悬空冥想中… |
Deep levitating... |
放飞 |
蜕变中… |
Deep metamorphosing... |
放飞 |
蛇皮走位中… |
Deep zigzagging... |
放飞 |
瞎忙活中… |
Deep boondoggling... |
放飞 |
到处浪中… |
Deep gallivanting... |
放飞 |
安装
pwsh install.ps1 # 或 powershell -ExecutionPolicy Bypass -File install.ps1
脚本会自动:优先选择 ~/.dsh/profiles/desktop(桌面版),否则 profiles/web;把本目录 Junction 链接进 profiles/node_modules/dsh-deep-verbs;在 profile 的 cordis.patch.yml 注册 insert。
然后完全退出 DSH 进程再重启(不是关窗口),自带窗口重启即可,浏览器访问则刷新页面。
手动安装等价于:
mklink /J %USERPROFILE%\.dsh\profiles\node_modules\dsh-deep-verbs <本目录>- 在
<profile>\cordis.patch.yml追加:- insert: - id: dsh-deep-verbs name: 'dsh-deep-verbs' - 重启 DSH。
工作原理
不改 DSH 源码、不覆盖渲染插槽。ui-conversation 的 TurnStatus 渲染为
<div role="status">Deep diving...<span>计时</span></div>;React 每秒重渲但字符串 child 不变时不会回写 DOM 文本节点,因此插件在浏览器侧把该文本节点改写成当前短语即可长期保留。
轮换是事件驱动的:ChatView 里每个对话行(ChatNodeSeat)都带宿主自用的
data-chat-flow-kind 标记(DSH 自己的滚动锚定依赖它,属稳定实现细节)。当新挂载一个 assistant-step(新的思考/回答段)或 tool-call(新的工具调用,含 model-retry 重试)行时,插件切换到下一条短语。两次切换至少间隔 MIN_SWITCH_MS(3 秒),落在窗口内的事件合并为窗口边界的一次补切——连续快速的工具调用只换一次词。流式 token 只更新既有行内部、不挂新行,不会误触发;同一行被移除重插入(WeakSet 去重)也不触发。长时间纯思考(无新行挂载)时短语保持不变,直到下一个事件到来。
MutationObserver(仅订阅 childList,流式文本变更不触发扫描)同时承担认领新回合状态行与捕获轮换事件;3 秒一次的维护扫描只负责认领兜底、修复 React 回写内置文案的极端情况,以及在后台标签页定时器被节流时兜住补切(不推进短语)。多会话并排时所有活动状态行同步显示同一条(事件不区分会话,同批挂载也复用同一条)。
点击切换语言:认领状态行时,插件给它挂上 click 监听并加 cursor: pointer 与 title 提示(React 每秒重渲但 vdom 不含这两项,与文本节点同理不会被回写)。点击后当前短语换语言展示、不重新抽取,所有活动状态行同步切换;选择写入 localStorage,下次打开自动恢复。点击视为用户主动操作,会重置 3 秒保底窗口——防止随后的自动轮换立刻把刚选的语言换掉。
插件只匹配精确的内置文本 Deep diving...:未来 DSH 改动这句文案时,插件自动退化为 no-op;若改掉 data-chat-flow-kind 标记,则退化为「每回合开场换词、回合内不轮换」——均不影响任何界面。
自定义
改 client.js 里的 PHRASES_EN / PHRASES_ZH 两个数组即可:英文保持小写 deep xxxing 格式(展示时自动首字母大写并加 ...),中文保持「…中」后缀格式(展示时自动加 …);两个数组索引一一对应——同一索引 = 同一条短语,点击切换语言时按索引对应。两次切换的最小间隔在 MIN_SWITCH_MS(默认 3000ms,纯下限而非节拍——事件来得慢就换得慢)。保存后重启 DSH 生效。
开发自测
node verify.mjs
用极小 DOM shim 驱动 bundle 的改写/轮换/兜底路径,无需浏览器。
卸载
删除 profiles/node_modules/dsh-deep-verbs 链接,并移除 cordis.patch.yml 中对应的 - insert 块,重启 DSH。
No comments yet. Be the first to write one.