Memory files, limits and history

Every memory is a small file on this computer, and you can read or edit it yourself. This page covers what a memory file contains, the limits that apply to it, how Oda keeps its older versions, and how the memories reach the model. To save and manage memories in the app, see Memory.

What a memory file looks like

Oda keeps each memory as its own file on this computer, named with the memory's id.

markdown
---
title: Reply language
enabled: true
source: user
---

Reply in short bullet points.

The text below the block is the memory itself; Oda trims it at the ends.

The limits that apply

The defaults, and the range each value can be set to:

What it boundsDefaultRange
One memory's title120 characters10 to 1000
One memory's text2000 characters100 to 100000
One memory's file64 KiB1 KiB to 16 MiB
Older texts kept per memory102 to 100
All memory sent to one chatabout 8000 tokens100 to 1000000

Versions and history

Every change to a memory keeps the text it replaced as a version. Versions are kept in a history area, apart from the memory files.

Changing a memory

In the app, a change to a memory goes through a check first:

You can also change a memory in its file. Oda reads the files again as it works, so a change you save there applies from the next step, with no restart. When Oda next saves that memory, it keeps your outside text as a version first.

When a memory file has a problem

Oda checks each memory file it reads. A file that fails is listed as a problem in Settings > Memory and is not sent with your messages.

Correct the file and save it again; Oda reads the files again as it works, so the fix is picked up at the next step.

How memories reach the model

Questions, answered

Where are my memory files kept?

In Oda's own folder inside your user profile on this computer: one set of files holds your global memories and one set for each workspace folder. Each memory is a plain text file named with its id, and Oda never syncs them anywhere.

Can I add or edit a memory file myself?

Yes. Save it in the right set, with a valid id as its name and a valid settings block, and Oda picks it up as it works, so your change applies from the next step. When Oda next saves that memory, it keeps your outside text as a version first. A file whose name is not a valid id is not treated as a memory.

Which lines does a memory file's settings block hold?

title, enabled and source are required, and sessionId, created and updated are optional; the memory's text goes below the block. enabled turns the memory on or off, and source records who saved it.

What limits apply to one memory?

One memory's title, text and file each have a default limit: 120 characters, 2000 characters and 64 KiB. The whole memory a chat receives is bounded as well, at about 8000 tokens counted at four characters per token.

How many versions does Oda keep for a memory?

The ten newest by default, and an installation can keep between 2 and 100. Older versions drop as new ones arrive, and saving the same text again saves nothing.

When does a change to a memory apply?

From the next step, whether it was made in a chat, in Settings > Memory, or in the file itself: Oda reads the memory files again as it works.

Why is a memory not sent with my messages?

It is turned off, or its file has a problem. A memory turned off stays in the list but is not sent; a file Oda cannot read, or one over a size, title or text limit, is listed as a problem in Settings > Memory and is never sent.

What does the source line in a memory file mean?

It records who saved the memory: user for one you saved yourself, ai for one Oda saved for you. A memory Oda saved is marked saved by the agent in the list.

What does the token estimate for a memory mean?

It is Oda's estimate of how much of the model's reading space the memory takes, counted at about four characters per token. Settings > Memory shows the estimate, and the same figure is used for the message limit.