Skip to content

Releases: looking321-rt/dsh-tps-meter

v0.1.2

Choose a tag to compare

@looking321-rt looking321-rt released this 10 Sep 15:32

本次更新

修复

  • 多会话交替工作时浮窗列表抖动:会话行的位置不再随每次轮询的活跃度换位(宿主的 running 会在无输出满 1.5s 后翻转、lastEventMs 在多会话交替输出时互相领先),改为按「首次出现」锚定行序,只在会话首次出现和整轮开始/结束时变化。
  • 「当前显示」的会话来回跳:没手动点选时不再每轮取列表第一条,而是咬住上一次显示的会话,只有它消失才回落。
  • 本步耗时 stepMs 在一步结束后定格(原先空闲的会话会让它一直涨,tooltip 出现「本步 600s」)。
  • 浮窗渲染对数字字段兜底:字段缺失 / 非数字按 0 处理,单帧异常不再打断渲染。

安全加固

  • HTTP 端点加本机 Host 校验(非 127.0.0.1 / localhost / [::1] 一律 403),挡住 DNS rebinding 类跨站读取(state.json 含会话标题与工作目录)。
  • 只读端点限制方法:非 GET / HEAD 回 405。
  • 端点写响应包 try/catch:客户端提前断开不再向宿主抛异常。

测试

  • 20 → 29 项(tracker 15 + host 8 + widget 6)。新增客户端渲染测试(DOM 桩 + vm 跑 lib/widget.js),含一条端到端用例:用真实 tracker 造「两个会话交替输出」的流量,先断言宿主返回顺序确实在抖,再断言浮窗行序与当前会话纹丝不动。
  • 反向验证:修复前的 widget.js 跑同一套测试 4/6 失败。

生效方式

  • lib/widget.js(浮窗脚本):刷新页面(Ctrl+R)即生效。
  • lib/index.js(宿主侧):需重启 DSH 才生效。

完整变更:v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@looking321-rt looking321-rt released this 10 Sep 07:01

文档与发布同步更新。

  • README 新增「从 npm 安装」方式与 CI / npm / license 徽章
  • README 新增「权限与隐私」说明:读取哪些会话事件、不写日志 / 不发模型请求 / 不联网、本地存储内容
  • npm 包同步发布:dsh-tps-meter@0.1.1
dsh plugin --profile web add dsh-tps-meter

v0.1.0

Choose a tag to compare

@looking321-rt looking321-rt released this 10 Sep 06:27

首个公开版本。

  • 宿主插件订阅会话事件 firehose,实时换算输出吞吐(tok/s),并用提供方 usage 校正估算
  • 实时 / 均速 双口径手动切换;多会话列表可点击切换、双击关闭已完成会话
  • 浮窗零依赖(纯 ES5),宿主侧零第三方依赖
  • 测试:tracker 14 项 + 宿主 6 项;CI 在 Node 20 / 22 上运行

完整变更见 CHANGELOG.md。

安装:

dsh plugin --profile web add dsh-tps-meter