npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pi-total-recall

v1.5.0

Published

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

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.

Requires Node 24+. pi-session-search and pi-knowledge-search use SQLite FTS5 via node:sqlite, which is compiled into Node 24 but not Node 22. On Node 22 you'll see Error: no such table: sessions at startup — upgrade Node and restart pi.

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