Appearance
在同一台 EC2 上同时安装 OpenClaw 和 Hermes Agent,让两个 AI Agent 同时运行,各自连接不同的微信账号,共享同一个 Amazon Bedrock 后端。本文记录了完整过程。
为什么要在一台机器上跑两个 Agent
OpenClaw 和 Hermes Agent 是两个不同风格的开源 AI Agent 项目:
| 特性 | OpenClaw | Hermes Agent |
|---|---|---|
| 实现 | Node.js | Python |
| 开发方 | 社区 | Nous Research |
| 消息平台 | 20+ | Telegram/Discord等 |
| 侧重 | 私人助手体验 | CLI交互+技能系统 |
| 模型 | Claude/GPT等 | Claude/本地模型等 |
两者都支持 Amazon Bedrock,都支持微信。同时跑起来对比体验。
起点:已有的 OpenClaw 部署
- EC2 实例:ap-southeast-2(悉尼)
- OpenClaw Gateway:通过 systemd 用户服务运行
- 微信:已通过 openclaw-weixin 插件连通
- 模型:Claude Opus 4.6 via Bedrock
第一步:升级实例
原来的 t4g.large(2 vCPU, 8GB RAM)跑一个 Agent 没问题,但两个同时跑会比较紧张。
升级前后对比
| 配置项 | 升级前 | 升级后 |
|---|---|---|
| 实例类型 | t4g.large | t4g.xlarge |
| vCPU | 2 | 4 |
| 内存 | 8GB | 16GB |
| EBS | 50GB gp3 | 100GB gp3 |
升级方式:EC2 控制台停止实例 → Change Instance Type → 启动
第二步:安装 Hermes Agent
通过 SSM 连接到 EC2:
bash
aws ssm start-session --target <instance-id> --region ap-southeast-2
sudo su - ubuntu克隆仓库并运行安装脚本:
bash
mkdir -p ~/.hermes
cd ~/.hermes
git clone https://github.com/nousresearch/hermes-agent.git
cd hermes-agent
./setup-hermes.sh安装脚本自动完成:
- 安装 uv(Python 包管理器)
- 创建 Python 3.11 虚拟环境
- 安装所有依赖
- 将 hermes 添加到 PATH
第三步:配置 Bedrock 模型
编辑 ~/.hermes/config.yaml:
yaml
model:
provider: anthropic
model: claude-opus-4-5-20250514
api_key: ${AWS_ACCESS_KEY_ID}
api_secret: ${AWS_SECRET_ACCESS_KEY}
region: ap-southeast-2
# 或使用 aws-vercel 兼容格式
provider: aws-bedrock
aws_region: ap-southeast-2
aws_profile: default第四步:安装 Gateway
两个 Agent 需要各自独立的 Gateway 进程。OpenClaw 用 Port 3000,Hermes 用 Port 3001:
bash
# 安装 Hermes Gateway(后台运行)
nohup hermes gateway --port 3001 > ~/.hermes/gateway.log 2>&1 &
# 检查是否启动成功
curl http://localhost:3001/health第五步:配置微信
OpenClaw 微信配置(Port 3000)
已有配置不变,继续使用。
Hermes 微信配置(Port 3001)
bash
hermes wechat connect --port 3001按提示完成微信绑定,每个账号扫码登录。
踩坑记录
坑1:微信发消息没有回复
问题:两个 Agent 的微信都收不到回复。
排查:
bash
# 检查进程
ps aux | grep -E 'openclaw|hermes'
# 检查端口
netstat -tlnp | grep -E '3000|3001'
# 检查日志
tail -f ~/.openclaw/logs/gateway.log
tail -f ~/.hermes/gateway.log解决:确保每个 Gateway 绑定到正确的端口,微信回调 URL 不要冲突。
坑2:Bedrock 认证失败
问题:Hermes 连接 Bedrock 报错。
解决:
bash
# 确保 AWS 凭证正确
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...
export AWS_DEFAULT_REGION=ap-southeast-2坑3:内存不足
问题:两个 Agent 同时运行时内存爆满。
解决:
- 升级到更大实例(t4g.xlarge 或更大)
- 或者错峰使用,不要同时高负载
两个 Agent 对比
| 对比项 | OpenClaw | Hermes Agent |
|---|---|---|
| 响应速度 | 快 | 快 |
| 微信体验 | 成熟 | 基本可用 |
| 技能系统 | 插件体系 | 原生 Skills |
| MCP 支持 | 有 | 有 |
| 配置复杂度 | 中等 | 中等 |
| 文档质量 | 好 | 好 |
成本变化
| 配置 | 月成本(悉尼区) |
|---|---|
| t4g.large(单 Agent) | ~$25 |
| t4g.xlarge(双 Agent) | ~$50 |
| EBS 100GB | ~$10 |
| Bedrock 使用费 | 按量付费 |
建议:先用 t4g.large 测试,确认需要再升级。
systemd 服务配置(可选)
让 Gateway 开机自启:
bash
# 创建 OpenClaw 服务
sudo tee /etc/systemd/system/openclaw-gateway.service > /dev/null << EOF
[Unit]
Description=OpenClaw Gateway
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/openclaw
ExecStart=/home/ubuntu/openclaw/start.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 创建 Hermes 服务
sudo tee /etc/systemd/system/hermes-gateway.service > /dev/null << EOF
[Unit]
Description=Hermes Agent Gateway
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/.hermes
ExecStart=/home/ubuntu/.hermes/hermes-agent/gateway.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
EOF
# 启用服务
sudo systemctl daemon-reload
sudo systemctl enable openclaw-gateway hermes-gateway
sudo systemctl start openclaw-gateway hermes-gateway常见问题
Q:两个 Agent 会互相干扰吗?
A: 不会,它们运行在独立的进程里,使用不同的端口。
Q:可以共用同一个微信账号吗?
A: 技术上可以,但不建议。建议用两个不同的微信账号,方便区分。
Q:需要额外的安全配置吗?
A: 建议配置防火墙,只开放需要的端口;微信回调 URL 建议使用 HTTPS。
一句话总结
OpenClaw + Hermes 同机部署,让两个 AI Agent 共享同一台 EC2 和 Bedrock 后端,各自连接不同微信账号,实现对比体验。
成本:从 $25/月(单 Agent)升级到 $50/月(双 Agent)。
建议:先用小配置测试,确认需要再升级。
