How it works
Every memory is stored as a file in~/.bolly/instances/{slug}/memory/. Bolly creates, reads, and manages memories automatically during conversations — you don’t need to tell it to remember things.
When you mention something important — a goal, a preference, a project detail — Bolly writes it to memory. Next time it’s relevant, Bolly recalls it.
Memory categories
Bolly organizes memories into folders:
You can also create custom folders. Bolly will use whatever structure makes sense for the conversation.
Search methods
BM25 (keyword search)
Always available, no extra setup needed. Works well for finding memories with specific terms.Vector search (semantic)
Requires a Google AI key. Uses Gemini embeddings to find memories by meaning, not just keywords. For example, searching “feeling stressed about work” can find a memory about “deadline pressure on the project” even without matching words.Vector search uses LanceDB (embedded, no external server needed) and Gemini 2 embeddings at 768 dimensions.
Pinned memories
Any memory file placed in thepinned/ folder is loaded into Bolly’s context for every conversation. Use this for things Bolly should always know — your name, key goals, important boundaries.
Media memories
Bolly can store more than text. Supported formats:- Images: JPG, PNG, GIF, WebP
- Documents: PDF
- Video: MP4, MOV, WebM
- Audio: MP3, WAV, OGG
Memory tools
Bolly has 5 memory tools it uses automatically:Frontmatter timestamps
Each memory file automatically gets timestamps:Managing memories manually
You can directly edit files in~/.bolly/instances/{slug}/memory/ with any text editor. Changes are picked up on the next conversation or context refresh.
To force a full rescan and reindex of the memory library, use the reindex endpoint or restart Bolly.