DEV Community

Cover image for Giving an AI assistant a memory you can actually read
Yisrael Gottlieb
Yisrael Gottlieb

Posted on

Giving an AI assistant a memory you can actually read

Moe is an assistant that runs on your Mac all day. You say "Hey Moe" from whatever app you're in, ask for something in a normal sentence, and it does it. The part of it I've thought about most is memory, so this post is about how that works.

A short list, in plain files

What Moe knows about you lives in Markdown files on your disk, under ~/Library/Application Support/Moe/memory. It starts with four notes you can edit yourself (About me, People, Projects, Preferences), and Moe adds to them as you talk.
The list is small on purpose. Every word of it is read before Moe answers anything, so a line has to earn its place.

Every line has a source

A line in Moe's memory looks like this:
Marcus - the printer; wants the print files with every export Messages · 14 Jun · highThat's the fact, where it came from, when, and how sure Moe is. Things it picked up in conversation are marked as coming from your conversations. Things it learned by reading your mail, messages, calendar or browser carry the app and the date, plus a confidence: sure, fairly sure, or not sure.
The source is the part I care about. When an assistant gets something wrong about you, the first thing you want to know is why it thinks that, and the second is how to fix it.

Fixing it

The Memory page in the app shows every line, grouped into things about you and things about the people and projects around you. Each one has a Fix or forget button. Correct a line that was learned from reading and the change sticks, so the next pass over the same mail won't quietly bring the old version back.
Lines from Moe's own conversation memory work differently. Moe writes that file continuously while you talk, so if the app edited it behind Moe's back the two would overwrite each other and your fix would lose. The button sends your correction to Moe in chat instead, and you watch it make the change.
Sometimes Moe notices something it can't place. Those show up as questions at the bottom of the page, and you answer them in your own words.

Where it learns from

Moe learns from your conversations as they happen, and once a day from whatever you've let it read. All of it stays on your Mac.
Moe is free on the Mac and uses the AI you already have: Claude, ChatGPT, an API key, or a local model. It's in beta. moebot.app

Top comments (1)

Collapse
 
jo-do profile image
Jo Do

"Every word is read before Moe answers anything, so a line has to earn its place" is a cleaner memory policy than most vector-store setups I have seen. The source-and-confidence columns are what make it trustworthy: a fact you can audit back to "Messages, 14 Jun" beats a thousand embeddings you cannot. Small, plain, and inspectable is underrated as an architecture for memory.