Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. When using the Web client, the scroll-to-bottom behavior as streaming content grows is often an instantaneous jump, which can interrupt the reading flow or conflict with manual user scrolling. The dsh-smooth-scroll plugin changes this instantaneous behavior to constant-speed smooth following, improving the streaming reading experience.
Features¶
The plugin primarily addresses the visual jump issue when scrolling to the bottom of a DSH conversation:
* Constant-speed smooth following: The cruising speed is 0.9px/ms, making scroll following more natural.
* Soft start and soft tail: A 240ms smooth ramp-up at start and a 220ms soft landing at the end.
* User scroll takeover: When the real position continuously deviates from the animation writes for more than 2 frames, it is judged as user takeover; the animation stops and falls back to the real value.
* Non-interfering design: No transforms are applied, it does not interfere with UI elements such as the input bar, and it does not interfere with DSH’s own state machine detection.
* Compatibility fallback: When the system has prefers-reduced-motion enabled, it automatically falls back to the official instantaneous behavior.
* Version adaptation: Compatible with dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2.
Installation and Enablement¶
Before installing, ensure that DSH is installed and the Web GUI has been successfully started at least once.
- Run the installation command:
dsh plugin --profile web add dsh-smooth-scroll
- Verify that the installation was successful:
dsh --profile web --dump-config
You should see the `dsh-smooth-scroll` layer in the output.
- Restart
dsh weband open a conversation; the streaming content should smoothly scroll to the bottom.
Parameter Tuning¶
Parameters are adjusted by editing the source code. Edit the constants section at the top of src/client.js, then run pnpm run build and restart dsh web when finished.
The main parameters are:
* VEL: Cruising speed (default 0.9).
* RAMP_MS: Duration for the initial soft acceleration (default 240).
* QUIET_MS: Silence window used to determine that growth has stopped (default 240).
* TAIL_PX: Remaining distance threshold for entering the soft tail (default 120).
* TAIL_MS: Easing duration for the soft tail (default 220).
* DIVERGE_STOP_FRAMES: Threshold for the number of consecutive frames in which the real position deviates from animation writes (default 2).
Compatibility Notes¶
- Supported versions: dsh v0.1.2-alpha.1 ~ 0.1.3-alpha.2.
- Unsupported versions: 0.1.1-rc.2 and earlier. This generation uses a different host structure and is not compatible.
Notes¶
- Parameter changes: The plugin currently does not support runtime configuration; parameters must be modified by editing the source code.
- License: MIT license.
Summary¶
dsh-smooth-scroll resolves the abrupt scrolling issue for streaming content in the DSH Web client through constant-speed smooth following and a user takeover mechanism. Its transform-free design ensures UI stability. For more details, refer to the project homepage.