Gzip Pi session files at rest. When a session closes it's compressed to a .jsonl.gz file alongside the original and the plain file is removed; /resume-compressed restores and reopens it on demand. Plain JSONL stays Pi's working format — nothing changes during a live session.
Built for anyone whose ~/.pi/agent/sessions/ has grown large and wants closed sessions to sit compressed without losing the ability to reopen them.
- Compress on shutdown. Quitting Pi compresses the closed session's
session.jsonltosession.jsonl.gzand removes the plain file. - Restore on demand. Run
/resume-compressedto pick from this project's compressed sessions (newest first); your choice is decompressed and reopened in place. Pass an id or path to skip the picker.
Zero runtime dependencies. Pi loads the TypeScript directly, so there's no build step. Runs under Node or Bun.
pi install npm:@8monkey/pi-session-gzip| Command | Description |
|---|---|
/resume-compressed [id|path] |
Restore a compressed session and reopen it. With no argument, shows a picker of this project's compressed sessions (newest first). Accepts a session id (exact or prefix) or a file path. |
- Compresses on quit only; live sessions, reloads, and switches are left untouched.
- Restoring is safe to repeat — running compress or restore twice is a no-op.
- Ephemeral (
--no-session) and empty sessions are skipped. - The
.gzsits next to the original; the sessions layout is never reorganized.
node --testMIT