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

nowledge-mem-pi

v0.8.5

Published

Cross-tool memory for Pi. Recall past decisions, search knowledge from every AI tool, and save what matters.

Downloads

739

Readme

Nowledge Mem for Pi

Cross-tool memory for Pi. Your decisions, preferences, and procedures persist across sessions and across every AI tool you use.

What You Get

Pi gains a native extension plus five skills:

  • Completed Pi conversations sync into Nowledge Mem as searchable threads
  • Context Bundle or Working Memory is injected at Pi startup when available
  • Search, thread lookup, and distillation stay available through skills and the nmem CLI
  • Remote Mem works through ~/.nowledge-mem/config.json or NMEM_API_URL / NMEM_API_KEY

| Skill | What it does | |-------|-------------| | read-working-memory | Loads your daily briefing at session start: focus areas, priorities, recent changes | | search-memory | Searches past decisions, procedures, and preferences when context would help | | distill-memory | Saves decisions, insights, and procedures as durable memories | | save-thread | Creates a curated handoff summary when you explicitly want one | | status | Checks Nowledge Mem server connectivity |

Prerequisites

  1. Nowledge Mem desktop app running, or a remote server.
  2. nmem CLI in your PATH:
pip install nmem-cli    # or: pipx install nmem-cli
# Arch Linux: yay -S nmem-cli  # or: paru -S nmem-cli
nmem status             # verify connection

On Windows/Linux with the Nowledge Mem desktop app, nmem is already bundled.

Install

Via Pi package manager:

pi install npm:nowledge-mem-pi

Manual install:

Copy the skills/ directory and extension into your Pi config:

# Global skills
cp -r skills/* ~/.pi/agent/skills/
mkdir -p ~/.pi/agent/extensions
cp extensions/nowledge-mem.ts ~/.pi/agent/extensions/

# Or project-local skills
cp -r skills/* .pi/skills/
mkdir -p .pi/extensions
cp extensions/nowledge-mem.ts .pi/extensions/

Verify

Start a Pi session and check connectivity:

> check my Nowledge Mem status

Pi should run nmem --json status and report the server connection.

Then have a short Pi exchange and check recent threads:

nmem t list --source pi -n 5

To confirm startup context injection, start a new Pi session and ask what Nowledge Mem context was provided. Pi should reference the injected Context Bundle or Working Memory without needing to run the read-working-memory skill again.

Import Older Pi Sessions

The extension keeps new Pi conversations synced automatically. To backfill sessions that happened before you installed the package, run the history sync command.

Preview first. This scans Pi session files and makes no changes:

nmem t sync --from pi --limit 20

Import after the preview looks right:

nmem t sync --from pi --apply

The command uses the same local or remote Mem configuration as the extension: ~/.nowledge-mem/config.json, NMEM_API_URL, NMEM_API_KEY, and optional NMEM_SPACE. It is safe to rerun: thread IDs come from Pi session IDs, and messages use stable Pi entry IDs with backend deduplication.

Useful options:

nmem t sync --from pi --session-dir ~/.pi/agent/sessions --limit 20
nmem t sync --from pi --space work --apply

When you pass --session-dir, only that directory is scanned. Without it, the command uses Pi's standard session locations.

If your installed nmem does not have t sync yet, use the package fallback:

npx -p nowledge-mem-pi nowledge-mem-pi-sync --apply

Update

pi update

Project Guidance

For behavioral guidance that shapes how Pi uses these skills (when to search, when to save, retrieval routing), see AGENTS.md. Place it alongside your project configuration so Pi follows it automatically.

Customize without editing the package

Use your project's own AGENTS.md as the override layer for Pi.

  • Keep the package skills as shipped defaults
  • Copy or merge the package AGENTS.md into your project config area
  • Do not patch installed package files under the Pi package cache

That keeps your custom behavior durable across package updates.

Troubleshooting

nmem not found: Install with pip install nmem-cli, pipx install nmem-cli, or on Arch Linux yay -S nmem-cli / paru -S nmem-cli.

Server not running: Start the Nowledge Mem desktop app, or run nmem serve on your server.

Remote setup: Create ~/.nowledge-mem/config.json with {"apiUrl": "...", "apiKey": "..."}, or set NMEM_API_URL and NMEM_API_KEY environment variables. The extension uses the same config for automatic thread sync.

Check status: Ask Pi to run the status skill, or run nmem status directly.

Extension diagnostics: Automatic sync failures retry on a later lifecycle event without writing raw diagnostics into Pi's interactive editor. Set NMEM_PLUGIN_DEBUG=1 before starting Pi when troubleshooting the extension itself.

Links


Made with care by Nowledge Labs