Skip to content

feat: compression profiles — aggressive/balanced/conservative with per-session config#44

Open
ranxianglei wants to merge 1 commit into
masterfrom
ranxianglei/2026-06-30_compression-profiles
Open

feat: compression profiles — aggressive/balanced/conservative with per-session config#44
ranxianglei wants to merge 1 commit into
masterfrom
ranxianglei/2026-06-30_compression-profiles

Conversation

@ranxianglei

Copy link
Copy Markdown
Owner

Summary

  • Three compression profiles: aggressive (short tasks), balanced (default), conservative (long experiments)
  • Per-session config files at ~/.config/opencode/acp-status/{sessionId}.json — no race conditions
  • set_compression_profile tool for model-driven profile switching
  • Profile affects: Normal hint, summary limit (100/200/400), compress frequency (4/6/10), large output threshold (2K/5K/10K)

Changes (7 files)

  • NEW lib/compress/profile.ts (110 lines): Profile definitions, session config read/write, tool factory
  • MOD lib/config.ts: Added compressionProfile config option
  • MOD lib/config-validation.ts: Validated new config key
  • MOD lib/prompts/system.ts: buildSystemPrompt(profile) generates profile-specific text
  • MOD lib/hooks.ts: Resolves effective profile per session at runtime
  • MOD lib/compress/index.ts: Re-exports
  • MOD index.ts: Tool registration

Test

typecheck ✅, 496 tests pass ✅, build ✅ (333KB)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant