dsh-force-motion
Manifest validKeep DeepSeek Harness UI animations running despite prefers-reduced-motion / Force enable dsh UI animations
dsh-force-motion
English | 中文
Keep DeepSeek Harness (dsh) UI animations
running even when the browser reports prefers-reduced-motion: reduce.
The problem
dsh honours the reduced-motion preference in two places, so on a machine whose OS/browser reports it, every effect is frozen:
-
CSS — each animated element carries a guard:
@media (prefers-reduced-motion: reduce) { .turnStatus { background-position: 0 0; background-size: 100% 100%; animation: none } }Seven rules like this cover the "深度求索中…" status shimmer, command-row sweep, turn mark, reasoning-row sweep and retry shimmer. The status line ends up as a static gradient — it looks like a glow that never moves.
-
JS — some renderers call
matchMedia("(prefers-reduced-motion: reduce)").matchesand take a static branch.
What this plugin does
Nothing under node_modules is touched. A small script injected into the served index page:
- wraps
matchMediaso the reduced-motion query never reports a match, and - deletes
prefers-reduced-motionrules from every same-origin stylesheet (re-running when new<style>/<link>nodes appear), so the base animation declarations win again.
Result: all animations play, with no dependency on dsh's hashed class names or keyframe names, so it keeps working across upgrades.
Install
dsh plugin --profile web add github:maxesisnclaw/dsh-force-motion
Manual install: copy this directory into <dsh-install>/plugins/ and add to
$DSH_HOME/cordis.patch.yml:
- insert:
- id: force-motion
name: /absolute/path/to/dsh-force-motion/index.js
Then restart dsh.
Opt out / trade-off
This deliberately overrides an accessibility preference. It is meant for a workstation whose
owner wants the animations (e.g. the OS reduced-motion flag is set for unrelated reasons).
Uninstall the plugin, or set window.__dshForceMotion = false before the app boots, to restore
the standard behaviour.
Verify
- The status line while the model is thinking should shimmer instead of sitting still.
- Console:
matchMedia('(prefers-reduced-motion: reduce)').matchesreturnsfalse, and the plugin logsdsh-force-motion: reduced-motion suppression neutralised. - Unit test:
npm test.
License
MIT
Comments
Loading…
From the same category
by awesome-dsh-plugin
A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表
★ 17.6k
CC0-1.0
Python
Oct 1, 2026
by zhu1090093659
DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop
★ 8.3k
↓ 203/wk
Apache-2.0
TypeScript
Oct 3, 2026
dsh plugin --profile web add dsh-webby yjh051108
dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).
★ 7k
MIT
JavaScript
Sep 18, 2026
dsh plugin --profile web add @dsh-external/dsh-super-injectorby strukto-ai
The World's First Virtual Terminal for AI Agents
★ 3.7k
↓ 308/wk
Apache-2.0
TypeScript
Oct 3, 2026
dsh plugin --profile agent add @struktoai/mirage-dshby xmanrui
通过扫码或机器人凭据把IM机器人接入DeepSeek Harness(支持飞书、微信、钉钉、企业微信、QQ、Slack、Telegram、Discord和WhatsApp)。 Connect IM bots to DeepSeek Harness via QR code or credentials (9 channels).
★ 1.6k
↓ 17.2k/wk
MIT
JavaScript
Oct 3, 2026
dsh plugin --profile web add @xmanrui/dsh-imby hyhmrright
AI code reviews grounded in 12 classic engineering books — decay risk diagnostics with book citations, severity labels, and 6 analysis modes including full-sweep auto-fix
★ 1.5k
MIT
JavaScript
Sep 28, 2026