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 項契約測試,並寫明會丟什麼、不影響什麼、以及上游改名即靜默失效的短板。

閱讀全文