Hermes Memorose Plugin
Thehermes-memorose-plugin repository provides a standalone Hermes memory provider named memorose.
Use it when a Hermes Agent runtime should read and write long-term memory through an existing Memorose server.
Prerequisites
- A running Memorose server, usually at
http://127.0.0.1:3000for local development. - A Memorose API key. Create one from the dashboard API key management page.
- Hermes Agent installed with plugin support.
Install The Plugin
Install from the GitHub shorthand:plugin.yaml and installs the provider as memorose. The plugin declares the Python dependency memorose>=0.1.1.
Configure Hermes
Run the Hermes memory setup flow:memorose when prompted. The setup flow asks for:
MEMOROSE_API_KEYas a secret environment variable.base_url, defaulting tohttp://127.0.0.1:3000.
$HERMES_HOME/memorose.json:
org_id is optional. Omit it if the agent should use user-scoped memory only.
Runtime Mapping
The plugin intentionally keeps identity and stream routing strict:- Hermes runtime must pass
user_idduring provider initialization. - Missing
user_idis a hard error. - Hermes
session_idis used directly as the Memorosestream_id. - The plugin does not implement alternate stream routing strategies.
Retrieval And Sync
During prompt construction, the provider can prefetch context from Memorose and format it for Hermes. The retrieve options inmemorose.json map to the Memorose retrieve request:
retrieve.limitcontrols the maximum number of memories returned.retrieve.min_scorefilters low-scoring retrieval results.retrieve.graph_depthenables graph expansion around matching memories.
sync.mode:
user_onlystores user turns only. This is the default.user_and_assistantstores both user and assistant turns.
Tools Exposed To Hermes
Whenmemorose is the active memory provider, Hermes exposes these tools:
memorose_searchsearches long-term memory stored in Memorose.memorose_storestores a new memory event in the current user/session stream.memorose_deletedeletes a memory by ID for the current user.memorose_statusreturns connectivity, routing, and pending-work status.memorose_tasksreturns user-level task trees and ready tasks.
CLI Status Check
Use the Hermes plugin command to verify routing and connectivity:Troubleshooting
MEMOROSE_API_KEY is required
Set MEMOROSE_API_KEY in the environment used by Hermes. The API key is not stored in memorose.json.
Memorose provider requires Hermes runtime user_id
Ensure the Hermes integration supplies a stable external user_id when initializing the memory provider. The plugin does not fall back to a local anonymous user.
Requests fail against the wrong server
Checkbase_url in $HERMES_HOME/memorose.json. Docker and remote deployments usually need an address other than http://127.0.0.1:3000.
Assistant messages are not stored
This is expected whensync.mode is user_only. Change it to user_and_assistant if assistant turns should also be ingested.
Source Repository
The plugin lives inhermes-memorose-plugin and is installed as the Hermes provider named memorose.
