Hermes Memorose 插件
hermes-memorose-plugin 仓库提供了一个独立的 Hermes 记忆提供方,名称为 memorose。
当 Hermes Agent 运行时需要通过现有 Memorose 服务读写长期记忆时,使用这个插件。
前置条件
- 已运行的 Memorose 服务。本地开发通常是
http://127.0.0.1:3000。 - Memorose API Key。可在 Dashboard 的 API Key 管理页面创建。
- 已安装 Hermes Agent,并启用插件能力。
安装插件
使用 GitHub shorthand 安装:plugin.yaml,并将该记忆提供方安装为 memorose。插件声明的 Python 依赖是 memorose>=0.1.1。
配置 Hermes
运行 Hermes 的记忆提供方配置流程:memorose。配置流程会要求填写:
MEMOROSE_API_KEY,作为 secret 环境变量保存。base_url,默认值为http://127.0.0.1:3000。
$HERMES_HOME/memorose.json:
org_id 是可选字段。如果 Agent 只需要用户级记忆,可以省略。
运行时映射
该插件有意保持身份和 stream 路由规则严格:- Hermes runtime 必须在初始化 provider 时传入
user_id。 - 缺少
user_id会直接报错。 - Hermes 的
session_id会直接作为 Memorose 的stream_id。 - 插件不支持其他 stream 路由策略。
检索与同步
构造 prompt 时,provider 可以从 Memorose 预取上下文,并格式化后交给 Hermes 使用。memorose.json 中的 retrieve 配置会映射到 Memorose retrieve request:
retrieve.limit控制最多返回多少条记忆。retrieve.min_score过滤低分检索结果。retrieve.graph_depth控制匹配记忆周围的图谱扩展深度。
sync.mode 控制:
user_only只写入用户消息。这是默认值。user_and_assistant同时写入用户消息和助手消息。
暴露给 Hermes 的工具
当memorose 是当前启用的记忆提供方时,Hermes 会暴露以下工具:
memorose_search:搜索 Memorose 中的长期记忆。memorose_store:向当前 user/session stream 写入新的记忆事件。memorose_delete:按 ID 删除当前用户的一条记忆。memorose_status:返回连接、路由和待处理任务状态。memorose_tasks:返回用户级任务树和 ready tasks。
CLI 状态检查
使用 Hermes 插件命令验证路由和连接状态:排障
MEMOROSE_API_KEY is required
请在 Hermes 使用的运行环境中设置 MEMOROSE_API_KEY。API Key 不会写入 memorose.json。
Memorose provider requires Hermes runtime user_id
确认 Hermes 集成在初始化记忆 provider 时提供了稳定的外部 user_id。插件不会降级为本地匿名用户。
请求打到了错误的服务地址
检查$HERMES_HOME/memorose.json 中的 base_url。Docker 或远程部署通常不能使用 http://127.0.0.1:3000。
助手消息没有被写入
如果sync.mode 是 user_only,这是预期行为。需要写入助手消息时,将其改为 user_and_assistant。
源码仓库
插件源码位于hermes-memorose-plugin,安装到 Hermes 后的 provider 名称是 memorose。
