DSH Performance Statistics:会话耗时饼图与辅助模型调用统计

前言

在 DeepSeek Harness(DSH)里跑 Agent 时,一轮对话往往串起输入准备、主模型推理、工具执行和多次辅助模型调用。日志里能看到事件,但很难一眼判断时间花在哪个阶段、某次辅助调用等了多久首 token。若统计能力仍绑在聊天增强类插件里,还容易和其他插件争用同一按钮与投影。下面介绍独立插件 dsh-performance-statistics,它把详细计时与交互式图表接到 Web 界面,数据落在本地会话日志,不保存提示词与回复正文。

这是什么

DSH Performance Statistics(仓库 vb2250158/dsh-performance-statistics)是面向 DSH 0.2.1 系列公开插件 API 的性能统计插件,维护者为 vb2250158,在社区目录中归类为模型推理。定位是:在输入框下方提供统计入口,弹窗展示耗时饼图、阶段明细、逐次辅助模型调用,以及首个输出等待、输出速度与 Token 用量等辅助指标。功能自 dsh-chat-enhancement 抽出,保留 MIT 许可。

核心功能

界面与指标

安装并启用 Performance statistics / 性能统计 后,重新打开网页。每轮对话结束后,点击输入框下方的统计按钮打开弹窗。弹窗第二行左侧为当前会话标题,右侧为统计范围与轮次、步数。

  • 耗时以饼图呈现;超过 1 秒的显示为秒(最多三位小数),1 秒及以下显示为毫秒。
  • 可查看阶段明细,包括输入与提示词准备、模型选择、预处理、辅助模型、首 token 等待、推理与输出、工具链、Rabi 钩子、压缩与重试等(以 README 列举为准)。
  • 辅助模型卡片可展开,列出每次调用的插件、用途、规则名称与 ID、模型、开始时间、总耗时、首 token 等待及失败或中断状态。
  • 选中饼图环或图例可筛选,并在下方追加该环节的插件子饼图;继续选中插件可显示操作子饼图。耗时与本级占比并排显示,不再使用底部明细表。

Rabi 与旧日志

在 dsh-rabiroute-agent >=0.13.42 等条件下,Rabi 相关钩子可展开到连接、请求与服务端步骤;选中钩子环节后,逐次卡片列出每次耗时、HTTP 状态及成功、失败、阻止等状态。旧日志仍可查看原有钩子事件与总耗时;内部步骤未采集时会明确提示,不事后推算。投影版本 7 可自动回放旧记录,不改写历史会话。

与聊天增强、Jev 的关系

从带统计功能的聊天增强插件迁移时,需同时将 dsh-chat-enhancement 升到 >=0.3.81(0.3.80 及更早版本会与本插件争用同一投影和按钮,不能同时启用)。本插件不依赖聊天增强。Jev 的用途与规则标签需要 dsh-jev-context-gate >=0.1.37。旧会话无需转换:插件仍读取 plugin:dsh-chat-enhancement/timing,保留 chatSessionTiming 投影;新记录写入 plugin:dsh-performance-statistics/timing。停用插件会撤销监听、服务和按钮,不删除已有记录。

隐私

计时信息写入本地会话日志,仅含时间、模型路由、插件、工具、钩子、用户配置的规则名称与 ID 以及结果状态。不为统计保存提示词、工具参数、回复或凭据,不缓存模型流,不上传遥测。分享日志前应检查自定义名称中的个人信息。

安装与启用

适用于 DSH 0.2.1 系列,README 写明已在 0.2.1-rc.3 验证。通过插件管理器安装本仓库,或使用受支持的 CLI:

dsh plugin --profile web add github:vb2250158/dsh-performance-statistics#v0.1.7

安装后启用 Performance statistics / 性能统计,重新打开网页。发送一条消息,轮次结束后点击统计按钮即可查看;辅助模型卡片可展开,饼图和图例可点击筛选。

典型用法(开发者接入)

其他插件若需准确用途标签,可接入公开服务 chatStageTiming(流式辅助模型):

const timing = ctx.get('chatStageTiming')
const options = { provider, model, messages, signal }
const stream = timing
  ? timing.stream({ plugin: 'my-plugin', operation: 'before', rules: [{ id: 'rule-id', title: 'Rule label' }] }, () => ctx.llm.stream(options))
  : ctx.llm.stream(options)
for await (const chunk of stream) { /* consume normally */ }

非模型子步骤可在已有 Agent 阶段内使用 timing.run:

await timing.run({ plugin: 'my-plugin', operation: 'catalog-snapshot' }, () => loadCatalog())

缺少服务或没有活动阶段时直接执行原任务;兼容旧统计服务时可检查 timing?.run 是否存在。更细的输入预处理名称可由可选服务 agentPreStepTiming 及宿主配套采集点补丁提供,详见仓库 host-patches/ 与 README「开发与验证」一节。

适用场景与注意

  • 适合:需要在 Web 端交互查看单会话性能、排查辅助模型与工具耗时、或从聊天增强迁移独立统计能力的 DSH 用户与插件作者。
  • 权限与安全:插件在当前 DSH 进程权限下运行;安装前应阅读仓库源码与 MIT 许可证,自行评估是否满足环境要求。
  • 生态说明:DSH 社区插件目录(如 skillhub.cn 上的条目)为独立站点,与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。
  • 版本与依赖:安装命令以 README 为准(上例固定 #v0.1.7);仓库 package.json 当前版本为 0.1.13,升级路径以发布标签与 CHANGELOG 为准。peer 依赖涵盖 @deepseek-ai/cordis、dsh-llm、dsh-session-projection、dsh-agent 及 Web 客户端 UI 包等 0.2.1-alpha 系列,需与宿主 DSH 版本匹配。

结尾

dsh-performance-statistics 把会话级计时从增强插件中独立出来,用饼图与可下钻的辅助调用列表回答「时间花在哪」;数据本地留存、口径在 README 中有说明(独占时间分配、首 token 等待起算点等)。若要安装或读完整 API,见 GitHub 仓库与社区目录页:

  • 目录页:https://www.skillhub.cn/plugins/vb2250158/dsh-performance-statistics
  • GitHub:https://github.com/vb2250158/dsh-performance-statistics
羽毛球分组比赛记分
小程序二维码

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

Xiaoye