想要让你部署的 Hermes Agent 在远程服务器上 24 小时不间断运行,不受本地电脑关机、休眠或网络中断的影响,同时还能随时通过手机上的 Telegram 或飞书给它发指令,让它帮你整理文件、分析日志、生成定时报告——这其实是可以做到的。
准备云服务器并安装 Docker
首先,租一台最低配置 1 核 1GB 内存的云服务器。登录服务器后,执行 sudo apt update && sudo apt install -y docker.io docker-compose,然后运行 docker --version 和 docker-compose --version,确保两个命令都能正常输出版本号。
这里有个关键提醒:国内用户在拉取 Docker 镜像时,如果不换个镜像源,很可能会卡在下载环节。建议执行以下命令配置轩辕镜像源:
sudo mkdir -p /etc/docker && echo '{"registry-mirrors": ["https://docker.xuanyuan.run"]}' | sudo tee /etc/docker/daemon.json > /dev/null
配置完成后,别忘了重启 Docker:sudo systemctl restart docker。
拉取并运行 Hermes Agent 容器
两种方式可选,看你的使用场景。
方法一:单命令快速启动
适合先跑起来验证一下效果。直接执行:
docker run -d --name hermes-agent -p 3000:3000 -v hermes-data:/root/.hermes -e HERMES_MODEL_PROVIDER=kimi -e HERMES_API_KEY="your_kimi_api_key_here" -e TZ=Asia/Shanghai --restart unless-stopped docker.xuanyuan.run/nousresearch/hermes-agent:latest
方法二:Docker Compose 管理
生产环境推荐这样做,方便维护。先创建一个 docker-compose.yml 文件,内容如下:
version: "3.8"
services:
hermes-agent:
image: docker.xuanyuan.run/nousresearch/hermes-agent:latest
container_name: hermes-agent
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- hermes-data:/root/.hermes
environment:
- HERMES_MODEL_PROVIDER=kimi
- HERMES_API_KEY=${HERMES_API_KEY}
- TZ=Asia/Shanghai
volumes:
hermes-data:
同时创建同目录下的 .env 文件,写入你的 Kimi API 密钥:HERMES_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。最后执行 docker-compose up -d 启动即可。
需要特别留意:API 密钥必须填写真实有效的 Kimi 密钥,而且不能有多余的空格或换行。如果填错了,容器会反复重启,根本无法进入后续的配置流程。
进入容器完成初始化配置
容器启动后,需要进入容器内部进行一些关键配置。
第一步:进入容器终端
docker exec -it hermes-agent bash
第二步:运行交互式配置向导
hermes setup
按照提示依次选择:大模型提供商选 kimi,API Key 那里可以直接回车跳过(因为已经通过环境变量注入了),消息平台选 telegram 或 feishu,执行后端选 local。
第三步:配置消息平台 Bot Token
以 Telegram 为例。先去 @BotFather 创建新 Bot 并获取 Token,然后回到容器内执行:
hermes gateway telegram set-token your_bot_token_here
hermes gateway telegram enable
飞书的配置逻辑类似,只不过需要在飞书开放平台先创建自建 Bot 并获取 app_id 和 app_secret。
这里有一个最容易踩的坑:所有的配置操作都必须在容器内部完成。如果直接在宿主机上运行 hermes setup,会导致路径不对,记忆和技能模块无法正常持久化,服务一重启数据就丢了。
验证云端服务是否就绪
配置完成后,用 hermes status 命令检查一下状态。如果输出中显示 status: running 且 gateway: enabled,说明核心服务和消息网关都已经激活了。
接下来,给你的 Telegram Bot(或飞书 Bot)发一条消息试试,比如发一句“你好”。如果在 5 秒内能收到回复,且不是报错信息,那就说明整个消息链路已经打通。
如果遇到问题,可以用 docker logs hermes-agent --tail 20 查看最近 20 行日志,重点检查有没有出现 Connection refused 或 Invalid API key 这样的错误信息。这些通常是配置出错最直接的风向标。

