Hermes Agent 专题(中):安装配置与 OpenClaw 迁移完全指南
这是 Hermes Agent 专题的第二篇。上篇讲了它是什么;本篇讲安装配置和 OpenClaw 迁移;下篇讲高效使用技巧。
上篇介绍了 Hermes Agent 的核心特性。这篇进入实操——从零开始装起来,配好模型和平台,如果你是 OpenClaw 用户,还有完整的迁移路径。
安装
一行命令:
1
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
支持 Linux、macOS、WSL2、Android(Termux)。Windows 用户需要先装 WSL2。
安装完成后重载 shell:
1
2
source ~/.bashrc # 或 source ~/.zshrc
hermes # 开始对话
Android 用户参考 Termux 专用指南。
配置模型
这是装完后的第一件事。
1
2
hermes model # 交互式选择模型提供商
hermes setup # 或者用完整配置向导,一次搞定所有设置
主流提供商
| 提供商 | 配置方式 | 备注 |
|---|---|---|
| Nous Portal | OAuth 登录 | 零配置,订阅制 |
| OpenAI | 设备码认证 | 支持 Codex 模型 |
| Anthropic | Claude Code 认证或 API Key | Claude 全系列 |
| OpenRouter | 输入 API Key | 200+ 模型,最灵活 |
| GitHub Copilot | OAuth 认证 | GPT-5.x、Claude、Gemini 等 |
| DeepSeek | 设置 DEEPSEEK_API_KEY |
国内直连 |
| Kimi/Moonshot | 设置 KIMI_API_KEY |
国内直连,有中国区端点 |
| MiniMax | 设置 MINIMAX_API_KEY |
国内直连,有中国区端点 |
| 阿里云 DashScope | 设置 DASHSCOPE_API_KEY |
Qwen 系列 |
| Hugging Face | 设置 HF_TOKEN |
20+ 开源模型 |
| 自部署 | 设置 base URL + API Key | VLLM、SGLang、Ollama 等 |
硬性要求:模型上下文窗口 ≥ 64K tokens。窗口太小的模型会在启动时被拒绝。
随时切换:
1
2
hermes model # 交互式切换
hermes config set model anthropic/claude-opus-4 # 直接设置
配置文件结构
所有配置在 ~/.hermes/ 目录:
1
2
3
4
5
6
7
8
9
10
~/.hermes/
├── config.yaml # 主配置(模型、终端、压缩、记忆等)
├── .env # API Keys 和密钥
├── auth.json # OAuth 凭证(Nous Portal 等)
├── SOUL.md # Agent 人格定义
├── memories/ # 持久化记忆(MEMORY.md、USER.md)
├── skills/ # Agent 创建和安装的 Skills
├── cron/ # 定时任务
├── sessions/ # 会话存储
└── logs/ # 日志(密钥自动脱敏)
规则:密钥放 .env,其他放 config.yaml。hermes config set 会自动路由到正确的文件。
终端后端配置
这决定了 Agent 的命令在哪里执行。
Local(默认)
直接在本机执行,零配置。适合个人开发。
1
2
terminal:
backend: local
⚠️ Agent 拥有和你一样的文件系统权限。不放心的话用 hermes tools 禁用不需要的工具,或者切到 Docker。
Docker(推荐用于安全场景)
1
2
3
4
5
6
7
8
9
10
terminal:
backend: docker
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_persistent: true # 跨会话保留文件系统
container_cpu: 1 # CPU 核数
container_memory: 5120 # 内存 MB
docker_forward_env: # 转发环境变量到容器
- "GITHUB_TOKEN"
docker_volumes: # 挂载宿主机目录
- "/home/user/projects:/workspace/projects"
安全加固:自动 drop 所有 capabilities、禁止提权、PID 限制 256。
SSH(远程服务器)
1
2
3
terminal:
backend: ssh
persistent_shell: true # 保持长连接,状态跨命令保留
需要设置环境变量:
1
2
3
TERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=ubuntu
# 可选:TERMINAL_SSH_PORT=22, TERMINAL_SSH_KEY=~/.ssh/id_ed25519
Modal(无服务器)
1
2
3
4
5
terminal:
backend: modal
container_persistent: true # 快照/恢复文件系统
container_cpu: 1
container_memory: 5120
需要 MODAL_TOKEN_ID + MODAL_TOKEN_SECRET。空闲时自动休眠,按需唤醒,闲置几乎零成本。
Daytona(托管云环境)
1
2
3
terminal:
backend: daytona
container_persistent: true # 停止/恢复而非删除
需要 DAYTONA_API_KEY。磁盘上限 10 GiB。
消息网关
让你从手机上和 Hermes 对话。
1
2
hermes gateway setup # 交互式配置(选平台、填 token)
hermes gateway start # 启动网关
支持 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、DingTalk、飞书、企业微信、BlueBubbles、Home Assistant。
配置完成后,在对应平台给 Bot 发消息就能和 Hermes 对话。用 /sethome 设置”主频道”,cron 任务结果会推送到这里。
从 OpenClaw 迁移
如果你是 OpenClaw 用户,Hermes 提供了一键迁移工具。这部分详细讲。
自动检测
首次运行 hermes setup 时,如果检测到 ~/.openclaw 目录,会自动提示是否迁移。选 Yes 就行。
手动迁移
1
2
3
4
5
6
7
8
9
10
11
# 完整迁移(交互式,推荐)
hermes claw migrate
# 预览模式(不实际执行,先看看会迁移什么)
hermes claw migrate --dry-run
# 只迁移用户数据(不含 API Keys 等密钥)
hermes claw migrate --preset user-data
# 覆盖已有冲突(Hermes 已有同名配置时覆盖)
hermes claw migrate --overwrite
强烈建议:先跑 --dry-run 看一遍,确认无误再正式迁移。
迁移内容清单
| 迁移项 | 来源 | 目标 | 说明 |
|---|---|---|---|
| SOUL.md | ~/.openclaw/workspace/SOUL.md |
~/.hermes/SOUL.md |
人格文件 |
| MEMORY.md | ~/.openclaw/workspace/MEMORY.md |
~/.hermes/memories/MEMORY.md |
Agent 记忆 |
| USER.md | ~/.openclaw/workspace/USER.md |
~/.hermes/memories/USER.md |
用户画像 |
| Skills | ~/.openclaw/workspace/skills/ |
~/.hermes/skills/openclaw-imports/ |
用户创建的 Skills |
| 命令白名单 | openclaw.json 审批配置 |
config.yaml |
命令审批模式 |
| 消息平台 | openclaw.json channels 配置 |
config.yaml + .env |
平台 token、允许用户等 |
| API Keys | openclaw.json 或环境变量 |
~/.hermes/.env |
Telegram、OpenRouter、OpenAI、Anthropic、ElevenLabs |
| TTS 资源 | ~/.openclaw/workspace/ 音频文件 |
~/.hermes/ |
语音相关资源 |
| AGENTS.md | ~/.openclaw/workspace/AGENTS.md |
工作区 | 需加 --workspace-target 参数 |
迁移注意事项
1. 配置格式差异
OpenClaw 用 JSON(openclaw.json),Hermes 用 YAML(config.yaml)。迁移工具自动转换,但建议迁移后检查一遍 config.yaml,确认格式正确。
2. 记忆容量限制
Hermes 的记忆是有界的:
| 文件 | 字符限制 | 约 token |
|---|---|---|
| MEMORY.md | 2,200 字符 | ~800 |
| USER.md | 1,375 字符 | ~500 |
如果你的 OpenClaw 记忆超出这个限制,迁移时会提示你精简。这是设计决策——有界记忆强制 Agent 只保留最重要的信息,避免 system prompt 膨胀。
3. Skills 路径
OpenClaw 的 Skills 会被放到 ~/.hermes/skills/openclaw-imports/ 子目录,不会覆盖 Hermes 自带的 Skills。如果有同名冲突,本地版本优先。
4. 双跑过渡
迁移不会删除 OpenClaw 的配置。你可以两个同时跑一段时间,确认 Hermes 稳定后再停掉 OpenClaw。
5. 微信共存
社区项目 HermesClaw 可以让 Hermes 和 OpenClaw 共用同一个微信账号。如果你需要渐进式迁移,这是个好选择。
迁移后检查清单
迁移完成后,建议逐项确认:
1
2
3
4
5
hermes doctor # 诊断常见问题
hermes config # 查看当前配置
hermes model # 确认模型配置正确
hermes tools # 确认工具集
hermes # 开始对话,测试基本功能
在对话中试试:
- “你记得我的偏好吗?”(测试记忆迁移)
/skills(测试 Skills 迁移)- 执行一个终端命令(测试终端后端)
MCP 集成
如果你在 OpenClaw 中用了 MCP Server,Hermes 也支持。在 config.yaml 中配置:
1
2
3
4
5
6
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
常见问题
Q: 安装失败怎么办?
1
hermes doctor # 自动诊断
Q: 模型连不上?
检查 .env 中的 API Key 是否正确。国内用户注意网络环境——DeepSeek、Kimi、DashScope 可以直连,OpenAI/Anthropic 需要代理。
Q: Docker 后端启动失败?
确认 Docker 已安装并运行:docker version。如果不行,先切回 local:hermes config set terminal.backend local。
Q: 迁移后记忆丢失?
检查 ~/.hermes/memories/ 目录。如果文件在但 Agent 不记得,可能是因为记忆是”冻结快照”——当前会话的 system prompt 在启动时加载,迁移后需要新开会话才能看到。
下一篇讲怎么把 Hermes 用出花来——10 条实战技巧,让你的 Agent 效率翻倍。
