Skip to main content

rushdb-hermes-memory

Native RushDB persistent memory for Hermes Agent.

The provider recalls scope-authorized historical context before inference, captures completed turns without blocking the response, and uses a profile-local durable outbox so acknowledged events survive process restarts.

Requirements

  • Python 3.11–3.13
  • Hermes Agent with memory-provider entry-point support
  • A RushDB project API key from app.rushdb.com

Install

Install the provider into the same Python environment as Hermes Agent:

pip install rushdb-hermes-memory
hermes memory setup

Set the RushDB project key in the Hermes environment:

export RUSHDB_API_KEY="your-project-api-key"

Optional environment variables:

  • RUSHDB_API_URL selects a self-hosted RushDB API.
  • RUSHDB_MEMORY_SCOPE_SALT makes participant hashes deployment-specific.

Hermes discovers the rushdb provider through the hermes_agent.memory_providers Python entry-point group.

Behavior

  • Recall searches EPISODE.summary and active MEMORY_FACT.text records with mandatory agent, profile, privacy, participant, and sandbox scope filters.
  • Recall has a short fail-open timeout and falls back to bounded recent in-process episodes.
  • Successful primary-agent turns are captured asynchronously as canonical EPISODE records.
  • Explicit Hermes memory add and replace operations are mirrored as active MEMORY_FACT records.
  • Writes first enter an atomic local outbox under $HERMES_HOME/rushdb-memory/outbox, then use deterministic IDs and idempotent RushDB upserts.
  • Surviving outbox files are retried while the process is running and replayed after restart.

Privacy and trust

The provider uploads bounded user and assistant text from completed primary-agent turns. It does not automatically upload Hermes' complete messages payload, system prompts, tool calls, command output, or local file paths. Subagents do not write memory.

Recalled records are formatted as untrusted historical context, never as instructions or policy. Participant identifiers are stored as hashes rather than raw platform IDs.

Development

uv sync --locked --group dev
uv run ruff format --check .
uv run ruff check .
uv run pytest
uv build

Release

CI verifies pull requests and every push to main. A successful main build publishes the version in pyproject.toml to PyPI when that exact version is not already present. Configure the pypi GitHub environment and its PYPI_TOKEN secret. Bump version before merging a subsequent release.

License

Apache-2.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rushdb_hermes_memory-0.1.0.tar.gz (28.6 kB view details)

Uploaded Source

Built Distribution

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

rushdb_hermes_memory-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file rushdb_hermes_memory-0.1.0.tar.gz.

File metadata

File hashes

Hashes for rushdb_hermes_memory-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f5022602811efccdf1c802348ddda9bad79d711ecb892456826ec76e3b79b252
MD5 38f817a19a6308c9fb7d4bb1c65d2eb7
BLAKE2b-256 f4ea9a08ba58cebe8dca6edb042d8a98881af4f3dd08f8e1fb09fa4147a75279

See more details on using hashes here.

File details

Details for the file rushdb_hermes_memory-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for rushdb_hermes_memory-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a94940f5956eb0cbc30e1046156757ec97882f0ae26fc400e5d83867b1c944ce
MD5 b0ca4da0b02f42451ace93b39add79a1
BLAKE2b-256 abf70fdae43e695bbe6ddf0a195d46ffa60e908b9300dd6b19fb96a7cfd665b4

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 Sentry Error logging StatusPage Status page