Repository navigation
Releases: looking321-rt/dsh-tps-meter
Releases · looking321-rt/dsh-tps-meter
Release list
v0.1.2
本次更新
修复
- 多会话交替工作时浮窗列表抖动:会话行的位置不再随每次轮询的活跃度换位(宿主的
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
文档与发布同步更新。
- README 新增「从 npm 安装」方式与 CI / npm / license 徽章
- README 新增「权限与隐私」说明:读取哪些会话事件、不写日志 / 不发模型请求 / 不联网、本地存储内容
- npm 包同步发布:
dsh-tps-meter@0.1.1
dsh plugin --profile web add dsh-tps-meterv0.1.0
首个公开版本。
- 宿主插件订阅会话事件 firehose,实时换算输出吞吐(tok/s),并用提供方
usage校正估算 - 实时 / 均速 双口径手动切换;多会话列表可点击切换、双击关闭已完成会话
- 浮窗零依赖(纯 ES5),宿主侧零第三方依赖
- 测试:tracker 14 项 + 宿主 6 项;CI 在 Node 20 / 22 上运行
完整变更见 CHANGELOG.md。
安装:
dsh plugin --profile web add dsh-tps-meter