Hermes 实例迁移/克隆/重建手册
版本: 2.0 | 更新日期: 2026-07-17 | 基准实例: Oracle H02
适用平台:Docker / Windows / Linux
📦 迁移什么
Hermes 实例的"学习成长"分布在两个层次,只有都搬过去才算完全克隆:
| 层级 | 包含 | 迁移方式 |
|---|---|---|
| L1 🧠 脑 | config.yaml, .env, skills/, sessions/, memories/ (MEMORY.md+USER.md), memory_store.db (事实库), auth.json, cron/jobs.json | Profile 导出/导入 或 全量目录复制 |
| L2 🔌 外设 | Hermes 源码版本、MCP 服务器二进制、cron 脚本文件 | 各组件独立迁移 |
🏆 推荐方案:Profile 导出导入(跨平台)
适用于任何平台(Docker / Windows / Linux),只搬"脑",不依赖特定目录结构。
源机器导出
hermes profile export default # 输出 default-20260717.tar.gz
新机器导入
# 1. 装同版本 Hermes
iex "& { $(irm https://hermes-agent.nousresearch.com/install.ps1) } -Tag v2026.7.7.2"
# 2. 导入 profile
hermes profile import default-20260717.tar.gz
# 3. 重启
# CLI: 退出重开
# Gateway: hermes gateway restart
# 4. 验证
hermes doctor
hermes config
hermes skills list
Profile 带来 / 带不来的
| 组件 | 状态 | 原因 |
|---|---|---|
| config.yaml / .env | ✅ 完全一致 | profile 包含 |
| skills/ (基底核) | ✅ 完全一致 | profile 包含 |
| sessions/ + state.db (情景记忆) | ✅ 完全一致 | profile 包含 |
| MEMORY.md + USER.md (前额叶) | ✅ 完全一致 | profile 包含 |
| memory_store.db (海马体事实库) | ✅ 完全一致 | profile 包含 |
| auth.json (凭据池) | ✅ 完全一致 | profile 包含 |
| cron/jobs.json (任务定义) | ✅ 完全一致 | profile 包含 |
| Hermes 源码版本 | ⚠️ 需手动指定同 tag | 安装时 -Tag 决定 |
| MCP 服务器二进制 | ❌ 需重新安装 | Trilium MCP / PinchTab 等 |
| Cron 脚本文件 (*.sh) | ❌ 需手动复制 | scripts/ 不在 profile 中 |
| gbrain | 🔴 已评估不建议继续使用 | 见下方说明 |
🐳 Docker 全量目录映射(原方法二)
适用于 Docker 环境原地恢复或同宿主机克隆,完全一致无需 post-install。
步骤
# 旧机器备份
tar -czf ~/hermes-backup.tar.gz \
--exclude='data/www' \
--exclude='data/home/miniconda3' \
--exclude='data/data/home/.*' \
--exclude='data/data/.npm' \
--exclude='data/data/.cache' \
./data
# 新机器 docker-compose.yml
services:
hermes:
image: nousresearch/hermes-agent:v2026.7.7.2
volumes:
- ./data:/opt/data
environment:
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
restart: unless-stopped
# 解压恢复到 ./data
tar -xzf ~/hermes-backup.tar.gz
# 启动
docker compose up -d
额外映射(如使用独立工具目录)
volumes:
- ./data:/opt/data
- ./www:/www # 如 cron 脚本 / pinchtab 等在 /www 下
⚠️ 前提:新机器 Hermes 版本 ≥ 旧机器版本,config.yaml 格式兼容。
🔌 L2 外设迁移清单
不管用 profile 还是全量目录,以下组件需要单独处理:
Hermes 版本一致性
| 场景 | 操作 |
|---|---|
| Docker | docker-compose.yml 中 image tag 改为旧机器同版本 |
| Windows/Linux | 安装时指定同 Tag:-Tag v2026.7.7.2 |
| 已装好想切版本 | hermes update 或重跑 iex 指定 Tag |
MCP 服务器
| MCP | 安装方式 | 备注 |
|---|---|---|
| Trilium MCP | 新机器对话:[at c] 安装 Trilium MCP | node_modules 建议放 $HOME/pinchtab/(即 volume 内持久化) |
| PinchTab | 新机器对话:[at c] 安装 pinchtab | 参见 skill pinchtab/SKILL.md |
Cron 脚本
cron 任务定义(jobs.json)随 profile 自动恢复。
但引用的 shell 脚本需要手动复制到新机器的 ~/.hermes/scripts/ 下。
# 备份脚本目录
tar -czf cron-scripts.tar.gz -C ~/.hermes scripts/
# 新机器恢复
tar -xzf cron-scripts.tar.gz -C ~/.hermes
gbrain(🔴 不建议继续使用)
根据脑区分析笔记(oX3WRs46qlMu),gbrain 实际检索贡献 ≈ 0,数据不全 + 聊天污染 + 无维护循环。
建议迁移时趁机停用,不再纳入重建清单。如仍需保留,二进制+数据库在 Docker volume 中自带。
📋 快速决策矩阵
| 场景 | 推荐方式 | 耗时 |
|---|---|---|
| Docker → 同宿主机克隆 | 全量目录映射(备份 data/ 解压到新目录) | 5 分钟 |
| Docker → 另一台 Docker 宿主机 | Profile 导出 + SCP + 导入 | 10 分钟 + 重装 MCP |
| Docker → Windows Native | Profile 导出 + 导入 + 同 Tag 安装 | 15 分钟 + 重装 MCP |
| Windows → Windows | Profile 导出 + 导入 + 同 Tag 安装 | 10 分钟 + 重装 MCP |
| 原地灾后重建(Docker volume 还在) | 同版本 image 启新容器,挂载原 data/ | 2 分钟 |
— 更新于 2026-07-17 | v2.0 重构:Profile 导入导出为主方案,废弃 gbrain,兼容 Windows