DSH Plugins
返回列表
🖥️

dsh-chat-content-visibility-auto

客户端 更新于 2026.08.19

在终端中运行以下命令:

dsh plugin install hongweifei/dsh-chat-content-visibility-auto

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

在 DeepSeek Harness 中执行 dsh plugin install hongweifei/dsh-chat-content-visibility-auto 即可安装该插件,项目源码托管于 https://github.com/hongweifei/dsh-chat-content-visibility-auto

插件介绍

DeepSeek Harness 的主聊天列表目前对会话中每条消息节点做全量渲染——markdown、工具卡、图片等重 DOM 逐个挂载,长会话的 DOM 数量随消息数线性增长,滚动、输入、切换会话都会明显卡顿。现有的 React.memo 只能减少不必要的重渲染,却无法削减 DOM 节点总数,屏外那些永远看不到的节点依旧参与布局与绘制消耗。

这个插件的做法非常克制:向聊天节点注入一条 content-visibility: auto 规则,再搭配 contain-intrinsic-size: auto 320px 为未渲染节点提供尺寸估算。浏览器因此可以跳过视口外节点的渲染、布局与绘制,只处理当前可视窗口附近的节点,同时保持滚动条位置和锚定行为稳定。整个过程是纯 CSS 叠加,不替换任何槽位、不改动 DOM 结构、零产品逻辑侵入;在不支持该属性的旧浏览器上规则直接被忽略,没有副作用(Chrome 85+、Firefox 125+、Safari 18+ 均支持)。

它适合经常用 DSH 跑长对话(数百条消息以上)、对滚动流畅度敏感的用户。需要明确的是,它不是真正的窗口化——DOM 节点数量和内存占用并不会减少,节省的是渲染管线中的布局与绘制开销。如果你只需要一个零侵入、即装即用的性能补丁,这个插件是最轻量的选择;若追求彻底的虚拟滚动方案,则可另行参考 DSH 轨迹面板所用的 @tanstack/react-virtual 路线。

使用场景

  • DSH 长对话滚动卡顿、需要降低屏外节点渲染开销
  • 聊天列表消息量大、希望以零逻辑改动方式提升输入和滚动流畅度
  • 在不改动 DOM 结构和槽位逻辑的前提下为客户端 UI 做轻量性能补丁

适合人员

  • 高频使用 DSH 运行长会话的前端或 CLI 用户
  • 希望以最小侵入方式改善客户端滚动体验的维护者
  • 需要快速落地且可安全回滚的纯样式性能优化的团队