hermes迁移手册,将hermes迁移到不同服务器~

部署环境

服务器系统:Linux

配置目录:/opt/hermes

源码目录:/opt/hermes/hermes-agent

因为我家里有一个物理服务器,之前是联想的Thinkpad,是很早以前的版本,但是内存非常够,所以我就有些时候会将它作为 本地有主力服务模拟服务器。

我还有两台云服务器,需要的时候就会让端口映射到云服务器上面,后台终端一直用tmux做终端管理,所以就可以一直挂着。

端口映射命令:

cmd 复制代码
# 博客脱敏版(直接复制,把大写占位符换成你的真实值)
ssh -p YOUR_SSH_PORT -N -R 0.0.0.0:YOUR_REMOTE_PORT:127.0.0.1:YOUR_LOCAL_PORT root@YOUR_SERVER_IP
占位符 填什么 示例
YOUR_SSH_PORT 远程 SSH 端口 22(默认的22端口的话,就不用填,直接删掉也可以的)
YOUR_REMOTE_PORT 远程服务器对外暴露的端口 1213
YOUR_LOCAL_PORT 本地机器服务的端口 144
YOUR_SERVER_IP 远程服务器公网 IP xxx.xxx.xxx.xxx

之前hermes非常火,所以我尝试在我的云服务器上,用一键部署命令安装了一次,但一台成功了,一台没成功。我原本想安装rocket,但rocket也没安装成功,所以非常悲伤,但是我在这个物理服务器上部署了一下就一马成功了,于是我有些时候经常去那里。但是我现在就是想把这个物理服务器上的部署到云服务器上去。于是我就查了一下方案,我一开始就问了在我物理服务器上面的Hermes自己,因为我觉得他自己肯定最了解自己嘛。

其实主要就是要将那个.hermes文件夹给打包好,然后传送到服务器的对应目录上\

注意前面有一个.,说明这个是隐藏文件夹,加入说你是用命令行查看的话,得用ls -al,这个命令才能够显示隐藏文件夹,要不然显示的只是普通的文件夹~

这个基本上装在哪个用户上就在哪个用户目录下,root装的话就在/root/目录下面。

接下来就是将这个打包然后传送到云服务器上面\

完整迁移步骤

1. 本地数据备份(迁移前先执行)

关闭所有正在运行的Hermes进程后,打包所有配置、技能、记忆、会话记录:

bash 复制代码
tar zcvf hermes-backup.tar.gz ~/.hermes

该压缩包包含所有自定义配置、历史会话、专属技能、记忆数据,完整保留当前使用的所有个性化内容

2. 备份包传输到云服务器

bash 复制代码
# 替换为实际服务器IP,端口和想要的目录
scp -P YOUR_SSH_PORT hermes-backup.tar.gz USER@xxx.xxx.xxx.xxx:/opt/

3. 服务器端数据准备

bash 复制代码
cd /opt
mkdir hermes
# 解压备份包到目标目录,自动剥离路径前缀
tar zxvf hermes-backup.tar.gz -C hermes --strip-components 2

安装步骤

  1. 进入源码目录
bash 复制代码
cd /opt/hermes/hermes-agent
  1. 全局安装Python包
bash 复制代码
pip install . --force-reinstall
  1. 配置全局环境变量(指定配置目录)
bash 复制代码
echo "export HERMES_HOME=/opt/hermes" >> /etc/profile && source /etc/profile
  1. 软链接到全局bin路径(解决conda环境下命令找不到的问题)因为我当时conda的base环境忘记退了,要是没有的话好像是不用的
bash 复制代码
ln -s /root/miniconda3/bin/hermes /usr/local/bin/

验证安装

执行以下命令,输出版本号即为成功:

bash 复制代码
hermes --version

输入hermes就直接启动了

原来的api接口都不用重新配,都是同样的~

而且因为记忆全都搬迁过来了,所以还是之前一样调教好的hermes。


常见问题解决

  1. 任意目录执行hermes提示 command not found → 重新执行软链接命令即可
  2. 配置不生效/找不到配置 → 确认echo $HERMES_HOME输出为/opt/hermes,否则重新执行环境变量配置命令

常用启动方式

  1. 交互式聊天
bash 复制代码
hermes

直接启动

  1. 启动网关服务(对接聊天平台/API)
bash 复制代码
# 前台启动
hermes gateway run
# 安装为后台服务+开机自启
hermes gateway install && hermes gateway start
  1. 查看服务状态
bash 复制代码
hermes gateway status

踩坑记录

  1. 安装完执行hermes --version正常,切换目录/新建会话后提示command not found → 原因:conda环境的bin路径默认不在系统全局PATH中,执行软链接命令即可解决:ln -s /root/miniconda3/bin/hermes /usr/local/bin/
  2. 配置文件不生效,默认读取~/.hermes路径的配置 → 原因:未配置全局HERMES_HOME环境变量,执行echo "export HERMES_HOME=/opt/hermes" >> /etc/profile && source /etc/profile即可

多终端运行提示

使用tmux实现多终端会话隔离,无需担心进程退出问题,启动方式:

  1. 新建tmux会话跑网关服务:tmux new -s hermes-gateway → 进入会话后执行hermes gateway run,按Ctrl+B D后台挂起
  2. 新建tmux会话跑交互任务:tmux new -s hermes-task → 随时可以切回会话查看进度
  3. 查看所有tmux会话:tmux ls
  4. 恢复指定会话:tmux a -t 会话名 无需额外使用nohup,tmux会自动保留会话进程,SSH断开也不会丢失运行状态~
相关推荐
山水洛行4 小时前
切实有效的RAG文本分块:语义分割、上下文重叠与评估驱动调优
后端
RxGc4 小时前
# Agent Skills评测:让AI编程工具拥有Google级工程成熟度
人工智能·github
蜜獾云4 小时前
系统国际化之多语言解决方案
后端
SamDeepThinking5 小时前
第2篇:应付百万并发商品系统之需求文档
java·后端·架构
XD7429716365 小时前
科技早报晚报|2026年4月30日:AI 编程终端、代码知识图谱与开源语音模型,今天最值得跟进的 3 个机会
人工智能·科技·github·知识图谱·开源项目·开发者工具
直奔標竿5 小时前
Java开发者AI转型第二十课!Spring AI MCP 双向实战:客户端与服务端手把手落地
java·开发语言·人工智能·spring boot·后端·spring
开心码农1号5 小时前
Go 语言深度剖析:指针、unsafe.Pointer 与 uintptr 底层原理、区别与实战避坑
开发语言·后端·golang
报错小能手5 小时前
讲解GitHub Actions 自动 CI 测试 WorkFlows工作流
ci/cd·github
fix一个write十个5 小时前
从零搭建音视频通话太痛苦?这个 Vue3 CallKit 让你 5 分钟搞定 1v1 + 群聊通话
前端·vue.js·github