部署教程

Hermes Agent VPS 部署指南:从前台验证到后台运行的安全路径

为什么要分阶段部署

VPS 部署最容易犯的错误是直接启动后台服务,然后同时排查模型、权限、网络和进程问题。正确顺序应是:先前台验证,再固定运行目录,再配置进程管理,最后接入外部通道。本文是可复用的方法论,不把未在你的服务器上执行过的结果伪装成实测数据。

一、环境和目录检查

pwd
python3 --version
command -v hermes
hermes profile list
printf 'HOME=%s\n' "$HOME"

确认运行用户、安装位置和数据目录。生产环境尽量使用专用非 root 用户,并保证该用户能读写自己的 Hermes 目录;不要因为权限报错就无条件使用 sudo。

二、先完成前台最小验证

先在 SSH 会话中启动,确认模型请求和基本工具可用。最小测试只做三件事:发送短文本、读取一个无敏感信息的文件、退出并重新进入。每次只引入一个新组件。

若失败,先判断是 API、DNS、代理、模型 ID 还是权限问题。不要在模型请求失败时同时修改服务管理器,否则日志会混在一起。

三、固定 Profile 和环境

后台服务必须明确指定运行用户、工作目录、Profile 和环境文件。环境变量只在交互式 Shell 中存在,是“前台正常、后台失败”的常见原因。可以在服务启动前用脱敏方式检查变量状态,但禁止把完整环境写入日志。

四、后台进程的验收

无论使用 systemd、supervisord 还是其他进程管理器,都应验证:

建议给服务设置合理的启动间隔和日志轮转。不要把 API Key 放在 unit 文件、仓库或公开日志中。

五、网络与安全边界

只开放确实需要的端口,管理端口优先使用 SSH 密钥和防火墙限制。对外通道(例如 Telegram Webhook 或反向代理)应单独验证签名、来源和超时。若只是本地轮询任务,不要为了“方便”暴露管理端口。

六、升级与回滚

升级前记录当前版本、配置文件路径和服务状态;先在前台完成最小启动,再替换后台版本。回滚至少包括程序版本和兼容配置,记忆数据库应先备份后迁移。

后台任务异常时,可继续阅读Cron 未执行排查和后台进程排障。

VPS 部署验收表

[ ] 专用用户与固定 HERMES_HOME
[ ] 前台短请求成功
[ ] 后台环境变量来源明确
[ ] 日志可读且已脱敏
[ ] 重启/停止/恢复流程验证
[ ] 端口与 SSH 权限最小化
[ ] 升级前有版本和数据备份
#Hermes#VPS#部署#Gateway#systemd