Back to Mem0

@mem0/pi-agent-plugin

pi-agent-plugin/README.md

2.0.55.2 KB
Original Source

@mem0/pi-agent-plugin

Persistent semantic memory for Pi Agent, powered by Mem0.

This extension gives Pi Agent long-term memory that persists across sessions, projects, and devices. Memories are automatically captured from conversations and can be searched, managed, and consolidated through slash commands and an agent-accessible tool.

Features

  • Automatic memory capture — learns from every conversation (both user and assistant messages)
  • Semantic search — find memories by meaning, not just keywords
  • Scoped memory — project, session, or global scope
  • Monorepo-aware — uses git root for project detection, consistent app_id across subdirectories
  • Dream consolidation — merges duplicates, resolves contradictions, prunes stale entries
  • Confirmation dialogs — destructive commands ask before acting
  • 8 slash commands — essential memory management from the command line
  • Agent toolmem0_memory tool lets the agent search and store memories autonomously

Setup

1. Get an API key

Sign up at app.mem0.ai and copy your API key.

2. Install

bash
pi install npm:@mem0/pi-agent-plugin

3. Configure

Set the API key as an environment variable:

bash
export MEM0_API_KEY="m0-your-key-here"

Or create a config file at ~/.pi/agent/mem0-config.json:

json
{
  "apiKey": "m0-your-key-here",
  "userId": "your-username",
  "autoCapture": true,
  "defaultScope": "project",
  "dream": {
    "enabled": true,
    "auto": true,
    "minHours": 24,
    "minSessions": 5,
    "minMemories": 20
  }
}

Environment variables (MEM0_API_KEY, MEM0_USER_ID) override the config file.

Commands

CommandDescription
/mem0-remember <text>Store a memory verbatim (no inference)
/mem0-forget <query>Search and delete memories (with confirmation)
/mem0-search <query>Semantic search across memories
/mem0-tour [scope]Browse all memories grouped by category
/mem0-dreamConsolidate — merge duplicates, prune stale, resolve contradictions
/mem0-pin <query>Pin a memory to protect from dream pruning (preserves ID)
/mem0-scope <scope>Change default scope for this session
/mem0-statusConnection health, identity, and memory count

Skills

The plugin includes 8 skills that guide the agent on how to use each capability:

SkillPurpose
context-loaderPre-fetch relevant memories at session start
rememberStore facts with category classification
searchQuick semantic search with compact results
forgetDelete memories with confirmation
dreamMemory consolidation workflow
tourFull memory walkthrough by category
pinProtect critical memories from pruning
statusHealth check and diagnostics

Memory Scopes

ScopeFiltersUse case
projectuser + app_id (git root)Default. Project-specific knowledge
sessionuser + app_id + run_idEphemeral, session-only context
globaluser onlyAll memories across all your projects

Project scoping uses git rev-parse --show-toplevel to detect the repository root, so all subdirectories within a monorepo share the same memory pool.

Memory Categories

Memories are automatically classified into 10 general-purpose categories:

CategoryDescription
identityPersonal details, background, self-descriptions
preferencesLikes, dislikes, habits, preferred approaches
goalsObjectives, aspirations, targets
projectsOngoing work, initiatives, areas of focus
decisionsChoices made, rationale, trade-offs
technicalTechnical knowledge, tools, configurations
relationshipsPeople, teams, organizations
routinesRecurring patterns, workflows, schedules
lessonsInsights learned, mistakes to avoid
workProfessional context, role, responsibilities

Architecture

pi-agent-plugin/
├── src/
│   ├── entry.ts          # Extension entry point
│   ├── index.ts          # Barrel exports
│   ├── commands.ts       # 8 slash commands
│   ├── prompt.ts         # System prompt injection (MEMORY_POLICY)
│   ├── types.ts          # Shared interfaces and categories
│   ├── telemetry.ts      # PostHog telemetry (batched, PII-safe)
│   ├── config/           # Config loading (~/.pi/agent/mem0-config.json)
│   ├── memory/           # Tool registration, scoping (git root), formatting
│   ├── capture/          # Auto-capture from conversations (user + assistant)
│   └── dream/            # Consolidation state, gating, locking, prompts
├── skills/               # 8 SKILL.md files for Pi Agent
├── tests/                # Vitest unit tests
└── dist/                 # Built output (ESM + DTS)

Development

bash
pnpm install          # Install dependencies
pnpm run typecheck    # Type check
pnpm run test         # Run tests
pnpm run build        # Build (ESM + declarations)

License

Apache-2.0