cd /news/developer-tools/why-i-built-a-new-memory-plugin-for-… · home topics developer-tools article
[ARTICLE · art-27161] src=dev.to ↗ pub= topic=developer-tools verified=true sentiment=· neutral

Why I Built a New Memory Plugin for Hermes Agent

A developer built hermes-mempalace, a new memory plugin for Hermes Agent that stores full conversation transcripts as readable markdown files rather than opaque embeddings. The plugin integrates with the MemPalace CLI and provides tools for searching and reviewing past context, with profile isolation under the HERMES_HOME directory.

read3 min publishedJun 14, 2026

Hermes Agent already has memory, and that matters.

It keeps local context, it improves over time, and it works without forcing you into a cloud service. It also supports several external memory providers.

I still built hermes-mempalace, because none of the existing options fit my setup quite right.

I wanted something:

That last part is the important one. I did not want a memory layer that turns conversations into an opaque pile of embeddings or summaries you cannot really audit. I wanted actual transcripts, mined into a readable structure, with no hidden server in the middle.

Why the existing options were not enough

Hermes already gives you a few paths:

And to be clear, some of those options are good.

But ... I run Hermes on a headless machine at home. And I use separate profiles for different contexts. And I do not want conversation content depending on a cloud API or a separate service unless there is a very good reason.

So, the best fit had to check a few boxes:

HERMES_HOME

That let to MemPalace, or https://mempalaceofficial.com/ (hopefully, that's the right one!)

hermes-mempalace wires MemPalace into the Hermes memory provider interface.

It follows the same lifecycle as the rest of Hermes memory providers:

system_prompt_block()

adds a short memory reminder to the prompt.prefetch()

can run a MemPalace search before the first model call.sync_turn()

buffers completed turns without slowing the chat loop.on_session_end()

writes buffered turns to markdown and mines them into the palace.shutdown()

flushes anything still waiting.During a session, Hermes gets three tools:

mempalace_search

mempalace_wake_up

mempalace_status

That gives the agent a simple pattern: find relevant past context, surface it early, and keep the full record available if you need to inspect it.

The plugin stores data under the current Hermes profile, not in some shared global bucket.

$HERMES_HOME/mempalace/palace/          # palace index
$HERMES_HOME/mempalace/conversations/   # mined transcripts as markdown

That was important to mw. Profile isolation should be structural, not something you hope the config handles correctly.

If you already use Hermes:

`
hermes memory setup

Install the MemPalace CLI:

uv tool install mempalace

Then verify everything is in place:

hermes memory status
hermes plugins list

The main difference is not flashy.

It is that mempalace_wake_up

gives Hermes useful context at the start of a session without turning the whole memory layer into a black box.

You can inspect the transcripts. You can search them. You can open the directory and see what happened. If you want to prune or review something, you are not fighting the system.

That is the part I cared about most.

Hermes still keeps its built-in memory. hermes-mempalace does not replace that. It adds an archival layer on top of it. One that feels a lot more like a real notebook than a hidden model feature.

If this sounds useful... let me know :)

If you are already happy with Hermes memory, you probably do not need this.

But if you want:

then hermes-mempalace may be a good fit.

The plugin is MIT licensed, and the repo is here:

── more in #developer-tools 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/why-i-built-a-new-me…] indexed:0 read:3min 2026-06-14 ·