DSH Hub
dsh-streamfold cover

rezon-aki/dsh-streamfold

dsh-streamfold

UIWeb UI24 GitHub stars· updated 2026-10-17

dsh-streamfold is a community DeepSeek Harness plugin. Read the repository README before installing.

Install

npx @deepseek-ai/dsh plugin --profile web add dsh-streamfold

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-streamfold DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-streamfold.svg)](https://dshhub.dev/plugins/dsh-streamfold)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from rezon-aki/dsh-streamfold, cleaned of badges and images.

dsh-streamfold · 流式折叠

一个更好的会话窗口:运行中自动展开最新的思考小窗,其它过程行折成一条摘要;一轮跑完,思考与工具调用自动折起,穿插正文保留。全程按帧推进,像水流一样。

为什么需要它

长会话里,工具调用与思考过程会把正文淹掉;官方的「紧凑」档在会话还有未加载历史时会折叠失效,历史加载完之前帮不上忙。本插件在官方对话流上做展示增强,折叠按自己的规则走,不依赖历史是否加载完:

  • 过程不再淹没正文:非运行轮次收成一条「已折叠 N 行 · 点击展开」;
  • 想看的随时看得见:运行中只留最新那一个思考窗,限高、内部自滚;
  • 读完一轮不用往回翻:跑完自动回到你这轮的提问处。

和「过程精简 Friendly Steps」怎么选:两者同属 ui/chat,都会折 Think 与工具行。差别在折叠怎么推进(本插件逐帧推进、3 行一组错峰)、运行中只保留最新那一个思考窗、折叠内容保持可搜索(hidden=until-found,Ctrl+F 仍能命中)、以及跑完把你送回提问处。定位重叠,建议二选一。

装完是什么样

  • 运行中看得到思考。 自动展开本轮最新的思考窗(限高可调),旧的按宽限折回一行摘要;被取代的、上一轮的窗不再抢滚动。
  • 折叠有节奏,不闪。 收起从下往上、一组 3 行、组间 70ms;展开从最上面往下、同样一组 3 行。加载页面、切会话这类跨轮批量场景直接瞬时完成;单轮再长也逐组推进(只有单轮超过 84 行才走瞬时护栏)。
  • 跑完回到提问处。 一轮结束,视图平滑滑回你这轮那句话的位置;开启「提问不入折叠」且这一轮里 LLM 问过你(ask_user_question)时,落点改在这一轮最后那张提问卡上并自动把它展开(要你答的是它)。你自己上滚过就不动你。到位后 2 秒内还会纠正图片/代码块迟到落版造成的偏移。
  • 置顶显示提问。 读到哪一轮,那一轮的提问就钉在会话顶端(一行,超出省略);它自己在屏幕上时自动让位,点它滑回那句发言。
  • 跟随够稳。 底部跟随按帧推进;上滚即停跟,离底出现「回到底部」;在思考小窗或工具正文里滚动不会误触发「停止跟随」。
  • 搜索也照顾。 折叠的内容仍可被 Ctrl+F 搜到;搜索期间不抢滚动,滚回窗尾或点回底恢复。
  • 小窗火花 / 正文锻打。 思考窗底部的火星随滚动速度变亮变密;正文流式写头每写一段砸出一扇火星。颜色、密度、速度、寿命都可调,关掉即完全不运行。

安装

方式一:DSH 插件面板(推荐) —— 侧栏 →「插件」→「添加插件」,粘贴下面这一行,装完点「立即启用」:

dsh-streamfold

面板装的就是本版(npm 上 latest 即本版,含 provenance)。方式二适合想跟仓库最新代码的人。

方式二:命令行(三种写法):

dsh plugin --profile web add dsh-streamfold                     # npm 包(推荐)
dsh plugin --profile web add github:rezon-aki/dsh-streamfold    # 跟仓库最新
dsh plugin --profile web add https://github.com/rezon-aki/dsh-streamfold

装完重启 profile,然后刷新浏览器页面(客户端代码在页面加载时注入)。

要求 DSH >= 0.2.1-rc.1(实测 0.2.1-rc.2;0.2.0-rc.2 仍兼容并在兼容矩阵中登记。官方「对话显示」档位由 configForms 服务托管;0.1.7 系列请用 0.5.0,0.1.5 及更早请用 0.4.x)。

卸载:在插件面板里移除,或

dsh plugin --profile web remove dsh-streamfold

重启 profile 即恢复官方行为。

用法

设置 → 通用设置 → 工作步骤展示:这一行由本插件提供(官方那一行在本插件的设置行可用时隐藏,只改可见性、可逆;0.2.1 起官方新增的「工作步骤收起时机」行在折叠档下一并隐藏、切到官方档恢复),里面是官方四档 + 本插件的「折叠」:

选项行为
简洁 / 标准 / 详细 / 完全展开官方原本的四档,文案与行为都跟官方一致
折叠本插件:运行中的一轮只留一个窗,其余过程收成一条摘要

选「折叠」时,官方那一档会被自动停在 完全展开——官方自己不折、不分组,折叠只由本插件做,避免两层折叠打架;档位名与官方设置页同源(取自官方词典),官方改了文案这边跟着变。

专属设置页:设置 → 流式折叠(本文所有开关都在这里,改动即时生效)。

运行中只会自动展开最新那一个思考窗;你自己点开的窗不会被自动收起,被取代的旧窗按「旧窗折叠宽限」(默认 2 秒)折回一行摘要;上滚即停跟,离底时出现回底按钮(小窗与主窗口是同一个按钮)。

安全边界

  • 纯客户端展示增强:只读对话 DOM,不发网络请求、不接触凭据、不改官方源码。
  • 宿主半区不落任何东西:不读写文件、不注册路由、不导出 Config;设置只存浏览器 localStorage(key dsh-streamfold,按页面源站隔离)。
  • 对官方档位只做可逆改动:选「折叠」档时把官方 ui-chat 的 transcriptView 写成 verbose(避免两层折叠)并隐藏官方设置行(0.2.1 起含「工作步骤收起时机」行);从本插件切回官方档会写回所选档并恢复收起时机行,卸载后官方档停在「完全展开」(需要时到官方设置里改回)。
  • 卸载即净:设置行、小窗标记、回底按钮与注入样式全部撤掉,不留行内 max-height 与隐藏属性。

配置(22 项)

…

Related plugins