pi-total-recall

Complete context stack for pi — persistent memory, session history search, and local knowledge search in one install.

Package details

extensionskill

Install pi-total-recall from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:pi-total-recall
Package
pi-total-recall
Version
1.4.0
Published
May 3, 2026
Downloads
1,120/mo · 601/wk
Author
samfp
License
MIT
Types
extension, skill
Size
37.8 MB
Dependencies
3 dependencies · 0 peers
Pi manifest JSON
{
  "extensions": [
    "node_modules/@samfp/pi-memory/src/index.ts",
    "node_modules/pi-session-search/src/index.ts",
    "node_modules/pi-knowledge-search/src/index.ts"
  ],
  "skills": [
    "node_modules/pi-session-search/skills"
  ]
}

Security note

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

README

pi-total-recall

Complete context stack for pi. One install gives your agent persistent memory, session history, and local knowledge search.

What's included

Layer Package What it does
Memory @samfp/pi-memory Learns preferences, project patterns, and corrections. Injects relevant facts into every session.
Session history pi-session-search Indexes past coding sessions. Search by topic to find previous work, decisions, and debugging context.
Knowledge base pi-knowledge-search Indexes local files (markdown, text, docs). Semantic search over your notes, documentation, and vault.

Together, these give pi three layers of context about you:

  • What you prefer — coding style, tool choices, project conventions (memory)
  • What you've done — past sessions, debugging history, previous decisions (session search)
  • What you know — notes, docs, research, reference material (knowledge search)

Install

pi install npm:pi-total-recall

That's it. All three extensions are active immediately.

Tools

After installing, your agent gets these tools:

Memory

Tool Description
memory_search Search stored facts and preferences
memory_remember Store a fact or lesson
memory_forget Remove a stored fact or lesson
memory_lessons List learned corrections
memory_stats Show memory statistics

Session History

Tool Description
session_search Semantic search over past sessions
session_list Browse sessions by date, project, or status
session_read Read the full conversation from a past session

Knowledge Search

Tool Description
knowledge_search Semantic search over local files

Configuration

Each component has its own configuration in ~/.pi/agent/settings.json. See the individual package READMEs for details:

Memory

{
  "memory": {
    "lessonInjection": "selective"
  }
}

Knowledge Search

Point it at your notes directory:

{
  "knowledge-search": {
    "paths": ["~/Documents/Notes"]
  }
}

Session History

Works out of the box — indexes your existing pi sessions automatically.

Project-local storage

By default, all three components write to user-global locations under ~/.pi/ — which is usually what you want, because memory, sessions, and a notes index are normally global across projects.

If you want a project's memory/index to be isolated — e.g. a throwaway prototype, a client repo, or an experimental agent setup — drop a pi-total-recall.localPath key into {project}/.pi/settings.json:

{
  "pi-total-recall": {
    "localPath": ".pi/total-recall"
  }
}

That single key cascades to all three packages:

Package Cascaded path
@samfp/pi-memory {project}/.pi/total-recall/memory/memory.db
pi-session-search {project}/.pi/total-recall/session-search/
pi-knowledge-search {project}/.pi/total-recall/knowledge-search/

You can also override any single package independently — package-specific keys win over the cascade:

{
  "pi-total-recall": { "localPath": ".pi/total-recall" },
  "pi-knowledge-search": {
    "localPath": "/some/other/path"   // overrides just this one
  }
}

Resolution order (highest priority first) for every package:

  1. Package-specific env vars (KNOWLEDGE_SEARCH_CONFIG, etc.)
  2. pi-<package>.localPath in {cwd}/.pi/settings.json
  3. pi-total-recall.localPath cascade
  4. Global default under ~/.pi/

Caveat: session-search source stays global

pi-session-search relocates only its own config and index — the session source directories (~/.pi/agent/sessions, ~/.pi/agent/sessions-archive) are pi's own files and remain global. That's where pi writes sessions, so making them project-local would point the tool at an empty directory. Use the project filter on session_search and session_list if you want to scope results to one project.

Cleanup

When using pi-total-recall.localPath:

rm -rf {project}/.pi/total-recall   # nukes memory, session-search config+index, knowledge-search config+index

Individual packages

If you only want one or two components, install them directly:

pi install @samfp/pi-memory
pi install pi-session-search
pi install pi-knowledge-search

License

MIT