@memongo/pi-extension

extensionmaintained

Pi coding-agent extension — exposes Memongo's durable, cross-project, MongoDB-backed semantic memory as additive tools alongside pi-hermes-memory.

by · v2.1.1 · published 6d ago

$ pi install npm:@memongo/pi-extension
downloads/mo
405
stars
32
last push
4d ago
open issues
29

Signals

license: Apache-2.0testspi manifest: missinginstall size: —deps: 0peer deps: 0

Download trend

405 downloads · last 12 weeks (weekly)

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

ToolPurpose
memongo_searchSemantic / cross-project / cross-session search over durable memory (hybrid vector + text + graph)
memongo_savePersist a durable structured fact / decision / preference / instruction to Memongo
memongo_statusProbe Memongo API health + vector search availability
/memongoSlash 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 dev

Get 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
/memongo

You should see Memongo @ http://127.0.0.1:3847 with vector status. Then try:

  • memongo_status — confirms API + vector search are live
  • memongo_search with a query — semantic recall across projects
  • memongo_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 varDefaultPurpose
MEMONGO_API_URLhttp://127.0.0.1:3847Memongo HTTP API base URL
MEMONGO_API_KEY(none)Bearer token (optional for local dev)
MEMONGO_AGENT_IDpi-agentAgent 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