前言¶
在 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 中核对):
- 数据来源:本轮读数取自宿主
turn-tail节点中的TurnTokenUsage,与会话里官方「用量」弹窗同一口径;会话累计读取tokenUsage投影并随新回合更新。 - 常驻可见:官方动作行只在最后一条回答常显时,历史回答需悬停;本插件仅对含读数的那一行解除该限制,方便翻历史时对照用量。
- 悬停分解:鼠标悬停读数,可查看未缓存输入、缓存读取、缓存写入、输出,以及其中推理部分的精确数字。
- 生成中可见:回答仍在生成时,「深度求索中,用时 …」一行在耗时之后会显示
+12.3K tok;+后为当前这一回答到目前为止的真实消耗(不含历史回合),宿主每完成一个步骤刷新一次,不是按字符估算。
安装与启用¶
安装方式以仓库 README 为准,不要使用未在文档中出现的 CLI 拼接命令。
方式一:插件市场(推荐)
插件收录到 DSH 插件市场后,在 Harness 中打开「插件市场」,搜索 dsh-token-usage-badge 一键安装。
方式二:本地目录 / Release 包
- 打开 Releases,下载最新版的
dsh-token-usage-badge-<版本>.tgz并解压(内含package/目录)。 - 在 Harness 的插件管理页选择「从本地目录安装」,指向解压后的
package/目录。 - 安装后刷新一次 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 做智能体或长会话开发,可以把它当作界面侧的用量标尺。