dsh-compact-activity:让 DSH 的过程记录更紧凑

前言

DSH 运行任务时,经常会出现连续的思考与工具调用。这些信息在排查过程时有用,但在 Web 页面里逐条展开会拉长滚动区域,也会让模型最终输出更难快速定位。

dsh-compact-activity 是一个 DSH 插件,目标是把连续的思考和工具调用收进一个单行折叠项:默认保持收起,需要查看细节时再展开,同时保持模型最终输出正常显示。

该插件由 wallpap 维护,GitHub 仓库为:

https://github.com/wallpap/dsh-compact-activity

它只调整 Web 界面的展示方式,不修改模型上下文、会话日志或工具执行。

插件做什么

下面介绍这个插件已经明确的几项能力:

  • 将连续的思考和工具调用收进一个单行折叠项。
  • 默认保持收起,需要查看细节时再展开。
  • 模型最终输出始终正常显示。
  • 实时显示执行状态、计数和最后一项活动摘要。
  • 对过程中的失败步骤单独计数。
  • 识别 PWSHBash 等终端工具的非零退出码或终止信号。
  • 最后一个过程项失败或中断时显示“执行错误”,正常结束时显示“已完成”。
  • 总折叠的状态和计数文案跟随 DSH 的语言设置,支持中文和 English
  • 插件只调整 Web 界面的展示方式,不修改模型上下文、会话日志或工具执行。

安装前提

先确认使用环境,再执行安装命令。

DSH Desktop

适用于 DSH Desktop 2.0.3。从系统托盘打开 DSH Terminal,针对当前 profile 执行安装、检查和验证命令。

普通 DSH CLI/Web

适用于终端中已有 dshpnpm 的环境。普通 CLI/Web 安装需要 dshpnpm,npm 不能代替 pnpm。

本地源码安装

本地源码安装需要 Node.js 满足:

^22.19.0 || >=24.0.0

通用注意事项

  • 插件没有独立的设置页面。
  • 安装后重启 DSH Web 或 Desktop,插件会自动生效。
  • 语言由 DSH 的 Language 设置统一控制。
  • Desktop 的每个 profile 有独立的插件清单和构建配置。切换 profile 后,需要在目标 profile 的 DSH Terminal 中重新执行安装、更新和验证命令。
  • Desktop 对刚发布的 npm 包默认应用 24 小时最短发布时间策略。安装时应优先使用 @latest,并比较 npm 最新版本和 profile 实际安装版本。

安装与启用

DSH Desktop 2.0.3

从系统托盘打开 DSH Terminal,针对当前 profile 运行:

dsh plugin add dsh-compact-activity@latest
dsh --dump-config
pnpm list dsh-compact-activity --depth 0

dsh --dump-config 用于检查当前 profile 的配置输出。pnpm list dsh-compact-activity --depth 0 用于查看该插件的实际安装版本。验证后重启 DSH Desktop。

由于 Desktop 存在 24 小时最短发布时间策略,安装后不要只看命令是否成功,应比较 npm 最新版本与 profile 实际安装版本。如果版本不一致,应按已确认的版本重新安装。

普通 DSH CLI/Web

在已有 dshpnpm 的终端中运行:

dsh plugin --profile web add dsh-compact-activity@latest
dsh --profile web --dump-config

dsh --profile web --dump-config 用于检查 web profile 的配置。验证后运行:

dsh --profile web

本地源码安装

确认 Node.js 版本满足 ^22.19.0 || >=24.0.0 后,在插件目录运行:

pnpm install
npm run check
dsh plugin --profile web add .
dsh --profile web --dump-config

npm run check 用于执行项目检查。验证后运行:

dsh --profile web

典型用法

安装并重启 DSH Web 或 DSH Desktop 后,执行过程会按下面的方式展示:

  • 连续的思考和工具调用会进入同一个单行折叠项,默认收起。
  • 需要查看细节时展开对应折叠项。
  • 执行期间显示状态、计数和最后一项活动摘要。
  • 过程中的失败步骤会被单独计数。
  • PWSHBash 等终端工具的非零退出码或终止信号会被识别并计入失败步骤。
  • 最后一个过程项失败或中断时显示“执行错误”。
  • 正常结束时显示“已完成”。
  • 模型最终输出始终正常显示,不会因过程折叠而消失。
  • 总折叠的状态和计数文案跟随 DSH 的语言设置,支持中文和 English

更新与卸载

DSH Desktop 更新或卸载

在 DSH Desktop 的 DSH Terminal 中运行:

dsh plugin update dsh-compact-activity --latest
dsh plugin remove dsh-compact-activity

更新后应再次检查 profile 实际安装版本,并与 npm 最新版本进行比较。操作后重启 DSH Desktop。

普通 DSH CLI/Web 更新或卸载

在终端中运行:

dsh plugin --profile web update dsh-compact-activity --latest
dsh plugin --profile web remove dsh-compact-activity

命令执行后,按普通 DSH CLI/Web 的当前使用方式重新启动对应进程。

适用场景与注意

这个插件适合使用 DSH Web 或 DSH Desktop、希望把过程信息折叠起来、优先查看最终输出的用户。它更适合长工具调用、多步骤思考、需要在页面中快速定位最终回答的场景。

使用前注意以下几点:

  • 插件由当前 dsh 进程加载执行,因此会沿用该进程可用的权限。安装前应检查源码、依赖和仓库中的 LICENSE 文件。已抓取资料未明确具体许可证名称,本文不将其写成确定许可证。
  • 插件只调整 Web 界面展示,不修改模型上下文、会话日志或工具执行。
  • peer dependencies 由 DSH 宿主提供,不应手动安装到 profile;当前版本已将它们标记为 optional peer。
  • Desktop 的每个 profile 有独立的插件清单和构建配置。切换 profile 后,需要在目标 profile 的 DSH Terminal 中重新执行安装、更新和验证命令。
  • Desktop 对刚发布的 npm 包默认应用 24 小时最短发布时间策略。安装时应优先使用 @latest,并比较 npm 最新版本和 profile 实际安装版本。
  • 普通 DSH CLI/Web 场景需要 dshpnpm,npm 不能代替 pnpm。
  • 本地源码安装需要 Node.js ^22.19.0 || >=24.0.0

结尾

dsh-compact-activity 的价值不是改变模型执行,而是把 DSH 的过程信息整理成更容易浏览的折叠结构:过程可收起、失败可计数、状态可跟随 DSH 语言切换、最终输出仍清楚可见。

仓库地址:

https://github.com/wallpap/dsh-compact-activity
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜