DeepSeek Harness Hub
← 返回列表

过程折叠框uigdwunm/dsh-process-fold

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
未验证

把执行步骤折进可展开的过程框,随时查看细节

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/14 · 已提供中文文档

将DSH Web执行步骤折叠为紧凑的可展开流程框。

综合分
30.5
GitHub 分
30.5
用户评分
★ Stars
1
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/uigdwunm/dsh-process-fold.git
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-process-fold

awesome · DSH plugin

中文

dsh-process-fold 是一个 DeepSeek Harness Web 客户端 UI 插件。它把执行过程折叠进带边框的过程框,默认只显示每个框的最新两项。

框在模型文本处切开:模型每输出一次文本,这段文本之前的框就至此完结,之后的思考过程另起一框,因此一轮里可能有多个框。文本本身永远不进框——它留在框外,充当框与框之间的间隔。

折叠时藏了内容的框,会在上边框之上再堆叠两条线,提示“里面还有东西”。点这两条线只展开这一个框(就地长出来,不做滚动跳转)。展开之后,同一条上边框反过来就是收回控件:鼠标移到框的上边缘,线中间会浮出那两条堆叠线的缩小版(约 52px 宽、居中)当图标,点它就只把这一个框收回去(同样不跳)。每个框各自记住自己的展开状态;每轮那行开关(或官方按钮)仍然一次开关这一轮的全部框。

它和官方自带的「过程折叠」按钮是协作关系而不是竞争关系:某一轮只要有官方那行「N 次工具调用 ▾」,那一行就是这一轮唯一的开关——点它在「最新两项」和「全部过程」之间切换(管这一轮的所有框);官方按钮不在场时(流式输出中、更早历史未加载完、官方设为标准显示、被中断或没有最终回答的轮次)由插件自己的那行顶替它——一轮一行,样式与官方一致(左侧「N 次工具调用」、右侧箭头,同样的尺寸和 token)。

用户消息、用户重定向消息、交互式 ask_user_question 提问以及所有模型文本(中间输出和最终回答)始终留在框外并完整显示。

与把已结束轮次的过程替换成一行耗时摘要的自动折叠插件不同,本插件把过程留在原处:合并进可以随时重新展开的框,并且从不隐藏用户消息、交互提问、错误提示和模型文本。插件停用时,它注入的样式、属性、标签和控件全部清除。

安装

dsh plugin --profile web add github:uigdwunm/dsh-process-fold

重启 dsh web,然后刷新页面。

行为

- 把思考、工具调用和上下文项合并为带边框的过程框,并在每一段模型文本处切开。
- 折叠时保留每个框的最新两项,展开时显示每个框的全部过程。
- 折叠时藏了项的框,在上边框之上堆叠两条线;点这两条线只展开这一个框(就地展开,不做滚动跳转)。
- 展开后同一条上边框变成收回控件:鼠标移到框的上边缘时,线上的堆叠线缩小版图标(约 52px 宽)淡入,点它只把这一个框收回去(藏起来的项原地消失,不会跳)。
- 某一轮官方折叠按钮存在时,以它作为这一轮所有框的开关。
- 不存在时,每轮渲染一行替代它的开关:与官方同款外观(33px 高、底部细线、左侧「N 次工具调用」、右侧箭头,展开时箭头旋转)。
- 展开状态按框存:堆叠线只展开它自己的那个框,开关行(或官方按钮)则一次开关这一轮的全部框。
- 不读取官方按钮的展开状态:只用一条 CSS 把官方 hidden="until-found" 对「插件要显示的项」(含承载模型文本的流项)失效掉;只把插件状态写回官方按钮的 data-open / aria-expanded 以对齐箭头方向。
- 补回官方 hidden 属性抹掉的、模型文本周围及其之后的流间距。
- 浏览器查找(Ctrl+F)命中时跟随进入展开态。
- 展开/折叠时保持按钮以下内容在视口中的位置。
- 所有模型文本都在框外,作为框与框之间的间隔。
- user、steering、ask_user_question、模型文本、turn-error、turn-max-tokens、turn-process 作为过程边界。
- 插件停止时清理所有注入的样式、属性、标签和按钮。

依赖的 DOM 契约

插件只依赖官方挂载的稳定属性,不依赖会随构建变化的 hash 类名:

- [data-chat-flow] / [data-chat-flow-kind]:会话流容器与流项类型
- [data-chat-turn] / [data-chat-flow-key]:轮次号(折叠状态的键)与流项唯一键
- [data-turn-process]:官方折叠按钮(点击源 + 是否在场的判据)
- [data-turn-process-member]:官方的过程成员标记(用于 Ctrl+F 跟随)

English

dsh-process-fold is a client-side UI plugin for DeepSeek Harness Web. It folds execution steps into bordered process boxes that show only their latest two items by default.

Boxes are cut at model text: every piece of assistant text closes the box in front of it and starts a new one after it, so a turn can hold several boxes. That text is never folded into a box — it stays outside and separates the boxes.
当一个折叠的盒子隐藏了项目时,其顶部边框上方会堆叠两条线,这样你就能看出它包含的内容比显示出来的更多。点击这些线即可就地展开该盒子。展开后,同一条顶部边框会成为折叠控件:将鼠标悬停在盒子的顶部边缘,这些堆叠线条的缩略图(约 52px 宽,居中)会在该线上淡入——点击它即可将该盒子重新折叠。每个盒子都保留自己的展开状态;每轮的行(或官方按钮)仍然会一次性打开和关闭该轮的所有盒子。

它与已发布的轮次处理展开控件协作,而不是与之竞争:当某一轮的官方 N 次工具调用 ▾ 行存在时,该行就是唯一的切换控件——点击它会在该轮盒子的最新两项与整个处理过程之间切换。当官方行不存在时(流式轮次、未加载的较早历史记录、标准转录视图,或无答案的中断轮次),插件自己的行会取而代之:每轮一个,样式与官方行相同(左侧为 N 次工具调用,右侧为 chevron,相同的尺寸和令牌)。

用户消息、引导消息、交互式 ask_user_question 提示,以及每一段模型文本(中间输出和最终答案)都保留在盒子之外,完全可见。

与那些用单行计时行替换已完成轮次处理过程的自动折叠插件不同,这个插件将处理过程保留在原位:它把项目折叠进可以重新打开的盒子中,并且从不隐藏用户自己的消息、交互式问题、错误或模型文本。停止该插件会移除它注入的每一个样式、属性、标签和控件。

安装

dsh plugin --profile web add github:uigdwunm/dsh-process-fold

重启 dsh web,然后刷新页面。

行为

- 将思考、工具调用和上下文项目折叠进带边框的处理盒子中,并在每一段模型文本处切断盒子。
- 折叠时显示每个盒子的最新两项,展开时显示每个盒子的整个处理过程。
- 在隐藏了项目的折叠盒子顶部边框上方堆叠两条线;点击这些线只会就地展开该盒子,不会发生滚动跳动。
- 盒子打开后,将同一条顶部边框变为折叠控件:将鼠标悬停在顶部边缘会淡入堆叠线条的缩略图(约 52px 宽,在该线上居中),点击它即可将该盒子重新折叠(折叠的项目会就地消失,因此不会发生跳动)。
- 只要官方展开按钮存在,就将其用作该轮盒子的切换控件。
- 否则每轮渲染一个替代行——外观与官方行相同:33px 高、底部细线、N 次工具调用 标签、展开时旋转的右侧 chevron。
- 按盒子保留展开状态:堆叠线条只打开自己的盒子,而行(或官方按钮)会打开或关闭该轮的所有盒子。
- 不读取任何官方披露状态:一条 CSS 规则会中和官方针对插件保持可见的条目(包括承载模型文本的流程条目)的 hidden="until-found",而插件的每轮状态只会写回官方行的 data-open / aria-expanded,以便其折叠箭头保持一致。
- 恢复官方 hidden 属性在模型文本周围及其之后移除的流程间隙。
- 跟随浏览器查找(beforematch)进入展开状态。
- 展开和折叠时不会在视口中移动切换按钮下方的内容。
- 将所有模型文本保留在流程框之外;它改为分隔这些框。
- 将 user、steering、ask_user_question、模型文本、turn-error、turn-max-tokens 和 turn-process 视为流程边界。
- 当插件停止时,移除所有注入的样式、属性、标签和控件。

开发

npm install
npm run typecheck
npm run build

浏览器源代码位于 src/client.ts;预构建的 DSH 客户端包提交在 lib/client.js。

原始需求说明:docs/requirements.md。

发布

每次发布都要附加两个 tarball,而不是一个:

npm version  --no-git-tag-version   # then date the changelog section
git commit -am "chore(release): "
git tag -a v && git push origin main v
npm pack && cp dsh-process-fold-.tgz dsh-process-fold.tgz
gh release create v dsh-process-fold-.tgz dsh-process-fold.tgz

dsh-process-fold-.tgz 是归档文件。dsh-process-fold.tgz 是插件列表通过 releases/latest/download/ 解析的无版本名称——该 URL 会按字面使用文件名,因此如果某个发布只提供带版本号的名称,列表就会一直处于损坏状态,直到有人注意到。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群