One-command installer for the Agentic Memory Hermes Agent plugins
Project description
Agentic Memory for Hermes Agent
Agentic Memory for Hermes Agent installs a memory provider and context engine
that connect Hermes sessions to an Agentic Memory backend. The package is built
for a practical one-command install with uvx, while still preserving the file
layout that Hermes itself expects.
It ships two Hermes plugin surfaces side by side:
MemoryProvider- installed at
~/.hermes/plugins/memory/agentic-memory - recalls Agentic Memory context before model calls
- exposes
agentic_memory_searchandagentic_memory_read - persists completed turns to Agentic Memory in a background thread
- installed at
ContextEngine- installed at
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory - replaces default compression with Agentic Memory-backed context resolution
- exposes
agentic_memory_context - keeps Hermes token counters and returns valid OpenAI-format messages
- installed at
Install
Install the Hermes integration with uvx from PyPI:
uvx agentic-memory-hermes install --force
That single command:
- downloads the
agentic-memory-hermeswheel into an ephemeraluvxtool environment - copies the bundled memory provider into Hermes' documented memory plugin directory
- copies the bundled context engine into Hermes' installed-agent plugin directory
- writes a compatibility mirror for Hermes v0.13's flat memory-provider loader
- runs
hermes config set memory.provider agentic-memory - runs
hermes config set context.engine agentic-memory
For an isolated Hermes profile, pass the profile home explicitly:
uvx agentic-memory-hermes install --force --hermes-home "$HERMES_HOME"
What Gets Installed
Hermes' docs define memory providers as category plugins under
plugins/memory/<name>. Hermes v0.13's runtime loader still scans the older
flat $HERMES_HOME/plugins/<name> location for user-installed memory
providers. The installer therefore writes the documented path first and a flat
compatibility mirror second.
~/.hermes/
├── agentic-memory.json # created by Hermes setup/runtime, not by uvx
├── plugins/
│ ├── memory/
│ │ └── agentic-memory/
│ │ ├── __init__.py # MemoryProvider implementation
│ │ ├── cli.py # hermes agentic-memory status command
│ │ └── plugin.yaml # documented memory plugin manifest
│ └── agentic-memory/ # Hermes v0.13 compatibility mirror
│ ├── __init__.py
│ ├── cli.py
│ └── plugin.yaml
└── hermes-agent/
└── plugins/
└── context_engine/
└── agentic-memory/
├── __init__.py # ContextEngine implementation
└── plugin.yaml # context engine manifest
It also updates Hermes config:
memory:
provider: agentic-memory
context:
engine: agentic-memory
The install does not write secrets. Put your API key in the Hermes .env file:
AGENTIC_MEMORY_API_KEY=...
Non-secret runtime config lives at:
$HERMES_HOME/agentic-memory.json
Does uvx Put Everything In The Proper Hermes Place?
Yes, with an important Hermes v0.13 compatibility detail. The installer now
writes the memory provider to the documented path,
$HERMES_HOME/plugins/memory/agentic-memory, and also writes a flat mirror at
$HERMES_HOME/plugins/agentic-memory because the v0.13 memory loader still
scans that older path. The context engine goes to
$HERMES_HOME/hermes-agent/plugins/context_engine/agentic-memory.
The command verified in WSL was:
UV_NO_CACHE=1 uvx agentic-memory-hermes install --force
After that install, Hermes reported the plugin as enabled, exposed
agentic_memory_search, agentic_memory_read, and agentic_memory_context,
and successfully ran an Agentic Memory search against the hosted Ladybug
runtime.
If you install the package directly into Hermes' own Python environment, Hermes
can also discover the plugin through the hermes_agent.plugins entry point:
~/.hermes/hermes-agent/venv/bin/pip install agentic-memory-hermes
That entry-point path is useful for Nix or custom Hermes deployments, but the
uvx ... install --force command is the recommended user path because it works
even when the package manager environment and Hermes' own Python environment
are separate.
Manual Install Into Hermes
Copy the memory provider into the Hermes profile plugin directory, then copy the context engine into the Hermes project plugin directory. Hermes v0.13 scans those two plugin types differently:
cp -R packages/am-hermes/plugins/memory/agentic-memory \
~/.hermes/plugins/memory/agentic-memory
# Compatibility mirror for Hermes v0.13 user memory-provider discovery.
cp -R packages/am-hermes/plugins/memory/agentic-memory \
~/.hermes/plugins/agentic-memory
cp -R packages/am-hermes/plugins/context_engine/agentic-memory \
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
Configure Hermes:
hermes memory setup
hermes config set memory.provider agentic-memory
hermes config set context.engine agentic-memory
The setup wizard writes non-secret configuration to:
$HERMES_HOME/agentic-memory.json
Secrets are expected in the Hermes .env file via:
AGENTIC_MEMORY_API_KEY=...
If you need a managed account key during Hermes setup, use the Hermes-attributed account URL:
https://backend.agentmemorylabs.com/account/auth/google/start?connector_source=hermes
Direct website signups do not receive a free hosted runtime trial by default. Connector-attributed signups can receive a configured trial when Agent Memory Labs is running that acquisition campaign.
Optional environment overrides:
AGENTIC_MEMORY_BACKEND_URL=https://backend.agentmemorylabs.com
AGENTIC_MEMORY_DATA_PLANE_URL=
AGENTIC_MEMORY_WORKSPACE_ID=hermes
AGENTIC_MEMORY_DEVICE_ID=hermes-local
AGENTIC_MEMORY_AGENT_ID=hermes-agent
AGENTIC_MEMORY_PROJECT_ID=
For managed hosted accounts, AGENTIC_MEMORY_BACKEND_URL is the control-plane
URL. During setup the memory provider tries to fetch
/product/account/runtime-route; when the account runtime is ready it saves a
branded data-plane URL such as https://rt-abc123.agentmemorylabs.app in
agentic-memory.json. Normal memory and context calls then use that owned
runtime URL. Raw provider origins are not written to Hermes config.
Troubleshooting
If Hermes reports HTTP 403 with error code: 1010, the request was blocked
at the Cloudflare edge before it reached Agentic Memory. Check these first:
AGENTIC_MEMORY_BACKEND_URLshould normally behttps://backend.agentmemorylabs.com.AGENTIC_MEMORY_DATA_PLANE_URLshould be empty unless setup saved a current account runtime route in~/.hermes/agentic-memory.json.AGENTIC_MEMORY_WORKSPACE_IDshould match the workspace bound to the API key when using workspace-bound keys. Account-scoped keys can use the defaulthermesworkspace.AGENTIC_MEMORY_API_KEYmust be present in the Hermes environment.- Hosted edge rules must allow the
agentic-memory-hermes/0.1.0User-Agent.
The plugin records background write failures instead of printing thread tracebacks, so search/context tool errors are the canonical symptom to inspect.
Backend Contract
The Hermes plugins use the same backend routes as the OpenClaw integration:
GET /product/account/runtime-routePOST /openclaw/session/registerPOST /openclaw/memory/searchPOST /openclaw/memory/readPOST /openclaw/memory/ingest-turnPOST /openclaw/context/resolve
That keeps this integration a thin host adapter. Agentic Memory remains the system of record for storage, retrieval, project scope, and hosted/self-hosted backend behavior.
Verify From This Repo
The tests use local Hermes ABC shims so this module can be checked without a Hermes checkout:
.\.venv-agentic-memory\Scripts\python.exe -m pytest packages/am-hermes/tests -q
WSL Paths
When this repo is checked out on Windows at D:\code\agentic-memory, the WSL
copy commands are:
mkdir -p ~/.hermes/plugins/memory ~/.hermes/plugins ~/.hermes/hermes-agent/plugins/context_engine
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/memory/agentic-memory \
~/.hermes/plugins/memory/agentic-memory
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/memory/agentic-memory \
~/.hermes/plugins/agentic-memory
cp -R /mnt/d/code/agentic-memory/packages/am-hermes/plugins/context_engine/agentic-memory \
~/.hermes/hermes-agent/plugins/context_engine/agentic-memory
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentic_memory_hermes-0.1.2.tar.gz.
File metadata
- Download URL: agentic_memory_hermes-0.1.2.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2471acd73925442db3545fbcbc6288cfcf87922edabd5a7db236f7deedd4b2dd
|
|
| MD5 |
bf61da8cccbbf0c794f53c069a17d74c
|
|
| BLAKE2b-256 |
bcfae6b2ea60b4294820a4504603b11e4c3bd27c8d436e7f312efdaeb0d70c7e
|
File details
Details for the file agentic_memory_hermes-0.1.2-py3-none-any.whl.
File metadata
- Download URL: agentic_memory_hermes-0.1.2-py3-none-any.whl
- Upload date:
- Size: 24.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5d9a217b184bb0c00e673deea20e5f8766b5f7ec13142246e41067b1d3226aa6
|
|
| MD5 |
ab51925a1a757525551313bef30d5dda
|
|
| BLAKE2b-256 |
00fdd879b2bdf9f053dcfc9f1b9cbcc6d2edacf1e5476c8b66ac2fd872082ea9
|