HermesAgent集成MinIO需四步:一、配置环境变量启用S3后端;二、启用s3-memory-backend插件实现长期记忆持久化;三、通过MCP协议封装MinIO为标准工具;四、利用MinIO事件通知触发自动化响应流程。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在为HermesAgent构建持久化存储后端,但发现其默认本地文件系统无法满足多实例协同、高可用或跨平台访问需求,则需将对象存储能力集成进来。MinIO作为S3协议兼容的轻量级对象存储服务,是HermesAgent生产部署中首选的外部存储集成方案。以下是实现HermesAgent与MinIO集成的具体操作路径:
一、配置MinIO作为HermesAgent的远程存储后端
该方法通过环境变量与配置文件引导HermesAgent将记忆、技能快照、日志归档等关键数据写入MinIO桶中,替代默认的本地./storage目录,从而实现状态持久化与集群共享。需确保MinIO服务已运行且可被HermesAgent所在节点网络可达。
1、在部署HermesAgent的ECS实例中,编辑其启动前的环境配置文件(如.env或systemd服务单元文件)。
2、添加以下S3兼容存储参数:
MINIO_ENDPOINT=192.168.1.10:9000
MINIO_ACCESS_KEY=admin
MINIO_SECRET_KEY=password123
MINIO_BUCKET_NAME=hermes-storage
MINIO_SECURE=false
3、确认MinIO服务已创建对应桶:使用mc alias set配置MinIO客户端,并执行mc mb local/hermes-storage。
4、重启HermesAgent服务,使其加载新环境变量并初始化S3存储驱动。
二、启用HermesAgent内置的S3记忆模块
该方法利用HermesAgent 0.4.0+版本原生支持的s3-memory-backend插件,将长期记忆(Long-Term Memory)直接落盘至MinIO,避免内存泄漏与重启丢失。此模块绕过本地缓存层,所有remember、recall操作均直连对象存储。
1、进入HermesAgent项目根目录,执行pip install hermes-agent[s3]安装扩展依赖。
2、在config.yaml中定位memory:节,修改为:
memory:
backend: s3
s3:
endpoint_url: http://192.168.1.10:9000
access_key_id: admin
secret_access_key: password123
bucket_name: hermes-ltm
3、确保MinIO中已启用版本控制:执行mc version enable local/hermes-ltm,以支持记忆回滚与审计。
4、启动HermesAgent时追加--config config.yaml参数完成加载。
三、通过MCP协议桥接MinIO工具集
该方法将MinIO封装为MCP(Model Context Protocol)标准工具,使HermesAgent可在任意任务中动态调用上传、下载、列举对象等能力,无需硬编码S3 SDK。适用于需在子Agent中按需操作存储资源的场景。
1、部署独立MCP服务器(如mcp-server-minio),配置其连接同一MinIO集群。
2、在MCP服务器配置中声明工具能力:
- minio_upload_object(接受本地路径与目标key)
- minio_list_objects(支持前缀过滤与分页)
- minio_download_object(返回临时本地路径)
3、在HermesAgent的tools/目录下放置minio_mcp_tool.py,内含MCP注册逻辑与认证凭证注入。
4、启动HermesAgent时设置环境变量MCP_SERVER_URL=http://localhost:3000,触发自动工具发现。
四、基于MinIO事件通知触发HermesAgent响应流程
该方法利用MinIO的Webhook机制,在对象上传、删除等事件发生时,向HermesAgent暴露的HTTP端点推送结构化事件,驱动自动化工作流,例如自动解析上传文档、归档对话日志或触发备份校验。
1、在MinIO控制台或使用mc event add命令为hermes-logs桶绑定Webhook:mc event add local/hermes-logs arn:minio:sqs::webhook:http --event put,delete
2、在HermesAgent中启用webhook-listener插件,并监听/api/v1/minio/event路径。
3、配置Webhook目标URL为HermesAgent服务地址:http://hermes-agent.internal:8000/api/v1/minio/event。
4、编写事件处理器函数,从请求体提取Records[0].s3.object.key,调用hermes.process_document(key)执行后续动作。











