Overview
bluememo keeps what an agent learns about one person in a single SQLite file: it settles what it hears into self-contained sentences, recalls without a model call, and forgets under pressure.
bluememo is long-term memory for an agent that works for one person. It keeps what the agent learned in a single SQLite file of self-contained sentences, settles what it hears in the background, answers a question without calling a model, and forgets only when it runs out of room.
Why it exists
An agent that forgets everything between conversations makes a person repeat themselves. An agent that remembers everything forever drowns its own answers in stale notes. bluememo sits between the two. It keeps the sentences that change how the agent should act next time, lets a newer sentence replace an older one, and clears out what nobody has needed once the store is full.
What it is
- One file per person.
Opentakes a path and creates the file with mode0600. There is no access-control model inside: whoever can open the file can read all of it, so a host that serves several people opens a different file for each one, as that person. - Sentences, not triples. A memory is one sentence that stands on its own:
Alex wants meeting notes in Markdown every time.Conditions, time and source stay inside the sentence. - Pure Go. It depends on the standard library and
modernc.org/sqlite. The host supplies the embedder, the language model and the judge through small interfaces.
What it is not
It is not a document store: files are turned into text by the host before they arrive. It is not shared memory either. Knowledge a whole company should agree on belongs in the company's documents and database.
Where to go next
- Quickstart runs the whole path in a few lines.
- Concepts defines the words the rest of the pages use.
- Lifecycle follows a note from arrival to tombstone.
- Ports lists what a host has to supply.