Greasy Fork is available in English.
chatgpt长对话卡顿是因为前端一次性加载了全部对话,导致每次新增对话时要渲染的聊天太多,因此可以通过设置属性为display=none来部分解决,通过卸载部分DOM来进一步缓解。
该脚本用于缓解 ChatGPT 在长对话场景下出现的页面卡顿、输入延迟和滚动不流畅问题。它通过在前端层面对历史消息进行裁剪,减少浏览器需要同时维护和渲染的 DOM 数量,从而显著降低页面负担。
脚本只作用于当前页面的显示和渲染,不会修改 ChatGPT 的后端数据,也不会影响模型的上下文处理逻辑。刷新页面后,所有历史消息都会重新加载。
当对话条数逐渐增加时,ChatGPT 页面需要维护大量复杂的消息节点,这会导致前端性能明显下降。本脚本会在对话超过设定数量后,对较早的消息进行处理,以保证页面始终保持较好的响应速度。
脚本支持两种工作方式。一种是隐藏模式,仅将早期消息设置为不可见,以减少布局和绘制开销,适合日常使用。另一种是真卸载模式,会直接将最早的消息节点从 DOM 中移除,在超长对话下可以获得更明显的性能提升。
页面右下角会出现一个控制浮窗,用于调整脚本的行为。你可以在浮窗中开启或关闭真卸载模式,并设置始终保留的最近消息数量,以及对话达到多少条后开始进行处理。参数修改后立即生效,无需刷新页面。
控制浮窗可以最小化,最小化后会收缩为右下角的小按钮。浮窗的展开或收起状态会被自动保存,刷新页面后仍会保持上一次的状态。
如果需要查看被隐藏或卸载的历史消息,只需关闭真卸载模式并刷新页面。由于脚本并未修改后端数据,刷新后页面会重新渲染完整的对话内容。
真卸载模式会直接移除页面中的历史消息节点,适合在对话非常长、页面已经明显卡顿的情况下使用。如果需要频繁回看早期内容,建议使用隐藏模式或在查看前先关闭真卸载并刷新页面。
该脚本属于前端性能优化工具,无法减少发送给模型的上下文长度,也不会影响模型生成内容的质量或范围。