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
38 lines
1.5 KiB
Markdown
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
|