跳到正文
dsh-market 浏览插件 GitHub EN

ruisenbai/dsh-turn-fold

流式回复期间将推理与工具调用折叠为收起的步骤栏,回合完成后整轮收拢为一条摘要栏;步骤栏显示原生工具图标、文件名、编辑增删行数与失败计数,已完成回合从记录的 Session 事件恢复耗时、首字延迟、Token 用量、生成速度与缓存命中率,偏好由 Host 持久保存。仅改变浏览器呈现,需要 DSH 0.1.5-alpha.1。

Star 数 ★ 1 分类 UI 增强 收录于 2026-09-13

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add "https://github.com/ruisenbai/dsh-turn-fold/releases/latest/download/dsh-turn-fold.tgz"

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

截图

README


description: "在 DeepSeek Harness Web 配置中安装和设置思考、工具调用的两级折叠。" kind: "package-bundle"

dsh-turn-fold

English | 中文

概述

这是一个可选的 Web 插件,可以把思考和工具调用归并成可折叠的步骤。整轮对话完成后,执行过程自动收起,最终回复继续显示。插件以本地配置层的方式安装,设置界面支持中文和英文。适配的 DeepSeek Harness 版本为 0.1.5-alpha.1。

目录


使用插件

请安装到版本匹配的现有 Web 配置中。从源码开发时,上级仓库需要已安装依赖并构建 Web 和 CLI,Node 版本要求为 ^22.19.0 || >=24.0.0。

安装本地构建

在 DeepSeek Harness 仓库根目录执行:

cd dsh-turn-fold
npm run dev:link
npm run build
dsh plugin --profile web add "$PWD" --offline

链接命令只在当前插件目录内创建开发依赖的软链接。安装命令会把本地包加入所选配置,并启用它提供的配置层。安装后刷新正在使用的 Web 页面。如果使用其他 Web 配置,请替换命令中的 web。

使用以下命令移除配置层:

dsh plugin --profile web remove dsh-turn-fold

查看对话

  • 回复生成过程中,连续的思考和工具调用归入同一个步骤栏,默认收起。步骤之间的正文保持可见。
  • 一轮对话产生最终回复并结束后,执行过程收成一条摘要栏。点击摘要栏可以查看步骤,再点击步骤可以查看原有的思考和工具卡片。
  • 摘要显示原生工具分类图标、文件名,以及读取、编辑、搜索、命令、其他工具的次数和失败次数。执行中的步骤显示当前工具或简短的思考预览。点击文件名可以复制完整工作区路径,不改变折叠状态;悬停提示显示路径。复制失败时提供可选中的完整路径,方便手动复制。
  • 成功的编辑根据工具持久化的差异元数据显示新增和删除行数,不计入未改动的上下文。同一文件的多个片段和多次调用会累加。失败、尚未完成或没有差异数据的编辑不显示增删行数。摘要先显示三个文件名,其余文件通过独立入口展开;同名文件显示路径,便于区分。
  • 展开、收起和内容持续增长带有高度与透明度过渡。快速反向切换会保留当前显示高度,自动折叠也会保留键盘焦点。完全收起的行不占用消息间距,刷新或重新进入已保存的会话后也不留空隙。系统开启“减少动态效果”后停用动画。
  • 待回答的问题、用户消息和错误行保持可见。缺少开头或最终回复的对话,默认保持展开。

调整默认行为

打开 设置 → 插件,点击对话折叠展开卡片。折叠行为和过程指标分为两组,显示在同一张卡片内,修改后立即保存。对话折叠、默认收起步骤、完成后收起整轮过程和指标总开关默认启用。总耗时、首字耗时、Token 用量、生成速度、缓存命中率和步骤数量各有独立开关,默认全部开启。关闭总开关不会清除各项选择。

步骤栏和整轮折叠栏统一使用箭头:收起时向右,展开时向下,运行中高亮。偏好由 Host 保存,刷新页面后仍然生效。手动展开或收起的选择在当前 Session 绑定中优先,刷新后重置。关闭插件时,会恢复插件接管时记录的原生折叠状态。

总耗时、首字耗时、生成速度、Token 用量、缓存命中率和实际执行步骤数量从已记录的 Session 事件恢复。生成速度按输出 Token 数除以记录的解码时间计算,不包含工具执行时间。缺少计时或供应方用量不完整时,对应指标不显示。

本地保存过程指标默认开启,与各项显示开关互相独立。DSH 把数值缓存保存在 <DSH_HOME>/storages/session_projcache/,浏览器或 Host 重启后,以及其他浏览器连接同一 Host 时,都能恢复已完成轮次的指标。关闭保存会取消插件的缓存注册,停止保存新的插件指标。界面仍可能从现有 Session 日志恢复数据;此开关不关闭 DSH 自身的聊天日志记录。开关本身保存在 <DSH_HOME>/settings.yaml。

版本提示介绍当前安装版本的功能。确认后将版本号存入 Host 偏好,刷新页面或使用其他浏览器连接同一 Host 时不再显示。提示不会联网检查更新,也不会安装插件。


了解实现

配置层补丁加入一个 Host 插件。Host 入口注册 turn-fold 设置命名空间;浏览器入口提供 Session 钩子、本地化设置,以及可撤销的渲染器包装。清单将客户端限定为 Web 平台。

投影逻辑读取现有 Chat 节点,在每一轮内部划分步骤。Session 模型合并节点与指标更新,只重新计算受影响的轮次。历史指标计算由 Conversation 扩展和可选的 Host 缓存共用,确保两者使用相同的持久化时间戳。渲染器适配保留现有注入、子插槽和渲染器调用链,通过原有的所属组件属性控制思考内容的显示,不另外订阅历史记录。

文件摘要验证工具返回的未知类型元数据,使用打包的 diff 库统计差异片段中的增删操作。工具图标取自 DSH 原生组件,折叠箭头使用内联 SVG。步骤栏文字使用相同的行高,图标组合按文字所在行对齐,让失败次数和实时预览与工具次数保持齐平。动画区域在收起过渡结束前保留原组件,监听内容尺寸变化,并在释放时清理观察器和动画。

插件不发布运行时不变量伴随模块:它只管理派生的显示数据和临时的展开选择,没有需要与另一份独立权威记录比对的持久化关系。行为测试覆盖投影、订阅释放、渲染器恢复,以及真实 Web 组合。

在源码仓库的当前插件目录执行:

npm run verify
npm run test:browser
npm run test:install
npm run docs:check

浏览器检查会启动临时 DSH 配置,回放录制的读取、编辑和搜索失败会话,并比对对话与设置的无障碍快照,同时检查路径复制、设置保存、版本提示确认、动画、移动端布局、摘要文字对齐、语言切换和原生折叠恢复。安装检查使用另一个临时配置,通过官方 CLI 安装和移除插件。两项检查都会清理自己的临时目录。修改双语文档后,请核对两种语言,再执行 npm run docs:record。


延伸阅读


模型体验

无。折叠只改变浏览器中的显示方式,不新增模型输入、工具或 Session 事件,也不影响 KV 缓存。

已知限制与暂缓工作

渲染器适配依赖当前 Chat 注册表,升级 DSH 时需要重新验证。分组针对已加载的历史记录;加载更早的消息后,补齐开头的轮次可能变得可以折叠。使用浏览器查找工具正文前,需要先展开隐藏的工具内容。尚未验证与直接替换渲染器、且不继续调用原渲染器的第三方插件的兼容性。完整路径需要 Session 的工作区元数据,缺失时按记录保留相对路径。增删行数统计已执行的操作,不等同于工作区最终差异;元数据不完整或工具不受支持时,无法补出缺失的行数。

开发备注

无。

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。