跳到主要内容

agent_memory_es

❖ Communityv0.1.0★ 1

Self-owned long-term memory backed by the agent-memory-es service (Elasticsearch). Three agent tools — recall, retain, reflect — over episodic/ semantic/procedural tiers with hybrid BM25+kNN recall and server-enforced private/team/common visibility. Requires a running agent-memory-es instance.

Open in Hermes Desktop
hermes plugins install agent_memory_es

What it adds

Tools 3

agent_memory_recallagent_memory_retainagent_memory_reflect

Environment variables it needs 2

AMES_SERVICE_URLAMES_SERVICE_KEY

README

From the reviewed commit e9469ee ↗; it updates when the author re-pins.

agent_memory_es — Hermes memory provider plugin

Standalone Hermes Agent memory plugin that backs Hermes long-term memory with the agent-memory-es service (ES-native memory bank with private / team / common visibility tiers).

Adds three agent tools:

Tool Purpose
agent_memory_recall Search the long-term memory bank
agent_memory_retain Store a durable fact (with visibility tier)
agent_memory_reflect Answer a question from memory with citations

Owner identity is the service-side owner bound to the API key; the profile can never widen visibility by argument.

Landing page

https://patrykkopycinski.github.io/hermes-plugin-agent-memory-es/ — concept, install, interactive flow diagram.

Architecture

agent-memory-es topology

This plugin is a thin HTTP client — all memory logic (hybrid recall, visibility filtering, promotion guard, consolidation) lives in the agent-memory-es service:

Hermes Agent ── this plugin ──HTTP── FastAPI :8123 ── Elasticsearch
                                     (auth: X-API-Key → owner_id)
  • On every turn, sync_turn mirrors the user's words into the episodic tier
  • Built-in Hermes memory writes are mirrored into the semantic tier (on_memory_write)
  • Prompts get a lightweight prefetch recall (top-5) before the model answers
  • Full architecture walkthrough: docs/ARCHITECTURE.md · interactive explainer: docs/explainer.html

Install

# 1. run the agent-memory-es service (see its repo) and mint a profile API key

# 2. drop this plugin into user plugins (dir name MUST stay agent_memory_es)
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   # default
export AMES_SERVICE_KEY=<your-key>

# 4. verify
hermes memory status

Config

Key Env fallback Default Description
url AMES_SERVICE_URL http://localhost:8123 FastAPI service endpoint
api_key AMES_SERVICE_KEY — Per-profile API key (determines owner identity)

Development

cd ~/.hermes/hermes-agent   # any hermes-agent checkout provides the contract
python -m pytest ~/.hermes/plugins/agent_memory_es/tests -q

The regression test pins the OpenAI parameters schema key — the sanitizer silently empties MCP-style input_schema, which strips every tool argument.

← Back to the catalog · catalog built Oct 3, 2026