dsh-pref-kit
其他 活跃维护

dsh-pref-kit

gameswu/dsh-pref-kit

支持对dsh运行性能做专项优化的轻量插件,可缓解常见卡顿、资源占用过高问题,无需修改原有配置即可接入,无侵入设计易落地使用,有效降低运行时性能损耗,提升任务执行流畅度。

4
Stars 标星
0
Forks 分支
4
Watchers 关注
0
Open Issues
TypeScript
主要语言
MIT
开源协议
632 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:gameswu/dsh-pref-kit
git clone https://github.com/gameswu/dsh-pref-kit.git
git clone git@github.com:gameswu/dsh-pref-kit.git
README.md main

dsh-pref-kit

DSH 性能插件:在数据流源头合并模型流式输出的相邻文本增量,减少会话事件量,
缓解长会话与多 agent 并发下的卡顿与资源占用。不改任何接口与协议。

功能

  • 流式合并(默认开启):把同一文本块内的相邻 text/reasoning 增量合并后再写入
    会话日志与推送,事件量下降 11–56%(短回复 −45.6%、长回复 −53.5%、6 并发 −55.6%,
    复杂长会话 −11%),内存 / 磁盘 / 带宽同步下降;windowMs = 0 即完全透传,
    与未装插件逐事件等价。
  • 设置卡片:Settings → Plugins 提供配置卡片(与内置卡片同款样式),修改保存后
    即时生效、跨重启保留。
  • 实验开关(默认全关):
    • 替换轨迹视图:用轻量轨迹页接管官方轨迹入口(需先禁用官方 ui-trajectory 行),
      消除轨迹页在流式期间的每帧全量重算(基准模型实测 ×239–×184.9k 工作降幅);
    • 聊天区渲染提示:让浏览器跳过视口外消息的绘制(画面不变);
    • 运行时行管理:按白名单禁用/启用官方插件行(如遥测、token 统计),即时生效并持久化。

安装

cd dsh-pref-kit
npm run build                                       # 构建
dsh plugin --profile web add "file:$(pwd)"          # 装入目标 profile(自动挂载插件行)
# 重启 DSH 生效(启动日志出现 [dsh-pref-kit] llm/stream coalescer active)

更新:npm run build 后先 dsh plugin --profile web remove dsh-pref-kit 再 add。
卸载:dsh plugin --profile web remove dsh-pref-kit。

配置

配置项 默认 说明
windowMs 30 ms 合并窗口(0–200ms);0 = 关闭合并(逐 token 透传)。窗口越大事件削减越多,首个字延迟 ≈ 窗口

实验项(Settings → Plugins → dsh-pref-kit 卡片 → 实验组):

配置项 默认 说明
experimental.replaceTrajectoryView false 替换轨迹视图;需同时把 ui-trajectory 加入下方行管理的禁用列表(或手工禁用该行)
experimental.chatContainment false 聊天区渲染提示(画面不变,浏览器少画视口外内容)
experimental.rowManager.enabled / disabledRows false / [] 运行时禁用官方行(白名单:ui-trajectory、session-telemetry-otel、token-meter、session-stats、session-projection-cache、session-query-sqlite);Host 即时生效并持久化,客户端需刷新页面

基准测试

离线可复现(固定种子 + 虚拟时钟,不连接 DSH;含逐块协议等价断言与复杂长会话生成器,
任何人可逐位复现):

场景 事件数(基线 → 合并 30ms) 首块延迟
短回复 810 → 441(−45.6%) 16 → 40ms
长回复 9674 → 4501(−53.5%) 20 → 28ms
复杂长会话(生成器) 12210 → 10869(−11.0%) 30 → 60ms
6 并发 agent 35592 → 15788(−55.6%) 18 → 50ms

运行:npm run benchmark。详细分析与实验性策略消融见性能分析报告。

许可证

MIT