Chuyển đến nội dung chính

dsh-smooth-stream

Đã xác minh

dsh-smooth-stream · v0.4.1 · MIT · Giao diện web

Fluid streaming rendering and silky scrolling for DeepSeek Harness replies, including Markdown, code blocks, tables, and tool results.

Cài đặt

dsh plugin add dsh-smooth-stream

Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.

Mã nguồn

Thẻ

Readme

dsh-smooth-stream

English | 中文

dsh-smooth-streamDeepSeek Harnessdsh)Web UI 带来流畅的流式渲染和丝滑滚动。文字、Markdown、代码块、表格以及工具结果会随着输出自然呈现;内容逐步增长时,页面平稳跟随,整轮回复保持连贯的视觉节奏。

项目主页:https://laplace-bit.github.io/dsh-smooth-stream/

安装指南 · 工作原理与可复现基准

效果

左:默认 Web UI。右:dsh-smooth-stream。

左:未使用插件。右:使用 dsh-smooth-stream。

核心体验

  • 流畅渲染。 文字边到边呈现,Markdown 结构持续更新,标题、列表、代码块和表格在流式过程中保持自然的阅读状态。
  • 丝滑滚动。 内容逐步变高时,页面沿连续的滚动轨迹平稳跟随,视线始终贴着正在生成的内容。
  • 统一过渡。 换行、代码块、表格和工具结果使用一致的过渡方式,正文、思考过程与工具输出衔接自然。
  • 自适应节奏。 渲染速度会根据输出速度和待显示内容调整,让慢速输出从容呈现,快速输出及时跟上。

安装

在 DeepSeek Harness 源码仓库里:

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

如果 PATH 上已经有 dsh

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

npm 包带预构建的 lib/,无需 pnpm ≥10 的构建脚本授权,直接可装。

启动界面:

pnpm dsh web

Host 日志里应出现 [dsh-smooth-stream] plugin loaded!

卸载:pnpm dsh plugin --profile web remove dsh-smooth-stream(或 dsh plugin --profile web remove dsh-smooth-stream)。

配置

组合包默认 preset: balanced。要换节拍,在 profile 的 cordis.patch.yml 里改:

preset 手感
realtime 更贴模型到达
balanced 默认
silky 缓冲更大,追上更慢

旧版的 moderevealCharsPerSecscrollSpeedPxPerSecmaxScrollSpeedPxPerSec 字段仍可被加载,以兼容已有 profile;当前自适应引擎仅使用 preset 调整节拍。

用户设置

在 Web 界面打开 设置 → 插件 → 插件配置,会看到一张 丝滑流式(Smooth stream) 卡片,其中包含:

  • 启用丝滑流式渲染(默认开启):开启时由本插件接管回复和工具行的渲染与跟随;关闭后会撤销接管,完整使用 Harness 内置渲染。
  • 自动展开思考:控制思考块在流式期间是否自动展开。主开关关闭时此选项不会生效。
  • 完成后自动折叠(默认开启):回合处理完成后,把思考过程、工具调用、上下文注入和中间输出折叠为一行“已处理 X秒”摘要,只展示最终回复;点击摘要可随时展开或收起完整工作过程。
  • 显示渲染调试面板(默认关闭):在聊天页右侧显示实时渲染、帧率和滚动跟随数据,并开放流式揭示与滚动弹簧参数。

“自动展开思考”开启时,思考块会在流式时自动展开、思考结束后收起;关闭后思考块保持折叠,仍可手动点开,且不会被流式状态抢回控制。

“完成后自动折叠”在流式期间不干预——回复实时展开输出;只有回合结束(出现结束标记且全部工作完成)才折叠。该开关独立于“启用丝滑流式渲染”:无论由本插件还是内置渲染器负责对话,折叠都照常工作。纯文本回复(无思考、无工具)不会生成摘要行。其他插件通过自定义工具视图嵌入的内容(如 dsh-pianist 的钢琴卡片)不会被折叠——只有渲染为原生工具卡样式的调用才参与折叠。此功能取代外挂的 dsh-auto-collapse 插件,二者不要同时安装,否则会互相抢夺同一批 DOM 节点造成文字重叠。

这些设置是用户级的持久化偏好,改完即生效,无需重启;会写进 DeepSeek Harness 的用户设置文档,而不是插件的组合配置。

调试面板中的参数在拖动时实时生效,包括揭示倍率、队列压力、最大揭示速度、弹簧刚度/阻尼/质量、预测 runway、runway 响应时间和最低背压倍率。面板同时显示 FPS、帧耗时、积压字符、实际揭示速度、渲染进度、视觉滞后、滚动速度和可用跟随空间;可随时保存当前组合、放弃未保存修改、恢复默认,或复制当前参数与指标。关闭调试开关后,渲染引擎立即恢复正式默认参数。

关于与更新

  • 版本 / 主页 / 许可证:见本页顶部与 package.jsonversionhomepagerepositorylicense 字段;安装的插件列表可在 设置 → 插件 → 全部 里查看。
  • 更新:卡片会显示 Host 当前加载的版本。只有当前 profile 明确把 dsh-smooth-stream 声明为 npm 依赖时,更新按钮才会对该 profile 执行固定的包更新,并提示重启 Harness。link:file: 本地开发安装会显示为开发版本,更新按钮会保持禁用,避免覆盖你的源码目录。

也可以通过命令行更新 npm 安装的 profile:

dsh plugin --profile web update dsh-smooth-stream

(也可用 dsh plugin --profile web outdated 查看是否有新版本。)

常见问题

这是 DeepSeek 官方插件吗? 不是。它是面向 DeepSeek Harness(dsh)Web UI 的独立维护项目,采用 MIT 许可证,和 DeepSeek 没有从属关系。

dsh 插件怎么安装? 用内置插件命令:在 dsh 源码目录运行 dsh plugin --profile web add dsh-smooth-stream(见安装)。

能用 npm 安装吗? 能。dsh-smooth-stream 已发布到 npmdsh plugin --profile web add dsh-smooth-stream 安装的就是预构建的 npm 包。

支持 prefers-reduced-motion 吗? 支持。系统开启减少动态效果时直接显示完整文本、不接管跟随;帧率低于 30 fps 且回复在屏外时,揭示自动暂停、恢复后再补上。

featured on dsh-suite

许可证

MIT