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

@loreai/pi

v0.33.0

Published

Lore memory engine as a Pi (@mariozechner/pi-coding-agent) extension

Readme

@loreai/pi

Experimental — Under active development. APIs, storage format, and behavior may change.

Lore's memory engine as a Pi coding-agent extension. Three-tier storage, distillation, curation, gradient context management, and FTS5-backed recall — wired into Pi's extension hooks.

Install

Add to your ~/.pi/settings.json:

{
  "packages": [
    "npm:@loreai/pi@latest"
  ]
}

Then run pi install once. The extension auto-loads on every Pi session.

Local embeddings (optional)

By default, recall uses @huggingface/transformers with nomic-embed-text-v1.5 (768-dim INT8 quantized, ~137 MB) for on-device vector search — no API key required. The model is downloaded on first use and cached locally.

When installed via npm, local embeddings use the native onnxruntime-node backend, which may fail on some configurations (e.g. CUDA 13 on Linux/x64 — see microsoft/onnxruntime#26586). When local embeddings aren't available, recall has graceful fallbacks:

  1. Auto-fallback to a hosted provider — set VOYAGE_API_KEY or OPENAI_API_KEY in your env. The first embed() call detects the missing local provider and swaps over for the rest of the process. No config changes needed.

  2. Pin a hosted provider explicitly in .lore.json:

    { "search": { "embeddings": { "provider": "voyage" } } }

    (also supports "openai"; reads VOYAGE_API_KEY / OPENAI_API_KEY from env).

If none apply, recall transparently falls back to FTS-only search.

Local / self-hosted LLM providers

If you use a local LLM server (vllm, llama.cpp, ollama, etc.), set an environment variable so Lore's gateway knows where to forward requests:

export LORE_UPSTREAM_VLLM=http://localhost:8000
# or
export LORE_UPSTREAM_OLLAMA=http://localhost:11434

The URL should be the server root — do not include /v1 (the gateway appends API paths automatically). The naming convention is LORE_UPSTREAM_<PROVIDER> where <PROVIDER> is the uppercased Pi provider name with hyphens replaced by underscores:

| Provider | Env var | |----------|---------| | vllm | LORE_UPSTREAM_VLLM | | llamacpp | LORE_UPSTREAM_LLAMACPP | | ollama | LORE_UPSTREAM_OLLAMA | | lmstudio | LORE_UPSTREAM_LMSTUDIO | | tgi | LORE_UPSTREAM_TGI | | litellm | LORE_UPSTREAM_LITELLM |

Cloud providers (Anthropic, OpenAI, etc.) are routed automatically by model name and don't need this.

Companion packages

Lore ships as three packages sharing the same SQLite database at ~/.local/share/lore/lore.db:

Switching between OpenCode and Pi on the same project preserves the curated knowledge, distillations, and AGENTS.md sync.

Documentation

Full architecture, benchmarks, configuration, and rationale: github.com/BYK/loreai

License

FSL-1.1-Apache-2.0 — see LICENSE.