How Hermes Usable Memory turned Usable into a real memory layer
I wanted Usable to be more than a place where fragments happen to live. I wanted Hermes to search it, fetch from it, and write back to it as part of normal execution.
Hermes already had the shape of a useful agent, but the memory layer was the weak point. Usable was good at storing durable fragments, yet it still sat off to the side. Hermes Usable Memory is the small plugin repository I built to close that gap and make Usable part of the operating loop instead of a separate destination.
The repository lives at github.com/langastina/hermes-usable-memory. It provides a dedicated Usable-backed memory provider for Hermes plus an install helper that copies the plugin into a local Hermes checkout under plugins/memory/usable. The point is not a giant framework. The point is a narrow bridge that does the useful thing directly.
That bridge matters because memory gets better when it is active. The provider talks to the Usable MCP HTTP endpoint at https://usable.dev/api/mcp, exposes workspace listing, semantic search, fragment listing, fragment fetch, and fragment storage, and supports background recall behavior through semantic search. It can also mirror curated Hermes memory writes into Usable and optionally capture a bounded session transcript at session end.
Once that exists, continuity changes. Hermes can search the right workspace at the start of a task, pull in the fragments that matter, and write new durable knowledge back into the same system when the work is done. Project continuation stops feeling improvised. Preferences, plans, and verified solutions stop disappearing into chat history.
I also wanted installation to stay honest. The helper takes either a Hermes checkout path or a .hermes path, copies the provider into the right plugin directory, and then leaves a clear next step: set memory.provider to usable and run the memory setup flow. From there the operator can configure bearer auth, workspace ID, repository tagging, search tags, auto-recall behavior, and bounded capture settings.
What I like about this project is its size. It is small infrastructure, but it changes how the whole system behaves. That is usually the best kind of tooling: narrow in scope, obvious in value, and hard to imagine removing once it is in place.