dsh-token-usage-badge:在每条回答下方常驻显示 Token 与耗时

前言

在 DeepSeek Harness(DSH)里跑长对话或反复调智能体时,你往往关心两件事:这一轮到底烧了多少 Token、回答等了多久,以及整场会话累计到了多少。官方界面里,结束时间、用量弹窗等能力都有,但动作行默认只在最后一条回答上常显,历史回合要悬停才看得到;用量细节也需要额外点开。若你希望像看仪表盘一样,在每条回答下方一眼看到本轮读数、墙钟耗时和会话累计,且与官方「用量」同一口径,客户端插件 dsh-token-usage-badge(维护者 oxygenforce)就是针对这一痛点的补充。

下面介绍它是什么、能显示什么、如何安装,以及使用时需要注意的兼容性边界。

这是什么

dsh-token-usage-badge 是 DSH 生态中的纯客户端插件:在每条回答下方的动作行区域,追加一行淡色读数,不改变 Host 侧服务注册,不读写文件、不发网络请求。读数与官方 turn-tail、用量弹窗同源;样式走 --dsw-alias-* 主题令牌,深浅色随宿主切换。

社区目录页(SkillHub):oxygenforce/dsh-token-clock。源码与说明文档:GitHub — oxygenforce/dsh-token-usage-badge。许可证:MIT(见仓库 README)。

界面上会看到什么

安装并刷新 Web 后,每条回答下方会出现类似下面的一行(示意来自 README):

[复制] [赞/踩] [分支] [↗]    20:10   1.1M tok · 1分02秒 · 共 26.9M tok

从左到右各段含义如下(20:10 为宿主自带的官方结束时间,非本插件提供):

片段 含义
1.1M tok 本轮 Token:本次提问到回答结束的消耗
1分02秒 回答耗时:从提问到回答落盘的墙钟时间
共 26.9M tok 本会话累计 Token

核心行为(均可在 README 中核对):

  1. 数据来源:本轮读数取自宿主 turn-tail 节点中的 TurnTokenUsage,与会话里官方「用量」弹窗同一口径;会话累计读取 tokenUsage 投影并随新回合更新。
  2. 常驻可见:官方动作行只在最后一条回答常显时,历史回答需悬停;本插件仅对含读数的那一行解除该限制,方便翻历史时对照用量。
  3. 悬停分解:鼠标悬停读数,可查看未缓存输入、缓存读取、缓存写入、输出,以及其中推理部分的精确数字。
  4. 生成中可见:回答仍在生成时,「深度求索中,用时 …」一行在耗时之后会显示 +12.3K tok;+ 后为当前这一回答到目前为止的真实消耗(不含历史回合),宿主每完成一个步骤刷新一次,不是按字符估算。

安装与启用

安装方式以仓库 README 为准,不要使用未在文档中出现的 CLI 拼接命令。

方式一:插件市场(推荐)

插件收录到 DSH 插件市场后,在 Harness 中打开「插件市场」,搜索 dsh-token-usage-badge 一键安装。

方式二:本地目录 / Release 包

  1. 打开 Releases,下载最新版的 dsh-token-usage-badge-<版本>.tgz 并解压(内含 package/ 目录)。
  2. 在 Harness 的插件管理页选择「从本地目录安装」,指向解压后的 package/ 目录。
  3. 安装后刷新一次 Web 页面即可看到读数,无需重启 dsh web。

包内带有 dsh.bundle.patch 与 cordis.patch.yml,两条安装路径都会按 bundle 正常启用。

典型用法

本插件没有独立配置文件:安装并刷新后即生效,读数自动挂在每条回答的 conversation.chat.turnTail 槽位(order: -10),通过 portal 接到官方动作行结束时间之后。

日常使用只需正常对话;需要核对明细时,将鼠标悬停在本轮 Token 或累计读数上查看分解项。若在流式生成阶段观察进度,留意「深度求索中」行尾的 +… tok,它表示当前回合已落盘步骤的累计消耗。

适用场景与注意

适合谁

  • 需要在每条历史回答上对照 Token 与耗时,而不是只在最后一条上查看的用户。
  • 调 prompt、工具链或长会话时,希望会话累计与单轮数据与官方用量一致的开发者。

兼容性

  • 面向 @deepseek-ai/dsh-client-ui-chat / dsh-client-ui-conversation 的 0.2.1-rc.2 客户端契约(conversation.chat.turnTail 槽位、turn-tail 节点数据)。
  • package.json 中 engines.dsh 要求:>=0.2.1-rc.2。
  • 当前文档记载版本:1.1.10(以你安装的 Release / 市场包为准)。

安全与权限

插件在当前 DSH 进程权限下作为客户端扩展运行;Host 半边仅做日志占位。安装前仍建议阅读源码与 MIT 许可证,确认符合你的环境策略。组件内部对异常做了 try/catch,失败时渲染 null,避免拖垮对话界面。

实现上的边界(便于排障)

  • 取不到官方动作行时会原地降级渲染读数。
  • 多实例、热更新场景下通过 enforceSingleRenderer() 避免重复叠层。
  • 会话累计与本轮数据严格区分:生成中若回合起点未知,宁可不显示本轮增量,也不会用会话累计冒充本轮。

结尾

dsh-token-usage-badge 把本轮 Token、回答耗时和会话累计 Token 固定写在每条回答下方,数据与官方 turn-tail / 用量弹窗对齐,并补齐历史回合的常显读数与生成中的逐步刷新。若你使用 DSH 做智能体或长会话开发,可以把它当作界面侧的用量标尺。

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

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

小夜