Skip to main content

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_search and agentic_memory_read
    • persists completed turns to Agentic Memory in a background thread
  • 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

Install

Install the Hermes integration with uvx from PyPI:

uvx agentic-memory-hermes install --force

That single command:

  1. downloads the agentic-memory-hermes wheel into an ephemeral uvx tool environment
  2. copies the bundled memory provider into Hermes' documented memory plugin directory
  3. copies the bundled context engine into Hermes' installed-agent plugin directory
  4. writes a compatibility mirror for Hermes v0.13's flat memory-provider loader
  5. runs hermes config set memory.provider agentic-memory
  6. 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_URL should normally be https://backend.agentmemorylabs.com.
  • AGENTIC_MEMORY_DATA_PLANE_URL should be empty unless setup saved a current account runtime route in ~/.hermes/agentic-memory.json.
  • AGENTIC_MEMORY_WORKSPACE_ID should match the workspace bound to the API key when using workspace-bound keys. Account-scoped keys can use the default hermes workspace.
  • AGENTIC_MEMORY_API_KEY must be present in the Hermes environment.
  • Hosted edge rules must allow the agentic-memory-hermes/0.1.0 User-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-route
  • POST /openclaw/session/register
  • POST /openclaw/memory/search
  • POST /openclaw/memory/read
  • POST /openclaw/memory/ingest-turn
  • POST /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

agentic_memory_hermes-0.1.2.tar.gz (18.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agentic_memory_hermes-0.1.2-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

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

Hashes for agentic_memory_hermes-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2471acd73925442db3545fbcbc6288cfcf87922edabd5a7db236f7deedd4b2dd
MD5 bf61da8cccbbf0c794f53c069a17d74c
BLAKE2b-256 bcfae6b2ea60b4294820a4504603b11e4c3bd27c8d436e7f312efdaeb0d70c7e

See more details on using hashes here.

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

Hashes for agentic_memory_hermes-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d9a217b184bb0c00e673deea20e5f8766b5f7ec13142246e41067b1d3226aa6
MD5 ab51925a1a757525551313bef30d5dda
BLAKE2b-256 00fdd879b2bdf9f053dcfc9f1b9cbcc6d2edacf1e5476c8b66ac2fd872082ea9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page