By major7apps
Persist and recall working memory across Claude Code sessions — load relevant memories on start, capture decisions and outcomes at session end, search and inspect past context on demand, and automatically consolidate memories over time with decay-aware retention.
Run memory consolidation to promote, decay, and archive memories
Delete all memories for an entity from Pensyve
View all memories stored for an entity in Pensyve
Show Pensyve memory namespace statistics and health overview
Search Pensyve memory by semantic similarity and text matching
On-demand research agent that decomposes queries into multiple search angles, runs parallel memory lookups, and synthesizes a structured briefing. Use when deep memory context is needed for a topic, entity, or decision.
Background monitoring agent that identifies memorable events during a session and suggests storing them with user confirmation. Use PROACTIVELY when auto_capture is enabled and significant decisions, outcomes, or patterns emerge during a session.
Session start context priming -- loads relevant memories from Pensyve at the beginning of a session to provide continuity across sessions. Use when switching projects or needing historical context.
Debug with working memory -- before diagnosing, recall prior root causes and known-good diagnostic procedures; when a root cause is confirmed, capture it immediately. Use whenever debugging a non-trivial failure.
Architecture/design decisions with working memory -- before recommending, recall prior decisions and tradeoffs; when a decision is made, capture it immediately. Use for any substantive design question.
Long-running multi-session work (research, eval loops, iterative benchmarks) with continuity -- resume prior lessons, capture per-run outcomes, build up stable truths over time. Use for eval/research/benchmark work that spans sessions.
Pre-refactor context loading -- queries Pensyve memory for past decisions, failures, and patterns related to a refactoring target, then compiles a briefing. Use when starting a refactor to avoid repeating past mistakes.
Executes bash commands
Hook triggers when Bash tool is used
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimnpx claudepluginhub major7apps/pensyve --plugin pensyveBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Modifies files
Hook triggers on file write and edit operations
Modifies files
Hook triggers on file write and edit operations
Uses power tools
Uses Bash, Write, or Edit tools
Uses power tools
Uses Bash, Write, or Edit tools

Universal memory runtime for AI agents. Framework-agnostic, protocol-native, offline-first.
User: "I prefer dark mode and use vim keybindings"
Agent: "Got it!"
[next session]
User: "Update my editor settings"
Agent: "What settings would you like to change?"
User: "I ALREADY TOLD YOU"
# Session 1 — agent stores the preference
p.remember(entity=user, fact="Prefers dark mode and vim keybindings", confidence=0.95)
# Session 2 — agent recalls it automatically
memories = p.recall("editor settings", entity=user)
# → [Memory: "Prefers dark mode and vim keybindings" (score: 0.94)]
Your agent stops being amnesiac. Decisions, patterns, and outcomes persist across sessions — and the right context surfaces when it's needed.
| What you need | How Pensyve solves it |
|---|---|
| Agent forgets everything between sessions | Three memory types — episodic (what happened), semantic (what is known), procedural (what works) |
| Agent can't find the right memory | 8-signal fusion retrieval — vector similarity + BM25 + graph + intent + recency + frequency + confidence + type boost |
| Agent repeats failed approaches | Procedural memory — Bayesian tracking on action→outcome pairs surfaces what actually works |
| Memory store grows unbounded | FSRS forgetting curve — memories you use get stronger, unused ones fade naturally. Consolidation promotes repeated facts. |
| Need cloud signup to get started | Offline-first — SQLite + ONNX embeddings. Works on your laptop right now. No API keys needed. |
| Need to scale to production | Postgres backend — feature-gated pgvector for multi-node deployments. Managed service at pensyve.com. |
| Only works with one framework | Framework-agnostic — Python, TypeScript, Go, MCP, REST, CLI. Drop-in adapters for LangChain, CrewAI, AutoGen. |
pip install pensyve # Python (PyPI)
npm install @pensyve/sdk # TypeScript (npm)
go get github.com/major7apps/pensyve/pensyve-go@latest # Go
Or use the MCP server directly with Codex, Claude Code, Cursor, or any MCP client — see MCP Setup.
pip install pensyve
import pensyve
p = pensyve.Pensyve()
user = p.entity("user", kind="user")
# Record a conversation — Pensyve captures it as episodic memory
with p.episode(user) as ep:
ep.message("user", "I prefer dark mode and use vim keybindings")
ep.message("agent", "Got it — I'll remember your editor preferences")
ep.outcome("success")
# Later (even in a new session), the agent recalls what happened
results = p.recall("editor preferences", entity=user)
for r in results:
print(f"[{r.score:.2f}] {r.content}")
When the consumer of recalled memories is another LLM (the dominant
"memory for an AI agent" pattern), recall_grouped() returns memories
already clustered by source session and ordered chronologically — ready
to format as session blocks in a reader prompt.
import pensyve
p = pensyve.Pensyve()
groups = p.recall_grouped("How many projects have I led this year?", limit=50)
# Each group is one conversation session — feed it to a reader directly.
for i, g in enumerate(groups, start=1):
print(f"### Session {i} ({g.session_time}):")
for m in g.memories:
print(f" {m.content}")
No more manual OrderedDict clustering, no more reordering by date string,
no more boilerplate every consumer has to reinvent.
p.remember(entity=user, fact="Prefers Python over JavaScript", confidence=0.9)
# After a debugging session that succeeded:
ep.outcome("success")
Use Memind as persistent memory for Claude Code sessions.
Persistent agent memory that survives across sessions — auto-compacting 3-tier memory with hybrid search. Your agent remembers what it learned, decided, and built.
PowerMem intelligent memory for Claude Code: add, search, update, and delete memories with Ebbinghaus decay and multi-agent support.
Long-term semantic memory for Claude Code, powered by OpenViking. Auto-recall relevant memories at session start and capture important information during conversations.
Persistent memory for Claude Code — memories survive across sessions, projects, and machines
Persistent, local-first shared memory for AI agents. Corrections, preferences, and conventions persist across sessions, tools, and machines — stored as plain YAML on your disk, with zero-cost local search.