@mammothb/pi-memory

VCC conversation compaction for Pi, backed by mm-cli

Packages

Package details

extensionprompt

Install @mammothb/pi-memory from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@mammothb/pi-memory
Package
@mammothb/pi-memory
Version
1.1.0
Published
Jul 5, 2026
Downloads
1,322/mo · 188/wk
Author
mammothb
License
MIT
Types
extension, prompt
Size
55.8 KB
Dependencies
0 dependencies · 4 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ],
  "prompts": [
    "prompts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

@mammothb/pi-memory

VCC conversation compaction for Pi, backed by mm-cli. Replaces Pi core's default LLM-based compaction with structured summaries produced by the mm binary.

Commands

Command Description
/mm-compact Compact conversation with mm-cli structured summary. Accepts keep:N and a follow-up prompt.
/mm-recall Search session history. Defaults to active lineage; add scope:all for off-lineage branches.

Tools

Tool Description
mm_recall Search session history programmatically. Supports regex queries, paging, and expand indices.

Architecture

The extension is a thin TypeScript shim over the mm-cli Rust binary:

/mm-compact  ──>  before-compact hook  ──>  compile()  ──>  mm pi (subprocess)
/mm-recall   ──>  recall pipeline     ──>  session JSONL parsing + BM25 search
mm_recall    ──>  recall pipeline     ──>  (same pipeline as /mm-recall)

All heavy computation (message normalization, noise filtering, section extraction, brief compilation, merge with previous summary) is handled by mm-cli. The shim only wraps the subprocess call and handles session file reading/searching.

Settings

Configured via ~/.pi/agent/pi-memory.json:

Key Type Default Description
overrideDefaultCompaction boolean false When true, mm-compact handles ALL compactions (/compact, auto threshold, overflow). When false, only /mm-compact.
debug boolean false Write debug snapshot to /tmp/mm-compact-debug.json on each compaction.

Usage

cd packages/pi-memory
pi -e ./index.ts

Then in a pi session:

/mm-compact                        # basic compaction
/mm-compact keep:3                 # keep last 3 user turns
/mm-compact keep:2 continue        # keep 2 turns + send follow-up prompt
/mm-recall                         # show recent history
/mm-recall "refactor|rewrite"      # regex search
/mm-recall login scope:all         # search all branches