磁盘空间持续增长等问题源于未清理的冗余记忆文件,需通过五种方法解决:一、手动筛选删除过期/空/废弃文件;二、配置自动归档策略;三、设置媒体缓存TTL;四、启用上下文压缩;五、禁用非必要记忆加载。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Hermes Agent 时发现磁盘空间持续增长、~/.hermes/memory/ 目录体积膨胀明显,或文件系统 I/O 响应变慢,则很可能是由于长期积累的无用记忆文件未被清理,导致存储冗余与检索负担加重。以下是针对性的定期清理操作步骤:
一、手动筛选并删除过期/空/废弃记忆文件
该方法通过人工判断快速识别低价值记忆条目,适用于对记忆内容敏感度高、需保留关键事实的场景。Hermes Agent 的记忆文件以时间戳命名(如 20260322_143528.md),内容为结构化 Markdown 条目,可通过内容特征精准剔除冗余。
1、进入记忆目录:cd ~/.hermes/memory/
2、列出最近修改的前30个文件以便筛查:ls -t | head -30
3、逐个检查文件内容,删除满足任一条件的文件:包含[DEPRECATED]标记、创建时间早于90天、内容为空、仅含通用问候语(如“你好”“收到”)或重复性调试日志
4、确认无误后执行批量删除:find . -name "*.md" -type f -mtime +90 -delete
二、配置自动归档策略替代全量存储
该方法通过启用分片归档机制,将低频访问的记忆自动移入归档子目录,避免每次启动时加载全部文件,从而降低 I/O 压力与内存占用。归档行为由配置驱动,无需人工干预,适合中长期稳定运行环境。
1、编辑主配置文件:nano ~/.hermes/config.yaml
2、在 memory: 区块下添加以下字段:
sharding_enabled: true
archive_threshold_days: 60
archive_path: "./memory/archive"
3、保存退出后重启 Hermes Agent:hermes stop && hermes start
4、验证归档是否生效:ls ~/.hermes/memory/archive/ 应出现按日期归档的子目录
三、设置媒体缓存 TTL 实现自动过期清理
该方法针对图片与音频等二进制缓存文件,通过设定生存时间(TTL)触发定时清理,防止因用户反复上传测试素材导致 ~/.hermes/image_cache/ 和 ~/.hermes/audio_cache/ 占用激增。
1、启用终端工具缓存管理器:hermes tool terminal cache-manager
2、为图像缓存设置24小时过期:cache_manager.set_ttl('image_cache', hours=24)
3、为音频缓存设置48小时过期:cache_manager.set_ttl('audio_cache', hours=48)
4、立即执行一次清理:cache_manager.cleanup_expired()
四、启用上下文压缩减少历史轨迹体积
该方法通过 trajectory_compressor.py 模块对长会话对话历史进行智能摘要与压缩,将原始轨迹文件体积平均缩减75%,直接降低 memory 目录中关联快照文件的存储开销。
1、定位压缩配置文件:nano ~/.hermes/trajectory_compression.yaml
2、确保以下参数已启用:
compression:
target_max_tokens: 4000
summary_target_tokens: 500
output_suffix: ".compressed"
3、在 CLI 启动时强制启用压缩:hermes --compress-trajectory
4、检查输出目录是否生成带 .compressed 后缀的新文件
五、禁用非必要记忆加载以跳过初始化扫描
该方法适用于单次工具调用、定时任务或脚本化执行等轻量场景,通过绕过 memory 文件加载流程,既避免读取无用文件带来的 I/O 开销,也间接减少对存储空间的临时占用压力。
1、启动 CLI 时添加参数:hermes --no-memory-load
2、若通过 Python 脚本调用,修改命令构造逻辑,在 hermes run 后追加该参数
3、观察启动日志,确认出现 "Skipping memory file loading" 提示
4、验证当前会话中 ~/.hermes/memory/ 文件未被读取(可监控 strace -e trace=openat hermes --no-memory-load)


















