Open Memory · an acific.labs project

Every mistake, made once, everywhere, by morning.

AI agents start every session with amnesia. Millions of sessions run a day, each one learning something, and at the end of every session all of it is thrown away. Open Memory keeps it.

0.1.0 · a working single-agent memory for Claude Code · the commons is designed, not built

Keep the surprises. Consolidate them in sleep. Keep only what predicts. Have it in mind, not look it up. Share it as observations, never instructions.

How it works

transcripts ──ingest──▶ episodes ──sleep──▶ lessons ──render──▶ the agent's memory folder (raw stream) (sessions, (what the (loaded at the start of errors, surprises add every session) corrections) up to) │ │ ▼ predictions ◀──verify── next sessions
1 · Ingest

The unit of memory is the surprise

Every session transcript becomes episodes: what was asked and done, plus one for each place expectation and outcome disagreed: a tool call that failed, a correction the person made.

2 · Recall

Meaning, time and use together

Memories are scored on relevance, recency and strength at once. Every recall strengthens what it returns; the agent can ask mid-task, over MCP: have I seen this error before?

3 · Sleep

Consolidation, nightly

Faded memories are archived. Surprises that look alike merge into lessons: observations, never instructions. Each lesson predicts what a coming session will meet.

4 · Verify

Prediction is the merge rule

A lesson that predicts gains strength; one that stops predicting fades. The scientific method as a consolidation policy, and the fitness signal the whole system runs on.

5 · Render

Have it in mind, not look it up

Lessons are written where the agent loads them at the start of every session, and a five-line morning report tells the owner what was learned. Delete a lesson's file and it is never written again.

Next · Share

The commons

Text on the wire, compiled at runtime. A lesson met by one agent, verified by whether it improves other agents' predictions, in every agent's mind by morning. Nothing raw ever leaves a machine.

Principles

  1. The unit of memory is the surprise. What a good model would have predicted needs no storing; the better the model, the smaller the memory.
  2. The raw stream is the ground truth. Transcripts, later screen and audio, kept and never read at runtime; everything above them can be recomputed by a better model.
  3. Text on the wire, compiled at runtime. What moves between agents is a short, readable lesson; what an agent runs with is that lesson already in mind.
  4. Prediction is the merge rule. A lesson earns its place by anticipating observations that were not used to make it.
  5. A lesson is an observation, never an instruction. The one safety rule. Memory is the one place an instruction, once stored, would run in every future session.
  6. Forgetting is a function. Strength decays, recall renews it, and below a floor a memory is archived, never deleted.
  7. The owner can see and veto; nothing raw ever moves. A morning report; readable all the way down; lessons leave a machine only by opt-in, stripped of what produced them.

Install

Python 3.11 or newer, no dependencies. Works with no model; a local model (LM Studio, Ollama, anything OpenAI-compatible) writes better gists and lessons.

git clone https://github.com/acific/openmemory ~/Strange/openmemory
cd ~/Strange/openmemory && uv tool install .
openmemory ingest          # read your Claude Code sessions
openmemory sleep           # consolidate; lessons land in the agent's memory folder
openmemory hook            # the SessionEnd hook, the MCP server and the nightly cron line

The repository is private until launch; write to us for access. The user guide has every command, the morning report, vetoes and troubleshooting.

Read