Memory

It remembers — and you can see it.

ptype keeps what matters: your preferences, project facts and decisions. Every entry is local, scoped, and editable. No hidden profile, no silent scraping — just a store you can read, search and forget.

Download ptype →

prefers terse answersglobal
keeps the engine dependency-freeproject
good at refactors, weak on UI polishagent
chose a single SQLite file over a hosted vector databaseproject
no telemetry, everglobal

The shape

Three scopes. One store.

Global

About you

Preferences and standing facts that follow you across every project — how you like answers, what you never want, the tools you trust.

Project

About the work

Decisions, constraints and context for one project: the licensing model, the checkout choice, why a folder is laid out the way it is.

Agent

About the worker

Notes tied to one agent — what opencode is good at, what Claude needs spelled out. Forgetting one scope never touches the others.

The sources

What feeds it — and what doesn’t.

Writes are explicit. Nothing is scraped behind your back: a memory arrives because you said “remember this,” or because an agent called memory_remember and you can see it.

Read-only sources are indexed, not rewritten: project events from the ledger and workspace files chunked for retrieval. Toggle each source off and it stops feeding immediately.

Talk · “remember this”editable
Agent · memory_remembereditable
Project events · ledgerread-only
Workspace files · RAGread-only

The recall

Recall is explained.

Retrieval is hybrid: keyword search plus local embeddings, ranked with recency and pinned entries. Ask why something came back and ptype shows the match — not a black box.

Hybrid

Keyword + vectors

Exact names and code still match; meaning finds the rest. If no embedding model is available, keyword search keeps working.

Local

Embeddings on your machine

Vectors are produced by a local model through Ollama and stored in SQLite. Your memory never goes to an embedding API.

Ranked

Pins and recency

Pin the facts that must always count. Recent and frequently used memories rise; stale ones fall without being deleted.

The access

Any agent, same memory.

Memory is built in and exposed over MCP, so the tools you already use read and write the same store — not a separate profile per agent.

memory_remembermemory_recallmemory_forgetmemory_list

Local

Yours to inspect, and yours to erase.

The store is a SQLite file on your disk. Export it as JSON, import it on another machine, or forget a single entry, a scope, or everything. There is no account to delete because there is no account.

An AI that remembers the work.