dsh-lag-guard:把长会话的历史窗口收到 120 条,别让几兆工具 schema 撑爆首帧

dsh-lag-guard 是社区维护者 456erddgr 写的 DSH 客户端插件,针对长会话一打开就卡死:DSH 固定拉取最多 500 条历史,176 条消息的会话因此一次搬入 484 条事件 / 3290.8KB(占 61.7%),其中近一半是 4 条 request/header 里的工具 JSON schema;虚拟列表按 turn 切且测量被关掉,工具 schema 又每次视图重建都重新 JSON.stringify(13.4ms),三者叠加占死首帧同步路径。插件包住 SessionEventStream 的 follow / readPage,把窗口收到 maxMessages 120、turnWindow {20,1},超过 20 万字符的 header.tools 换成空数组并留 toolsDropped / toolsChars,同会话降到 350.5KB、约 −78%。文章介绍三层原因、修复方式、安装命令、cordis.patch.yml 调参、指标收集器与 21 项契约测试,并写明会丢什么、不影响什么、以及上游改名即静默失效的短板。

阅读全文