- Accueil
- Plugins
- Améliorations UI
- dsh-effort-mascot
dsh-effort-mascot
linghxiao/dsh-effort-mascot
Replaces the composer's reasoning-effort dropdown with a card that shows one illustration per level (off / low / high / max); the four levels keep their original meanings, and swapping an illustration only means replacing a file in assets/.
Installer
dsh plugin --profile web add github:linghxiao/dsh-effort-mascotREADME
dsh-effort-mascot
English | 中文

DSH 的推理强度是个下拉列表,四个选项长得一模一样。我把它换成了一张卡片,卡片上有一只大肥鱼。
这只鱼的状态就是你的推理强度:没吃饭时昏昏欲睡(Off),正在扒大白饭(Low),吃饱回血元气满满(High),以及 —— 吃太多,碳水晕了(Ultra)。卡片配色也跟着走:灰白 → 蓝 → 紫 → 金色彩环。
但别误会,插画只是画法。四档实打实对应 reasoningEffort 的 off / low / high / max —— 选哪一档,模型就按哪一档思考,这一点没有任何改变。变的只是它看起来像不像一只吃饱的鱼。
一个需要说清楚的映射:界面上的 Ultra 就是 DeepSeek 的
max档。只是换了个更好记的名字和一套视觉,提交给模型的仍然是reasoningEffort: "max";其余三档沿用官方原名(Off / Low / High)。
底层没有任何改动:复用官方模型目录与 session.selectModel,只是同一个控件的另一种画法。
卡片固定深色,不跟随明暗主题。 这是刻意的:它是一块浮在输入框上的「深色材质」,浅色页面里也保持同一个样子,好让插画和金色高光始终成立。
从低到高依次滑过,最后落到 Ultra(会先弹一次大字提示):

动图为了能在 README 里直接播放被压到了 15fps。想看原速原画质(60fps、带声音):下载视频版。
三点特色
- 四档四种表情 —— 不止换颜色,角色本身也在变:打瞌睡 → 扒饭 → 灵光 → 宕机
- 动效只改颜色 —— 彩环旋转、亮度呼吸、滑杆流光、闪电辉光,全部不做位移,不晃眼
- 安静可用 —— 遵循系统「减少动态效果」,开了就全部静止;Ultra 的大字提示也会跳过
安装
dsh plugin add dsh-effort-mascot
装完重启一次 dsh web(宿主半侧在启动时挂载插画路由),然后刷新页面。
或者从源码安装(想改代码/换插画时)
git clone https://github.com/LingHXiao/dsh-effort-mascot.git
dsh plugin --profile web add ./dsh-effort-mascot
装的是本地链接,改完文件重启即可生效,不用重新发布。
确认生效:聊天框右下角的推理强度控件会变成卡片样式,点开能看到插画和滑杆。如果外观没变,说明插件没有注册成功 —— 先看 ~/.dsh/model-effort.log 有没有 inject 报错,再用 plugin_manager 确认 bundle 是启用状态。
四档:一条「吃饭」的叙事线
| 档位 | 配色 | 画面 | 在这条叙事里 |
|---|---|---|---|
| 关闭 Off | 灰白,滑杆不填充 | 眼睛半睁、嘴角挂着口水、头顶飘 Zzz | 没吃饭,昏昏欲睡,脑子里不装事 |
| 轻度 Low | 亮蓝,填充到 1/3 | 捧着饭碗、腮帮子鼓鼓、闭眼吃得正香 | 开饭了,一口一口慢慢扒大白饭 |
| 高级 High | 紫色,填充到 2/3 | 星星眼、食指竖起、头顶亮起灯泡、四周冒小星星 | 吃饱了,回血完成,元气满满开始动脑 |
Ultra(= DeepSeek 的 max 档) | 金色 + 终极 徽章,滑杆蓝→紫→金 | 漩涡眼、口水滴落、四周一圈晕眩线 | 吃太多,碳水晕了(笑) |
四档连起来读,是同一只鱼从「饿着不动」到「撑到晕倒」的完整过程 —— 这不是四张互不相干的图,而是一条会被读懂的线。

Ultra 档的额外表现:
拖到最高档,卡片会先安静三秒,只说一句话:「思考强度最大时,可能消耗更多词元」。然后它退场,Ultra 的卡片淡回来 —— 提醒到了,不用你点任何东西。
- 动效只改颜色:彩环旋转、整卡亮度呼吸、滑杆流光、闪电辉光
- 全部遵循系统的「减少动态效果」,开了就全静止,那句提示也会一并跳过
兼容性
| 实测版本 | 在 DSH 0.2.1-rc.2 与 0.2.2-rc.1 上实测。CI 每周检查该座位在 next 线上是否仍然存在——座位消失会是一次红色失败,而不是静默失效 |
| 实现方式 | 在 priority: -1 上遮蔽官方 conversation.input.model 座位 |
| 失效表现 | 若 DSH 改了该座位的契约,插件会静默不注册 —— 官方控件照常显示,不会把界面弄坏 |
| 影响范围 | 不碰 Host、不碰会话日志、不改变模型实际收到的内容;选择仍走 session.selectModel |
换插画
图片放在 assets/<档位 id>.webp:360×360 透明画布,角色本体高度已归一化,所以四张放在一起看起来一样大。宿主半侧通过 GET /model-effort/asset/<文件名> 提供(Client bundle 不能直接 import 图片)。
- 换图:同名文件覆盖即可 → 刷新页面生效(缓存按文件 mtime + size 自动失效)
- 加一档的图:放入文件,再在
client.js的TIER_IMAGES里加一行
仓库内自带的插画是 AI 生成的示例素材,可以随意替换成你自己的图。
卸载
plugin_manager remove_bundle target=dsh-effort-mascot
官方控件立即恢复,不留残留。
这和已有的 effort-slider 插件有什么区别?
DSH 的推理强度默认是下拉列表,社区里已经有几个插件把它换成了滑条,各自选了一个方向:
| 项目 | 它选择的方向 |
|---|---|
| HanaAyane/dsh-reasoning-effort | 沿用原生模型选择器,在推理等级面板里做连续拖动,用大肥鱼的跑步动效表示强度 |
| Microqian2th/dsh-codex-effort-slider | Codex 风格连续滑条,高档位带渐变星尘粒子 |
| yuhub233/dsh-effort-slider | 科幻能量条,最高档之上再加一档 Ultra,以及把任务派给子代理的闪电模式 |
| 2768651338/dsh-effort-slider | 仿 Claude Code 的滑块 |
本项目不追求连续手感,也没有粒子和子代理联动。它做的是另一件事:四个档位讲同一个故事 —— 同一只大肥鱼,从没吃饭昏睡,到扒大白饭,到吃饱回血,再到碳水晕倒。
所以在意连续拖动的手感、或者想要粒子与联动 → 上面几个更合适;想一眼看出「现在这档是什么状态」→ 可能是这个。
「大肥鱼」和「Ultra」这两个叫法在其他项目里也出现过,本项目只是沿用,不主张独占。
已知限制
展开(3 条)
- 触发按钮不走官方的
conversation.input.model.label槽位,所以ui-deepseek-model-label-1017提供的1017小徽标在该按钮上不显示。 - 卡片内的模型列表没有搜索(模型少时够用,要完整选择器请用
/model)。 - 诊断:只有渲染失败会写入
~/.dsh/model-effort.log(上限 1 MB,超出自动轮转为.log.1)。选了什么模型、什么档位默认一律不落盘;要排查问题时在控制台设globalThis.__MEC_TRACE = true,才会额外记录状态变化。
许可
代码 MIT。插画为 AI 生成的示例素材,不主张著作权。
Plugins associés
dsh-web (dsh-task-board)
zhu1090093659/dsh-web
dsh-web (dsh-web-all)
zhu1090093659/dsh-web
dsh-TUI
ccch1mneyyy/dsh-tui
dsh-web-ui (dsh-task-board)
zhu1090093659/dsh-web-ui