hermes agent核心配置备份需优先保护%userprofile%.hermes(windows)或~/.hermes(linux/macos/wsl2)目录,方法包括手动压缩、docker卷快照、定时cron备份及git版本化管理,各法适配不同部署场景与安全需求。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在使用Hermes Agent并希望防止配置丢失或误修改导致功能异常,则需对核心配置目录进行可靠备份。Hermes Agent的所有用户配置、会话历史、技能定义、密钥凭证及持久化记忆均集中存储于~/.hermes目录(Linux/macOS/WSL2)或%USERPROFILE%\.hermes(Windows原生Docker Desktop环境)。以下是多种可操作的备份方法:
一、手动压缩备份本地配置目录
该方法适用于单次快速存档,无需额外依赖,直接保留完整文件结构与权限,兼容所有部署方式(CLI、Docker、WSL2)。
1、打开终端(Linux/macOS/WSL2)或PowerShell(Windows Docker Desktop),确认配置目录存在:
执行 ls -la ~/.hermes 或 dir %USERPROFILE%\.hermes
2、进入用户主目录,执行压缩命令:
Linux/macOS/WSL2:tar czf hermes-config-backup-$(date +%Y%m%d_%H%M%S).tar.gz ~/.hermes
3、Windows PowerShell(需启用tar支持):tar -czf "hermes-config-backup-$(Get-Date -Format 'yyyyMMdd_HHmmss').tar.gz" "$env:USERPROFILE\.hermes"
4、将生成的.tar.gz文件移至安全位置(如加密U盘、离线NAS或云存储私有桶),切勿仅保留在系统盘同一分区。
二、Docker卷快照式备份(适用于Docker Compose部署)
当使用docker-compose.yml声明hermes-data命名卷时,该方法可实现原子级一致性备份,避免运行中文件被写入导致损坏。
1、停止Hermes Agent容器:docker-compose stop hermes-agent
2、启动临时Alpine容器挂载卷并打包:docker run --rm -v hermes-data:/data -v $(pwd):/backup alpine tar czf /backup/hermes-volume-backup-$(date +%Y%m%d).tar.gz /data
3、重启服务:docker-compose start hermes-agent
4、验证备份完整性:tar tzf hermes-volume-backup-*.tar.gz | head -n 5,确认输出包含data/config.yaml和data/sessions/等关键路径,若无任何输出则备份为空,须立即重试。
三、自动化定时备份(基于系统cron)
该方案通过内置调度器或宿主机cron实现无人值守周期性归档,推荐设置为每日凌晨执行,避免业务高峰期资源争用。
1、创建备份脚本$HOME/bin/hermes-backup.sh,内容如下:
#!/bin/bash<br>BACKUP_DIR="$HOME/hermes-backups"<br>mkdir -p "$BACKUP_DIR"<br>tar czf "$BACKUP_DIR/hermes-$(date +\%Y\%m\%d-\%H\%M).tar.gz" "$HOME/.hermes"
2、赋予执行权限:chmod +x $HOME/bin/hermes-backup.sh
3、编辑当前用户crontab:crontab -e
4、添加行:0 2 * * * $HOME/bin/hermes-backup.sh >/dev/null 2>&1
5、确认生效:crontab -l | grep hermes,输出应含上述行,时间格式必须为UTC+0或与系统时区一致,否则可能漏执行。
四、跨平台同步备份(Git版本化管理)
适用于开发者场景,将非敏感配置(如config.yaml、skills/定义、prompts/模板)纳入Git仓库,实现变更可追溯、多设备协同、回滚精确到commit。
1、初始化空Git仓库:cd ~/.hermes && git init && git checkout -b main
2、创建.gitignore排除敏感与动态文件:
secrets.yaml<br>api_keys.yaml<br>sessions/<br>cache/<br>logs/<br>*.log
3、暂存并提交基础配置:git add config.yaml skills/ prompts/ && git commit -m "init: base config and skills"
4、推送到私有远程仓库(如GitLab Self-Hosted或Gitee私有库):git remote add origin https://your-git-server.com/user/hermes-config.git && git push -u origin main
5、后续更新后执行:git add . && git commit -m "update: add new skill xyz" && git push,严禁提交含密钥、会话数据或日志的文件,否则造成严重安全泄露。











