[codex] Harden context compression history handling (#848)

* Use token threshold for chat compression

* Add compression settings controls

* Use config for chat compression

* Cover protected messages in compression tests

* Remove message-count compression limit

* Harden compression window fallback

* Rebuild stale compression snapshots

* Harden stale compression snapshots

* Update changelog for compression hardening

* Prefer local history session details
This commit is contained in:
ekko
2026-05-19 17:58:39 +08:00
committed by GitHub
parent 84e343fc22
commit 0547fd6b6a
22 changed files with 1255 additions and 56 deletions
+14
View File
@@ -716,6 +716,7 @@ export default {
account: 'Account',
agent: 'Agent',
memory: 'Memory',
compression: 'Compression',
session: 'Session',
privacy: 'Privacy',
apiServer: 'API Server',
@@ -774,6 +775,18 @@ export default {
userCharLimit: 'User Profile Char Limit',
userCharLimitHint: 'Max characters for USER.md',
},
compression: {
enabled: 'Enable Compression',
enabledHint: 'Automatically compress long chat history before it exceeds the model context',
threshold: 'Compression Threshold',
thresholdHint: 'Start compression when estimated tokens exceed this context ratio',
targetRatio: 'Target Ratio',
targetRatioHint: 'Target history size after compression as a context ratio',
protectLastN: 'Protect Recent Messages',
protectLastNHint: 'Keep this many latest messages uncompressed',
protectFirstN: 'Protect First Messages',
protectFirstNHint: 'Keep this many earliest messages uncompressed',
},
session: {
mode: 'Reset Mode',
modeHint: 'Trigger condition for session reset',
@@ -1251,6 +1264,7 @@ export default {
new_0_5_30_6: 'Harden Windows compatibility for path detection, file downloads, and job/update subprocesses so they no longer flash terminal windows',
new_0_5_30_7: 'Fix config writes and provider presets: validate .env keys, route FUN-Codex through the Responses API, and refresh Z.AI/GLM model lists',
new_0_5_30_8: 'Polish frontend details including collapsed sidebar layout, short group labels, sidebar divider, and conversation outline styling',
new_0_5_30_9: 'Context compression now follows Profile compression settings and hardens stale snapshots by reusing previous summaries with a safe tail instead of recompressing full history',
new_0_5_6_1: 'Add voice playback feature with Web Speech API: manual button, auto-play toggle, rainbow border animation, and mobile optimization',
new_0_5_6_2: 'Add robust LLM JSON parser with tolerance for Python format and extract text from streaming events',