Memory
How Delphi remembers facts, preferences, and context across sessions.
Memory in Delphi is plain Markdown — readable and editable directly. There are three layers:
MEMORY.md
Durable facts and preferences that apply to every session. The agent reads this at the start of conversations that reference past context and appends to it via the learn tool.
Examples of what lives here:
- Your name and role
- Preferred reply style ("always concise unless asked for detail")
- Business context ("we use NZD for all amounts")
- Technical stack ("the API is Python + FastAPI, deployed on Render")
Daily notes
Located at ~/memory/YYYY-MM-DD.md. Each day's session context is appended here — what you worked on, decisions made, tasks completed. The agent creates the file if it doesn't exist.
DREAMS.md
Insights promoted from daily notes during the nightly dreaming sweep. When DREAMING_ENABLED=true, the agent reviews recent daily notes, scores recurring patterns, and promotes high-scoring insights to DREAMS.md. These become part of the long-term memory layer.
How retrieval works
Delphi uses BM25 full-text search over all memory files. When a message seems to reference past context, the agent searches and injects relevant excerpts into the session. You don't need to ask it to remember — it does this automatically.
Teaching the agent
"Remember that I prefer bullet points over prose"
"Always use metric units in your answers"
"We use GitHub for all code, not GitLab"
These phrases trigger the learn tool, which writes the fact to the appropriate memory file.