Memory
Memory lets the bot remember facts across conversations. Pick one of seven presets in Settings — coding_balanced is the right default for most operators.
What memory does
Memory is what lets GolemCore carry knowledge between conversations. When you tell the bot something useful — a project fact, a fix for a bug, a preference — it can save that note and pull it back the next time the same topic comes up. Without memory, every chat starts from a blank slate.
Think of memory as the bot's notebook. Each note has a title, a body, and a category. The bot decides what is worth writing down, what to update when something changes, and what to throw away when a note becomes stale. You do not have to manage it by hand — but you do pick a preset that tells the bot how aggressively to write and how much of the notebook to read at the start of each turn.
How the bot reads its notebook
A naive bot would dump every past message into the next prompt. That burns through the model's context window in minutes and makes answers worse, not better. GolemCore avoids this by loading short summaries at the start of a turn and pulling full notes on demand only when the agent decides a note is relevant to what you just asked.
The result: the bot remembers a lot, but each turn starts with a tight, focused context.
Where notes live
Notes live in four buckets, sorted by how durable they are. You will see these names in the dashboard and in the glossary — they are useful when you want to know where a note ended up.
Right now
Notes about the current task. Cleared when the task ends. Used as scratch space within a session.
Working
What happened
Dated events: what happened in a past session. Stored by day. The bot uses these to remember context, like "you fixed this bug last Tuesday."
Episodic
What is true
Stable facts about your project, your tools, your preferences. The most durable bucket — these survive across many sessions.
Semantic
How to do it
How-to notes: a fix that worked, a command that did the job, a recipe the bot wants to reuse. Drawn on for similar problems later.
Procedural
Inside each bucket, the bot tags notes with a category: decision, constraint, failure, fix, preference, project_fact, task_state, or command_result. You will see these tags if you inspect the notebook directly, but you do not configure them — the bot picks the right one when it writes the note.
The seven presets
Open Settings → Memory in the dashboard. The first thing you see is a preset picker. Pick one that matches how you use the bot — you can change it later without losing anything.
Coding, fast
Lightweight — small token budget, only the top few notes per bucket. Use this for short chats where the bot does not need much context.
coding_fast
Coding, balanced
The default. Sensible budget, all four buckets active, promotes important episodic notes into long-term memory. Pick this if you are not sure.
coding_balanced
Coding, deep
Larger budget, deeper recall. Use this for long autonomous sessions where the bot needs to keep track of a lot of moving parts.
coding_deep
General chat
Minimal footprint. Skips procedural and most episodic notes. Use this for casual Q&A where memory just gets in the way.
general_chat
Research analyst
Tuned for research and writing. Heavy on semantic facts, light on procedural fixes. Good when you mostly accumulate knowledge, not commands.
research_analyst
Ops support
Tuned for incident response. Heavy on procedural notes (fixes, command results) so the bot can replay what worked last time.
ops_support
Disabled
Memory is fully off. Nothing is written, nothing is recalled. Pick this if you cannot store any cross-session data for privacy reasons.
disabled
Which preset to pick
Use coding_balanced if you are enabling memory for the first time. It is the default for a reason: it writes carefully (so the notebook does not fill up with noise), reads enough at the start of each turn to be useful, and lets the bot pull more detail when it needs it.
Switch to coding_deep only if you notice the bot forgetting things mid-session that it should still know. Switch to coding_fast if the bot feels sluggish or you mostly run short, throwaway chats. Switch to research_analyst or ops_support when your work fits one of those shapes — they trade some general usefulness for being better at one thing.
Tuning a preset by hand
Most operators never need to leave the preset picker. If you do, every parameter — token budgets, per-bucket top-K, promotion, decay, disclosure, reranking — is documented on its own page with the values each preset uses, so you can copy from the closest one and adjust.
See Memory Tuning for the full reference and a side-by-side preset comparison table.
LightRAG is optional
The built-in memory tool stands on its own. LightRAG is a separate plugin that adds a second, knowledge-graph-style way of searching across long documents — useful only when you have a large corpus to index. Turn it on under Settings → Plugins if you need it. Most users do not.
Where notes are stored on disk
Notes are saved as JSON Lines (.jsonl) files — one JSON object per line, appended over time. They live under the memory directory inside the workspace volume. The directory name is memory/ by default and can be overridden in Settings → Memory.
Notes that are not tied to a specific session, goal, or task — the “global” scope — live at the top of that directory. Notes attached to a session, goal, or task live in parallel trees under scopes/, each with the same items/… layout inside.
memory/
├── items/ # global scope
│ ├── semantic.jsonl # long-term facts
│ ├── procedural.jsonl # how-to notes
│ └── episodic/
│ └── <YYYY-MM-DD>.jsonl # dated events, one file per day
└── scopes/
├── session/<channel>/<sessionId>/
│ └── items/… # same three files, scoped to one session
├── goal/<…>/
│ └── items/… # scoped to one goal
└── task/<taskId>/
└── items/… # scoped to one taskBack up the whole memory directory
When you back up your notes, copy the entire workspace/memory/ tree, not just items/. If you only grab items/, you lose every session- and goal-scoped note under scopes/ — which is usually where most of your real history lives.
Restoring a notebook is a file copy: drop the directory back in place. The bot reads notes lazily on each turn through memory recall, so new files are picked up the next time memory is queried — no restart required.
What to do next
Related pages
User Guide
Memory Tuning
Every memory parameter, what it does, what each preset sets it to, and recipes for tuning your own.
User Guide
Configuration
How settings work, why you need a persistent volume, and where to find each setting in the dashboard.
User Guide
Auto Mode
How to turn Auto Mode on, create goals and tasks, put them on a schedule, and read the diary — all from the dashboard.
Reference
Glossary
One-line definitions for the terms that appear across the documentation. Use this when a word seems to mean something specific and you want the canonical meaning.