dsh-token-speed:DeepSeek Harness 对话输入框下的实时 Token 吞吐

前言

在 DeepSeek Harness(DSH)里跑长对话或工具链时,模型还在流式输出,往往只能靠体感判断「快不快」。Harness 自带的 sessionStats 会在每一步结束后才算出 decodeTokens / decodeMs,tokenUsage、contextPressure 也只在每次 attempt 结算时更新——生成过程中看不到实时速度与 Token 变化。

dsh-token-speed 是社区维护者 alwayswithmestand 提供的客户端插件,在 Web 对话输入框下方显示实时吞吐胶囊,并从浏览器已有会话状态推算速度,不额外请求 Host。下面介绍它做什么、如何安装,以及数值在「生成中」与「结束后」分别代表什么。

这是什么

  • 名称:dsh-token-speed(npm 包名同名)
  • 维护者:alwayswithmestand
  • 分类:客户端(dsh.client.platform: web,适用于 Web 与 Desktop 的 Web UI)
  • 定位:Live token throughput meter for the DeepSeek Harness Web chat composer——在输入框下方展示生成中的输出速度、实时输出 Token 估算、本轮输入 Token 等。

Host 侧 index.js 为空实现;数据全部来自客户端对已折叠实时助手流(useChat(s => s.legacy.partial) 中的 text / reasoning / tool-call 增量)的订阅与计算。

核心功能

胶囊条(默认收起)

生成过程中,输入框下方会出现一行类似:

● 42 tok/s · ↑48.3k · ↓1.24k

分别对应:最近滑窗下的输出速率、输入 Token 投影、实时输出 Token 估算(生成结束前后语义见下文「数值语义」)。

详情面板(点击胶囊展开)

可查看:状态、已用时、输入合计与缓存分桶、缓存命中率、上下文占用、输出 Token、首字延迟、解码时长、模型/工具耗时、实时与平均速度、会话累计,以及最近几秒的速度柱状图。面板会标明当前指标是 provider 的精确值还是流式过程中的估算值。

设计取舍(相对 Harness 自带统计)

方面 Harness 自带 本插件
速度可见时机 每步结束后 生成过程中即可见
额外服务/请求 — 无;不新增 Host 事件或工具
卸载 — 订阅随插件卸载销毁,不残留 DOM 或定时器

安装与启用

插件在 DSH Plugins → Add plugin 中安装;安装后以当前 DSH 进程的权限在客户端运行,安装前应自行查看 GitHub 仓库 源码与 MIT 许可证。

图形界面

在 Plugins → Add plugin 填入包名 dsh-token-speed,点击 Install,再选择 Enable now。若未自动启用,在 Plugins 页打开对应开关。客户端插件一般无需重启应用。

CLI(Desktop)

dsh plugin --profile desktop add dsh-token-speed

Web 版将 desktop 换成 web:

dsh plugin --profile web add dsh-token-speed

从 GitHub 安装(npm 未发布或需固定版本时)

dsh plugin --profile desktop add "git+https://github.com/alwayswithmestand/dsh-token-speed.git#v1.0.0"

生产环境建议锁 40 位 commit(#<40 位 sha>),避免可移动 tag 带来漂移。

自定义插件市场索引

仓库根目录提供 format 1 的 index.json。在 Plugins → Discover → Add index source 添加:

https://raw.githubusercontent.com/alwayswithmestand/dsh-token-speed/main/index.json

之后可在 Discover 中搜索并一键安装。

典型用法

  1. 确认 DSH 版本满足 engines.dsh 要求(见下文兼容性)。
  2. 按上一节方式安装并启用插件。
  3. 打开任意 Web 对话,发送一条会触发较长流式回复的消息;观察输入框下方胶囊是否随输出更新。
  4. 需要区分缓存、上下文压力或首字延迟时,点击胶囊打开详情面板;注意生成中途输出 Token 与速度为估算,流结束后会切换为 provider 上报的精确值。

无需单独配置文件;行为由会话内的实时 partial 与 attempt 结算数据驱动。

数值语义

provider 仅在流结束时上报一次 usage,生成过程中无法拿到真实输出 Token 数,因此 UI 会区分「估算」与「精确」。

数值 生成中 结束后
输出 Token 按流式字符估算(窄字符约 4 字/token,CJK 约 1.6 字/token) provider 的精确 outputTokens
速度 最近 2 秒滑窗速率(估算) decodeTokens / decodeMs(精确平均)
输入 Token 上下文投影(contextPressure.projectedTokens) 最近一次请求的精确提示词用量
缓存分桶 / 命中率 来自最近一次 provider 上报 同左

做性能对比或写报告时,应以流结束后的精确列为准;调试「正在生成」体验时,以胶囊与柱状图的实时估算为准。

适用场景与注意

适合谁

  • 需要在 DSH Web 对话里直观感受模型输出快慢、上下文与缓存占用的开发者。
  • 调试长推理、多工具回合时,希望在不打开 DevTools 的情况下看到 partial 累积对应的吞吐趋势。

版本与平台

项目 要求
DeepSeek Harness >=0.2.2-rc.1 <0.3.0(engines.dsh,安装前校验)
平台 Web 与 Desktop 的 Web UI

安全与信任

插件属于 DSH 社区目录中的第三方客户端扩展,与 DeepSeek / 幻方无官方从属关系;以当前 dsh 进程权限注入 UI 逻辑。生产或敏感环境安装前请审阅 client.js 及依赖注入列表。

结尾

dsh-token-speed 把 Harness 结算后才可见的 Token 与速度指标前移到流式生成过程,全部基于浏览器已有会话状态,Host 零实现、无额外网络请求。需要安装说明与数值表时,以仓库 README 为准。

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

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

小夜