dsh-speed-anchor:把 Composer 统计胶囊换成实时 TPS 折线

前言

在 DeepSeek Harness(DSH)里写智能体或长对话时,Composer 输入框下方会有一颗统计胶囊,汇总「N 轮 N 步 · xxx tok/s」一类信息。数字在一步结束时才更新,流式输出过程中很难看出当前正文是在加速还是在停顿。若你更关心「此刻输出有多快、节奏是否平稳」,默认胶囊的信息密度和刷新方式往往不够用。

下面介绍社区客户端插件 dsh-speed-anchor(维护者 puny-code):它保留同一块 dock 区域,把胶囊换成约 44×13 的实时速度折线,并附带当前 tok/s 与采样状态指示;展开后仍可查看会话统计,并多出峰值与采样相关参数。插件以 MIT 许可发布,当前资料中的安装包版本为 0.6.0。

这是什么

dsh-speed-anchor 是 DSH 的 web 客户端插件,通过 Cordis patch 注册独立格子 speed-anchor,用 CSS 隐藏官方 activity 胶囊,避免与官方组件抢同一 id(抢 id 会导致本包启动错误波及整段聊天)。

一句话定位:在 Composer dock 上提供 Live token-speed sparkline——按固定间隔从流式正文/思考文本采样,估算 tok/s 并画折线;点开仍是统计面板,并支持调整采样粒度与平均窗口等项。

核心功能

折叠态:折线 + 当前读数

折叠时界面为一条小折线、当前 tok/s 数字,以及右侧小圆点。圆点仅在 思考或正文 正在输出、插件在采样时亮起;工具调用阶段不采样,读数会停在工具开始前的最后一个值,圆点熄灭。

展开态:原统计面板 + 峰值与采样参数

点开折线区域,会看到与原先类似的会话统计内容,并额外展示 峰值 以及两项与采样相关的说明(与设置项对应)。

tok/s 如何估算

DSH 在 一步结束 时才给出该步输出 token 数,流式过程中没有现成的 token 计数。插件采用估算,不是 服务商计费口径的 TPS:

  1. 每 200 ms(默认,可在设置中改)取一次当前流式输出的字符数,只计正文与思考,不计 工具调用块;
  2. 每个折线点用「最近 300 ms(默认)内字符增长 ÷ 时长 ÷ 每 token 字符数」得到速度;
  3. 每 token 字符数初值按 4 起步,某一步结算后用该步实际输出 token 数与观察字符数 校准一次(指数平滑,钳在 0.3–20);纯中文场景往往接近一字符一 token。

优点是约 200 ms 粒度,能看清输出节奏变化;绝对值可能与真实 TPS 有一两个百分点的偏差。工具调用期间 partial 为空或冻住,若仍写入曲线会出现成串 0;因此工具阶段完全不采样。新正文再次流出时窗口会清空重起,工具耗时不稀释后续读数。

折线缩放与会话缓存

纵轴上界不再用「整场会话最高值只增不减」——偶发尖峰会压扁后续曲线。默认 取值范围点数 为 30(200 ms 粒度下约 6 秒窗口内的最高点),尖峰滚出窗口后曲线会重新舒展;超出上界的点画在顶边呈平顶,面板里的 峰值 仍报告整条曲线真实最高点。

折线按会话写入 localStorage(最多 20 个会话),切换会话再回来仍保留;会话结束后读数停在流尾最后一个有效点。四项设置同样存 localStorage(动态插件无法使用 Host 设置服务)。

安装与启用

在 DSH 插件管理 中选择 「从 URL 安装」,粘贴对应 release 的 tgz 链接(资料原文如下,版本 0.6.0):

https://github.com/puny-code/dsh-speed-anchor/releases/download/v0.6.0/dsh-speed-anchor-0.6.0.tgz

装完后 刷新窗口。卸载在插件管理中停用或移除,包会从 profile 的 bundle 列表消失,官方胶囊会自动恢复。

不要 用 dsh plugin add <url> 代替上述入口:该命令只把包加入 profile 依赖,不会 登记进 bundle 列表,插件不会启用,还需回到插件管理手动打开。正确做法是插件管理的「从 URL 安装」。

设置

路径:设置 → TPS折线。

项 默认 范围 作用
采样粒度 200 ms 50–5000 多久记一个点
平均窗口 300 ms 50–5000 每个点回看多远求平均
丢弃尾部点数 1 0–10 输出结束时丢掉最后几个点,避免起草停顿把读数冻在极小值
取值范围点数 30 3–60 纵轴高度按最近这么多点里的最高值计算

按需调大采样粒度可降低 CPU 开销;调小平均窗口会让折线更「灵敏」,但抖动更明显。

典型用法

  1. 按上一节 URL 安装并刷新 DSH web 客户端。
  2. 开始一段含流式正文或思考的对话,观察 dock 处折线与 tok/s;工具执行期间应看到绿点熄灭、曲线不再追加新采样点。
  3. 需要对比峰值或改采样行为时,点开折线进入面板,或在 TPS折线 里修改四项参数。
  4. 多会话切换时,折线历史按会话 id 从 localStorage 恢复(最多保留 20 个会话记录)。

无需额外配置文件或 CLI;插件仅注册 speed-anchor 客户端格子。

适用场景与注意

适合:经常在 DSH Composer 里跑长回复、想直观感受输出节奏、对比不同模型或提示下「体感速度」的开发者。

注意:

  • 读数为 估算 TPS,勿与账单或 API 文档中的 token 统计直接对齐。
  • 插件在 当前 DSH 进程权限 下运行,安装前建议浏览 GitHub 仓库 源码与 MIT 许可证,确认可接受后再从 release 安装。
  • 社区目录 SkillHub 插件页 与 GitHub 为社区维护入口,与 DeepSeek / 幻方无官方从属关系;DSH 生态强调「一切皆插件」,本文描述以仓库 README 与 release 为准。

结尾

dsh-speed-anchor 把 Composer dock 上那颗一步一更新的 tok/s 胶囊,换成 200 ms 粒度的实时折线与当前读数,并在展开面板中保留峰值与会话统计。若你已在用 DSH 做智能体或日常对话,且更关心流式阶段的节奏而非单步汇总,可按 release 链接从插件管理安装 0.6.0 包并刷新客户端试用。

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

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

Xiaoye