dsh-think-ux
Run the following command in DeepSeek Harness:
dsh plugin install el16z3c/dsh-think-ux
Paste the following prompt into your AI chat to install this plugin:
Run dsh plugin install el16z3c/dsh-think-ux in the DeepSeek Harness terminal to install this plugin (source: https://github.com/el16z3c/dsh-think-ux), then refresh the Web session to activate it.
About this plugin
Long sessions in the dsh Web UI tend to have two rough edges: a think row collapses by roughly 490 px in a single frame once the model settles, yanking a bottom-pinned reader upward, and streamed output arrives in visible token-chunk jumps rather than a smooth scroll. dsh-think-ux eliminates both, turning a staccato reading experience into a continuous glide.
It does three things. Think rows auto-expand into a 24-line capped preview while the model reasons; a requestAnimationFrame chaser with a 70 ms exponential time constant keeps the preview pinned to the latest text, pauses the moment the reader scrolls up, and resumes within 25 px of the bottom. When reasoning settles, a 180 ms height animation plays before the row unmounts, so the browser clamps frame by frame instead of dropping the whole box in one visible jump. A scrollTop defineProperty trap then distinguishes genuine reader input from the bundle's re-pin assignment at the structural level: real upward movement arms a 700 ms intent window during which the bundle's toBottom write is intercepted and the reader's position is restored in the same tick, eliminating the snap. The main conversation view runs on the same episode chaser—small gaps glide at a constant ~960 px/s, large gaps swoosh exponentially—covering streamed output, turn-rail navigation, and the back-to-bottom button, with browser scroll anchoring disabled while follow mode is active.
The plugin is a pure DOM client: no bundle modifications, no services, no network calls, one settle-animation timer. All tunable behavior lives in seven constants at the top of lib/client.js; flipping MAIN_SMOOTH_FOLLOW to false restores the stock snap behavior. It is verified against dsh 0.1.5-rc.2 and degrades quietly if upstream selectors shift. It is written for developers who run long dsh Web UI sessions, care about scroll continuity, and dislike being jerked around by framework re-pins.
Use Cases
- Think rows auto-expand into a 24-line preview with fluid follow during reasoning, then collapse with a 180 ms animation instead of a single-frame jump
- Main view glides up with streamed output while a scrollTop write trap prevents the bundle from yanking a scrolling reader back down
- Long-session opens swoosh to the bottom and turn-rail navigation lands with a smooth chase rather than a snap
Best For
- Developers running multi-turn long conversations in dsh Web UI who value reading continuity
- Project maintainers who want to eliminate visual jank from framework re-pins without touching the bundle
- Frontend engineers who care about scroll animation frame-rate and interaction polish
Related Plugins
A service-oriented sidebar framework for DSH, offering a full workbench with file explorer, embedded browser, real terminal, Git panel, and extensible plugin services.
A beautiful, practical Claude Code-style TUI plugin with pixel whale top bar, flowing glow title, real-time status line, streaming thought expansion, time rewind, context progress bar and TPS gauge — zero core changes.
The plugin market for DeepSeek Harness: browse/search/one-click install community plugins and themes, with updates, backup/restore, hot disable, diagnostics, and AI fix.
A persistent whale widget on the DSH web UI that shows DeepSeek balance, today's usage, and per-turn cost, with drag-and-snap and sound effects.