一、项目背景与目标
1.1 项目背景
随着 AI Agent 技术的快速发展,多 Agent 协同工作已成为提升工作效率的重要手段。OpenClaw 作为成熟的 AI 助手框架,已在 Mac Mini M4 上稳定运行,提供飞书接入、浏览器自动化、定时任务等功能。Hermes Agent 作为新兴的 AI Agent 框架,具备自进化能力,支持 14+ 平台接入,适合本地开发辅助和命令行交互场景。
1.2 项目目标
本文档旨在提供一套完整的、可落地的双 Agent 部署方案,帮助用户在 Mac Mini M4(16GB RAM, 256GB SSD)上同时运行 OpenClaw 和 Hermes Agent,实现以下目标:
- 充分利用 Mac Mini M4 硬件性能,实现双 Agent 并行运行
- 确保两个系统独立运行,互不干扰
- 提供详细的安装步骤和配置方法
- 分析资源占用,提供性能优化建议
- 制定风险应对策略,保障系统稳定运行
二、当前环境状态分析
2.1 硬件配置
| 项目 | 配置 |
|---|---|
| 设备 | Mac Mini M4 |
| 处理器 | Apple M4 (10核 CPU, 10核 GPU) |
| 内存 | 16GB Unified Memory |
| 存储 | 256GB SSD |
| 操作系统 | macOS Darwin 25.2.0 (arm64) |
2.2 OpenClaw 运行状态
| 服务 | 状态 | 端口 | 用途 |
|---|---|---|---|
| OpenClaw Gateway | 已部署 | 18789 | 飞书/Web控制 |
| OpenClaw CDP | 运行中 | 18800 | 浏览器自动化 |
| OpenClaw API | 正常 | 18789/api | 技能调用 |
2.3 Hermes Agent 简介
Hermes Agent 是 NousResearch 开发的开源 AI Agent 框架,具备以下核心特性:
- 自进化能力:能够从错误中学习改进
- 多平台支持:支持 14+ 消息平台接入
- 本地优先:强调本地运行,保护隐私
- 可扩展架构:支持自定义工具和插件
- 开源免费:基于 MIT 协议开源
三、部署方案对比与选择
3.1 三种部署方案概述
方案A:完全独立运行(推荐)
两个系统使用不同端口,独立进程运行。OpenClaw 运行在 18789/18800 端口,Hermes Agent 运行在 7860/8000 端口。
方案B:集成调用模式
将 Hermes Agent 作为 OpenClaw 的子模块,通过内部 API 调用实现功能联动。
方案C:Docker 容器隔离
使用 Docker Desktop for Mac 运行 Hermes Agent,完全隔离系统依赖。
3.2 优缺点详细对比
| 对比维度 | 方案A 独立运行 | 方案B 集成调用 | 方案C Docker隔离 |
|---|---|---|---|
| 部署复杂度 | 低 | 高 | 中 |
| 资源占用 | 中 | 低 | 高(Docker开销) |
| 性能表现 | 最优 | 最优 | 略低(虚拟化) |
| 隔离性 | 好 | 一般 | 最好 |
| 维护难度 | 低 | 高 | 中 |
| 更新独立性 | 是 | 否 | 是 |
| 启动速度 | 快 | 快 | 慢(容器启动) |
| 适用场景 | 日常长期运行 | 需要统一入口 | 需要完全隔离 |
强烈推荐方案A(完全独立运行) — 部署简单,维护方便,性能最优,适合大多数用户的日常使用场景。
四、端口与网络规划
4.1 端口分配表
| 服务 | 端口 | 协议 | 用途 | 访问控制 |
|---|---|---|---|---|
| OpenClaw Gateway | 18789 | HTTP | 主控制接口 | 本地 + 飞书 |
| OpenClaw CDP | 18800 | HTTP | 浏览器自动化 | 本地 |
| Hermes Web UI | 7860 | HTTP | Web控制台 | 本地 |
| Hermes API | 8000 | HTTP | REST API | 本地内部 |
4.2 端口冲突检查命令
部署前请务必检查目标端口是否被占用:
lsof -i :7860 # 检查 Hermes Web UI
lsof -i :8000 # 检查 Hermes API
lsof -i :18789 # 检查 OpenClaw Gateway
lsof -i :18800 # 检查 OpenClaw CDP
五、安装前准备工作
5.1 系统要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | macOS 12+ | macOS 14+ |
| 内存 | 8GB | 16GB |
| 存储 | 50GB 可用 | 100GB+ 可用 |
| 网络 | 稳定互联网连接 | 高速网络 |
5.2 必需软件
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install git
brew install python python3
brew install node
六、方法一:独立运行部署(推荐)
6.1 部署步骤
lsof -i :7860
lsof -i :8000
如果端口被占用,需要先停止相关服务或更改端口。
git clone https://github.com/NousResearch/Hermes-Agent.git
cd Hermes-Agent
pip install -r requirements.txt
export OPENAI_API_KEY="your-api-key"
export ANTHROPIC_API_KEY="your-api-key"
export HERMES_PORT=7860
python app.py
服务启动后,访问 http://localhost:7860
nohup python app.py > hermes.log 2>&1 &
6.2 验证部署
访问 http://localhost:7860 查看 Web UI,确认 Hermes Agent 正常运行。
七、方法二:Docker 容器部署
7.1 安装 Docker Desktop
从 Docker 官网下载并安装 Docker Desktop for Mac。
7.2 构建镜像
docker build -t hermes-agent:latest .
7.3 运行容器
docker run -d -p 7860:7860 -p 8000:8000 \
--name hermes-agent \
-e OPENAI_API_KEY="your-api-key" \
hermes-agent:latest
7.4 验证运行
docker logs hermes-agent
curl http://localhost:7860
八、方法三:集成调用模式
8.1 架构说明
此方案将 Hermes Agent 作为 OpenClaw 的子模块,通过内部 API 调用实现功能联动。适合需要统一入口管理的高级用户。
8.2 配置步骤
在 OpenClaw 的配置文件 config.yaml 中添加 Hermes Agent 的 API 地址:
hermes:
api_url: "http://localhost:8000"
api_key: "your-api-key"
python app.py
curl http://localhost:8000/health
九、资源占用与性能评估
9.1 内存占用分析
| 服务 | 内存占用 | 说明 |
|---|---|---|
| OpenClaw Gateway | 1.5-2.5GB | 主框架 + 运行时 |
| OpenClaw CDP | 0.5-1GB | 浏览器自动化 |
| Hermes Agent | 1-1.5GB | 基础运行 |
| 系统预留 | 2-3GB | macOS 基础运行 |
| 合计 | 5-8GB | 16GB 机型可控 |
注意:16GB 内存的 Mac Mini 需要注意内存管理。建议关闭不必要的后台应用,避免同时运行其他大型应用。
9.2 CPU 占用
日常运行时 CPU 占用较低(<5%),主要在处理请求时会有短暂峰值。多核环境下影响不明显。
9.3 存储占用
| 项目 | 占用空间 |
|---|---|
| OpenClaw | ~2GB |
| Hermes Agent | ~500MB |
| Python 环境 | ~1GB |
| Docker 镜像(可选) | ~3GB |
十、功能互补与协作方案
10.1 OpenClaw 优势
- 飞书接入:原生支持飞书消息、文档、知识库
- 浏览器自动化:Chrome DevTools Protocol 支持
- 定时任务:强大的 Cron 调度系统
- 技能生态:丰富的预置技能库
- 多渠道接入:支持飞书、微信等多个平台
10.2 Hermes Agent 优势
- 自进化能力:能够从错误中学习改进
- 本地优先:强调本地运行,保护隐私
- 多 Agent 协作:内置多 Agent 协作框架
- 命令行交互:适合开发者使用
10.3 协作场景建议
| 场景 | 推荐使用 |
|---|---|
| 飞书消息处理 | OpenClaw |
| 定时新闻推送 | OpenClaw Cron |
| 网页自动化操作 | OpenClaw CDP |
| 本地开发辅助 | Hermes Agent |
| 命令行工具 | Hermes Agent |
十一、风险管理
11.1 内存风险
风险:16GB 内存可能在高负载时出现内存压力。
应对:监控内存使用,关闭不必要的后台应用。
11.2 端口冲突风险
风险:端口 7860 或 8000 被其他应用占用。
应对:部署前使用 lsof -i :端口号 检查并释放端口。
11.3 服务故障风险
建议使用进程管理工具(如 pm2)管理 Hermes Agent,确保服务稳定运行:
npm install -g pm2
pm2 start app.py --name hermes-agent
pm2 save
十二、运维与监控
12.1 日常检查命令
# 查看 OpenClaw 进程
ps aux | grep openclaw
# 查看 Hermes 进程
ps aux | grep hermes
# 查看端口占用
lsof -i :7860
lsof -i :18789
# 查看内存使用
top -l 1 | head -20
12.2 日志查看
# OpenClaw 日志
tail -f ~/.openclaw/logs/gateway.log
# Hermes 日志
tail -f hermes.log
12.3 重启服务
# 重启 OpenClaw
openclaw gateway restart
# 重启 Hermes(使用 pm2)
pm2 restart hermes-agent
十三、常见问题解答
Q1: 端口被占用怎么办?
A: 使用以下命令查找占用端口的进程:lsof -i :7860
然后使用 kill -9 <PID> 终止进程,或在配置文件修改 Hermes 端口。
Q2: 内存不足如何优化?
A: 16GB 足够双 Agent 运行,但应:关闭不必要的后台应用;避免同时运行其他大型应用(如 Xcode、Android Studio);定期清理系统缓存。
Q3: 如何实现开机自启?
A: 使用 macOS 的 launchd 或 pm2:pm2 startup 然后 pm2 save
Q4: Docker 容器如何更新?
A:docker pull nousresearch/hermes-agent:latest
docker stop hermes-agent
docker rm hermes-agent
docker run -d ...
Q5: 两个 Agent 如何通信?
A: 方案A(独立运行)下通过各自 API 在本地通信。方案B(集成)下通过 OpenClaw 配置的内部接口调用。
Q6: 是否需要公网 IP?
A: 不需要。双 Agent 均运行在本地 macOS,通过本地回环地址(127.0.0.1)通信。
Q7: 如何备份配置?
A: 定期备份以下目录:~/.openclaw/config/(OpenClaw 配置)~/Hermes-Agent/config/(Hermes 配置)
Q8: 卸载后如何彻底清理?
A:# 停止服务
pm2 stop hermes-agent
pm2 delete hermes-agent
# 删除目录
rm -rf ~/Hermes-Agent
# 清理 brew(如果不再需要)
brew uninstall python node git
十四、卸载与回滚方案
14.1 完全卸载步骤
pm2 stop hermes-agent
pm2 delete hermes-agent
rm -rf ~/Hermes-Agent
rm -rf ~/.config/hermes-agent
lsof -i :7860
lsof -i :8000
14.2 回滚方案
如果在更新后出现问题,可以回滚到之前的版本:
cd ~/Hermes-Agent
git checkout <previous-version-tag>
pip install -r requirements.txt
pm2 restart hermes-agent
十五、总结与建议
15.1 方案推荐
强烈推荐方案A(完全独立运行)
• 部署简单,维护方便
• 性能最优,无虚拟化开销
• 两个系统独立运行,互不干扰
• 更新升级互不影响
15.2 下一步建议
- 按照本文档步骤完成 Hermes Agent 安装
- 验证两个服务正常运行
- 配置开机自启
- 建立日常监控习惯
15.3 资源链接
- OpenClaw 官网:https://openclaw.ai
- Hermes Agent GitHub:https://github.com/NousResearch/Hermes-Agent
- Homebrew 官网:https://brew.sh