rezon-aki/dsh-streamfold
流式折叠:一个更好的 DSH 会话窗口——最新思考小窗自动展开、旧窗与工具调用跑完自动折起;思考小窗底边与正文写头带火星特效。零依赖、零构建。
Project Overview项目介绍
dsh-streamfold is a streaming-fold UI plugin purpose-built for the DSH (DeepSeek Harness) web client, packaged as a DSH bundle and installed either through the official in-app Plugins panel by pasting dsh-streamfold or via the CLI command dsh plugin --profile web add github:rezon-aki/dsh-streamfold, with a hard requirement of DSH >= 0.1.7-alpha.1 (0.1.5-series users must pin to the 0.4.x release line). It performs DOM augmentation directly on top of the official chat flow rather than spinning up a separate view, never touches the host renderer contract, and persists every setting in browser localStorage, so it tolerates upstream upgrades gracefully and uninstalls cleanly back to stock DSH behavior. The plugin contributes a fifth "Fold" entry appended to Settings → General → Working Step Display, sitting alongside the native Minimal / Standard / Detailed / Fully Expanded options and disabling the host-side folding layer to avoid two fold systems fighting each other.
A typical session begins by adding the bundle, restarting the web profile, and reloading the browser tab so that the client-side module loads under window.__ModuleLoader__; the user then picks "Fold" (折叠) in Working Step Display, and the plugin auto-expands only the newest reasoning card while superseding older cards back into a single-line summary after a configurable grace window (default 2 seconds, 0–60 with decimals), with optional keep-interleaved-text and pin-question-on-top behaviors. It targets DSH web users who want to watch the model's live thinking without losing the transcript's cleanliness, as well as authors debugging folding, sparks, or follow-through animation via the __dshStreamfold.stats(), __dshStreamfold.probe(), __dshStreamfold.state(), and __dshStreamfold.set({...}) helpers exposed on window.
The plugin has zero runtime dependencies, no build step, and hand-written lib/client.js plus lib/index.js whose host-side entry is a placeholder the client manifest uses to hand the browser half over to the page; all row anchors rely on official semantic attributes ([data-chat-flow], [data-chat-flow-kind], [data-chat-turn], [data-disclosure-row][aria-expanded], [data-variant=think], [data-tool], [data-sample=bash], [class*=_thinkBody], [class*=_bodyWrap], [data-context-injection-body]) instead of CSS-module hashes, validated against DSH 0.1.7-rc.1 / 0.1.7-rc.2. It is strictly read-only on chat DOM, performs no network calls, never touches credentials, stores nothing on disk, and ships under the MIT license, with the only first-run caveat being the mandatory browser refresh after install so that the injected client bundle activates.
dsh-streamfold 是一个专为 DSH(DeepSeek Harness)网页端打造的流式折叠 UI 插件,以 DSH bundle 格式打包并通过官方插件面板或 dsh plugin --profile web add github:rezon-aki/dsh-streamfold 命令安装,要求 DSH 版本不低于 0.1.7-alpha.1(0.1.5 系列需使用 0.4.x 版本)。插件直接在官方对话流之上做 DOM 增强,不另开视图、不接管渲染管线、不读写宿主文件,全部设置存储在浏览器 localStorage 中,因此对升级面友好、卸载即净。其核心是一种「折叠」档位,接入设置 → 通用设置 → 工作步骤展示末尾,运行中只展开最新思考小窗,旧思考窗与工具调用按可配宽限折回一行摘要,保留穿插正文与正式回答不被套窗。
典型使用流程为:在 DSH 侧栏插件面板粘贴 dsh-streamfold 添加并启用,或经命令行安装后重启 profile 并刷新浏览器页面;安装后在工作步骤展示中选择新增的「折叠」档位即可接管折叠逻辑,配合设置 → 流式折叠页中的二十余项即时生效开关做精细调节。它适合长时间盯着模型思考过程、想要水流般顺滑动效与整洁界面的 DSH 网页用户,也方便开发者借助控制台 __dshStreamfold.probe()、__dshStreamfold.stats() 与 __dshStreamfold.set() 诊断问题。
依赖方面为零运行时依赖、零构建步骤,所有 lib/*.js 手写并通过 window.__ModuleLoader__ 注入浏览器半区,宿主半区仅为占位条目;行锚点全部基于官方语义属性([data-chat-flow]、[data-disclosure-row][aria-expanded]、[data-variant=think] 等),不依赖 CSS module 哈希,已在 DSH 0.1.7-rc.1 / 0.1.7-rc.2 上验证。安全上纯客户端、只读 DOM、不发网络请求、不接触凭据,MIT 协议开源、首次使用注意刷新浏览器页面以触发客户端代码注入。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-streamfold(rezon-aki/dsh-streamfold)
仓库:https://github.com/rezon-aki/dsh-streamfold
本站详情页:https://www.yhbd.top/plugins/rezon-aki-dsh-streamfold/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 7 · 最近提交 2026-09-30 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 7 stars - very few users, little community feedback星标只有 7,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add github:rezon-aki/dsh-streamfold
把 rezon-aki/dsh-streamfold 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-streamfold · 流式折叠
简体中文 · English
一个更好的会话窗口:运行时自动展开最新的思考小窗,旧小窗自动折叠,跑完自动将思考过程与工具调用折起,并且可以保留穿插的正文不折叠,全程水流般的动效。
为什么有这个项目:
- 顺便「视奸」dsh 现在在想什么。 运行中自动展开最新的思考小窗——它此刻在想什么你看得见,界面又保持整洁。
- 动效。 我们要的是一个看着就很舒服的界面:小窗高度、折叠与滚动跟随都按帧推进,水流一样,不跳不顿。右下角那颗「回到底部」外观仍是官方的,但何时出现由本插件决定——跟随中的正常落后不会再让它一闪一闪,点它是平滑滑回底部。
- 小窗火花。 运行中思考小窗底部往上冒火星——像滚筒碾过金属:小窗滚得越快,火星越亮也越密(亮度跟着滚动速度走,慢输出暗、快输出烫),停住就不磨了;底边左右两端更密,火星朝窗口内迸。颜色与密度可调,关掉即完全不运行。
- 正文锻打。 正文流式输出时,每写一段就从写头(最后一行末尾)向四周飘出一扇火星,像溅出来的一小团火。写了才有,停笔就不发,火星烧完自动收手。颜色、密度、速度、寿命都可调。
- 跑完回到提问处。 一轮结束,视图平滑滑回你这轮那句话的位置——不用自己往上翻找回"我当初问的是什么"(你已经自己上滚过就不动你;可关,默认开)。
- 置顶显示提问。 读到哪一轮,那一轮的提问就钉在会话顶端(一行,超出省略);它自己在屏幕上时自动让位,点它一下平滑滑回那句发言(可关,默认开)。

它轻在哪
- 不另开视图。 直接在官方对话流上做 DOM 增强(靠语义属性定位行),不自己实现会话壳、不接管渲染管线、不依赖内部渲染器契约——升级面小。
- 零依赖、零构建。 手写
lib/,没有构建步骤、没有运行时依赖,也不读写任何文件:宿主半区只是一个占位条目(客户端清单据它把浏览器半区交给页面),设置存在浏览器 localStorage。 - 不碰官方源码,卸载即净。
安装
方式一:DSH 插件面板(推荐) —— 侧栏 →「插件」→「添加插件」,粘贴下面这行,装完点「立即启用」:
dsh-streamfold
方式二:命令行(两种等价写法):
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.1.7-alpha.1(官方「对话显示」档位改由 configForms 服务托管;DSH 0.1.5 系列请用 0.4.x —— v0.4.0 自己声明的是 >=0.1.5-rc.2)。
0.4 → 0.5 的变化:设置不再写宿主文件(
~/.dsh/streamfold.json与/streamfold/api/settings路由已移除),改为只存浏览器 localStorage——你在页面上已经调好的值不受影响;0.1.7 把「对话显示」换成四档(简洁/标准/详细/完全展开),本插件把「折叠」作为第五项接在官方下拉里,选它时官方自动停在「完全展开」,两层折叠不会打架。
卸载:
dsh plugin --profile web remove dsh-streamfold
重启 profile 即恢复官方行为。
用法
设置 → 通用设置 → 工作步骤展示:官方那四档原样保留(简洁 / 标准 / 详细 / 完全展开),末尾多一项「折叠」——本插件接管的那一档:
| 选项 | 行为 |
|---|---|
| 简洁 / 标准 / 详细 / 完全展开 | 官方原本的四档,文案与行为都跟官方一致 |
| 折叠 | 本插件:运行中的一轮只留一个窗,其余过程收成一行 |
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
2nd1st/dsh-plugin-open-app
Yu-tao-Li/dsh-pin
YesSanSan/dsh-conversation-outline
Han-1413141/dsh-sticky-disclosure
reactive-resume/reactive-resume