OpenClaw/Hermes Article on agent memory options

yolo-auto1 pts0 comments

Memory Options for Hermes-Agent and OpenClaw-Style Agents · Yolo-Auto

Concept image: nested neural memory, factorials, and an OpenClaw laptop.

What Memory Solves

Without memory, action agents loop. They rediscover the same facts, reopen settled decisions, repeat research, forget user preferences, and spend context on things they should already know.

Before the agent touches tools, memory should answer four plain questions:

What has already been decided?<br>What is still just scratch work?<br>What user or project preferences should persist?<br>What context should the agent check before acting?<br>This matters more when the agent is not just chatting. A Hermes-Agent or OpenClaw-style workflow might send email, manage a calendar, check systems, run automations, or coordinate across several tools.

Bad memory is not only a token problem. It can make the agent take the wrong action.

Option 1: plain markdown files

Start here unless you already know why you cannot. A few small files usually beat a memory platform no one understands.

memory/<br>decisions.md<br>scratchpad.md<br>preferences.md<br>runbook.md<br>The split is simple:

decisions.md: settled decisions the agent should not reopen.

scratchpad.md: temporary notes, half-formed ideas, research trails, and anything not final.

preferences.md: durable user or project preferences.

runbook.md: repeatable commands, debugging workflows, deployment notes, and known fixes.

Example preferences:

Use Python 3.13.<br>Prefer uv for Python commands.<br>Prefer polars over pandas.<br>Do not add unnecessary validation helpers.<br>Keep generated code minimal and direct.<br>Those examples mention Python 3.13, uv, and Polars, but the point is not the tools. The point is that preferences are short, boring, and easy to check.

For a lot of Hermes-Agent and OpenClaw-style work, this is enough. The agent just needs to read the small files before it acts.

The catch: keep the files small. If memory turns into a 500-page junk drawer, the agent will skim it and miss the important part.

Option 2: Obsidian

Obsidian is great when you want a human-readable knowledge base that people also enjoy editing.

Use it for project notes, linked research, architecture notes, manual review, long-term documentation, and human-edited memory.

Do not reach for it just because the word memory is involved. If the agent only needs quick operational notes, Obsidian can be more workspace than you need.

It is a good fit for an OpenClaw-style workspace where the human and the agent both maintain notes. It is less useful when the agent only needs reminders like:

Never reopen this decision.

Always use this tool first.

This user prefers this workflow.

This integration has this known bug.

For that, plain markdown is faster and cleaner.

Option 3: mem0

mem0 makes sense when memory needs to behave like a service instead of a few files.

It is useful for long-term user preferences, repeated conversations, multi-agent memory, semantic retrieval, user-level memory across projects, and personalization.

For Hermes-Agent or OpenClaw-style assistants, reach for mem0 when the agent has to remember across many conversations and pull the right memory back automatically.

The tradeoff is cleanup. Once memory is automated, you need rules for what gets saved, what gets retrieved, and how wrong memories get corrected.

A system that quietly remembers the wrong thing is worse than no memory.

Option 4: local vector memory

Local vector memory is the next step when the notes are too big to read directly.

Agent writes structured notes<br>Markdown or JSON files<br>Embedding job<br>ChromaDB, LanceDB, or similar<br>Agent retrieves relevant memories later<br>Common pieces here are ChromaDB, LanceDB, local embeddings through Ollama, Qwen embedding models, and sometimes a reranker.

The win is retrieval. The agent can pull only the relevant memory instead of stuffing every note into the prompt.

This is a good fit for large project history, many users, many tools, lots of previous tasks, semantic search over past work, and lower token usage.

The cost is auditability. With markdown, you open the file and see what the agent knows. With vector memory, you need logs.

At minimum, log this:

Memory query<br>Retrieved memories<br>Similarity score<br>Reranker score<br>Final memories injected into context<br>New memories written<br>Memories updated or deleted<br>Without retrieval logs, you are trusting a black box.

Option 5: docs or wiki memory

For bigger operational knowledge, use a real docs system. That might be BookStack, a docs folder, a wiki, or an internal knowledge base.

This is where architecture, runbooks, production procedures, integration docs, system design, operational policies, and incident notes belong.

Do not make the wiki replace short-term agent memory. Keep the boundary clear:

decisions.md: short, active memory.

scratchpad.md: temporary thinking.

preferences.md: durable user or project preferences.

docs/wiki: long-lived operational knowledge.

For OpenClaw-style agents,...

memory agent preferences notes openclaw user

Related Articles