hermes agent核心记忆备份含五种方法:一、sqlite数据库手动备份恢复;二、git检查点版本管理;三、文件快照离线打包;四、向量库与持久卷协同归档;五、telegram/github联动元数据导出。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您使用Hermes Agent处理关键任务,其长期情景记忆与程序化技能记忆一旦丢失将导致上下文断裂与能力退化。以下是针对核心记忆数据的多种备份方法:
一、SQLite数据库状态备份与恢复
系统所有会话状态、工具调用记录及响应数据均持久化存储于SQLite数据库中,路径为~/.hermes/state.db。该文件是恢复Agent历史行为与上下文连续性的唯一权威来源。
1、执行ls -l ~/.hermes/state.db检查文件是否存在、权限是否可读写,并确认修改时间是否为最新活动时间。
2、运行cp ~/.hermes/state.db ~/.hermes/state.db.$(date +%Y%m%d_%H%M%S)生成带精确时间戳的副本,确保每次备份可唯一识别。
3、当需恢复时,执行cp ~/.hermes/state.db.20260418_142205 ~/.hermes/state.db覆盖原文件,随后重启Agent进程以加载该状态。
二、Git集成模式下的自动检查点管理
在Git仓库环境中,Hermes Agent会将每次工具调用或文件变更提交至专用临时分支hermes/checkpoints/
1、确认项目根目录下存在.git目录,并设置环境变量HERMES_CHECKPOINT_MODE=git启用该功能。
2、运行git branch --format="%(refname:short)" | grep "hermes/checkpoints/"列出全部检查点分支,筛选出目标会话分支名。
3、执行git checkout hermes/checkpoints/session_def456检出对应分支,再运行hermes restart强制Agent从该分支重建内存状态。
三、文件快照模式下的离线备份
在非Git环境中,Agent会在~/.hermes/checkpoints/
1、运行ls -t ~/.hermes/checkpoints/ | head -n1获取最近一次生成的session_id,例如abc789。
2、执行tar -czf backup_abc789_$(date +%Y%m%d).tar.gz -C ~/.hermes/checkpoints/abc789 .将整个检查点目录打包并添加日期后缀。
3、将生成的tar.gz文件复制至外部存储或云同步目录,例如rsync -av backup_abc789_20260418.tar.gz user@backup-server:/backups/hermes/。
四、向量库与持久卷联合备份
若部署于Docker或Kubernetes环境,Hermes Agent的向量记忆库(如ChromaDB或FAISS索引)通常挂载在独立volume中,需与SQLite数据库协同备份以保障记忆完整性。
1、确认volume挂载路径,例如/var/lib/hermes/vectorstore,并检查其内容是否包含chroma.sqlite3或index.faiss等核心文件。
2、停止Agent容器:执行docker stop hermes-agent,避免文件锁定。
3、运行tar -czf vectorstore_backup_$(date +%Y%m%d_%H%M%S).tar.gz -C /var/lib/hermes vectorstore完成向量库归档。
4、启动容器前,确保~/.hermes/state.db与/var/lib/hermes/vectorstore两个路径的备份已同步就位。
五、Telegram与GitHub联动场景下的记忆导出
当Agent通过Telegram接收指令并在GitHub创建PR或Issue时,部分上下文记忆可能隐含于消息链与PR描述中,需人工提取关键元数据进行结构化归档。
1、调用/insights --days 30命令生成近30天记忆摘要,输出结果中包含高频触发技能、关联PR链接及用户偏好关键词。
2、从Telegram Bot后台导出与Hermes交互的原始消息JSON日志,筛选含"hermes_task_id"字段的条目。
3、提取每条日志中的context_summary与final_output_ref字段,保存为memory_export_20260418.md,其中context_summary必须保留原始时间戳与会话ID。











