Hermes Agent 是 Nous Research 发布的 MIT 协议 Agent,具备自进化循环:从经验中创建 Skill、周期性 nudge 持久化记忆、通过 FTS5 检索历史会话,并借助 Honcho 建模用户上下文。在 macOS 上它以原生 CLI 安装,并可通过单个 hermes gateway 进程连接 Telegram、Discord、Slack、WhatsApp、Signal 与 Email 等消息网关。
本指南介绍在 Apple Silicon 或 Intel Mac 上的 macOS 安装、首次配置、网关接入,以及用 launchd 保持网关在线。假设 macOS 15+ 且你控制该机器(MacBook、Mac mini、Mac Studio 或可 SSH 的远程 Mac)。若已在云端运行 Agent,请参阅单独的 Hermes Mac mini M4 教程 了解无头主机模式;下文命令在任何 Mac 上相同。
安装前准备
| 要求 | 说明 |
|---|---|
| macOS | 建议 15+;上游安装脚本支持 Apple Silicon(arm64)与 Intel |
| Shell | zsh(默认)或 bash;安装器会追加到 ~/.zshrc 或 ~/.bashrc |
| 网络 | 出站 HTTPS(模型 API、可选 Nous Portal OAuth、消息平台 webhook);国内访问 Telegram/部分 API 需自备网络环境 |
| 磁盘 | 为 uv、Python 3.11、Node.js 与 ~/.hermes/ 状态预留 2–5GB;TTS 资产或大型 Skill 库需更多空间 |
| 内存 | CLI + 网关 + 一次重度工具调用建议 16GB;并行 subagent 或 MCP 服务器建议 24GB |
安装器会在缺失时拉取 uv、Python 3.11、Node.js、ripgrep 与 ffmpeg。完成后用 hermes doctor 验证。
Hermes 在 macOS 上的目录结构
安装后状态位于 ~/.hermes/:
~/.hermes/
├── config.toml # 提供商、工具、终端后端、网关设置
├── skills/ # 用户与自动创建的 Skill
│ └── openclaw-imports/ # hermes claw migrate 之后
├── memory/ # 策展记忆文件
└── logs/ # 网关与 CLI 日志(路径见上游文档)
hermes 二进制链接到 ~/.local/bin/hermes。日常使用涉及三个界面:
- CLI(
hermes) — 交互式 TUI;斜杠命令(/model、/skills、/compress、/new)。 - Gateway(
hermes gateway) — 将消息平台桥接到同一 Agent 循环。 - 终端后端 — shell/文件工具执行位置:local(macOS 默认)、Docker、SSH、Singularity、Modal 或 Daytona。
模型路由与提供商无关:hermes model 可在 Nous Portal、OpenRouter(200+ 模型)、OpenAI、Anthropic 与 BYO 端点间切换,无需改代码。
macOS 分步安装配置
1. 安装 Hermes
管道执行前请先在组织内审阅安装脚本。上游一键命令:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc # 或: source ~/.bashrc
hermes doctor
hermes doctor 应报告 uv、Python 3.11、Node、ripgrep 与 ffmpeg 检查通过。修复标记项后重新运行。
2. 首次配置
完整向导或 Portal OAuth:
hermes setup # 交互式:提供商、工具、网关提示
# 或
hermes setup --portal # Nous Portal OAuth + Tool Gateway(搜索、图像、浏览器、TTS)
向导会检测 ~/.openclaw 并提示迁移——全新安装可跳过。
3. 选择模型与工具
hermes model # 选择 provider:model(如 openrouter:anthropic/claude-sonnet-4)
hermes tools # 启用/禁用工具集(上游 40+ 工具)
hermes config set KEY VALUE # 细粒度覆盖
用短 CLI 会话确认:
hermes
# TUI 内:提问、运行 /usage、Ctrl+D 或 /quit 退出
4. 从 OpenClaw 迁移(可选)
若已有 OpenClaw 工作区:
hermes claw migrate --dry-run
hermes claw migrate
通常导入 SOUL.md 人格、MEMORY.md / USER.md 条目、用户 Skill、命令白名单、消息设置与 API 密钥到 ~/.hermes/。预设见 hermes claw migrate --help。
5. 配置消息网关
hermes gateway setup # 平台 token、DM 配对、允许用户
hermes gateway start # 前台测试
从 Telegram(或你的平台)测试:发送 /new 再发提示。若机器人显示在线但无回复,从消息侧用 /status——常见为配对或白名单问题(见上游 Security 文档)。
6. 用 launchd 持久化网关
前台 hermes gateway start 在注销后停止。对常开 Mac(桌面 Mac mini、工作室机器或远程主机),创建用户 LaunchAgent。示例 plist 骨架——用 which hermes 调整路径:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key><string>com.hermes.gateway</string>
<key>ProgramArguments</key>
<array>
<string>/Users/YOU/.local/bin/hermes</string>
<string>gateway</string>
<string>start</string>
</array>
<key>RunAtLoad</key><true/>
<key>KeepAlive</key><true/>
<key>StandardOutPath</key><string>/Users/YOU/.hermes/logs/gateway.stdout.log</string>
<key>StandardErrorPath</key><string>/Users/YOU/.hermes/logs/gateway.stderr.log</string>
</dict>
</plist>
加载:
mkdir -p ~/.hermes/logs
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.hermes.gateway.plist
launchctl kickstart -k gui/$(id -u)/com.hermes.gateway
将 Telegram/Discord token 写入 plist 的 EnvironmentVariables 字典或启动时引用的 env 文件——避免仅在 SSH 会话中 export。
7. 启用 cron 式自动化(可选)
Hermes 内置 cron 调度器,可投递到消息平台。通过 CLI 或配置用自然语言定义任务,见上游 cron 文档。macOS 上 cron 任务需要网关(或 CLI)进程持续运行——这也是在不休眠 Mac 上使用 launchd 的原因。
8. 备份 ~/.hermes/
tar -czf hermes-backup-$(date +%Y%m%d).tar.gz -C ~ .hermes
Skill 与记忆比聊天日志更难重建。大版本升级前快照:
hermes update
hermes doctor
故障排查
hermes doctor 在 Python 或 uv 上失败
现象:Doctor 报告缺少 uv 或 Python 版本错误。
修复:重新运行安装脚本。Hermes 通过 uv 需要 Python 3.11。macOS 上也可用 Homebrew:brew install ripgrep ffmpeg node,再运行 hermes doctor。
网关启动但机器人不回复
现象:hermes gateway start 日志显示 running;私信无响应且无聊天内错误。
修复:在 hermes gateway setup 中完成 DM 配对 与白名单。更改 token 后重启网关。若用 launchd,确认 env 写入 plist——launchctl print gui/$(id -u)/com.hermes.gateway 可查看注入环境。
CLI 工具权限错误
现象:文件或 shell 工具访问工作区外 macOS 路径时报错。
修复:检查配置中的命令审批设置(上游 Security)。全盘路径可能触发 macOS TCC「文件与文件夹」授权——在运行 local 后端的机器上授予。
何时需要常开 Mac
休眠的 MacBook 会暂停网关投递与 cron。从 Telegram 与 Agent 对话而 Agent 在别处运行的团队,常会备一台小型常开 Mac——桌面 Mac mini 或托管 macOS 实例——由 launchd 管理 hermes gateway。本指南步骤不变;仅睡眠策略与网络可达性不同。SSH 后端工作流(笔记本 CLI、远程 Mac 执行工具)在 config.toml 中指向该主机,见上游 Tools 文档。
安装完成后,可用
Hermes 多智能体委派一人企业指南
跑通「老板 + 三名 AI 员工」周报流水线(delegate_task)。
网关安装完成后,用 Hermes 跨设备 Gateway 指南 串联手机 Telegram 与桌面 Discord——/background 长任务与诚实会话说明。
常见问题
Hermes 能替代 OpenClaw 或 OpenHuman 吗?
不能——设计不同。Hermes 强调 Skill + 记忆 nudge + 内置 cron;OpenClaw 是 网关优先自动化;OpenHuman 是 带 OAuth 自动抓取的桌面记忆。可用 hermes claw migrate 迁移 OpenClaw 数据。对比手册见 Hermes Mac mini M4 教程 与 OpenClaw macOS 安装指南。
必须用 Nous Portal 吗?
不必。Portal(hermes setup --portal)通过一次 OAuth 打包模型与 Tool Gateway。也可直接配置 OpenRouter、OpenAI 或 Anthropic 密钥并按需启用工具。
macOS 上配置存在哪?
主目录:~/.hermes/,含 config.toml、Skill、记忆与日志。hermes 位于 ~/.local/bin/hermes。请用 hermes config 子命令,勿盲目编辑——向导值对应文档键名。
Hermes 能在 Apple Silicon Mac mini 上运行吗?
可以——安装脚本支持 Apple Silicon 上的 macOS。网关与 local 后端原生运行;uv 安装的 Python 栈无需 Rosetta。
如何更新 Hermes?
hermes update
hermes doctor
更新后重启 launchd 管理的网关:launchctl kickstart -k gui/$(id -u)/com.hermes.gateway。