DSH Plugins
返回列表
🖥️

dsh-think-ux

客户端 更新于 2026.09.15

在终端中运行以下命令:

dsh plugin install el16z3c/dsh-think-ux

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 终端中执行 dsh plugin install el16z3c/dsh-think-ux 安装该插件(源码地址:https://github.com/el16z3c/dsh-think-ux),安装完成后刷新 Web 会话即可生效。

插件介绍

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 (stops animating) 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.

使用场景

  • 长对话中模型推理时,思考行自动展开为24行预览并流畅跟随,结束后平滑收起而非一帧跳变
  • 流式输出时主视图以指数或匀速滑动画面跟上,读者上下滚动时正确识别意图、不被框架回弹拽走
  • 打开超长会话时从顶部 swoosh 滑入底部,切换历史 turn 同样以滑动画面落位

适合人员

  • 使用 dsh Web UI 进行多轮长对话、在意读取连续性的开发者
  • 希望消除框架 re-pin 导致的视觉抖动但不想改动 bundle 的项目维护者
  • 追求 Web UI 交互细节、对滚动动画帧率敏感的前端工程师