BOSh
文章222
标签308
分类74
315晚会 36氪 80后 ADB AI AI Agent AI 代理 AI 助手 AI 网关 AI 评测 AI助手 AI大模型 AI安全 AI智能体 AI网关 API 集成 Agent AionUi Android Automation C++ CLI CLI Proxy API CLIProxyAPI CRM Chrome 插件 Claude Opus 4.6 ConnectBot Debian DeepSeek DenchClaw DevOps Docker GEO GPL GPS GPU Gemini 3.1 Pro GitHub Gmail Gog Google AI Pro Google API Google Gemini HKUDS Hermes Hexo Hugo IPV6 Jetpack Compose Kimi-K2.5 Kotlin LINUX LaTeX Linux Markdow Markdown MemU Bot MiniMax NAT64 NIX NODE NVIDIA Build NanoClaw Netcatty Newsletter Open WebUI OpenAI 兼容接口 OpenCLI OpenClaw PDF 编译 PicoClaw Prismer QClaw QQ机器人 RAG Reddit Rust SFTP SSH Skills Subagent SuperCall Telegram Bot WebSSH WorkBuddy X X热榜 YouTube ZeroClaw arXiv arch c++ git hugo iMessage n8n nanobot node js ntfs pacman podman zz.ac 东海 两性关系 个人助理 中东 中东冲突 中东局势 中关村论坛 中南大学 中国 中美 习惯养成 云同步 亚洲 代理 以色列 任务管理 伊朗 伊朗危机 伊朗战争 伦理 体育 保护主义 信息流 信息管理 停火 健康管理 光通信 免费试用 共和党 养老金 内容工厂 内容生产 内容筛选 军事冲突 军事动态 军民融合 农村 分享 创业 办公自动化 加密 加密货币 加沙 北斗 医学生 半导体 华为 博客 博客助手 博客部署成功 卫星 原生 JS 反重力 台海局势 台湾 命令 喷嚏网 国产 国产化 国产替代 国际 国际关系 国际局势 国际新闻 图卦 图说 地缘政治 基础设施 多代理 多模态AI 大学分析 大模型 孙少平 学习 安全 实时监控 家庭助理 家庭服务器 工作总结 工作效率 工作流编排 工具链 平凡的世界 平台责任 开发 开发实录 开源 开源项目 张雪峰 微信 心理健康 情感 战争 投资工具 指标看板 播客 收件箱清理 效率 教程 教育制度 数据分析 数据投毒 文献管理 新能源汽车 新闻汇总 日历聚合 时事 时事总结 显卡 晨报 智能体生态 朝鲜 架构 架构实践 核协议 核武器 桌面Cowork 模型接入 每日图说 比亚迪 油价 活动运营 浏览器自动化 消息通道 消费者权益 渔船 游戏开发 湘雅医院 热点新闻 版本更新 特朗普 生态系统 生活 生活自动化 生物识别 用例 甲骨文云 电池技术 症状追踪 皮皮虾 监管 目标管理 知识库 社交媒体 社会保障 社会百态 社会观察 科技 科研助手 笔记 第一财经 算法推荐 纽森 经济 经济观察 经验分享 编程 网关 网络 网络安全 美伊冲突 美国 美国大选 美国政治 能源安全 腾讯 腾讯,龙虾,OpenClaw 腾讯云 自动化 自动化创作 自动化协作 自动化提醒 自动化流水线 自动化运维 自律教练 自由软件 行为改变 视频摘要 记录 许可证 论文写作 论文阅读 语义搜索 语音代理 读书 读书笔记 读后感 财报季 路遥 迁移 运维 远程运维 邀请确认 部署指南 量子计算 销售自动化 阅读感悟 随笔 霍尔木兹海峡 项目管理 飞书 高中生活 高考志愿 黎巴嫩 龙虾

一言

文章归档

Hermes Agent 跨服务器迁移实战指南

Hermes Agent 跨服务器迁移实战指南

Hermes Agent 跨服务器迁移实战指南

最近把 Hermes Agent 从旧服务器搬到了新机器上,踩了一些坑,记录一下完整的迁移流程,给同样在用 Hermes 的朋友参考。

为什么要迁移

旧服务器配置太拉了,1 核 1.5G 内存,跑 Hermes 加博客仓库勉强够用,但硬盘 10G 用到 83%,随时可能爆盘。新机器虽然配置差不多,至少是干净的起点,顺便做个大扫除。

备份:把"灵魂"打包带走

Hermes 的核心状态都在 ~/.hermes/ 目录下,要搬的不是软件本身,而是配置、记忆、技能这些"灵魂数据"。关键文件清单:

文件/目录 用途 必须备份
config.yaml 主配置文件
.env 环境变量/密钥
SOUL.md Agent 人格设定
auth.json 认证凭据
skills/ 自定义技能
memories/ 持久记忆
cron/ 定时任务
state.db SQLite 聊天历史
channel_directory.json 平台频道映射 建议备
gateway_state.json 网关状态 建议备

备份操作很直接,把这些东西拷出来,推到一个私有 Git 仓库:

1
2
3
4
5
6
7
8
mkdir ~/Hermesbak
cp -r ~/.hermes/config.yaml ~/.hermes/.env ~/.hermes/SOUL.md \
~/.hermes/auth.json ~/.hermes/skills/ ~/.hermes/memories/ \
~/.hermes/cron/ ~/.hermes/state.db ~/Hermesbak/
cd ~/Hermesbak
git init && git add . && git commit -m "hermes backup"
git remote add origin git@github.com:yourname/hermes-backup.git
git push -u origin main

state.db 可能比较大,如果仓库超限可以单独用 scp 传。

新服务器:安装依赖 + 还原数据

在新机器上先把运行环境装好:

1
2
3
4
5
6
7
8
9
# Node.js (Hermes 基于 Node)
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt-get install -y nodejs

# Python 3
apt-get install -y python3 python3-pip

# Git
apt-get install -y git

然后从备份仓库拉数据:

1
2
git clone git@github.com:yourname/hermes-backup.git ~/Hermesbak
cp -r ~/Hermesbak/* ~/.hermes/

安装 Hermes 本体(如果你用的是 npm 安装方式):

1
npm install -g hermes-agent

最大的坑:新旧服务器不能同时跑

这是血泪教训。如果你在旧服务器还没停的情况下就启动了新服务器的 Gateway,会炸。

1. Gateway 连接冲突

Telegram Bot 用的是 Long Polling 模式,同一时间只有一个连接能正常工作。两个服务器同时跑 Gateway,它们会抢同一个 Bot Token,消息随机丢失、分裂到两台机器、或者陷入断开-重连的死循环。

2. Cron 任务重复执行

cron/ 目录是原样拷过来的,两台机器的定时任务配置一模一样。结果就是每天的定时简报、数据抓取之类的任务各跑一遍,用户收到双份消息。

3. state.db 快照漂移

备份的那一刻 state.db 就是个快照。如果你迁移后还跟旧服务器聊天,新服务器上永远不会出现那些对话,状态已经分叉了,而且是不可逆的。

正确的迁移顺序

1
2
3
4
5
6
7
1. 备份旧服务器数据,推到 Git
2. 在新服务器安装依赖、还原 ~/.hermes/
3. 严格确认旧服务器已停机:
pkill -f gateway/run.py
# 或者停止 systemd service:
systemctl stop hermes
4. 确认旧服务器彻底挂了之后,再启动新服务器的 Gateway

第 3 步是关键,别跳过。我自己的做法是直接把旧服务器关机,断电级别的确认,不留后患。

迁移后的自检清单

新服务器跑起来之后别急着用,先检查这几项:

  • Gateway 连接正常(Telegram 能收发消息)
  • git push 到 GitHub 正常(SSH key 在新机器上配好了没?)
  • 博客仓库 clone 下来、remote 配置正确
  • Cron 定时任务正常触发
  • 内存和磁盘空间充裕

这次迁移后我顺手清了一波缓存:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# camoufox 临时文件 + 缓存 (~2.5G)
rm -rf /tmp/camoufox-* ~/.cache/camoufox

# Python uv 缓存 (~684M)
rm -rf ~/.cache/uv

# Playwright 浏览器缓存 (~631M)
rm -rf ~/.cache/ms-playwright

# npm 缓存 (~126M)
rm -rf ~/.npm/_cacache

# 旧系统日志
journalctl --vacuum-size=50M
find /var/log -name "*.gz" -delete

硬盘使用率从 83% 降到 39%,舒服了。

关于 /root/agsb 目录

迁移过程中发现一个 112M 的 /root/agsb 目录,不确定是什么,没敢动。如果你知道这个是啥,评论区告诉我。

总结

Hermes 迁移本身不难,核心就是备份 ~/.hermes/ 还原到新机器。但有个绝对不能犯的错:新旧服务器不能同时跑 Gateway。先杀旧再启新,顺序不能反。

希望这篇能帮你少踩坑。迁移愉快 🚀


本文由 BOSH 的博客助手 HerMes 整理 🐧

本文作者:BOSh
本文链接:http://bosh.zz.ac/posts/890063389.html
版权声明:本文由BoSh发布,部分内容来源于网络。