Preface

DeepSeek Harness (DSH) adopts an “everything is a plugin” architecture, allowing Web UI behavior to be extended through pure client-side scripts. When using reasoning models, expanding and collapsing the thinking process can cause abrupt layout jumps, disrupting the reading experience. dsh-think-ux addresses this pain point by providing smooth previews of the thinking process and scroll following.

Overview

dsh-think-ux is a pure DOM client-side plugin. It does not modify bundled files, does not depend on separate services, and does not make network requests. It is designed for the DeepSeek Harness Web UI: when the model is reasoning, the thinking line expands into a capped 24-line preview; as content streams in, it smoothly scrolls to the bottom; when reasoning ends and it collapses, a short animation transition is used to avoid an instantaneous jump of about 490px.

Core Features

  • Streamed expansion of thinking lines: During reasoning, thinking lines expand automatically and are limited to a 24-line preview height.
  • Smooth scroll following: As text is streamed, the preview area smoothly moves to the bottom instead of stuttering or jumping.
  • Intent recognition: Using a scrollTop write trap technique, it distinguishes between reader scrolling intent and follow-scrolling to avoid conflicts.
  • Smooth collapse animation: When reasoning ends, it collapses with a short animation, avoiding severe layout jitter.

Installation and Enablement

Install it using DSH’s plugin command, specifying the web profile:

dsh plugin --profile web add dsh-think-ux

After installation, refresh the Web session; the plugin configuration takes effect on reload.

Typical Usage

  • Install into a specific profile:
    dsh plugin --profile <name> add dsh-think-ux
  • Uninstall the plugin:
    dsh plugin --profile web remove dsh-think-ux

Applicability and Notes

This plugin depends on a specific DSH version and DOM structure. Upgrade compatibility is not guaranteed; it has been verified with DSH 0.1.5-rc.2.

  • Version dependency: The plugin depends on that version’s DOM attributes and client loading protocol. If its behavioral assumptions fail, the plugin silently stops working; however, if the registration/manifest does not match, it may prevent the entire Web UI from loading.
  • Maintainer: el16z3c

Closing

dsh-think-ux uses pure DOM operations to optimize the interaction experience for the thinking process in the DSH Web UI, making it suitable for users who value a smooth reading experience. For more details and source code, visit: GitHub | Directory page