@mammothb/pi-memory

extension

VCC conversation compaction for Pi, backed by mm-cli

by · v1.2.5 · published 5d ago

$ pi install npm:@mammothb/pi-memory
downloads/mo
859
stars
last push
open issues

Signals

license: MITtestspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

2.7K downloads · last 12 weeks (weekly)

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

CommandDescription
/mm-compactCompact conversation with mm-cli structured summary. Accepts keep:N and a follow-up prompt.
/mm-recallSearch session history. Defaults to active lineage; add scope:all for off-lineage branches.

Tools

ToolDescription
mm_recallSearch 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:

KeyTypeDefaultDescription
overrideDefaultCompactionbooleanfalseWhen true, mm-compact handles ALL compactions (/compact, auto threshold, overflow). When false, only /mm-compact.
debugbooleanfalseWrite 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