v0.1.2 — 实时 TPS 分块感知估算(借鉴 dsh-live-stats)
参考 dsh-web-ui 的 @linxin666/dsh-live-stats 实现,优化 liveTokenUsage 投影的输出 token 估算质量:
- 分块感知估算:按块累积字符数,按
ceil(chars/4) + 块框架开销计价;块首 delta 一次性收取框架开销,后续 delta 只在跨过charsPerToken边界时计价——碎片化 delta 流不再放大速率(原实现每 delta 至少 1 token,短 delta 会被放大 ~4 倍) - 工具调用单独计价:name 与 arguments 字符分开估算;每条流一旦有块计价即收取一次角色框架开销
- block-end 整块重定价:按完整块重新计价并替换累加值(text/reasoning/tool-call/tool-result 结构化计价,未知块类型按有界 JSON 快照计价),最终数值不会被累计漂移
- 保留本插件已有的抗突发 EWMA(dt 下限 20ms)与「空闲显示 0」语义;
stateVersion2→3,持久化投影缓存自动重算;视图与线上值形状不变 - README 更新估算说明
模拟验证:20×1 字符碎片 delta 从旧算法 20 token 修正为 13 token(含框架开销);exact 用量、retry 重置、JSON 持久化往返均通过。