Memory

Your AI chats and notes, searchable on your own computer

A year of conversations with ChatGPT and Claude holds a lot of what you figured out: the plan you settled on, the draft you liked, the reason you ruled something out. It sits on two companies' servers, one scrolling history per app. Memory brings it home. Import the exports and your notes once, then search and ask them next to your recordings, on your own computer, and forget any of it when you choose.

Chat assistants have become a place where thinking happens. You talk a problem through with ChatGPT, draft with Claude, ask the same question three ways over a month. The record of all that lives in each assistant's history, on each company's servers, and both can keep a memory of their own there too. It's useful, and it isn't yours in the way your files are.

Memory is MediaFind's answer: your conversations and notes, imported onto your computer and kept in the same private library as your recordings. You can search them, ask them questions and point an AI assistant at them. You can also delete any of them, and know exactly what goes with it. Memory is free, and chats and notes don't count toward the free plan's 10-file limit.

ChatGPT export conversations.json Claude export conversations.json A pasted chat Name: message A notes folder .md · .txt · an Obsidian vault Your library one index, on your disk spaces · personal, work conversations messages · who · when stored like transcript segments, next to your recordings Find chat cards beside clips Ask an answer + the messages read Memory page spaces, chats, export, delete AI assistants (MCP) save · search · reset
Everything goes into one library on your disk. A conversation is stored the way a recording is, as short pieces that know who spoke and when, so every part of MediaFind can read it.

What goes in

Open Add media and the Memory — chats & notes group offers three ways in:

A few details decide whether an import is faithful. From a ChatGPT export, MediaFind follows the branch of each chat you actually kept: a reply you regenerated or a message you edited leaves the abandoned version behind. It imports what you and the assistant wrote, with each message's time. Images, uploaded files and tool output don't come along. A note is dated only by the date in its front matter. Without one it stays undated, because a file's modified time is often not when you wrote the note, and a wrong date is worse than none.

Everything lands in a space: personal unless you name another, such as work. Import the same export again next month and only what changed is read. Conversations you haven't touched are skipped, and changed ones are updated.

Every message becomes a dated moment

Inside the library, a conversation is stored the way a recording is. A recording becomes transcript segments, each with a timestamp. A conversation becomes messages, each with a speaker and the time it was sent. Memory needed no second search engine: the same index, the same text model, the same Find box.

So a question typed into Find can bring up a line from a chat next to a moment from a video. A matching message appears as a conversation card showing who said it, when, and in which space. Open conversation jumps to that exact message in the thread. To search only your chats, set Find's scope to Conversations. The Memory page lists your spaces, their conversations and each chat in full.

The reranker that made memory worse

Find ranks results in two passes. A fast first pass gathers candidates, then a cross-encoder reads the query and each candidate together and reorders the shortlist. That's Find's default for your media, so we assumed it would help chats too and made it Memory's first default.

Then we measured it on LongMemEval, a public benchmark of questions about long chat histories. For search, the question that matters is simple: is the conversation holding the answer among the top ten results?

How Memory searchedConversation with the answer in the top 10
With the cross-encoder reranker (the first default)79% of questions
Without it, as lexical (today's default)94% of questions

The reranker was trained to judge web passages against search queries, and a chat message such as “yeah, the one by the river, if it's free” is not a web passage. It rated most messages as poor matches whatever the question, so its reordering was mostly noise. Memory's default search, called lexical, leaves it out. It searches short chunks of each message by meaning, lifts the ones that contain your words as an exact phrase, and fuses the results into one list. It's faster, too.

What that number is, and isn't. It measures retrieval on the benchmark's held-out questions: whether the right conversation was found. It says nothing about whether an answer built from it was right, so read it as a search result, not an accuracy score.

When you said it isn't when it happened

Questions to your memory often carry a date: “what did we decide in March about the venue?” The obvious reading is a window, 1 March to 31 March. For chats it's wrong, and the benchmark showed why. People talk about things after they happen. A workshop in April gets written up on 1 May, and “the trip last month” gets retold well into the next one. A conversation about March happens in March or later.

Asked 18 Sep: “what did we decide in March about the venue?” Memory searches from 1 March on a March-only window would stop here and miss 3 Apr JanFebMar AprMayJun JulAugSep “let's book the river venue” 12 Mar “as we agreed in March, the river venue” 3 Apr
A date phrase sets where the search starts, not where it ends. The April message that retells a March decision stays in reach.

So in Memory a date phrase sets only where the search starts. Asked in September, “in March” searches from 1 March onward, “last week” from the start of last week, “since April” from 1 April, and “in May 2023” from 1 May 2023. The question is still searched as you wrote it. Exported messages keep the time they were sent, so a chat from a year ago is placed a year ago, not on the day you imported it.

Answers that show their work, or say they don't know

Ask a question on the Memory page, say “when did I say the lease renews?”, or in Find & Ask with Conversations in scope. MediaFind retrieves the closest messages and hands them to the on-device model with a strict instruction: answer from these messages only, and if they don't hold the answer, say “I don't know.” MediaFind comes with a small model, so this works out of the box. A larger one is a download away if you want better answers (which to pick).

The answer arrives with the messages the model was given, listed under Messages it looked at. Click one and the conversation opens at that message. Sometimes nothing matches closely enough, or the model reads the closest messages and finds no answer. Then the page says so plainly: “Your conversations don't cover that.” Under it are the closest messages, so you can check for yourself. With no model available, it quotes the sentences that match best and says it's quoting.

It's built to prefer “I don't know” to a guess. That means it sometimes declines when the answer is in there, and we'd rather that than a confident sentence about your own life that nobody said. Either way, the evidence is on the screen.

See what it keeps. Delete what you want.

Settings → Memory lists each space, with how many conversations and messages it holds, and four controls for each:

Deleting is harder than it looks, because a conversation leaves traces. An answer on the Ask page that quoted it keeps those words in your Ask history. A fact read from it may have replaced an older one. So deleting a conversation also deletes the Ask answers that cited it, and recomputes the facts. Forget the conversation where you said you moved to Berlin, and Munich is current again.

Your AI assistant can use it too

MediaFind's MCP server gives assistants such as Claude and Cursor three memory tools. memory_save stores what the assistant wants to remember, memory_search recalls it, and memory_reset wipes it. The assistant's memory is an ordinary space in your library. Give it one of its own, such as assistant, and it sits beside your imported chats, where you can read it, export it or delete it. memory_reset only clears a space the assistant filled itself. A space holding a conversation you imported is refused and left as it is.

Whatever memory_search returns goes into the assistant's context, and from there to whichever model it runs. To keep your conversations on your machine, set MEDIAFIND_MCP_ALLOW_CONTENT=0 and memory_search refuses (the full privacy line). You connect an assistant from Settings → Connect to AI agents (how).

What it doesn't do


Memory is the same bet as the rest of MediaFind: the most useful record of your work shouldn't have to live on someone else's server to be searchable. A transcript and a chat log turn out to be the same kind of thing, a record of who said what and when. So they share one private index, one search box, and a delete that takes the traces with it.

Bring your chats home

Memory is free, and chats and notes don't count toward the free plan's 10 files. No account, nothing uploaded.

Download MediaFind