@loreai/pi
v0.33.0
Published
Lore memory engine as a Pi (@mariozechner/pi-coding-agent) extension
Maintainers
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:
Auto-fallback to a hosted provider — set
VOYAGE_API_KEYorOPENAI_API_KEYin your env. The firstembed()call detects the missing local provider and swaps over for the rest of the process. No config changes needed.Pin a hosted provider explicitly in
.lore.json:{ "search": { "embeddings": { "provider": "voyage" } } }(also supports
"openai"; readsVOYAGE_API_KEY/OPENAI_API_KEYfrom 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:11434The 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:
@loreai/pi(you are here) — Pi coding-agent extension@loreai/opencode— OpenCode plugin (also published asopencode-lorelegacy alias)@loreai/core— shared memory engine
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.
