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.
What goes in
Open Add media and the Memory — chats & notes group offers three ways in:
- From a file. A ChatGPT or Claude data export, or a text file with one
Name: messageper line. Both assistants name their export fileconversations.json; MediaFind tells them apart by what's inside. The export arrives as a zip, so unzip it and pick theconversations.jsoninside. - Paste a chat. Copy a conversation out of any app and paste it, one
Name: messageper line. A line can start with the time it was sent, as in[2025-09-01 18:30] Sam: …. - A folder of notes. Markdown or text files, such as an Obsidian vault. Each note becomes one conversation. Hidden folders such as
.obsidianand.trashare left out, so notes you deleted don't come back as memories.
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 searched | Conversation 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.
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.
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:
- Export. The space as a MediaFind JSON file, to keep or to move to another computer. A redact PII box masks emails, phone numbers, card numbers and other personal details in the exported copy.
- Delete a conversation… Pick one and it's gone from the library, along with everything built from it (more on that below).
- Facts. What people said about themselves, such as where they live or what they do. When a later message changes one, as “I moved to Berlin” does after “I live in Munich”, the earlier fact is marked superseded, and Include superseded shows the history.
- Reset space… Every conversation in the space, gone at once.
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
- Text only. Images, files and tool output from a ChatGPT export aren't imported. Notes are read from
.mdand.txtfiles, not PDFs or Word documents. - Unzip first. Point it at
conversations.json, not the zip the export arrives in. - Tuned for English. The search model and the fact patterns are built for English, and we haven't measured other languages.
- Relative dates stay words. “Three weeks ago” isn't read as a date; the words are searched as written.
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