{"slug": "why-i-built-a-new-memory-plugin-for-hermes-agent", "title": "Why I Built a New Memory Plugin for Hermes Agent", "summary": "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.", "body_md": "[Hermes Agent](https://github.com/NousResearch/hermes-agent) already has memory, and that matters.\n\nIt keeps local context, it improves over time, and it works without forcing you into a cloud service. It also supports several external memory providers.\n\nI still built [hermes-mempalace](https://github.com/abdallah/hermes-mempalace), because none of the existing options fit my setup quite right.\n\nI wanted something:\n\nThat 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.\n\nWhy the existing options were not enough\n\nHermes already gives you a few paths:\n\nAnd to be clear, some of those options are good.\n\nBut ... 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.\n\nSo, the best fit had to check a few boxes:\n\n`HERMES_HOME`\n\nThat let to [MemPalace](https://github.com/MemPalace/mempalace), or [https://mempalaceofficial.com/](https://mempalaceofficial.com/) (hopefully, that's the right one!)\n\nhermes-mempalace wires MemPalace into the Hermes memory provider interface.\n\nIt follows the same lifecycle as the rest of Hermes memory providers:\n\n`system_prompt_block()`\n\nadds a short memory reminder to the prompt.`prefetch()`\n\ncan run a MemPalace search before the first model call.`sync_turn()`\n\nbuffers completed turns without slowing the chat loop.`on_session_end()`\n\nwrites buffered turns to markdown and mines them into the palace.`shutdown()`\n\nflushes anything still waiting.During a session, Hermes gets three tools:\n\n`mempalace_search`\n\n`mempalace_wake_up`\n\n`mempalace_status`\n\nThat 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.\n\nThe plugin stores data under the current Hermes profile, not in some shared global bucket.\n\n```\n$HERMES_HOME/mempalace/palace/          # palace index\n$HERMES_HOME/mempalace/conversations/   # mined transcripts as markdown\n```\n\nThat was important to mw. Profile isolation should be structural, not something you hope the config handles correctly.\n\nIf you already use Hermes:\n\n```\n`\nhermes memory setup\n```\n\nInstall the MemPalace CLI:\n\n```\nuv tool install mempalace\n```\n\nThen verify everything is in place:\n\n```\nhermes memory status\nhermes plugins list\n```\n\nThe main difference is not flashy.\n\nIt is that `mempalace_wake_up`\n\ngives Hermes useful context at the start of a session without turning the whole memory layer into a black box.\n\nYou 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.\n\nThat is the part I cared about most.\n\nHermes 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.\n\nIf this sounds useful... let me know :)\n\nIf you are already happy with Hermes memory, you probably do not need this.\n\nBut if you want:\n\nthen hermes-mempalace may be a good fit.\n\nThe plugin is MIT licensed, and the repo is here:", "url": "https://wpnews.pro/news/why-i-built-a-new-memory-plugin-for-hermes-agent", "canonical_source": "https://dev.to/abdallah/why-i-built-a-new-memory-plugin-for-hermes-agent-467n", "published_at": "2026-06-14 18:17:11+00:00", "updated_at": "2026-06-14 18:40:58.975640+00:00", "lang": "en", "topics": ["developer-tools", "artificial-intelligence", "large-language-models", "ai-agents"], "entities": ["Hermes Agent", "Nous Research", "MemPalace", "hermes-mempalace", "GitHub"], "alternates": {"html": "https://wpnews.pro/news/why-i-built-a-new-memory-plugin-for-hermes-agent", "markdown": "https://wpnews.pro/news/why-i-built-a-new-memory-plugin-for-hermes-agent.md", "text": "https://wpnews.pro/news/why-i-built-a-new-memory-plugin-for-hermes-agent.txt", "jsonld": "https://wpnews.pro/news/why-i-built-a-new-memory-plugin-for-hermes-agent.jsonld"}}