@memongo/pi-extension
v2.1.1
Published
Pi coding-agent extension — exposes Memongo's durable, cross-project, MongoDB-backed semantic memory as additive tools alongside pi-hermes-memory.
Maintainers
Readme
@memongo/pi-extension
Memongo durable memory for the Pi coding agent.
Additive — sits alongside pi-hermes-memory (local SQLite FTS5) and exposes Memongo's hybrid vector + full-text + graph retrieval as new tools. Does not replace any existing Pi memory tool.
Tools
| Tool | Purpose |
|------|---------|
| memongo_search | Semantic / cross-project / cross-session search over durable memory (hybrid vector + text + graph) |
| memongo_save | Persist a durable structured fact / decision / preference / instruction to Memongo |
| memongo_status | Probe Memongo API health + vector search availability |
| /memongo | Slash command — quick status check |
Quick start
1. Run Memongo locally
cd /Users/rom.iluz/Dev/memongo
# Start MongoDB (Atlas Local Preview — includes mongod + mongot + Atlas Search + auto-embed)
docker compose -f docker/docker-compose.yml up -d
# Start the HTTP API
cd apps/api && bun run devGet a Voyage AI API key (free tier, al-... prefix) and export it:
export VOYAGE_API_KEY="al-..."2. Wire into Pi
Add to ~/.pi/agent/settings.json:
{
"packages": [
"/Users/rom.iluz/Dev/memongo/packages/pi-extension"
]
}Set env vars (in shell or .envrc):
export MEMONGO_API_URL="http://127.0.0.1:3847"
export MEMONGO_API_KEY="local-dev-secret"
export MEMONGO_AGENT_ID="pi-agent"3. Reload and verify
/reload
/memongoYou should see Memongo @ http://127.0.0.1:3847 with vector status. Then try:
memongo_status— confirms API + vector search are livememongo_searchwith a query — semantic recall across projectsmemongo_save— persist a durable fact
Architecture
Pi Agent
├── pi-hermes-memory (local FTS5) ← stays
├── pi-observational-memory ← stays
└── @memongo/pi-extension (this) ← additive
└── @memongo/client → HTTP API (port 3847) → MongoDB (Docker)Config
| Env var | Default | Purpose |
|---------|---------|---------|
| MEMONGO_API_URL | http://127.0.0.1:3847 | Memongo HTTP API base URL |
| MEMONGO_API_KEY | (none) | Bearer token (optional for local dev) |
| MEMONGO_AGENT_ID | pi-agent | Agent identity for scoping |
| VOYAGE_API_KEY | (none) | Required for vector/semantic search (Atlas Model API key) |
Graceful degradation
If the Memongo API is down, all three tools return clean error messages instead of crashing. The agent is instructed to fall back to memory_search (local FTS5). Nothing breaks.
License
Apache-2.0
