Winter-And-You-Gone/dsh-turn-fold 预览 preview

Winter-And-You-Gone/dsh-turn-fold

Project Overview项目介绍

dsh-turn-fold is a native plugin built exclusively for DeepSeek Harness (DSH) that cleans up cluttered chat interfaces by folding numerous tool calls and reasoning blocks into compact toggleable sections. It does not require modifying any core DSH source code to work, and it adds three layers of automatic folding: step grouping, in-progress round folding, and full turn folding. All folded sections are collapsed by default, and you can manually toggle any section open or closed with a single click. New version release notes pop up once on first load after an update, so you never miss new features.

This plugin is designed for DSH users who regularly run multiple tool calls in a single conversation, which can quickly fill the entire chat window with verbose output. As you chat, tool calls are automatically grouped between text blocks, and dynamic headers show the current status of running tools or reasoning with a subtle shimmer animation while in progress. Failed tool calls are automatically highlighted in red, and when a round completes, you get a useful compact summary with detailed metrics like total token usage and time to first token for complex workflows.

dsh-turn-fold is released under the permissive MIT open source license, and it currently supports DSH versions from 0.1.1-rc.2 to 0.1.6-alpha.1. The plugin includes an adaptation layer that handles changes to DSH’s session snapshot contract between versions, though future DSH API changes may require a plugin update. If any coupling points break, it gracefully falls back to default rendering and logs a warning instead of breaking the entire chat. It automatically cleans cached data when switching sessions, supports multi-language localization that matches DSH’s interface language, and lets users customize folding text via a simple configuration block.

这是专为 DeepSeek Harness(DSH)开发的原生插件,核心功能是自动折叠会话中大量的工具调用和思考块,解决工具调用过多占满屏幕的问题。它提供步骤分组、运行回合、整轮对话三层折叠逻辑,默认所有折叠块收起,不修改DSH核心源码即可安装,支持手动切换展开收起,新版本首次加载会弹出更新说明。

适合经常使用DSH调用多个工具处理任务的用户,在多轮对话中,工具调用会自动按文本段分组,默认折叠收起,只保留文本内容和折叠标题。运行过程中折叠栏会动态显示当前运行状态,包含工具名称、思考进度,带有动画效果,失败的工具调用还会自动标红提醒,回合结束后还会统计token消耗、首字时间等性能指标。

本插件采用MIT许可证开源,目前兼容DSH 0.1.1-rc.2到0.1.6-alpha.1版本,适配不同版本的会话快照契约,DSH升级后若接口变更可能需要插件同步更新。插件自带缓存清理逻辑,切换会话时会自动清理无用缓存,支持跟随DSH界面切换多语言,折叠文案可在配置中自定义调整。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 13 stars - an early-stage project星标 13,属于早期项目
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 @winteries/dsh-turn-fold

把 Winter-And-You-Gone/dsh-turn-fold 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-turn-fold

简体中文(默认) | English

受够了几十条工具调用占满屏幕? 也眼馋隔壁 Codex 的自动折叠? 那这个插件就是为你准备的。

DeepSeek Harness(DSH)纯插件,只负责折叠:

  1. 步骤分组自动折叠:两个 text 之间的所有工具调用和 Think(含纯 Think 段)收成一个步骤折叠栏,默认折叠;运行中步骤折叠栏动态显示「正在运行 图标 工具名 · 描述 / 正在思考 图标 Think · 内容」(文字带 shimmer 光泽动效),下一个 text 出现后按工具类型分组显示详细标题(如「运行了pwsh」「读取了client.js」「编辑了index.js [ +12 -3 ]」),纯 Think 段闭合后显示「思考了N次」。
  2. 运行中回合折叠栏:发消息即出现(0 秒占位,不等第一个 response),折叠栏实时显示耗时/首字/消耗token/tok/s/缓存命中率/待折叠步数,最右侧右对齐显示「第x轮」;折叠栏与内容之间有分隔线。
  3. 整回合折叠:一轮回复完成后自动收成一个回合折叠栏(默认收起),最终总结只显示正文。
  4. 手动展开/收起:点击折叠栏切换。

不修改任何 @deepseek-ai/dsh-* 源码。

功能一:步骤分组自动折叠

text:先看仓库状态和改动规模:                        ← text 直接显示
┌────────────────────────────────────────────────────┐
│ › 正在运行 ⬢ Pwsh · Commit 1: core +tests          │  ← 运行中:图标 + 工具名 + 参数摘要
└────────────────────────────────────────────────────┘
text:……                                             ← 下一个 text 出现
┌────────────────────────────────────────────────────┐
│ › 编辑了client.js [ +7 -7 ] 运行了2条命令           │  ← 段闭合:按工具类型分组显示
└────────────────────────────────────────────────────┘
  • 段 = 两个 text 之间的内容:连续的工具调用与 Think 混排成一段(Think 不再打断分组), 含 text 的消息是段边界;text 正文始终在步骤折叠栏下方直接显示(官方渲染,唯一一份, 不参与折叠——DSH 把 think 和 text 放在同一节点,think 部分收进段、text 部分留在段外)。
  • 默认折叠:步骤折叠栏始终默认收起(运行中也不例外)——运行中只显示 text 和步骤折叠栏行, 工具卡片/Think 内容点击步骤折叠栏才展开。
  • 运行中动态标题:段未闭合(下一个 text 还没出现)时,步骤折叠栏显示段内最后一个节点—— 工具调用显示「正在运行 图标 工具名 · 参数摘要」(工具图标复用官方 VARIANT_ICONS 映射, 如 Pwsh → API 图标、Read → 浏览图标、Grep → 搜索图标), Think 显示「正在思考 图标 Think · 最新一行」(前缀 + 官方 Think 图标 + 摘要,摘要取 最新一行、横向自动滚动跟随末尾,内容随流式逐字推进);运行中标题文字带shimmer 光泽 扫过动画(灰色基调 + 高光流动,节奏为流动 1.8s + 停顿 2s,亮/暗主题各自配色)。
  • 段闭合标题(按工具类型分组):下一个 text 出现后,按段内工具类型分组显示—— 仅命令:运行了pwsh(单次显示工具名)/ 运行了3条命令(多次显示次数); 仅读取:读取了client.js(同一文件显示文件名)/ 读取了2份文件(多文件显示数量); 仅编辑:编辑了index.js [ +12 -3 ](单文件附加行数变更,从官方 diffs 数据读取)/ 编辑了3份文件;搜索:搜索了2次; 混合时按「读取 → 编辑 → 搜索 → 命令」排序且命令始终在最后, 如 读取了client.js 编辑了App.tsx 运行了2条命令;纯 Think 段(段内无工具)闭合后显示 「思考了N次」(N = 段内 Think 次数)。
  • 手动可展开/收起:点击步骤折叠栏切换;手动选择会覆盖自动规则。
  • 失败命令标红:组内已有命令执行失败(工具结果 isError,含中断)时,折叠栏文字变红, 并在标题后追加失败数——仅单条工具调用失败显示「 —— 执行失败」(无条数), 多条工具调用时 1 条失败也显示「 —— 1条执行失败」、多条显示「 —— y条执行失败」。 失败统计涵盖段内所有工具类型(read/edit/search/命令都算)。

Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →

← 上一个 Prev dsh-chat-tree 下一个 Next dsh-engram →