dsh-smooth-stream

模型生成是离散的脉冲,而阅读应当是连续的流动。
专为 DeepSeek Harness(dsh)打造:将突发的 Token 分块平滑为连续展开,以二阶弹簧与 GPU 合成层接管视口跟随,消除大段倾泻与滚动跳帧。
Continuous text reveal and zero-reflow spring follower for the DeepSeek Harness Web UI.

独立开源项目,遵循 MIT 许可证 · Not affiliated with DeepSeek.

视觉对比 Preview

对比:左侧为默认 Web UI 流式输出,右侧为 dsh-smooth-stream 连续物理流式渲染。
左侧:默认 Web UI(分块突进与硬跳)  |  右侧:dsh-smooth-stream(连续节奏展开与弹簧跟随)

极致丝滑的阅读质感 The Reading Feel

双引擎物理架构 Architecture

工程考量与自律 Engineering Principles

可复现基准 Reproducible Benchmark

平滑度是可测量的工程指标,仓库自带浏览器级审计测试集,本地随时可跑:

测试闸门测试脚本验证结果
流式渲染审计(5 种典型生成模式)node scripts/run-render-audit.mjs10/10 Clean,零位移回退
溢出与回弹闸门node scripts/verify-overflow.mjs3/3 零过滚、零回弹
尾行晃动抑制探针pnpm test单帧位移 ≤30px,7 帧振幅峰值 ≤32px PASS
核心 ESM 产物大小pnpm buildGzip 约 4.7 kB

更深入的积分公式推导与背压数据,请参阅 工作原理与力学分析。

快速安装 Installation

pnpm dsh plugin --profile web add dsh-smooth-stream

预构建产物开箱即用,启动 pnpm dsh web 后,Host 控制台输出 [dsh-smooth-stream] plugin loaded! 即表示生效。

常见问题 FAQ

「零重排跟随」具体指什么?

指视口跟随阶段不触发浏览器的 Layout 重排流程。传统实现反复写入 scrollTop 或修改容器几何尺寸导致每帧回流;本项目在跟随过程中真实滚动条保持在底部,所有位置微调均走 GPU 合成层的 transform: translate3d。文字揭示本身产生的新 DOM 节点仍需计算布局,但节奏被严格限幅,消除单帧跳跃。

如何调整流式节奏?

插件默认提供 balanced(均衡)预设,若希望更贴近模型原始到达可选择 realtime,追求极致柔和缓冲可选择 silky。可在 cordis.patch.yml 中配置,亦可在 Web UI 的插件设置卡片中动态微调。

是否会影响思考链与工具调用卡片?

不会。流式生成期间思考链与工具结果正常实时展开;回合结算后,控制器会自动折叠中间过程为极简摘要,用户随时可点击展开完整工作流。

如何排查与微调物理参数?

在 设置 → 插件 → 插件配置 中开启「显示渲染调试面板」,即可在对话界面实时查看帧率、字符积压、弹性曲线并动态拖拽调整刚度与阻尼系数。