@conare/pi
Persistent, cross-session memory for the Pi coding agent — powered by Conare.
Package details
Install @conare/pi from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:@conare/pi- Package
@conare/pi- Version
0.1.0- Published
- Jun 24, 2026
- Downloads
- not available
- Author
- flowisgreat
- License
- MIT
- Types
- extension
- Size
- 17.9 KB
- Dependencies
- 1 dependency · 1 peer
Pi manifest JSON
{
"extensions": [
"./extension/conare.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
Conare for Pi
Persistent, cross-session memory for the Pi coding agent — powered by Conare.
Pi is deliberately minimal: four tools, a tiny system prompt, and no built-in MCP — you add capabilities as extensions. This is that extension. It gives Pi a memory that outlives any single session: past decisions, bug fixes, architecture, and your preferences, recalled automatically when you start work and on demand mid-task.
It's the same memory engine Conare already wires into Claude Code, Codex, Cursor, OpenCode, and Grok — so your history follows you across every agent, not just Pi.
What you get
recall— load relevant prior context for the task at hand.search— look up a specific past decision, bug, or conversation.save— persist a durable fact or preference for future sessions. All three are registered as native Pi tools (no MCP proxy, no per-tool token tax) that the model calls when memory is relevant. There's no automatic recall — so nothing Conare does is ever on Pi's startup or first-message critical path. (Auto-injecting pre-prepared context is on the roadmap, once it's fast enough to be invisible.)
Install
The easiest path is the Conare CLI, which sets up the extension (and indexes your existing Pi chats into memory) in one step:
bunx conare@latest
Pick Pi when it asks which agents to connect.
Manual install
This is a Pi package — install it with Pi's own package manager:
Get an API key at conare.ai.
Install the package:
pi install npm:@conare/pi(
pi install git:github.com/FutureExcited/conare-piandpi install ./conare-piwork too;pi update --allkeeps it fresh.)Make sure your key is available. The extension finds it automatically from
~/.conare/config.json(written by the Conare CLI), or fromCONARE_API_KEYin your environment — no per-file config needed.Restart Pi (or run
/reload).
How it works
The extension talks to Conare's memory engine over its MCP HTTP endpoint (https://conare.ai/mcp) using your API key — built-in fetch, JSON-RPC tools/call, handles both JSON and SSE responses.
The recall/search/save tools call the corresponding memory operations when the model invokes them. There is no background recall on a lifecycle hook: any automatic recall today would put a live synthesis round-trip on the critical path and slow your first message. Tools-only keeps Pi fast and lets the model decide when memory is worth fetching. (A future version may auto-inject a pre-prepared context blob — fast enough to be invisible — but live synth on every session is the wrong tradeoff.)
It's one small file (its only runtime dependency is TypeBox, Pi's own schema library) — read it, fork it, audit it.
Failure handling follows Pi's contract: a genuine failure (network/HTTP/RPC error) throws, so Pi marks the tool call isError and the model can retry or proceed without memory. A missing key isn't an error — it returns a short "not configured, proceed without memory" note instead. Output is capped at 50KB (matching Pi's built-in tools) so a large recall never floods the context window.
Configuration
| Env var | Default | Purpose |
|---|---|---|
CONARE_API_KEY |
— | Your Conare key (required). |
CONARE_URL |
https://conare.ai |
Override for self-hosted / staging. |
License
MIT © Conare