kusesad-1122/dsh-context-compactor

kusesad-1122★ 0JavaScript最后同步: 2026-08-16

在 GitHub 打开

DSH 上下文压缩/总结插件:80% 自动全局详细总结压缩(保留核心任务/决策/待解决问题/重要文件位置,删除调试细节与已解决错误),压缩后验保证 totalTokens 必须真实下降,context-overflow 自动恢复,/compact + /context-status,输入框上方一键按钮

README 摘要

dsh-context-compactor 开箱即用的 上下文压缩 / 上下文总结 插件。它把 DSH 官方 dsh-compaction-basic 压缩引擎 + 工具结果裁剪器一次性装配进 profile,解决「对话满了不会自动压缩、模型 直接报 maximum context length 导致本轮失败」的问题。 功能 1. 80% 自动触发(总结最优先 + 压缩后验) - 通过 ctx.tokenMeter 估算当前会话 token 用量; - 达到模型窗口 80% ( thresholdRatio 默认 0.8)时,下一步前 自动先做详细总结 : 把全部较早历史用 LLM 压缩成一份详尽中文 checkpoint,替换旧消息,只保留最近 retainRatio (默认 16%)的原样尾巴; - 本引擎的监听器以 prepend 注册,会抢在任何 preset 默认压缩引擎之前执行, 保证“总结最优先”且用的是详细版总结; - 压缩前后都有会话日志事件( compaction/start 、 compaction/summary 、 compaction/end )。 1.5 硬性保证:压缩必须真的变小 - 每次压缩都会做 before/after 校验 :压缩后 totalTokens 必须 严格小于 压缩前; - 自动压缩: - 目标 = 低于 80% 阈值(所以 80% → 必须 .md (默认开启, 可关 saveSummaryFile: false ); - 总结调用生成上限默认 maxTokens: 12288 (详细预算,可调大)。 3. context-overflow 自动恢复(专治 context length 报错) - provider 明确报上下文超限时,先详细总结压缩,再自动 retry 本轮请求 ; - 默认最多连续恢复 maxOverflowRetries 次。 4. 超大工具结果裁剪(辅助手段,不替代总结) - 超过 pruneThresholdChars (默认 8192 字符)的工具输出,保留头 + 标记 + 尾; - 只裁剪工具结果文本, 对话历史一律走详细总结 ,绝不粗暴截断。 5. 输入框上方的「压缩总结」+「提示增强」按钮 - 浏览器半边通过 dsh.client 清单自动发现,注册到 conversation.input.dock (输入框正上方,与 goal/todo 工具条同一排); - 工具条实时显示 上下文用量百分比 ( contextPressure 投影),到 80% 自动 高亮提醒; - 左侧按钮「压缩总结」:点击通过 remote.commands.execute(sessionId, '/compact') 立即触发全局详细总结压缩,按钮会显示「压缩总结中…」并在条上回显结果; - 右…

在 GitHub 查看完整 README →
工具/开发dshdsh-plugin

分类