Every conversation, every idea, every small decision… held somewhere safe.
Welcome to the future of memory: MemPalace
Scroll down and watch. On the left, a model without memory. On the right, the same model with MemPalace. The words are identical — until two weeks pass.
An ancient memory technique, reworked for a machine. Broad categories nest time-based groupings; time-based groupings bundle topics; topics hold verbatim drawers. A symbolic index lets the model scan thousands of drawers in a single pass and open only the ones it needs.
people · projects · topics
A broad region of the palace, keyed to a real entity — a person by name, a project by codename, a domain of your life. Entity-first, always.
days · sessions · threads
Inside a wing sit rooms — discrete units of time. One room per day, or one per session. Walk the corridor and the palace unfolds chronologically, room by room.
topics · threads · bundles
Inside a room, closets group related drawers by topic or thread. Open one closet and you see every drawer on that subject together — no need to walk the whole room.
verbatim · permanent · exact
Each room holds drawers. A drawer is a single chunk of verbatim content — the exact words, untouched. The palace's promise is kept here.
The content stays verbatim — always. The index above it is written in AAAK: a dense symbolic dialect an LLM can scan at a glance. Thousands of entries, one pass, exact drawer located.
The drawer, as stored.
"My son's name is Noah. He turns six on September 12th. He loves dinosaurs — especially the therizinosaurus because of the claws. We want to do a small party at the park on Glebe Point Road, maybe eight kids."
— kept as spoken. never rewritten.
The pointer, as indexed.
§ W-042/R-11/D-007 @p noah~son.age=6~dob=09-12 @l glebe-pt-rd.park @e birthday~party(n≈8) @i therizinosaurus~claws @t 2026-04-14T09:41 § ptr → D-007 (verbatim)
Dense compression on the pointer layer. Full fidelity on the content layer. You get speed without ever losing a word.
ChromaDB on disk. SQLite for the knowledge graph. Nothing is uploaded. Nothing is synced. Your palace lives under a single directory on your machine.
Extraction, chunking, and embedding all run locally. No OpenAI key, no Anthropic key, no sentence-transformers endpoint. The memory works even offline, on a plane.
Filing and indexing happen silently through Claude Code hooks. On session end, on pre-compaction. You write. The palace fills itself behind the curtain.
Relationships across entities with valid-from and valid-to dates. Who worked on what. When did this change. Facts that were true then, and may not be now.
One command to install. One to initialize. Your words — yours, permanent, instantly recallable — from that moment on.
$ pip install -e ".[dev]" Successfully installed mempalace $ mempalace init ✓ palace created at ~/.mempalace ✓ hooks registered (stop, precompact) ✓ knowledge graph initialized $ mempalace mine ./notes ✓ filed · W-001/R-01/D-001