A standalone plugin that turns the agent-memory-es service into three native agent tools — recall, retain, reflect — with server-enforced private/team/common visibility.
What the agent gets
No daemon on your laptop beyond the service itself, no config surface beyond a URL and a key. The plugin is a thin client — all memory logic lives in the service.
agent_memory_recallhybrid search over the memory bank — the agent's own remember that… lookupagent_memory_retainstore a durable fact, tagged private / team / common — visibility the profile can narrow but never widenagent_memory_reflectask a question over memory, get an answer with citations back to memory idsHow a turn flows
Turn sync mirrors your words into the episodic tier; prompts get a top-5 prefetch so the model starts with relevant memories; reflect runs only when asked. Click through the full sequence — every message maps to a real code path.
Why this shape
Lives in ~/.hermes/plugins/agent_memory_es/ — no Hermes source changes, survives agent upgrades.
Owner identity binds to the API key server-side. A misbehaving profile can't read another owner's private memories by asking nicely.
Tool schemas use the OpenAI parameters key — pinned by a regression test after the MCP-style input_schema naming silently stripped every argument.
Service down? Hermes keeps working — memory calls fail soft, the session doesn't.
Install
# 1. run the agent-memory-es service and mint a key — see its quick start # https://patrykkopycinski.github.io/agent-memory-es/#quickstart # 2. drop the plugin into user plugins (dir name matters) git clone https://github.com/patrykkopycinski/hermes-plugin-agent-memory-es.git \ ~/.hermes/plugins/agent_memory_es # 3. point Hermes at it # ~/.hermes/config.yaml: # memory: # provider: agent_memory_es export AMES_SERVICE_URL=http://localhost:8123 export AMES_SERVICE_KEY=<your-key> # 4. verify hermes memory status