Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jo-inc/pi-mem

Open more actions menu

Repository files navigation

License: MIT npm version GitHub stars

pi-mem

pi-mem

surprisingly useful daily memory for the pi coding agent

Read the blog post


Inspired by OpenClaw's approach to agent memory.

Layout

Memory files live under ~/.pi/agent/memory/ (override with PI_MEMORY_DIR):

Path Purpose
MEMORY.md Curated long-term memory (decisions, preferences, durable facts)
SCRATCHPAD.md Checklist of things to keep in mind / fix later
daily/YYYY-MM-DD.md Daily append-only log (today + yesterday loaded at session start)
notes/*.md LLM-created files (lessons, self-review, reference material, etc.)

Identity and behavioral files (e.g. SOUL.md, AGENTS.md, HEARTBEAT.md) can also live in the memory directory and be injected into context via PI_CONTEXT_FILES.

Tools

Tool Description
memory_write Write to long_term (MEMORY.md), daily (today's log), or note (notes/filename). Supports append and overwrite modes.
memory_read Read MEMORY.md (long_term), SCRATCHPAD.md (scratchpad), daily logs (daily), notes (note), any root file (file), or list everything (list).
memory_search Search across all files — filenames and content. Case-insensitive keyword search across root, notes/, and daily/.
scratchpad Manage a checklist: add, done, undo, clear_done, list.

Context Injection

The following are automatically injected into the system prompt before every agent turn:

  • Files listed in PI_CONTEXT_FILES (e.g. SOUL.md,AGENTS.md,HEARTBEAT.md)
  • MEMORY.md
  • SCRATCHPAD.md (open items only)
  • Today's and yesterday's daily logs

Files in notes/ and older daily logs are not injected — they're accessible on-demand via memory_search and memory_read.

Configuration

Settings can be configured via environment variables or a .pi-mem.json file in the memory directory. Environment variables take precedence over file values.

.pi-mem.json

Place a .pi-mem.json in your memory directory (default ~/.pi/agent/memory/.pi-mem.json):

{
  "searchDirs": ["catchup", "projects"],
  "contextFiles": ["SOUL.md", "AGENTS.md"],
  "autocommit": true
}

Environment variables

Environment variables override .pi-mem.json values when set.

Env Var Default Description
PI_MEMORY_DIR ~/.pi/agent/memory/ Root directory for all memory files
PI_DAILY_DIR $PI_MEMORY_DIR/daily/ Directory for daily logs
PI_CONTEXT_FILES (empty) Comma-separated list of extra files to inject into context (e.g. SOUL.md,AGENTS.md,HEARTBEAT.md)
PI_SEARCH_DIRS (empty) Comma-separated list of subdirectories (relative to PI_MEMORY_DIR) to include in memory_search. Searched recursively one level deep. (e.g. catchup,projects)
PI_AUTOCOMMIT false When 1 or true, auto-commit to git after every write
PI_TIMEZONE TZ, then UTC IANA timezone used for daily log filenames and today/yesterday context windows. Invalid values fall back to UTC.

Dashboard Widget

An auto-generated "Last 24h" summary is shown on session start and switch:

  • Scans recent session files for titles, costs, and sub-agent counts
  • Groups by topic using an LLM call (falls back to flat list)
  • Rebuilt every 15 minutes in the background
  • Also shows open scratchpad items

Related

  • pi-reflect — Self-improving reflection engine for pi. Analyzes recent conversations and iterates on memory, behavioral rules, and identity files. Pairs naturally with pi-mem.

Installation

pi install git:github.com/jo-inc/pi-mem

License

MIT

Pi Ecosystem

Package Description
pi-reflect Self-improving behavioral files
pi-boss Multi-agent orchestration via tmux
pi-room Multi-agent awareness and coordination
pi-vertex-anthropic Claude via Google Cloud Vertex AI
pi-skill-posthog PostHog analytics skill for pi agents

About

Plain-Markdown persistent memory for AI coding agents. Long-term facts, daily logs, scratchpad, and semantic search — works with pi, Claude Code, and any LLM agent.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.