Files
Hermes 94f2a10a8b initial: multi-memory provider reference
Saved from the fork's patches/multi-memory branch. Contains the refactored
agent/memory_manager.py that supports N memory providers simultaneously.

Not active — stored for future reference.
- agent_memory_manager_patched.py (the refactored version)
- agent_memory_manager_original.py (upstream version for comparison)
- plugin.yaml + README
2026-05-24 19:40:56 -04:00

1.5 KiB

Hermes Multi-Memory Plugin

Reference/save of the multi-memory provider patch from the fork.

NOT currently installed or active. The fork's patches/multi-memory branch refactors agent/memory_manager.py to support running multiple memory providers (Honcho, Mem0, SuperMemory, RetainDB, etc.) simultaneously instead of only one at a time.

Files

  • agent_memory_manager_patched.py — The refactored MemoryManager from the patches/multi-memory branch. Handles registration, prefetch, sync, tool routing, and lifecycle hooks for N providers.
  • agent_memory_manager_original.py — The original upstream agent/memory_manager.py for comparison.

Why saved but not active

This patch fundamentally changes the MemoryManager class in agent/memory_manager.py. It cannot be monkey-patched as a plugin because:

  1. The class is imported and used at module scope in multiple places before any plugin's register() function runs.
  2. The refactor is structural (adding provider orchestration, changing method signatures) — not a simple constant override.
  3. Hermes already has a working single-provider system (Honcho).

The code is saved here for reference if the need for multi-memory support ever arises.

Original patch context

  • Branch: patches/multi-memory in gortium/hermes-agent
  • Primary file changed: agent/memory_manager.py (+54 lines)
  • Kept Hermes's existing single-provider behavior as the default while providing the orchestration layer for multi-provider setups