本地跑通AI Agent只是第一步,7×24小时在线、多平台接入、安全可控的生产部署才是真正的考验。Hermes Agent支持Docker容器化、systemd服务、SSH远端、Singularity HPC、Modal Serverless五种部署形态。本文从VPS部署、网关配置、安全机制到监控运维,提供完整的生产部署指南。
五种部署形态与选择
Hermes Agent支持五种部署形态,适配不同场景需求:
本地原生(macOS/Linux/WSL2)——最简单,3分钟安装,适合开发和测试。Docker容器化隔离——生产环境推荐,沙箱化终端,适合7×24在线服务。SSH远端——远程服务器执行,适合VPS部署。Singularity——HPC集群兼容,科研/高性能计算场景。Modal Serverless——按需扩缩容,弹性计算场景。
VPS部署方案
方案A——Docker容器部署(推荐)
```bash
docker pull nousresearch/hermes-agent:latest
docker run -d \
--name hermes \
--restart unless-stopped \
-v ~/.hermes:/root/.hermes \
-v /opt/data:/opt/data \
-e DASHSCOPE_API_KEY=your_key \
-e ANTHROPIC_API_KEY=your_key \
-e HERMES_PROFILE=production \
-p 8080:8080 \
nousresearch/hermes-agent
```
关键配置项:--restart unless-stopped确保容器异常退出后自动重启;-v挂载配置和数据目录实现持久化;-e配置API密钥和环境变量;-p映射网关端口。
方案B——systemd服务
```bash
sudo tee /etc/systemd/system/hermes-gateway.service << 'EOF'
[Unit]
Description=Hermes Agent Gateway
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=/usr/local/bin/hermes gateway run
Restart=always
RestartSec=5
Environment="PATH=/usr/local/bin:/usr/bin:/bin"
Environment="HERMES_HOME=/home/$USER/.hermes"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable hermes-gateway
sudo systemctl start hermes-gateway
```
systemd方案优势:开机自启、自动重启、日志集成systemd journal、标准服务管理命令(start/stop/restart/status)。
网关配置与多平台接入
Gateway启动与管理
```bash
hermes gateway run 前台运行
hermes gateway install 安装为系统服务
hermes gateway start/stop/restart
hermes gateway status
hermes gateway setup 交互式配置
```
支持的平台:Telegram(9.5亿用户)、Discord(2亿+)、Slack(3200万)、WhatsApp(20亿+)、Signal(7000万)、Email、Matrix、微信(13亿+)。
平台接入要点
Discord Bot必须启用MessageContent Intent:Discord Developer Portal → Bot → Privileged Gateway Intents → 开启MessageContentIntent。Slack Bot需要在DM之外工作需订阅message.channels事件。SSH断线保护:`sudo loginctl enable-linger $USER`。WSL2用户需在/etc/wsl.conf中设置systemd=true。
安全配置与工具隔离
命令审批机制
```bash
hermes config set approvals.mode smart 智能审批(推荐)
hermes config set approvals.mode manual 手动审批(默认)
hermes config set approvals.mode off 关闭审批(不推荐)
hermes --yolo YOLO模式
```
smart模式自动批准安全命令(ls、cat、grep、git status、pytest),对高风险操作触发审批。auto_approve可自定义白名单。
密钥保护与工具隔离
```bash
hermes config set security.redact_secrets true API Key自动打码
hermes config set security.website_blocklist "['bad-site.com', 'malicious.org']"
hermes tools disable terminal 禁用终端工具
hermes tools disable browser 禁用浏览器工具
hermes tools enable file web 仅启用文件和网络工具
```
工具级隔离支持精细权限控制:不同Profile可配置不同工具集,生产环境建议禁用高风险工具(terminal、browser),仅启用必要工具。
性能调优与监控
Redis调优
生产环境使用Redis作为会话存储和缓存后端:
```
appendonly yes
appendfsync everysec
maxmemory 2gb
maxmemory-policy allkeys-lru
```
appendonly yes开启持久化防止重启丢数据;appendfsync everysec平衡性能与可靠性;maxmemory 2gb根据服务器内存调整;allkeys-lru策略优先淘汰最久未使用键。
外部监控与健康检查
生产环境监控配置| 配置项 | 值 |
|---|
| 健康检查URL | http://your-server:8080/health |
| 检查方法 | GET |
| 检查间隔 | 5分钟 |
| 防火墙规则 | sudo ufw allow 8080/tcp |
| 内网限制 | sudo ufw allow from 192.168.1.0/24 to any port 8080 |
推荐生产配置
```yaml
~/.hermes/config.yaml 生产推荐配置
model:
default: "anthropic/claude-sonnet-4"
fallback: "kimi-k2"
context_length: 128000
temperature: 0.3
compression:
enabled: true
threshold: 0.50
target_ratio: 0.20
gateway_threshold: 0.85
security:
redact_secrets: true
website_blocklist: ["bad-site.com", "malicious.org"]
approvals:
mode: "smart"
auto_approve: ["ls", "cat", "grep", "git status", "pytest"]
gateway:
enabled: true
port: 8080
platforms: ["telegram", "slack"]
logging:
level: "info"
file: "~/hermes/logs/hermes.log"
max_size: "100MB"
max_backups: 7
```