Skip to content

dsh-context-compactor v0.5.7

Latest

Choose a tag to compare

@kusesad-1122 kusesad-1122 released this 16 Aug 11:12

dsh-context-compactor v0.5.7

修复:任务中“动不动就自动压缩”(未到 80% 也压)

根因:上下文窗口判定错误。session.requestHeader().config.maxTokens(256000)是输出 token 上限,却被当成了上下文窗口,导致:

  • 真实窗口(适配器上报 contextWindow: 1000000 = 1M)被忽略;
  • 阈值被算成 256000×80% = 204800;
  • 28~33 万的会话因此“超阈值”,每次任务 pre-step 都触发一次自动压缩——而按 1M 算这些会话只占 28%~33%。

修复

  1. 窗口判定优先级改为:显式覆盖 → 适配器上报的真实窗口(1M) → (最后兜底)头部输出上限。阈值回到 80 万 → 28~33 万的会话不再自动压。
  2. 新增自动压缩冷却:同一会话 5 分钟内不重复自动压(除非确实超出真实窗口),杜绝任务中反复压缩。
  3. 手动 /compact 不受冷却影响,随时可点。

预期行为(回到你要的规则)

  • 上下文用量 ≥ 80%(约 80 万 tokens) 才自动压缩;
  • 想压缩时点“压缩总结”手动压,立即生效、不限次数。

自检

  • 引擎挂载正常;300k 会话在新阈值下不再触发自动压缩(触发日志无新增)。