Transcribing your sessions
SoonSpeak instead of type. Familiar transcribes the session in real time and saves it to a searchable Foundry journal you can edit later.
Guide
An AI loses the thread once a long campaign overflows its context window. Then it guesses. Familiar's answer is structural: the adventure you imported and a searchable record of your campaign are what the AI reads from. Consistency lives in your prep, not the model's short-term memory.
Every chat model has a context window: a finite amount of text it can hold at once. A one-shot fits. A campaign that runs for months does not. Once the early sessions fall out of the window, they are gone, and the model fills the gap with whatever sounds plausible. The duke's daughter gets a new name. The oath the party swore quietly changes. The NPC who died is back behind the bar.
This is not a prompt you got wrong. The problem is not reasoning, it is storage. The fix is to stop asking the model to remember and start giving it something to read.
Do not trust a context window to be your campaign's memory. It is not built to be. Give the AI a persistent record to read from instead, and the drift goes away.
Familiar treats the imported adventure and your campaign's accumulated record as the source of truth, not the conversation history. Two things hold the campaign, and both live in your Foundry world. First, the adventure you imported. Its journals, NPCs, statblocks and maps are the authored spine, fixed before the session. The AI reads the plot from there, it does not author it. Second, a persistent record of what your table actually did, which carries forward as you play.
The AI reads from that store when a detail comes up, the same way you flip back through your notes, and keeps it current with a short wrap-up at the end of the night.
Three shipped capabilities do the carrying. None of them depend on the model holding the campaign in its head. The record and the search work the same on any Foundry system.
Knowledge & MemoryJournals & NotesLive TranscriptionThe store stays accurate because you keep it current, and that takes about two minutes at the end of a session. The pattern is the same one a careful GM already uses: log what happened, keep one place that says where you are, and write down how next time opens. Familiar does the drafting; you confirm it is right.
Turn on live transcription and speak instead of type. It transcribes the session in real time and saves it to a Foundry journal, so every named NPC, every decision and every promise lands in a searchable record while it is fresh.
Before you close down, ask Familiar to summarise the session and save it to a journal. That recap, plus the rewritten plot summary, becomes the single "where we are" entry you both pick up from next time.
At the next session the AI reads the recap, the plot summary, and any detail you search for, so it opens from what is written, not from what it half-remembers.
That wrap-up keeps the readable record current; the memory bank fills on a schedule of its own. Facts do not trickle into it as you talk. Three moments write them, and two happen without you asking.
Closing the browser mid-session skips all three. The conversation is safe and picks up where you left it, but nothing has been extracted from it yet. End the night with a new chat, or say what you want kept.
The bank is not a black box, and it is not read-only either. The memory panel sits in the chat header: browse what Familiar has stored, search it, correct a fact that came out wrong, delete one that should never have been kept. Pin the facts you want in front of the model every time, and a pinned fact leads the list and skips the relevance filter that trims the rest.
The same facts sit in your sidebar as a journal, "[Familiar] Campaign Memory". Its Memory page lists every one of them. Its Plot page carries the running summary, and each rewrite leaves the version before it as a dated revision, so a summary that wandered has a restore point behind it.
The bank holds 300 facts. Past that, the lowest-scoring ones drop, weighed by how often a fact has come up again, how recently, and what kind of fact it is.
Everything above describes the built-in chat, which does the reading and the writing for you. Over MCP, with Claude, ChatGPT, or Gemini driving from your own client, the same bank sits in the same journal. What changes is that nothing is slipped into the conversation on your behalf.
Your client asks for it instead. get-campaign-memories reads the bank and save-campaign-memory writes a fact to it, both ordinary tools your assistant can call mid-session. Tell it to check campaign memory when a session opens and it starts from the record rather than a blank slate. The difference is that you asked for it.
The same record answers questions in the moment. Say a rival merchant, call her the broker, shorted the party on a contract two sessions back, and tonight they track her down. You do not need to hold the figure or the grudge in your head.
When the broker is mentioned, Familiar searches the journals and the memory bank, finds the contract and the amount owed, and the AI speaks her in the voice your prep gave her, holding to what is on the page rather than improvising a new history. And if a detail was never written down, the search comes back empty. That is the honest answer, not an invented one.
This is not perfect memory, and Familiar does not claim it. A model can still misread or skip a detail, the same way a tired GM can. What changes is where the answer comes from: instead of inventing a plausible-sounding fact, the AI looks it up in a record you control and can correct. The quality of the recall is the quality of your notes, and Familiar makes those notes cheap to keep.
Be clear about what the AI is not doing. It runs the DM's side of the table, the lookups, the NPC voices, the recaps, from what you imported and recorded. It does not author your plot or keep secrets from you. The story stays yours; Familiar carries the bookkeeping.
Install Familiar in Foundry, import a published adventure so the AI has a spine to read, and adopt the end-of-session wrap-up as a habit. From the second session on, the AI reads from a source that is current rather than guessing from a window that has overflowed. Questions about structuring prep, the memory bank, or your own pickup routine are welcome in the Discord.
Good AI D&D is good prep. Structure a published adventure, then hand the running to the AI.
Lay a published adventure into Foundry as journals, sheets, and a one-page outline, so the AI has the pages to run from.
Give an NPC who they are, what they know, what they want, and how they speak. Anchored to that, the AI voices them and fills the small edges itself.
Run combat with an AI that cannot cheat. Foundry's own dice enforce range, damage, and conditions, while you stay the DM.
Let the AI speak. Set a narrator voice and character voices, bring your own provider key, and Familiar voices each line in your browser as the scene plays.
Speak instead of type. Familiar transcribes the session in real time and saves it to a searchable Foundry journal you can edit later.
New to Familiar? I'm Ryan, the person who built it. The Discord is small and brand new, so if you join now I'll help you get set up myself.