Files
hermes-multimemory-plugin/README.md
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

38 lines
1.5 KiB
Markdown

# 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