Hermes Agent Gateway 可通过 nohup、systemd、tmux、screen 或 Docker 五种方式后台运行,并需用 curl 检查 /health 接口返回 {"status":"ok"} 及日志确认启动成功。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望 Hermes Agent 的 Gateway 服务在后台持续运行,避免终端关闭导致服务中断,则需要使用特定的后台启动命令。以下是实现此目标的多种方式:
一、使用 nohup 启动 Gateway
nohup 命令可使进程忽略挂起信号(SIGHUP),即使关闭终端也会持续运行,并将输出重定向至日志文件以便后续排查。
1、执行以下命令启动 Gateway 并后台运行:
nohup hermes gateway --port 9119 > ~/hermes-gateway.log 2>&1 &
2、检查进程是否成功启动:
ps aux | grep "hermes gateway"
3、确认端口监听状态:
lsof -i :9119 或 netstat -tuln | grep :9119
二、使用 systemd 管理 Gateway 服务
systemd 提供了更可靠的进程守护能力,支持开机自启、自动重启、日志集成等企业级运维功能。
1、创建服务定义文件:
sudo nano /etc/systemd/system/hermes-gateway.service
2、写入以下内容:
[Unit]
Description=Hermes Agent Gateway Service
After=network.target
[Service]
Type=simple
User=$USER
WorkingDirectory=/home/$USER/.hermes
ExecStart=/home/$USER/.hermes/venv/bin/hermes gateway --port 9119
Restart=always
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
3、重载配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gateway
三、使用 tmux 会话保持 Gateway 运行
tmux 是轻量级终端复用工具,适合开发与测试环境,可随时附着(attach)或分离(detach)会话,保障交互式运行不中断。
1、新建命名会话:
tmux new-session -s hermes-gw
2、在该会话中启动 Gateway:
hermes gateway --port 9119
3、按 Ctrl+B 后松开,再按 D 键分离会话;之后可通过以下命令重新连接:
tmux attach-session -t hermes-gw
OpenClaw Gateway 重启性能分析工具:分析重启速度、定位启动慢原因、生成性能报告、诊断启动问题。支持 Windows (PowerShell) 与 Linux (Bash)。触发场景:分析 gateway 重启、检查启动时间、生成报告、诊断异常。
四、使用 screen 启动持久化会话
screen 与 tmux 功能类似,是传统 Unix 系统广泛支持的会话管理工具,适用于兼容性要求高的环境。
1、创建新 screen 会话:
screen -S hermes-gateway
2、运行 Gateway 命令:
hermes gateway --port 9119
3、按 Ctrl+A 后松开,再按 D 键分离;恢复会话执行:
screen -r hermes-gateway
五、使用 Docker 容器化后台运行
Docker 提供隔离性与可移植性,适合多环境一致部署,Gateway 可作为独立容器长期运行。
1、确保已构建或拉取 Hermes Agent 镜像:
docker pull ghcr.io/nousresearch/hermes-agent:latest
2、运行容器并映射端口:
docker run -d --name hermes-gateway -p 9119:9119 -v ~/.hermes:/root/.hermes ghcr.io/nousresearch/hermes-agent:latest hermes gateway --port 9119
3、查看容器运行状态:
docker ps | grep hermes-gateway
六、验证 Gateway 是否正常响应
无论采用哪种后台运行方式,都需确认 Gateway HTTP 接口已就绪并可被访问。
1、向本地 Gateway 发送健康检查请求:
curl -s http://127.0.0.1:9119/health | jq .status
2、若返回 {"status":"ok"},表示服务已启动成功。
3、检查 Gateway 日志输出路径是否包含 Gateway server started on http://0.0.0.0:9119 字样。

















