DeepSeek Harness 插件

LingHXiao/dsh-effort-mascot

Star 数 ★ 1 下载量(近 30 天) 344 分类 UI 增强 收录于 2026-11-10 npm dsh-effort-mascot

把输入框的推理强度下拉换成一张卡片,每一档配一张插画(off / low / high / max);四档取值与原来一致,换插画只需替换 assets/ 下的同名文件。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-effort-mascot

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:LingHXiao/dsh-effort-mascot

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

English | 中文

seat-drift

封面

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」这两个叫法在其他项目里也出现过,本项目只是沿用,不主张独占。

已知限制

  • 触发按钮不走官方的 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 生成的示例素材,不主张著作权。

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。