pi-mem

agent
Guvenlik Denetimi
Basarisiz
Health Gecti
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 42 GitHub stars
Code Basarisiz
  • process.env — Environment variable access in index.ts
  • process.env — Environment variable access in lib.ts
  • fs.rmSync — Destructive file system operation in tests/helpers.ts
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This tool provides a persistent, plain-Markdown memory system for AI coding agents. It allows agents to read, write, and search long-term facts, daily logs, and notes, primarily serving as a customized context manager for the development workflow.

Security Assessment
Overall Risk: Low. The tool stores data locally in plain Markdown files and does not request any dangerous system permissions. It does not appear to make external network requests or execute arbitrary shell commands, and no hardcoded secrets were found. The code reads environment variables (e.g., `PI_MEMORY_DIR`) to configure file paths, which is standard practice but requires minor awareness of what you configure. The only notable flag is a destructive file system operation (`fs.rmSync`), but the audit confirms this is safely isolated within test helpers and poses no threat to your actual runtime environment.

Quality Assessment
Overall Quality: Good. The repository is under active development, with its most recent push happening just today. It is properly licensed under the permissive MIT license. While the project is relatively new and small, it has accumulated 42 GitHub stars, indicating a baseline level of community validation and trust.

Verdict
Safe to use.
SUMMARY

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.

README.md

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

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

Yorumlar (0)

Sonuc bulunamadi