dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
English | 中文
即使浏览器报告 prefers-reduced-motion: reduce,也让 DeepSeek Harness(dsh)的界面动效照常播放。
dsh 在两处遵守"减少动态效果"偏好,于是只要系统/浏览器报告了它,所有动效都会静住:
CSS —— 每个动效元素都带一条守卫:
@media (prefers-reduced-motion: reduce) {
.turnStatus { background-position: 0 0; background-size: 100% 100%; animation: none }
}
这样的规则共 7 条,覆盖「深度求索中…」的状态 shimmer、命令行 sweep、turn mark、推理行扫描、重试 shimmer。结果就是那行状态变成静态渐变——看着像发光,但永远不动。
JS —— 部分渲染逻辑会读 matchMedia("(prefers-reduced-motion: reduce)").matches 走静态分支。
不改 node_modules 下任何文件。只在服务端渲染的 index 页注入一段脚本:
matchMedia,让 reduced-motion 查询永不匹配;prefers-reduced-motion 规则(并在新的 <style>/<link> 出现时重跑),于是基础动画声明重新生效。效果:全部动效恢复,且不依赖 dsh 打包后的类名/关键帧哈希,升级后依然有效。
dsh plugin --profile web add github:maxesisnclaw/dsh-force-motion
手工安装:把本目录拷到 <dsh 安装目录>/plugins/,在 $DSH_HOME/cordis.patch.yml 追加:
- insert:
- id: force-motion
name: /绝对路径/dsh-force-motion/index.js
然后重启 dsh。
这是有意覆盖无障碍偏好的做法,适用于"机器上开了减少动态效果但本人想要动效"的场景。
卸载插件,或在应用启动前设 window.__dshForceMotion = false,即可恢复标准行为。
matchMedia('(prefers-reduced-motion: reduce)').matches 返回 false,并可见插件日志
dsh-force-motion: reduced-motion suppression neutralised。npm test。MIT