Skip to main content

Vity (Maximem AI) memory provider plugin for Hermes Agent

Project description

Vity Memory for Hermes Agent

Vity by Maximem AI — persistent, cross-session semantic memory for Hermes Agent, distributed as a standalone plugin.

Vity gives the agent a long-term memory graph (facts, preferences, episodes, knowledge, profile). It automatically recalls relevant context before each turn and captures the conversation after each turn, so the agent remembers users and projects across sessions.

Built on the maximem-vity-sdk Python client.


Install

First, get an API key at app.maximem.ai/api-keys (starts with mx_). Then:

pip install hermes-maximem-vity
hermes-maximem-vity install

hermes-maximem-vity install does everything in one step:

  1. Copies the plugin into ~/.hermes/plugins/vity/, where Hermes discovers it.
  2. Prompts for your API key and saves it to ~/.hermes/.env (no duplicates).
  3. Activates the provider (memory.provider: vity).

It prints ✅ All set! when finished. Start the agent with hermes.

Non-interactive / scripted installs — pass the key as a flag to skip the prompt:

hermes-maximem-vity install --api-key mx_your_key
Hitting a PEP-668 "externally-managed-environment" or "pip: command not found" error?

System Python (e.g. Homebrew) blocks global pip install. Use pipx (recommended) or a virtual environment:

pipx install hermes-maximem-vity        # install pipx first if needed: brew install pipx
hermes-maximem-vity install

You don't need to match Python versions — the maximem-vity-sdk dependency is installed into Hermes' own environment automatically.

Verify

hermes-maximem-vity status   # plugin installed ✓, SDK available to Hermes ✓
hermes memory status         # shows: vity ← active
hermes vity status           # API key set ✓, SDK installed ✓, connection ok ✓

Update / remove

pip install -U hermes-maximem-vity && hermes-maximem-vity install --force   # update
hermes-maximem-vity uninstall                                               # remove

Troubleshooting

hermes vity status still says maximem-vity-sdk not installed — even after pip install?

Hermes runs inside its own isolated environment, which is usually not the Python that ran pip install (Anaconda or system Python). The SDK must live in Hermes' environment, and hermes-maximem-vity install puts it there for you — just re-run it:

hermes-maximem-vity install
hermes-maximem-vity status     # confirm: SDK available to Hermes ✓

Configuration

API key (secret — stored in ~/.hermes/.env):

Env var Required Description
MAXIMEM_API_KEY Your Maximem API key (mx_…). VITY_API_KEY is also accepted.

The API key owns the memory space — use a separate key per account that needs isolated memories.

Tunables (optional, non-secret — $HERMES_HOME/vity.json, created on install):

Key Default Description
auto_recall true Inject relevant memories before each turn
auto_capture true Capture the conversation after each turn
max_recall_tokens 1000 Token budget for recalled context
min_prompt_length 5 Skip recall for very short prompts

Self-hosted backend (optional): set MAXIMEM_ENDPOINT (or endpoint in vity.json) to point at a non-default Maximem API URL.


How it works

  • Recall before each turn — relevant memories are fetched in the background and injected as context, so the agent starts each turn already aware of the user.
  • Capture after each turn — the user/assistant exchange is saved to long-term memory.
  • Memory mirroring — when Hermes' built-in memory tool records a fact, it is also stored in Vity so it participates in semantic recall.

All network calls run on background threads, so the agent loop never blocks.


Agent tools

The plugin exposes four tools to the agent:

Tool Parameters Purpose
vity_recall query (required), top_k (default 10, max 50) Semantic search of stored memories.
vity_profile Retrieve the user's full stored memory profile.
vity_store content (required), memory_type (fact/preference/emotion/episode/knowledge/profile) Save a new memory.
vity_forget query, dry_run (default true) Delete matching memories (previews first).

In chat, this is transparent: ask the agent to "remember that …" and it calls vity_store; ask "what do you know about …" and it calls vity_recall. No special commands are required.


CLI

Manage memory directly from the terminal:

hermes vity status                          # config + live connection check
hermes vity search "favorite color"         # semantic search
hermes vity search "deadlines" --limit 20 --json
hermes vity store "I prefer dark mode" --type preference
hermes vity forget "old project"            # dry-run (preview)
hermes vity forget "old project" --yes      # confirm deletion

To (re)activate the provider, use hermes config set memory.provider vity. Avoid the interactive hermes memory setup wizard — buffered/pasted terminal input can drop the selection and leave the provider unset.


Development

pip install -e ".[dev]"
pytest -q

Tests stub the Hermes host modules (agent.memory_provider, tools.registry, hermes_constants, utils) so they run without a full Hermes checkout — see tests/conftest.py.

Layout

Path Purpose
src/hermes_maximem_vity/installer.py Thehermes-maximem-vity console command (install / uninstall / status).
src/hermes_maximem_vity/payload/provider.py VityMemoryProvider + register() — copied to ~/.hermes/plugins/vity/__init__.py on install.
src/hermes_maximem_vity/payload/cli.py Thehermes vity … subcommands.
src/hermes_maximem_vity/payload/plugin.yaml Plugin manifest (dependencies, required env).
src/hermes_maximem_vity/payload/vity.json.example Tunables template (seeded tovity.json on install).
tests/ Unit tests + host-module stubs.

License

MIT — see LICENSE.

Support

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

hermes_maximem_vity-1.0.4.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

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

hermes_maximem_vity-1.0.4-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file hermes_maximem_vity-1.0.4.tar.gz.

File metadata

  • Download URL: hermes_maximem_vity-1.0.4.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for hermes_maximem_vity-1.0.4.tar.gz
Algorithm Hash digest
SHA256 ab8caa4dadaa321603eb434d8c8951ae7fec63bf54ba2d35f0e40ada5212961a
MD5 185c01a0799e04fa2626f5ad24e91244
BLAKE2b-256 397ad4aee44bd4c6755accc9b99d56def0960d12079620bf24c51cd5daa3b881

See more details on using hashes here.

File details

Details for the file hermes_maximem_vity-1.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for hermes_maximem_vity-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 dfc32cc6fb1c2f8d1dcb102e2c9446241959eb573ad256066803afa9c1229754
MD5 79085effe9185066bb97ca9e76534af3
BLAKE2b-256 f12925e054c8e880663f545ca39ab3415cdcc0ed05b4e496fb8a3a7dab517a0d

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