hermes agent提供五种数据恢复方式:一、sqlite数据库文件覆盖;二、git检查点分支检出;三、tar包解压覆盖工作区;四、cli命令式一键回滚;五、checkpoint工具的list/restore/diff原子操作。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要在Hermes Agent运行异常、误操作或系统故障后还原历史会话与工作区状态,则必须依赖其多层级备份机制进行精准恢复。以下是针对不同备份类型开展数据恢复的实操路径:
一、SQLite数据库状态恢复
SQLite数据库文件~/.hermes/state.db承载全部会话上下文、工具调用链及响应记录,是Agent行为连续性的唯一权威来源。恢复该文件可使Agent回退至任意已备份的时间点状态。
1、执行ls -l ~/.hermes/state.db*列出所有带时间戳的备份文件,确认目标恢复版本(如state.db.20260410_153000)。
2、停止当前运行的Hermes Agent进程,防止数据库被锁定。
3、运行cp ~/.hermes/state.db.20260410_153000 ~/.hermes/state.db覆盖主数据库文件。
4、重启Hermes Agent,系统将自动加载该快照中的完整消息历史与工具执行轨迹。
二、Git检查点分支检出恢复
当HERMES_CHECKPOINT_MODE=git启用时,每次关键操作均提交至hermes/checkpoints/<session></session>临时分支,形成可追溯的版本化快照。此方式适用于Git仓库环境下的精确状态还原。
1、运行git branch --format="%(refname:short)" | grep "hermes/checkpoints/"获取全部检查点分支列表。
2、执行git checkout hermes/checkpoints/session_abc123切换至目标检查点分支。
3、确认工作区文件已同步为该分支内容,随后重启Hermes Agent以加载对应会话上下文。
三、文件快照tar包解压恢复
在非Git环境中,Hermes Agent自动生成轻量级checkpoint.tar.gz压缩包,存放于~/.hermes/checkpoints/<session_id>/</session_id>目录下,仅包含增量变更文件。该方式适合离线环境或快速覆盖工作区场景。
Hermes Agent (v0.8.0) 是由 Nous Research 开发的开源自进化 AI 智能体,被誉为“与你共同成长的 Agent”。其核心优势在于内置学习闭环,能从任务中自动提炼技能、持久记忆用户偏好,越用越懂你。该版本聚焦“智能”升级,支持后台任务自动通知、模型实时切换及 MCP OAuth 2.1。它兼容 200+ 主流大模型,支持微信、Telegram 等多平台接入,仅需 5 美元 VPS 即可部署,是提升个人与企业生产力的理想选择。
1、运行ls -t ~/.hermes/checkpoints/ | head -n1获取最新检查点目录名(如xyz789)。
2、执行tar -xzf ~/.hermes/checkpoints/xyz789/checkpoint.tar.gz -C ./解压并覆盖当前工作区。
3、运行hermes checkpoint restore --session xyz789强制Agent重载该检查点的元状态信息。
四、CLI命令式一键回滚
Hermes Agent内置hermes rollback命令,可交互式列出全部可用恢复点并执行原子级回退,无需手动干预底层文件或Git操作。
1、在终端中输入hermes rollback bash触发恢复点枚举流程。
2、从返回的编号列表中选择目标恢复点(如输入3对应2026-04-10T15:30:00Z)。
3、确认执行后,CLI将自动完成数据库替换、Git检出或tar解压等适配动作,并输出<strong><font color="green">Recovery completed. Session state restored to checkpoint #3.</font></strong>。
五、checkpoint工具高级恢复操作
Agent内建的checkpoint工具支持list、restore、diff三类原子指令,适用于自动化脚本集成或细粒度状态比对场景。
1、运行hermes checkpoint list查看所有检查点摘要,含时间戳、session ID及变更文件数。
2、执行hermes checkpoint restore --id abc123直接按ID恢复指定检查点。
3、使用hermes checkpoint diff --id abc123输出当前状态与目标检查点之间的文件差异清单,辅助人工决策是否执行恢复。










