()
| 277 | } |
| 278 | |
| 279 | private void maybeCompactHistory() { |
| 280 | if (historyCompactor == null) return; |
| 281 | int trigger = memoryManager.getContextProfile().compressionTriggerTokens(); |
| 282 | try { |
| 283 | boolean compacted = historyCompactor.compactIfNeeded(conversationHistory, trigger); |
| 284 | if (compacted) { |
| 285 | renderer().stream().println("📦 上下文接近窗口上限,已把早期对话压缩为摘要后继续。"); |
| 286 | } |
| 287 | } catch (Exception e) { |
| 288 | log.warn("conversationHistory compaction failed", e); |
| 289 | } |
| 290 | } |
| 291 | |
| 292 | private void pruneHistoricalImagePayloads() { |
| 293 | int messageCount = 0; |
no test coverage detected