DeepSeek Harness 插件:dsh-tps 实时 TPS 监控卡片

前言

在使用 DeepSeek Harness(DSH)进行智能体开发时,流式输出的吞吐量(tokens-per-second)是一个直观的效率指标。虽然可以在控制台查看日志,但缺少一个可交互、可停靠的实时卡片,会让持续观察变得不便。dsh-tps 插件就是为这个场景设计的。

是什么

dsh-tps 是一个为当前 DSH 会话提供实时 tokens-per-second 展示的客户端插件。它维护者 TINGOD2006,默认安装在左侧侧边栏,也可以切换为可拖拽的悬浮卡片。插件通过订阅 agent/assistant-stream 事件与 session/event 事件来计算吞吐量,并在页面中以卡片形式呈现。

核心功能

实时与平均吞吐量

卡片顶部提供分段控制器,可在「实时」与「平均」模式间切换:

  • 实时 t/s:基于 agent/assistant-stream 的增量数据计算,使用滑动窗口与分母下限,避免突发 chunk 导致数值剧烈波动。
  • 平均 t/s:从第一个 token 开始的全会话平均值。

Sparkline 走势图

展示最近 40 个采样点的折线图,使用卡片的主题色绘制,便于快速判断吞吐趋势。

会话列表与切换

卡片底部列出所有会话的读取数据,格式为 dsh-tps (会话名),点击一行可将卡片切换到该会话的视图。点击不会影响当前页面。

布局与交互

侧边栏停靠或悬浮

卡片右上角提供两个按钮:

  • 左侧:停靠到侧边栏底部插槽。若侧边栏消失(窗口过窄或折叠),卡片会回退到悬浮模式。
  • 悬浮:固定在右下角悬浮卡片。

选择与悬浮位置、折叠状态、实时/平均模式均保存在 localStorage 中。

拖拽行为

在悬浮模式下,卡片整体(包括标题、数值、折线图、空白区域)都是拖拽手柄。按钮、分段控制器与会话行排除拖拽,保证点击目标可用。拖拽在 document 上追踪,即使鼠标移出卡片也能保持跟随,且不会触发切换模式的点击事件。

安装与启用

在终端中执行:

dsh plugin add TINGOD2006/dsh-tps

安装完成后重启 DSH 服务,插件会在加载时出现在侧边栏中。

典型用法

  1. 安装插件后,在左侧侧边栏底部即可看到 dsh-tps 卡片。
  2. 默认显示当前会话的实时 t/s 与 Sparkline。
  3. 点击卡片右上角的分段控制器,可在「实时」与「平均」间切换。
  4. 点击卡片底部会话行,切换卡片视图到对应会话。
  5. 点击右上角的按钮选择「左侧」或「悬浮」,控制卡片位置。

修改 lib/widget.js 并刷新页面即可更新卡片样式或逻辑,无需重启服务。页面运行旧版本时会显示刷新提示(⟳)。

适用场景与注意

适合需要持续观察流式输出吞吐量的开发者,特别是在长时间会话或批量推理场景下。插件以当前 DSH 进程的权限运行,建议在安装前检查源码与许可证(MIT)。

短结尾

dsh-tps 提供了一个轻量、无依赖的实时 TPS 监控入口,通过侧边栏停靠或悬浮卡片满足不同布局偏好。更多细节可在插件目录查看,源码托管在 GitHub。

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

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

小夜