Sero Memory is a built-in plugin (@sero-ai/plugin-memory) that gives the agent
durable context across sessions. It is meant for practical recall: preferences,
project notes, identity/profile details, scratchpad items, and daily work logs
that help future conversations start with less repeated setup. See the Plugin Catalog
for the built-in plugin inventory.
Sero is still a source-only OSS alpha. Treat memory as helpful local context, not perfect recall or a complete audit log.
Memory stores markdown files in the active Sero profile's global workspace:
MEMORY.md — durable facts, decisions, preferences, lessons learnedIDENTITY.md — agent identity, behavior rules, communication styleUSER.md — user profile details such as role, stack, and preferencesSCRATCHPAD.md — a persistent checklist for active working notesmemory/daily/YYYY-MM-DD.md — append-only daily activity logsUse synthetic, non-sensitive examples when testing memory. For example:
Avoid storing secrets, access tokens, private customer data, or anything you would not want included in local profile state or debug output.

Before an agent turn starts, the Memory plugin can add selected memory context to the agent's system prompt. This is selective, budgeted context — not every memory file and not every daily log is always included.
At a high level:
When the renderer exposes memory context for a message, it may appear as a collapsed memory-context block in the chat UI. Use that as a debugging aid: it shows what context was attached to that turn, not everything Sero knows.

The agent can use bridged CLI tools to read, write, list, and search memory. You can ask for these in chat, or use the command-shaped examples below when working in a Sero session.
Useful targets include memory, identity, user, and daily.
By default, writes append. Overwriting managed memory files is possible through the tool, but should be used carefully because it replaces existing context.
For keyword-style search across memory files:
For QMD-backed memory search, when available:
memory_search supports keyword, semantic, and deeper hybrid search modes in
the technical implementation, but semantic/deep behavior depends on QMD being
available and indexed for the current profile.
The scratchpad is a lightweight persistent checklist for current work. It is separate from long-term memory and is useful for short-lived reminders the agent should keep visible while helping you.
Keep scratchpad items short. Move durable lessons or preferences into memory when they should survive beyond the current task.
The Memory plugin registers these slash commands:
/memory — ask the agent to list or manage memory with the memory tool/scratchpad — ask the agent to list or manage scratchpad items/memory-log — show the memory plugin debug log pathExamples:
Slash commands route through the agent/session flow. Exact UI presentation may change during alpha.

Memory files live under the active profile's global workspace:
Memory debug logs live under:
<SERO_HOME> is profile-resolved. For the default profile it is usually
~/.sero-ui/, but custom profiles can use another root. For the canonical
storage map, see State and Folders.
Memory is local/profile-scoped Sero state, but it can still be sensitive:
Before sharing logs or screenshots, redact names, paths, project details, credentials, and memory content that should remain private.
Memory helps the agent recover useful context, but it is not guaranteed to remember every fact. If something matters for the current task, mention it in the prompt or ask the agent to inspect memory first.
Core memory tools still work without QMD. If QMD is unavailable, semantic search and selective retrieval degrade; keyword search and direct reads are the safer fallbacks.
Try:
The plugin has hooks for daily logs, session handoff, transcript backfill, and memory consolidation. In the current alpha, do not depend on a precise consolidation cadence, exact generated summaries, or complete transcript recall.
The chat UI may show memory context as a collapsed block when available, but visibility is not the same as storage. If you do not see a memory block, use the tools to inspect stored memory directly.
Memory is markdown managed by tools and agent behavior. If a preference changes, ask the agent to update the old entry rather than append a contradictory one. For example:
This guide is the user-facing overview. For implementation details, context
budgets, QMD integration, lifecycle hooks, and exact file behavior, see the
source reference
docs/features/memory.md
on GitHub.