OpenClaw 与 Hermes 安装配置指南
面向国内开发者的完整上手手册:从 Git、Node.js 环境准备,到国内镜像源加速,再到 OpenClaw 与 Hermes 两个本地 AI 助手的安装、初始化与配置,全程按依赖顺序组织。
00 导读与总流程 Overview
OpenClaw 是一个开源的本地优先个人 AI 助手,以常驻 Gateway 网关为控制平面,可在 WhatsApp、Telegram、Slack、飞书等众多渠道上响应,支持语音唤醒与 Agent 驱动的 Canvas 画布[1]。Hermes(Nous Research 出品)则是开源的自我改进型 AI Agent 框架,具备跨会话持久记忆、多终端入口与六种执行后端,并官方提供从 OpenClaw 迁移的工具[5]。两者可同机并存、互为补充。
两个项目都依赖 Node.js 运行时与 Git(源码安装或版本管理需要),而国内网络环境下官方源下载缓慢、二进制包常常拉取失败。因此本指南的安装顺序严格遵循依赖关系:先装基础环境(Git → Node.js),再统一配置国内镜像源,最后分别安装与配置 OpenClaw 和 Hermes。
安装配置顺序
下图展示了从零到可用的完整顺序,每一步都建立在前一步之上,跳步会导致后续镜像或依赖缺失。
flowchart TD
A["Step 1 Git 环境安装"] --> B["Step 2 Node.js 安装"]
B --> C["Step 3 国内镜像源配置"]
C --> D["Step 4 OpenClaw 安装与配置"]
C --> E["Step 5 Hermes 安装与配置"]
D --> F{"已有 OpenClaw?"}
F -- "是" --> G["Step 6 hermes claw migrate"]
F -- "否" --> H["Step 6 hermes setup"]
G --> I["Step 7 双 Agent 并存与排错"]
H --> I
style A fill:#dbeafe,stroke:#2563eb,color:#1e293b
style B fill:#dbeafe,stroke:#2563eb,color:#1e293b
style C fill:#dbeafe,stroke:#2563eb,color:#1e293b
style D fill:#ccfbf1,stroke:#0d9488,color:#1e293b
style E fill:#ede9fe,stroke:#7c3aed,color:#1e293b
style F fill:#fef3c7,stroke:#d97706,color:#1e293b
style G fill:#ede9fe,stroke:#7c3aed,color:#1e293b
style H fill:#ede9fe,stroke:#7c3aed,color:#1e293b
style I fill:#f1f5f9,stroke:#64748b,color:#1e293b
适用对象
本指南面向在中国大陆网络环境下、希望本地运行 OpenClaw 与 Hermes 的开发者。所有命令均区分 Windows / macOS / Linux 三平台,镜像源地址已更新为 2026 年 cnpm 官方维护的新格式[7]。如果你已有 Node.js 与 Git 环境,可直接跳到第 3 章配置镜像源,或第 4、5 章安装对应工具。
关于"Hermes"的辨析:本指南所指是 Nous Research 的 Hermes Agent(GitHub: NousResearch/hermes-agent),与 Facebook 用于 React Native 的 Hermes JavaScript 引擎无关。后者无需单独安装,随 React Native 自动集成。
01 Git 环境安装 Environment
Git 是版本控制的基础工具,也是 OpenClaw 源码安装、Hermes git installer 路径的必备依赖。虽然 Hermes 的 Windows installer 会自带便携 Git Bash,但系统级 Git 仍建议优先安装,便于克隆仓库与配置 clone 加速。
三平台安装
# 方式1: winget(推荐) winget install Git.Git # 方式2: Chocolatey choco install git # 方式3: 官方安装包 / 国内镜像 # https://git-scm.com/download/win # https://npmmirror.com/mirrors/git-for-windows/
# 方式1: Homebrew(推荐) brew install git # 方式2: 首次执行 git 会触发 # Xcode Command Line Tools 安装 git --version
# Debian / Ubuntu sudo apt-get update && sudo apt-get install git # Fedora sudo dnf install git # CentOS / RHEL sudo yum install git
Windows 官方安装包下载较慢,可改用 npmmirror 维护的镜像目录 https://npmmirror.com/mirrors/git-for-windows/,选择最新版 64-bit Setup 安装包。安装时路径避免中文与空格,默认分支名建议设为 main[8]。
基础配置
安装完成后,设置全局用户信息与默认分支,后续所有仓库都会继承这套配置。
Shell · 全平台通用git config --global user.name "你的名字"
git config --global user.email "your@email.com"
# 设置默认分支名为 main
git config --global init.defaultBranch main
# 查看全局配置
git config --list
验证
Shellgit --version
# 预期输出: git version 2.45.x 或更高
看到版本号即代表 Git 已就绪。后续在第 3 章会为 Git 配置 clone 加速,让 GitHub 仓库克隆不再卡顿。
02 Node.js 安装(nvm 管理) Environment
OpenClaw 是 TypeScript/Node 全栈项目,要求 Node 22.22.3+、24.15+ 或 25.9+,官方推荐 Node 24[1][2];Hermes 的 installer 也会自动准备 Node.js 用于前端依赖。强烈建议用 nvm(Node Version Manager)管理多版本,而非直接装固定版本的安装包——既能随时切换,又能配合镜像源加速下载。
不要用系统包管理器(apt/yum)直接装 Node,这些源里的版本通常过低且无法多版本切换,会导致 OpenClaw 启动时因 Node 版本不达标而拒绝运行。
Windows: nvm-windows
Windows 使用 nvm-windows(与 Mac/Linux 的 nvm 是不同项目)。从 GitHub Releases 下载最新安装包(当前 1.2.2)[9],安装路径禁止包含中文或空格,例如 D:\nvm,Node.js symlink 路径设为 D:\nvm\nodejs。
安装完成后,先配置国内镜像再装 Node,否则下载会非常慢:
PowerShell / CMD · 配置 nvm-windows 镜像nvm node_mirror https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/
# 等价做法:编辑 nvm 安装目录下的 settings.txt
# root: D:\nvm
# path: D:\nvm\nodejs
# nvm_node_mirror: https://npmmirror.com/mirrors/node/
# nvm_npm_mirror: https://npmmirror.com/mirrors/npm/
macOS / Linux: nvm
Mac 与 Linux 使用官方 nvm(nvm-sh/nvm,当前 v0.40.5)[10]。通过 curl 一键安装,并把 Node 下载镜像写入 shell 配置:
Shell · 安装 nvmcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
# 或用 wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash
Shell · 配置 Node 下载镜像(写入 ~/.bashrc 或 ~/.zshrc)# 让 nvm 从国内镜像下载 Node 二进制
export NVM_NODEJS_ORG_MIRROR=https://cdn.npmmirror.com/binaries/node
# 重新加载配置
source ~/.bashrc # zsh 用户用 source ~/.zshrc
安装 Node 24 并验证
镜像配好后,安装 Node 24 并设为默认版本。下表给出三平台统一的 nvm 命令:
| 用途 | 命令 | 说明 |
|---|---|---|
| 安装 Node 24 | nvm install 24 | OpenClaw 推荐版本 |
| 安装最新 LTS | nvm install --lts | 等价于装当前 LTS |
| 切换到 Node 24 | nvm use 24 | 当前 shell 生效 |
| 设为默认 | nvm alias default 24 | 新终端自动使用 |
| 列出已装版本 | nvm ls | Windows 用 nvm list |
| 卸载某版本 | nvm uninstall 22 | 清理旧版本 |
Shell · 验证 Node 与 npmnode -v
# 预期: v24.18.0 或更高
npm -v
# 预期: 10.x.x 或更高
若计划从源码安装 OpenClaw,建议同时全局安装 pnpm:npm install -g pnpm。官方文档明确指出 npm 在处理 OpenClaw 依赖树时可能卡死,pnpm 是源码构建的推荐包管理器[2]。
03 国内镜像源统一配置 Mirrors
这是国内开发者最关键的一步。npm 默认源、Node 二进制、Electron/Puppeteer 等前端二进制、GitHub 克隆、pip 包,全部需要切换到国内镜像,否则 OpenClaw 与 Hermes 的安装过程会在依赖下载环节反复超时失败。本节配置一次,后续两个工具的安装都能受益。
npm 镜像源
旧的 registry.npm.taobao.org 已于 2022 年废弃,统一迁移到 npmmirror.com[11]。推荐用 nrm 在多源间快速切换:
Shell · 永久切换 npm 源# 永久切换到淘宝镜像
npm config set registry https://registry.npmmirror.com
# 验证当前源
npm config get registry
# 预期: https://registry.npmmirror.com
# 临时使用(单次安装)
npm install <package> --registry=https://registry.npmmirror.com
# 恢复官方源
npm config set registry https://registry.npmjs.org/
Shell · 用 nrm 管理多镜像源npm install -g nrm
nrm ls # 列出所有源(带 * 为当前源)
nrm use taobao # 切换到淘宝源
nrm use npm # 切换回官方源
nrm test # 测试各源响应速度
nrm current # 查看当前源
| 镜像名称 | 地址 | 维护方 |
|---|---|---|
| 淘宝 NPM(推荐) | https://registry.npmmirror.com | 阿里 / cnpm |
| 华为云 | https://repo.huaweicloud.com/repository/npm/ | 华为 |
| 腾讯云 | https://mirrors.cloud.tencent.com/npm/ | 腾讯 |
前端二进制镜像
许多 Node 原生模块(Electron、Puppeteer、Playwright、node-sass、Cypress、Prisma 等)在安装时会从境外 CDN 下载预编译二进制,这是国内安装失败的重灾区。以下配置来自 cnpm 官方维护的 binary-mirror-config(2026 年 v2.20.0),是所有前端二进制镜像的权威标准[7]。
推荐做法:把配置写入用户级 ~/.npmrc(Windows 为 C:\Users\<用户名>\.npmrc),对所有项目全局生效:
~/.npmrc · 前端二进制镜像(一次配置,全局生效)registry=https://registry.npmmirror.com
disturl=https://cdn.npmmirror.com/binaries/node
sass_binary_site=https://cdn.npmmirror.com/binaries/node-sass
phantomjs_cdnurl=https://cdn.npmmirror.com/binaries/phantomjs
chromedriver_cdnurl=https://cdn.npmmirror.com/binaries/chromedriver
operadriver_cdnurl=https://cdn.npmmirror.com/binaries/operadriver
electron_mirror=https://cdn.npmmirror.com/binaries/electron/
electron_builder_binaries_mirror=https://cdn.npmmirror.com/binaries/electron-builder-binaries/
puppeteer_download_host=https://cdn.npmmirror.com/binaries/chrome-for-testing
playwright_download_host=https://cdn.npmmirror.com/binaries/playwright
cypress_download_path_template=https://cdn.npmmirror.com/binaries/cypress/${version}/${platform}-${arch}/cypress.zip
sentrycli_cdnurl=https://cdn.npmmirror.com/binaries/sentry-cli
prisma_engines_mirror=https://cdn.npmmirror.com/binaries/prisma
如果某些工具不读取 .npmrc(如 Puppeteer 新版、Playwright CLI),可改为写入 shell 环境变量(~/.bashrc / ~/.zshrc,Windows 则配置系统环境变量):
~/.bashrc · 二进制镜像环境变量# Node 二进制 & nvm 镜像
export NODEJS_ORG_MIRROR="https://cdn.npmmirror.com/binaries/node"
export NVM_NODEJS_ORG_MIRROR="https://cdn.npmmirror.com/binaries/node"
# Corepack(包管理器管理)
export COREPACK_NPM_REGISTRY="https://registry.npmmirror.com"
# Electron
export ELECTRON_MIRROR="https://cdn.npmmirror.com/binaries/electron/"
export ELECTRON_BUILDER_BINARIES_MIRROR="https://cdn.npmmirror.com/binaries/electron-builder-binaries/"
# Sass / SWC
export SASS_BINARY_SITE="https://cdn.npmmirror.com/binaries/node-sass"
export SWC_BINARY_SITE="https://cdn.npmmirror.com/binaries/node-swc"
# Chromedriver / Puppeteer / Playwright
export CHROMEDRIVER_CDNURL="https://cdn.npmmirror.com/binaries/chromedriver"
export PUPPETEER_DOWNLOAD_BASE_URL="https://cdn.npmmirror.com/binaries/chrome-for-testing"
export PLAYWRIGHT_DOWNLOAD_HOST="https://cdn.npmmirror.com/binaries/playwright"
# Sentry CLI / Prisma
export SENTRYCLI_CDNURL="https://cdn.npmmirror.com/binaries/sentry-cli"
export PRISMA_ENGINES_MIRROR="https://cdn.npmmirror.com/binaries/prisma"
npmmirror 二进制路径已统一迁移到新格式 https://cdn.npmmirror.com/binaries/<name>/。旧路径 https://npmmirror.com/mirrors/<name>/ 仍可访问(nvm-windows 沿用此格式),但新格式是 2026 年 cnpm 官方推荐的标准地址[7]。配置完环境变量后需 source ~/.bashrc 或重开终端;Windows 需在系统环境变量中配置并重启终端 / IDE。
Git clone 加速
克隆 OpenClaw / Hermes 源码仓库时,GitHub 直连往往极慢。有以下几种方案,按推荐程度排列:
方案1 · ghproxy 代理前缀(最常用,单次使用)git clone https://ghproxy.com/https://github.com/openclaw/openclaw.git
# 新地址镜像
git clone https://mirror.ghproxy.com/https://github.com/openclaw/openclaw.git
方案2 · 全局 insteadOf 配置(一劳永逸,仅对 github.com 生效)# 让所有 github.com 克隆自动走 ghproxy
git config --global url."https://ghproxy.com/https://github.com".insteadOf "https://github.com"
# 或用 gitclone.com 镜像
git config --global url."https://gitclone.com/github.com".insteadOf "https://github.com"
# 取消
git config --global --unset url."https://ghproxy.com/https://github.com".insteadOf
方案3 · 本地有代理时配置 git proxygit config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890
# 仅对 github.com 设置代理
git config --global http.https://github.com.proxy http://127.0.0.1:7890
# 取消
git config --global --unset http.proxy
git config --global --unset https.proxy
pip 镜像源
Hermes 基于 Python,虽然官方 installer 会自动用 uv 管理 Python 环境,但若你选择 pip install hermes-agent 路径,或手动开发安装,配置 pip 镜像能显著加速:
| 名称 | 地址 |
|---|---|
| 清华大学(推荐) | https://pypi.tuna.tsinghua.edu.cn/simple |
| 阿里云 | https://mirrors.aliyun.com/pypi/simple/ |
| 腾讯云 | https://mirrors.cloud.tencent.com/pypi/simple/ |
| 中科大 | https://pypi.mirrors.ustc.edu.cn/simple/ |
Shell · pip 镜像配置# 临时使用
pip install <package> -i https://pypi.tuna.tsinghua.edu.cn/simple
# 永久配置(写入配置文件)
# Linux/macOS: ~/.pip/pip.conf 或 ~/.config/pip/pip.conf
# Windows: C:\Users\<用户名>\pip\pip.ini
pip.conf · 内容(清华源)[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
timeout = 120
到此环境层全部就绪:Git、Node 24、npm/pip 镜像、前端二进制镜像、Git clone 加速。接下来可以放心安装 OpenClaw 与 Hermes,依赖下载不会再成为瓶颈。
04 OpenClaw 安装与配置 OpenClaw
OpenClaw 是 TypeScript/Node 全栈项目,使用 pnpm workspace + tsdown 构建,附带 Docker、Nix、Fly 等多种部署配置[1]。它以一个长期运行的 Gateway 网关进程作为控制平面,在本地设备上运行,默认监听 18789 端口。
依赖与版本要求
| 依赖 | 要求 | 说明 |
|---|---|---|
| Node.js | 22.22.3+ / 24.15+ / 25.9+,推荐 Node 24 | 从源码构建需 Node ≥ v22.0.0 |
| Git | 任意现代版本 | 源码安装时必需 |
| pnpm | 最新版 | 源码安装强烈推荐,npm 可能卡死 |
| API Key | 来自模型供应商 | Anthropic / OpenAI / Google 等,onboarding 向导会提示 |
| Xcode / CLT | macOS 构建 App 时 | 仅 CLI + Gateway 则不需要 |
Windows 原生环境工具链兼容性较差,官方推荐优先使用 WSL2(Ubuntu),或使用原生 Windows Hub 桌面应用。若用原生 PowerShell 安装脚本,不会自动下载 Git,需手动安装(见第 1 章)[2]。
三种安装方式
方式一:一键脚本(推荐普通用户)
最简路径,脚本会自动处理依赖与 daemon 注册。国内用户建议使用中国社区版脚本:
macOS / Linux / WSL2 · 官方原版curl -fsSL https://openclaw.ai/install.sh | bash
macOS / Linux / WSL2 · 中国社区版(国内加速)curl -fsSL https://open-claw.org.cn/install-cn.sh | bash
Windows PowerShell · 需以管理员身份运行# 官方原版
iwr -useb https://openclaw.ai/install.ps1 | iex
# 中国社区版
iwr -useb https://open-claw.org.cn/install-cn.ps1 | iex
方式二:npm 全局安装
适合已配好 Node 环境的用户,安装后运行交互式初始化向导并注册为常驻服务(launchd / systemd user service)[3]:
Shell# 安装(Node 24 推荐,或 Node 22.19+)
npm install -g openclaw@latest
# 或: pnpm add -g openclaw@latest
# 启动交互式初始化向导,并安装为常驻 daemon
openclaw onboard --install-daemon
方式三:从源码安装(开发者 / 贡献者)
需要克隆仓库自行构建。务必先配置 pnpm 镜像,否则依赖下载极慢[2]:
Shell · 源码安装# 0. 安装 pnpm(如尚未安装)
npm install -g pnpm
# 1. 克隆代码(国内用 ghproxy 或 Gitee 镜像加速)
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 中国社区版: git clone https://gitee.com/OpenClaw-CN/openclaw-cn.git
# 2. 配置国内加速(关键!)
pnpm config set registry https://registry.npmmirror.com/
# 3. 安装依赖 + 构建
pnpm install # 安装依赖
pnpm ui:build # 构建前端 UI
pnpm build # 构建核心服务
# 4. 启动初始化向导
pnpm openclaw onboard --install-daemon
# 5. 启动 Gateway 服务
pnpm openclaw gateway
# 重新打开仪表板
pnpm openclaw dashboard
由于非全局安装,源码仓库内请通过 pnpm openclaw ... 运行命令。
配置文件与关键项
配置文件位置
默认配置文件位于 ~/.openclaw/openclaw.json,格式为 JSON5(支持注释),缺失时使用安全默认值[4]。可用 openclaw onboard / openclaw configure 向导引导,或直接编辑文件——Gateway 会监视文件并自动热加载。
~/.openclaw/ ├── openclaw.json # 主配置文件(JSON5) ├── workspace/ # Agent 默认工作区 └── state/ # 运行状态(日志、会话等)
配置文件必须是常规文件,OpenClaw 写入采用原子 rename 替换,避免使用符号链接。如需把配置放在默认 state 目录之外,用环境变量 OPENCLAW_CONFIG_PATH 指向真实文件[4]。
读写配置
Shell · CLI 一行式读写# 读取某项
openclaw config get agents.defaults.workspace
# 设置某项
openclaw config set agents.defaults.heartbeat.every "2h"
# 删除某项
openclaw config unset plugins.entries.brave.config.webSearch.apiKey
# 打印 JSON Schema(用于校验)
openclaw config schema
关键配置项
模型配置(含 fallback)——主模型失败时自动回退:
~/.openclaw/openclaw.json · JSON5{
agents: {
defaults: {
model: {
primary: "anthropic/claude-sonnet-4-6",
fallbacks: ["openai/gpt-5.4"],
},
models: {
"anthropic/claude-sonnet-4-6": { alias: "Sonnet" },
"openai/gpt-5.4": { alias: "GPT" },
},
},
},
}
渠道与 DM 策略——所有渠道共享同一模式,dmPolicy 控制谁可以与助手对话:
openclaw.json · 渠道配置{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing", // pairing | allowlist | open | disabled
allowFrom: ["tg:123"], // 仅 allowlist/open 生效
},
},
}
沙箱(安全)——群组 / 非 main 会话建议开启沙箱,默认 Docker 后端:
openclaw.json · 沙箱配置{
agents: {
defaults: {
sandbox: {
mode: "non-main", // off | non-main | all
scope: "agent", // session | agent | shared
},
},
},
}
默认 dmPolicy="pairing",未知发件人会收到配对码;若需公开开放,必须显式设 dmPolicy="open" 且 allowFrom: ["*"]。远程暴露前务必阅读 Security 与 Gateway exposure runbook,避免把不安全的 DM/工具直接暴露公网[1]。
配置校验(严格模式)
OpenClaw 只接受完全匹配 schema 的配置;未知键、错误类型、非法值会导致 Gateway 拒绝启动。校验失败时仅诊断命令可用,Gateway 会在每次成功启动后保存"最后已知良好"配置副本,被拒绝的写入存为 <path>.rejected.<timestamp> 供排查[4]。
Shell · 诊断与自动修复openclaw doctor # 环境诊断
openclaw doctor --fix # 自动修复(同 --repair,加 --yes 跳过提示)
openclaw logs # 查看日志
openclaw health # 健康检查
验证与常用命令
Shell · 验证安装与启动# 查看 Gateway 状态(默认监听 18789 端口)
openclaw gateway status
# 打开浏览器控制面板
openclaw dashboard
# 前台调试模式
openclaw gateway stop
openclaw gateway --port 18789 --verbose
# 发送测试消息
openclaw message send --target +1234567890 --message "Hello from OpenClaw"
# 与助手对话
openclaw agent --message "Ship checklist" --thinking high
# 环境诊断
openclaw doctor
openclaw status
openclaw health
| 命令 | 用途 |
|---|---|
openclaw onboard --install-daemon | 初始化向导 + 安装为常驻服务 |
openclaw gateway start/stop/restart | 网关生命周期管理 |
openclaw dashboard | 打开浏览器控制面板(默认 http://127.0.0.1:18789) |
openclaw config get/set/unset <path> | 读写单个配置项 |
openclaw doctor [--fix] | 环境诊断 / 自动修复 |
openclaw pairing approve <channel> <code> | 批准 DM 配对码 |
关键环境变量
| 变量 | 用途 |
|---|---|
OPENCLAW_HOME | 内部路径解析主目录 |
OPENCLAW_STATE_DIR | 覆盖 state 目录 |
OPENCLAW_CONFIG_PATH | 覆盖配置文件路径(指向真实文件,非符号链接) |
OPENCLAW_GATEWAY_TOKEN / OPENCLAW_GATEWAY_PASSWORD | 网关认证 token / 密码(勿与 hooks.token 复用) |
OPENCLAW_HANDSHAKE_TIMEOUT_MS | WebSocket 握手超时(默认 15000ms) |
升级时先运行 openclaw doctor 排查问题,再参考更新指南 https://docs.openclaw.ai/install/updating。聊天会话内可用斜杠命令:/status、/new、/reset、/compact、/think <level>、/verbose on|off 等[1]。
05 Hermes 安装与配置 Hermes
Hermes 是 Nous Research 开发的开源、自我改进型 AI Agent 框架(MIT 许可),具备跨会话持久记忆、多终端入口(TUI / CLI / Telegram / Discord / Slack 等)、六种执行后端与 Skills Hub[5]。它官方提供从 OpenClaw 迁移的工具,两者经常被并列使用。
依赖说明
Hermes 的官方 installer 会自动安装所有依赖,用户通常无需手动准备。了解这些依赖有助于排查问题:
| 依赖 | 说明 |
|---|---|
| uv | Astral 出品的 Rust Python 包管理器,管理 Hermes 的 Python 环境 |
| Python 3.11 | 也支持 3.12、3.13 |
| Node.js | 用于部分工具与前端依赖 |
| ripgrep | 代码 / 文件搜索 |
| ffmpeg | 音频处理 |
| 便携 Git Bash | 仅 Windows,解压至 %LOCALAPPDATA%\hermes\git,无需管理员权限;系统已装 Git 则自动检测复用 |
Hermes 要求所选 LLM 模型至少有 64,000 tokens 上下文窗口。本地模型需 --ctx-size 65536(llama.cpp)或 -c 65536(Ollama),否则启动时会被拒绝[6]。
安装方式
方式一:官方一键脚本(推荐)
官方明确 pip install 与 Homebrew 属于"unsupported"路径,CLI/TUI/网关的全部功能仅由官方 installer 保证,因此首选 curl 脚本[5]:
Linux / macOS / WSL2 / Termuxcurl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
Windows · 原生 PowerShell(无需 WSL)iex (irm https://hermes-agent.nousresearch.com/install.ps1)
安装后重载 shell 并启动:
Shellsource ~/.bashrc # 或 source ~/.zshrc
hermes # 启动对话
原生 Windows 安装目录为 %LOCALAPPDATA%\hermes;若用 WSL2,则安装至 ~/.hermes,与 Linux 一致。
方式二:pip 安装(最简)
Shellpip install hermes-agent
hermes postinstall # 可选:自动安装 Node.js、浏览器、ripgrep、ffmpeg 并运行 setup 向导
注意 PyPI 包只跟踪打 tag 的正式版本,不含 main 分支最新提交[6]。
方式三:Git installer(跟踪 main 最新提交)
Linux / macOS / WSL2 / Android (Termux)curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
方式四:手动开发安装(贡献者)
Shell · 手动开发安装curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
cd "${HERMES_HOME:-$HOME/.hermes}/hermes-agent"
uv pip install -e ".[all,dev]"
scripts/run_tests.sh
纯手动 clone + venv 时,venv 必须建在源码目录外(如 ~/.hermes/venvs/hermes-dev),避免 agent 自身的相对路径命令误删运行时环境[5]。
配置目录与关键项
配置目录结构
所有配置集中在 ~/.hermes/(Linux/macOS/WSL)或 %LOCALAPPDATA%\hermes(Windows 原生)[6]:
~/.hermes/ ├── config.yaml # 主配置(模型、终端、TTS、压缩等非机密设置) ├── .env # API keys、tokens 等机密(必需) ├── auth.json # OAuth 凭证(Nous Portal 等) ├── SOUL.md # 主智能体身份(系统提示词首位插槽) ├── memories/ # 持久化记忆(MEMORY.md、USER.md) ├── skills/ # agent 自建技能 ├── cron/ # 定时任务 ├── sessions/ # 网关会话 └── logs/ # 日志(errors.log、gateway.log,secrets 自动脱敏)
配置优先级与分离原则
配置按以下优先级生效(从高到低):CLI 参数 > config.yaml > .env > 内置默认值。核心规则是机密放 .env,其余设置放 config.yaml,hermes config set 命令会自动路由到正确文件[6]。
Shell · 配置管理命令hermes config # 查看当前配置
hermes config edit # 用编辑器打开 config.yaml
hermes config get KEY # 读取某项解析后的值
hermes config set KEY VAL # 设置(自动判断写入 .env 还是 config.yaml)
hermes config unset KEY # 删除某项用户设置
hermes config check # 检查更新后是否有缺失项
# 示例
hermes config set model anthropic/claude-opus-4
hermes config set terminal.backend docker
hermes config set OPENROUTER_API_KEY sk-or-... # 自动写入 .env
关键配置项
终端后端(核心)——决定命令在哪里执行,可选 local / docker / ssh / modal / daytona / singularity:
~/.hermes/config.yamlterminal:
backend: local # local | docker | ssh | modal | daytona | singularity
cwd: "." # 网关/cron 工作目录(CLI 始终用启动目录)
timeout: 180 # 单命令超时(秒)
home_mode: auto # auto | real | profile(子进程 HOME 策略)
env_passthrough: [] # 透传到沙箱的环境变量名
singularity_image: "docker://nikolaik/python-nodejs:python3.11-nodejs20"
modal_image: "nikolaik/python-nodejs:python3.11-nodejs20"
daytona_image: "nikolaik/python-nodejs:python3.11-nodejs20"
更新行为——控制升级前的备份策略:
config.yaml · 更新配置updates:
pre_update_backup: quick # quick(默认,状态快照)| full(快照+HERMES_HOME zip)| off
backup_keep: 5 # 保留多少个完整更新前备份 zip
non_interactive_local_changes: stash # stash | discard
MCP 服务器——集成外部工具能力:
config.yaml · MCP 配置mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
config.yaml 支持用 ${VAR_NAME} 引用环境变量(仅此语法,不支持裸 $VAR;未定义变量会原样保留):
config.yaml · 环境变量替换auxiliary:
vision:
api_key: ${GOOGLE_API_KEY}
base_url: ${CUSTOM_VISION_URL}
API Key 配置(.env)
所有 API key 必须放 ~/.hermes/.env,常用项见下表:
| 变量 | 用途 |
|---|---|
OPENROUTER_API_KEY | OpenRouter(推荐,最灵活) |
ANTHROPIC_API_KEY / ANTHROPIC_BASE_URL | Anthropic Claude |
OPENAI_API_KEY / OPENAI_BASE_URL | OpenAI / 兼容端点 |
GOOGLE_API_KEY / GEMINI_API_KEY | Google Gemini |
DEEPSEEK_API_KEY | DeepSeek |
DASHSCOPE_API_KEY | 阿里通义千问 |
KIMI_API_KEY / GLM_API_KEY | 月之暗面 / 智谱 |
ELEVENLABS_API_KEY | TTS 语音 |
BRAVE_SEARCH_API_KEY / TAVILY_API_KEY | 搜索工具 |
验证与常用命令
Shell · 初始化与启动hermes setup # 完整设置向导(一次性配置所有内容)
hermes setup --portal # Nous Portal 一键 OAuth 登录 + 启用 Tool Gateway
hermes # 启动交互式 CLI
hermes --tui # 现代化 TUI(推荐)
hermes -c # 恢复最近会话
hermes model # 交互式选择 LLM provider 与模型
Shell · 网关与诊断hermes gateway # 启动消息网关(Telegram 等)
hermes gateway setup # 交互式配置消息平台
hermes gateway status # 查看网关状态
hermes doctor # 诊断问题(排查首选)
hermes update # 升级到最新版
hermes skills browse # 浏览 Skills Hub
hermes skills install <slug> # 安装 skill
Windows Defender / 杀毒可能误报 uv.exe(路径 %LOCALAPPDATA%\hermes\bin\uv.exe),它是 Astral 的 uv(Rust 编写),常被 ML 杀毒引擎误判。建议为整个 hermes 文件夹加白名单(而非文件 hash,因 uv 版本会变)[5]。
排查问题时的恢复工具链:hermes doctor → hermes model → hermes setup → hermes sessions list → hermes --continue → hermes gateway status[6]。会话内可用 /help、/new、/model、/tools、/skills、/save、/compress 等斜杠命令。
06 从 OpenClaw 迁移到 Hermes Migrate
如果此前已使用 OpenClaw,Hermes 内置了完整的迁移工具。首次运行 hermes setup 时也会自动检测 ~/.openclaw 并提示迁移[5]。
Shell · 迁移命令hermes claw migrate # 交互式完整迁移
hermes claw migrate --dry-run # 预览将要迁移的内容(不实际写入)
hermes claw migrate --preset user-data # 不含 secrets 的迁移
hermes claw migrate --overwrite # 覆盖已存在的冲突
迁移内容包括:SOUL.md、记忆、用户自建 Skills、命令白名单、消息平台配置、API keys(Telegram/OpenRouter/OpenAI/Anthropic/ElevenLabs)、TTS 资源、AGENTS.md[5]。建议先用 --dry-run 预览,确认无误后再正式迁移。
迁移是可选项。你也可以让 OpenClaw 与 Hermes 并存(见下一章),不必急于迁移。两者使用不同的配置目录(~/.openclaw 与 ~/.hermes),互不干扰。
07 双 Agent 并存与排错 Operations
并存建议
社区实践表明 OpenClaw 与 Hermes 可同机运行,配置目录相互隔离,不会冲突[12]。但为了避免 API 速率限制冲突与成本失控,有以下建议:
- 使用不同 model provider:例如 OpenClaw 走 Anthropic、Hermes 走 OpenRouter,避免同一账号并发请求触发限流。
- 分开管理网关端口:OpenClaw 默认 18789,Hermes 网关可另设端口,避免端口冲突。
- 关注月成本:双 Agent 并存典型月成本约 $130–160(OpenClaw Opus 4.6 约 $80–120 + Hermes 约 $20–40),按需调整模型档位。
排错工具链
出问题时的统一排查顺序,两个工具都遵循"诊断 → 日志 → 状态 → 重启"的思路:
OpenClaw 排错
openclaw doctor — 环境诊断
openclaw doctor --fix — 自动修复
openclaw logs — 查看日志
openclaw health — 健康检查
openclaw status — 整体状态
openclaw gateway restart — 重启网关
Hermes 排错
hermes doctor — 诊断问题
hermes model — 检查模型配置
hermes setup — 重新走设置向导
hermes sessions list — 查看会话
hermes --continue — 恢复会话
hermes gateway status — 网关状态
速查表
| 项目 | OpenClaw | Hermes |
|---|---|---|
| 官方仓库 | github.com/openclaw/openclaw | github.com/NousResearch/hermes-agent |
| 官方文档 | docs.openclaw.ai | hermes-agent.nousresearch.com/docs |
| 语言栈 | TypeScript / Node | Python 3.11 + Node |
| Node 要求 | 22.22.3+ / 24.15+ / 25.9+ | installer 自动处理 |
| 配置目录 | ~/.openclaw/ | ~/.hermes/ |
| 主配置文件 | openclaw.json(JSON5) | config.yaml + .env |
| 推荐安装方式 | 一键脚本 / npm 全局 | 官方 curl 脚本 |
| 诊断命令 | openclaw doctor | hermes doctor |
| 网关默认端口 | 18789 | 按配置 |
| 迁移工具 | — | hermes claw migrate |
Hermes 常用环境变量:HERMES_HOME(覆盖配置目录,可实现多实例并存)、HERMES_TIMEZONE(IANA 时区,如 Asia/Shanghai)、HERMES_GIT_BASH_PATH(仅 Windows,覆盖 bash.exe 路径,installer 会自动设置)。完整列表见官方环境变量参考[13]。
至此,从 Git、Node.js 环境准备,到国内镜像源加速,再到 OpenClaw 与 Hermes 的安装、配置、迁移与并存排错,全部流程已按依赖顺序串联完毕。遇到具体问题,优先用各自的 doctor 命令诊断,并对照官方文档的最新说明。