Overview
This patch release fixes a critical bug where the outlet's background compression task would re-trigger on every subsequent message after the initial compression, wasting LLM calls and degrading performance. It also improves token status accuracy and adds a hysteresis guard to prevent unnecessary re-compression.
Bug Fixes
- Fixed repeated compression after initial trigger (Issue #68): The outlet's token threshold check previously counted the full raw message history, which always exceeded the threshold once compression had fired. Now it simulates the actual sent-context (head + summary + preserved system messages + tail) for an accurate threshold comparison.
- Fixed context usage display exceeding 100%: Status notifications now report the simulated sent-context token count instead of the full history, preventing misleading usage ratios.
New Features
- Hysteresis guard: After compression fires, a new guard prevents re-triggering until at least
keep_lastnew messages have accumulated beyond the last compression boundary. This avoids wasteful LLM calls that would only compress 1-2 messages per turn. - Enhanced debug logging: Threshold check logs now show estimated tokens, precise cutoff values, and tiktoken results for easier debugging.
Improvements
- More accurate tiktoken triggering: Precise token calculation now activates at 60% of the compression threshold (previously 85%), providing more accurate context usage status earlier in the conversation.
Migration Notes
No breaking changes. Drop-in replacement for v1.6.1.
Version Changes
Plugin Updates
- Async Context Compression: v1.6.1 → v1.6.2 | 📖 README