dsh-session-timing:DSH Web UI 的会话与轮次耗时统计

前言

在 DSH 上做智能体开发时,常会遇到一个问题:改了提示词、换了模型或工具之后,想知道这次会话到底花了多久,某一轮卡在哪个环节。系统日志虽然有事件记录,但没有现成的视图把会话耗时和每轮耗时摆出来;靠外部计时工具或手工翻日志都比较麻烦。

dsh-session-timing 就是一个补齐这块的客户端插件,维护者为 Neverwocao(GitHub 作者 wzp168),MIT 协议。它给 DeepSeek Harness Web UI 加了三层耗时统计:每个会话的总耗时、每一轮的耗时,以及按时间段的汇总。

这是什么

一句话定位:DSH Web UI 的会话墙钟耗时插件,把会话日志里的轮次事件折叠成可读的耗时数字。

解决什么问题:在界面上直接看到「这个会话用了多久」「这一轮用了多久」「今天 / 近 7 天 / 近 30 天一共用了多少」,不依赖额外的日志分析工具。

核心功能

下面三点对应插件的三处观测位置。数据全部来自会话日志的 turn/start 与 turn/end 两种事件。

1、每个会话的总耗时:打开会话时标题栏右侧显示 ⏱ 累计 12m 10s 胶囊;侧边栏「会话耗时」面板里每个会话一行。

2、每一轮的耗时:Chat 中每一轮结束后、操作行上方显示 本轮 2 · 3m · 08:52:30 → 08:55:30。

3、一段时间内的总耗时:侧边栏「会话耗时」面板提供 今天 / 近 7 天 / 近 30 天 / 全部 四个档位。

因为数据来自会话日志,翻页、压缩上下文、重启 Harness 都不会让数字变化;正在进行的轮次不计入总量,只在标题栏胶囊里实时累加。

安装与启用

安装前确认三件事:Node.js ≥ 20;pnpm 在 DSH 进程的 PATH 上(DSH 用它安装插件);本机有带 dsh plugin 命令的 DSH。桌面版通常把命令里的 web 换成你的 profile 名(一般是 desktop)。

一行安装:

dsh plugin --profile web add github:Neverwocao/dsh-session-timing#v1.0.0

也可以不依赖 GitHub tag,改用发布包或本地目录:

# 从 tag 的 tar 包安装
dsh plugin --profile web add https://github.com/Neverwocao/dsh-session-timing/archive/refs/tags/v1.0.0.tar.gz

# 本地开发:直接链接一份 checkout
dsh plugin --profile web add link:/绝对路径/dsh-session-timing

装完重启 dsh web(插件行、客户端 bundle 都是启动时扫描的),再打开「插件」面板确认「会话耗时」已启用。用 link: 装本地代码时,改完 Client 只需重启 dsh web 或刷新页面即可加载新 bundle。

卸载:

dsh plugin --profile web remove dsh-session-timing

典型用法

安装启用后不需要额外配置,直接在界面上读数即可。

1、打开某个会话,先看标题栏右侧的累计胶囊,判断这个会话到现在用了多久。

2、做完一轮后看操作行上方的本轮耗时,用来定位起慢的轮次。若想进一步看模型时间与工具时间,改用 DSH 自带的 sessionStats 统计条。

3、点侧边栏「会话耗时」面板图标,切到 今天 / 近 7 天 / 近 30 天 / 全部,对比不同时间段的总耗时。面板不做自动刷新,切时间段或点「刷新」才会重算。

计时口径

插件对几个名词的定义如下,和直觉不完全一致,使用前先对齐。

名称 含义
轮次耗时 turn/end 时间减 turn/start 时间,包含工具执行与等待
会话总耗时(活跃时长) 所有已结束轮次之和
时间跨度 第一轮开始到最后轮结束;会话中间闲置时它大于活跃时长
时间段总耗时 所选时间段内各会话活跃时长之和

另外两条规则:会话按最后活动日归档,所以「今天」指今天有过活动的会话;某一轮没有落 turn/end(崩溃、强杀)时,用下一轮的 turn/start 作为它的结束时间,历史保持单调。

适用场景与注意

适合谁:在 DSH Web UI 里日常跑会话、需要按会话或轮次复盘耗时的开发者和使用者;想把会话耗时纳入统计时也可使用。

注意事项,安装前先看清:

1、插件以当前 dsh 进程的权限运行,能访问该进程能看到的会话日志;安装前先阅读源码和许可证。README 标注 MIT,© 2026 wzp168。

2、只折叠轮次边界,不细分每一步(step)的耗时;模型时间与工具时间请用 DSH 自带的 sessionStats 统计条。

3、面板单次最多读取 120 个会话,超出会在页面底部提示。

4、兼容性方面,README 说明在 DSH 0.2.1-rc.5 上验证,engines.dsh 限定 >=0.2.1-rc.1 <0.3.0-0。

小结

这个插件的价值在于把原本要翻日志才能算的耗时直接放进 Web UI,省去手工统计。安装维护步骤不多,但能力限定在轮次粒度,需要 step 级数据时仍要回退到 DSH 自带的统计。

目录页:https://www.skillhub.cn/plugins/Neverwocao/dsh-session-timing

GitHub:https://github.com/Neverwocao/dsh-session-timing

补充一句生态背景:DSH 的理念是「一切皆插件」,上面链接的社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

羽毛球分组比赛记分
小程序二维码

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

小夜