Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

auto-compact

npm version

A Pi package that prepares compaction in the background with a dedicated model. If Pi needs to compact and the prepared result still applies to the active branch, the extension uses it. Otherwise, it runs compaction with the configured model. After compaction succeeds, it reports the model, thinking level, token usage, cost, and elapsed compaction time.

Install

Install from npm:

pi install npm:@tsaokoming/auto-compact

To try it for one session without installing it:

pi -e npm:@tsaokoming/auto-compact

Remove or disable another copy of compact.ts before loading this package so that only one extension handles compaction.

Configure

Add the extension-specific provider, model, and backgroundThreshold fields to the existing compaction object in ~/.pi/agent/settings.json:

{
  "compaction": {
    "enabled": true,
    "reserveTokens": 16384,
    "keepRecentTokens": 16384,
    "provider": "google-vertex",
    "model": "gemini-3.7-flash",
    "thinkingLevel": "high",
    "backgroundThreshold": 80
  }
}
  • provider and model identify the model used for compaction.
  • thinkingLevel controls reasoning effort and defaults to high. Supported values are off, minimal, low, medium, high, xhigh, and max.
  • backgroundThreshold is the context-window percentage at which background compaction begins.
  • enabled toggles this extension. When it is false, the section is missing, or required fields are absent, the extension stays inactive — it notifies once on session start and Pi's standard compaction behavior applies.
  • The remaining fields use Pi's standard compaction behavior.

Pick a model from Pi's model registry. Reload Pi after changing the settings or extension.

Develop

npm install --ignore-scripts
npm run check

License

MIT

About

Background compaction for Pi using a dedicated model

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages