文章

Hermes Agent 专题(中):安装配置与 OpenClaw 迁移完全指南

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.yamlhermes 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 效率翻倍。

专题导航:上篇:这是什么 · 中篇(本文) · 下篇:高效使用

本文由作者按照 CC BY 4.0 进行授权