🌱 初级入门教程
从零开始,手把手教你安装配置 Hermes 和 OpenClaw,掌握基础操作,理解核心概念
课程概述
本教程面向零基础用户,将带你从环境准备到实际操作,完整掌握 Hermes 和 OpenClaw 的基础使用。
安装与环境配置
详细的环境检查、安装步骤、验证方法
API 后端配置
多种配置方式、环境变量管理、安全最佳实践
对话交互实操
交互式对话、单次问答、管道模式、参数控制
内置工具实操
文件操作、代码执行、网络搜索、Git 操作
环境准备
在安装之前,确保你的系统满足以下要求。
系统要求
| 依赖 | 最低版本 | 推荐版本 | 检查命令 | 安装方式 |
|---|---|---|---|---|
| Python | 3.10 | 3.12+ | python --version | python.org 或 brew install python |
| Node.js | v18 | v20+ | node -v | nodejs.org 或 brew install node |
| npm | v9 | v10+ | npm -v | 随 Node.js 安装 |
| Git | v2.23 | v2.40+ | git --version | git-scm.com |
| 磁盘空间 | 500MB | 2GB+ | — | — |
一键环境检查
# 检查所有依赖版本
echo "=== 环境检查 ==="
echo "Python: $(python --version 2>&1 || echo '未安装')"
echo "Node: $(node -v 2>&1 || echo '未安装')"
echo "npm: $(npm -v 2>&1 || echo '未安装')"
echo "Git: $(git --version 2>&1 || echo '未安装')"
echo "磁盘: $(df -h . | tail -1 | awk '{print $4}') 可用"
Windows 用户特别说明
# 安装 WSL2(管理员 PowerShell)
wsl --install
# 重启后进入 WSL
wsl
# 在 WSL 中安装依赖
sudo apt update && sudo apt install -y python3 python3-pip nodejs npm git
macOS 用户
# 使用 Homebrew 安装(推荐)
brew install python@3.12 node git
# 或使用官方安装包
# Python: https://python.org/downloads
# Node: https://nodejs.org/downloads
Linux 用户
# Ubuntu/Debian
sudo apt update && sudo apt install -y python3 python3-pip python3-venv nodejs npm git
# CentOS/RHEL
sudo yum install -y python3 python3-pip nodejs npm git
# Arch
sudo pacman -S python python-pip nodejs npm git
安装 Hermes-Agent(主脑)
Hermes-Agent 是由 NousResearch 开发的开源 AI 助手,将作为我们协作架构中的中央调度大脑。它支持工具调用、代码执行、文件操作、MCP 服务器连接等核心能力。
方式一:pip 安装(推荐)
# 创建虚拟环境(推荐,避免依赖冲突)
python -m venv ~/hermes-env
source ~/hermes-env/bin/activate # Linux/macOS
# ~/hermes-env\Scripts\activate # Windows
# 安装 Hermes-Agent
pip install hermes-agent
# 验证安装
hermes --version
hermes config check
方式二:pipx 安装(隔离环境)
# 先安装 pipx
pip install pipx
pipx ensurepath
# 用 pipx 安装(自动创建隔离环境)
pipx install hermes-agent
# 验证
hermes --version
方式三:从源码安装(开发版)
# 克隆仓库
git clone https://github.com/0xNyk/hermes-agent.git
cd hermes-agent
# 安装依赖(开发模式,修改源码后无需重装)
pip install -e ".[dev]"
# 验证
hermes --version
安装后验证
# 检查安装状态
hermes config check
# 查看配置目录
ls -la ~/.hermes/
# 预期输出:
# drwxr-xr-x .hermes/
# ├── config.yaml # 主配置文件
# ├── .env # 环境变量(API Key)
# ├── SOUL.md # Agent 身份定义
# ├── memories/ # 记忆目录
# │ ├── MEMORY.md # 全局记忆
# │ └── USER.md # 用户偏好
# └── sessions/ # 会话历史
Permission denied,不要使用 sudo pip install!使用 pip install --user 或虚拟环境。
安装 OpenClaw(打手)
OpenClaw 是功能强大的开源 AI 助手平台,在我们的架构中充当任务执行 Worker。它支持多 Agent 管理、Gateway 服务、Skills 系统等。
方式一:npm 全局安装(推荐)
# 全局安装
npm install -g openclaw
# 验证安装
openclaw --version
# 运行自检
openclaw doctor
方式二:npx 免安装运行
# 无需安装,直接运行
npx openclaw chat
# 指定版本
npx openclaw@latest chat
方式三:Docker 安装
# 拉取镜像
docker pull openclaw/openclaw:latest
# 运行容器
docker run -d \
--name openclaw \
-v ~/.openclaw:/root/.openclaw \
-p 18789:18789 \
-e OPENAI_API_KEY=sk-your-key \
-e OPENAI_BASE_URL=https://api.xidao.online/v1 \
openclaw/openclaw:latest
# 查看日志
docker logs -f openclaw
OpenClaw 目录结构
~/.openclaw/
├── config.json # 主配置文件
├── agents/ # Agent 配置
│ └── default.json # 默认 Agent
├── skills/ # 已安装技能
│ └── installed/ # 技能目录
├── mcp/ # MCP 服务器配置
│ └── servers.json # 服务器列表
├── sessions/ # 会话历史
└── logs/ # 日志文件
安装验证清单
# 1. 检查版本
openclaw --version
# 2. 运行诊断
openclaw doctor
# 3. 检查 Gateway
openclaw gateway status
# 4. 查看已安装技能
openclaw skills list
# 5. 查看配置
openclaw config show
配置 XiDao API
为 Hermes 和 OpenClaw 配置统一的 API 后端,确保两者使用相同的模型服务。XiDao API 提供稳定高速的 AI 模型中转服务,支持 Claude、GPT、Gemini 等全系列模型。
1. 获取 API Key
注册 XiDao 账号
访问 api.xidao.online,点击注册。支持邮箱注册。
充值余额
进入控制台 → 充值页面。新用户通常有免费额度。支持支付宝/微信支付。
创建 API 令牌
进入控制台 → 令牌管理 → 创建新令牌。复制保存(格式为 sk-xxxxxxxx),令牌只显示一次!
验证 API 可用性
# 测试 API 连接
curl https://api.xidao.online/v1/models \
-H "Authorization: Bearer sk-your-api-key"
# 预期返回:模型列表 JSON
2. 配置 Hermes-Agent
三种配置方式,任选其一:
方式 A:命令行配置(最简单)
hermes config set OPENAI_API_KEY sk-your-api-key-here
hermes config set OPENAI_BASE_URL https://api.xidao.online/v1
# 验证
hermes config check
方式 B:环境变量文件(推荐,更安全)
# 创建配置目录
mkdir -p ~/.hermes
# 写入环境变量
cat > ~/.hermes/.env << 'EOF'
OPENAI_API_KEY=sk-your-api-key-here
OPENAI_BASE_URL=https://api.xidao.online/v1
EOF
# 设置文件权限(仅本人可读)
chmod 600 ~/.hermes/.env
# 验证
hermes config check
方式 C:Shell 环境变量(临时使用)
# 临时设置(关闭终端后失效)
export OPENAI_API_KEY=sk-your-api-key-here
export OPENAI_BASE_URL=https://api.xidao.online/v1
# 持久化(写入 shell 配置文件)
echo 'export OPENAI_API_KEY=sk-your-api-key-here' >> ~/.bashrc
echo 'export OPENAI_BASE_URL=https://api.xidao.online/v1' >> ~/.bashrc
source ~/.bashrc
3. 配置 OpenClaw
方式 A:交互式配置向导(推荐新手)
# 启动配置向导
openclaw onboard
# 向导步骤:
# 1. 选择 Provider → Custom Provider
# 2. 输入 Base URL → https://api.xidao.online/v1
# 3. 粘贴 API Key → sk-your-api-key-here
# 4. 选择默认模型 → anthropic/claude-sonnet-4
# 5. 确认保存
方式 B:命令行配置
openclaw config set XIDAO_API_KEY sk-your-api-key-here
openclaw config set base_url https://api.xidao.online/v1
openclaw config set default_model anthropic/claude-sonnet-4
# 验证
openclaw config show
方式 C:手动编辑配置文件
// ~/.openclaw/config.json
{
"provider": "custom",
"base_url": "https://api.xidao.online/v1",
"api_key": "sk-your-api-key-here",
"default_model": "anthropic/claude-sonnet-4",
"fallback_models": [
"openai/gpt-5.1",
"google/gemini-2.5-flash"
],
"max_tokens": 8192,
"temperature": 0.7
}
- ❌ 绝不将 API Key 硬编码在代码中
- ❌ 绝不将 .env 文件提交到 Git 仓库
- ✅ 使用
.gitignore排除.env文件 - ✅ 设置文件权限
chmod 600 ~/.hermes/.env - ✅ 定期轮换 API Key
第一次对话
配置完成后,让我们分别与 Hermes 和 OpenClaw 进行第一次对话,验证一切正常。
🧠 与 Hermes 对话
Hermes 作为主脑,擅长理解意图和规划任务:
# 交互式对话(最常用)
hermes chat
# 指定模型
hermes chat --model anthropic/claude-sonnet-4
# 单次问答(不进入交互模式)
hermes chat --print "你好,请介绍一下你自己"
# 管道模式(结合其他命令)
echo "分析这段代码的问题" | hermes chat --print
# 指定系统提示
hermes chat --system "你是一个 Python 专家" --print "如何优化列表推导式"
交互模式快捷键:
| 快捷键 | 功能 |
|---|---|
Ctrl+C | 中断当前生成 |
Ctrl+D | 退出对话 |
/help | 查看帮助 |
/clear | 清空当前会话 |
/model | 切换模型 |
/save | 保存会话 |
🦞 与 OpenClaw 对话
OpenClaw 作为打手,擅长执行具体任务:
# 启动 Gateway 服务(必须先启动)
openclaw gateway start
# 命令行对话
openclaw chat
# 指定模型
openclaw chat --model anthropic/claude-sonnet-4
# Web 控制面板(更直观)
openclaw dashboard
# 浏览器打开 http://localhost:18789
# 查看 Gateway 状态
openclaw gateway status
# 停止 Gateway
openclaw gateway stop
🎯 第一次对话实战
让我们用实际任务来验证 Agent 的能力:
# 任务1: 让 Agent 分析当前目录
> 请分析当前目录的项目结构,告诉我这是什么类型的项目
# 任务2: 让 Agent 读写文件
> 读取 package.json 文件,告诉我项目用了哪些依赖
# 任务3: 让 Agent 执行代码
> 用 Python 计算斐波那契数列的前 20 项
# 任务4: 让 Agent 搜索信息
> 搜索 Python 3.13 的新特性
# 任务5: 让 Agent 操作 Git
> 查看最近的 Git 提交记录
内置工具详解
Hermes 和 OpenClaw 都内置了丰富的工具,让 AI Agent 不只是聊天,还能真正执行操作。理解这些工具是进阶的基础。
📁 文件操作工具
Agent 可以读取、写入、编辑、搜索文件系统中的文件:
| 操作 | 对话示例 | 说明 |
|---|---|---|
| 读取文件 | 读取 src/main.py 的内容 | 支持文本、代码、配置文件 |
| 写入文件 | 创建 hello.py 并写入打印语句 | 自动创建不存在的文件 |
| 编辑文件 | 在 config.json 中添加 port: 8080 | 精确修改,不覆盖其他内容 |
| 搜索文件 | 搜索项目中所有 .py 文件 | 支持 glob 模式 |
| 搜索内容 | 搜索包含 "TODO" 的文件 | 类似 grep,支持正则 |
| 目录列表 | 列出 src/ 目录下的所有文件 | 递归或非递归 |
# 组合使用:读取 → 分析 → 修改
> 读取 src/utils.py,找到 calculate 函数,添加参数校验
# 批量操作
> 搜索所有 .tsx 文件中的 console.log 并删除
# 创建项目结构
> 创建一个新的 Express 项目结构:
> - src/
> - routes/
> - middleware/
> - utils/
> - tests/
> - package.json
💻 代码执行工具
Agent 可以在沙箱中运行代码,获取执行结果:
| 语言 | 对话示例 | 说明 |
|---|---|---|
| Python | 运行 Python 计算 2^100 | 最常用,支持所有库 |
| Bash | 运行 ls -la 查看文件 | 系统命令 |
| Node.js | 运行 node -e "console.log(Date.now())" | JavaScript 执行 |
# 数据处理
> 用 Python 读取 data.csv,计算每列的平均值
# 安装依赖并使用
> 安装 requests 库,然后获取 https://api.example.com/data 的内容
# 系统操作
> 运行 df -h 查看磁盘使用情况
# 调试代码
> 运行 python tests/test_main.py 并分析失败的测试
🌐 网络搜索工具
Agent 可以搜索互联网、获取网页内容:
# 搜索信息
> 搜索 Python 3.13 的新特性
> 搜索 Next.js 15 App Router 最佳实践
# 获取网页内容
> 获取 https://docs.python.org/3/whatsnew/3.13.html 的内容并总结
# API 调用
> 调用 https://api.github.com/repos/modelcontextprotocol/servers 获取仓库信息
# 技术文档查询
> 查找 FastAPI 的依赖注入用法
📋 Git 操作工具
Agent 可以执行 Git 操作,管理代码版本:
# 查看状态
> 查看 Git 状态和最近的提交
> 显示 main 和 feature 分支的差异
# 提交代码
> 暂存所有修改并提交,消息为 "feat: 添加用户认证"
> 修改最后一次提交的消息为 "fix: 修复登录 Bug"
# 分支管理
> 创建并切换到 feature/auth 分支
> 将 feature/auth 分支合并到 main
# 历史搜索
> 搜索包含 "fix" 的提交记录
> 查看谁修改了 src/auth.py 文件
记忆与上下文
理解 Agent 的记忆系统,是有效使用的关键。记忆系统让 Agent 能跨会话保持信息。
Hermes 记忆系统
~/.hermes/
├── memories/
│ ├── MEMORY.md # 全局记忆(Agent 自动维护)
│ └── USER.md # 用户偏好(Agent 自动维护)
├── SOUL.md # Agent 身份定义(可手动编辑)
└── sessions/ # 会话历史(自动保存)
记忆类型
| 类型 | 文件 | 说明 | 示例 |
|---|---|---|---|
| 全局记忆 | MEMORY.md | Agent 自动保存的重要信息 | 项目结构、技术栈、约定 |
| 用户偏好 | USER.md | 用户的使用习惯和偏好 | 喜欢 TypeScript、缩进2空格 |
| 身份定义 | SOUL.md | Agent 的角色和行为准则 | 你是一个专业的全栈工程师 |
| 会话历史 | sessions/ | 每次对话的完整记录 | 可回顾和恢复 |
手动编辑记忆
# ~/.hermes/SOUL.md - 自定义 Agent 身份
你是一个经验丰富的全栈工程师,专精于:
- TypeScript / React / Next.js 前端开发
- Python / FastAPI 后端开发
- PostgreSQL 数据库设计
编码规范:
- 使用函数式组件和 Hooks
- 优先使用 const 和箭头函数
- 变量命名使用 camelCase
- 组件文件使用 PascalCase
沟通风格:
- 简洁直接,不废话
- 先给方案,再解释原因
- 代码示例优先
OpenClaw 上下文管理
OpenClaw 自动管理长对话的上下文,支持以下策略:
| 策略 | 说明 | 适用场景 |
|---|---|---|
| 时间修剪 | 按时间顺序裁剪旧消息 | 长对话(默认) |
| 滑动窗口 | 保留最近 N 条消息 | 固定上下文窗口 |
| 摘要压缩 | 用 AI 摘要旧消息 | 需要保留完整信息 |
模型选择指南
不同的任务适合不同的模型,合理选择可以优化效果和成本。
模型对比
| 模型 | 推理能力 | 速度 | 成本 | 最佳场景 |
|---|---|---|---|---|
anthropic/claude-opus-4 | ⭐⭐⭐⭐⭐ | ⭐⭐ | 💰💰💰 | 复杂推理、架构设计 |
anthropic/claude-sonnet-4 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 💰💰 | 日常编程、通用任务(推荐) |
openai/gpt-5.1 | ⭐⭐⭐⭐ | ⭐⭐⭐ | 💰💰 | 通用任务、多模态 |
google/gemini-2.5-pro | ⭐⭐⭐⭐ | ⭐⭐⭐ | 💰💰 | 长上下文、代码分析 |
google/gemini-2.5-flash | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | 💰 | 快速响应、简单任务 |
openai/gpt-4o | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | 💰💰 | 图像理解、视觉任务 |
Hermes 模型配置详解
# ~/.hermes/config.yaml
model: anthropic/claude-sonnet-4
fallback_models:
- openai/gpt-5.1
- google/gemini-2.5-flash
auxiliary:
vision:
provider: "main"
model: "openai/gpt-4o"
terminal:
backend: local
timeout: 180
compression:
mode: safeguard
max_tokens: 128000
场景化模型推荐
| 场景 | 推荐模型 | 原因 |
|---|---|---|
| 代码编写 | Claude Sonnet 4 | 编程能力最强,性价比高 |
| 代码审查 | Claude Opus 4 | 推理更深,发现更多问题 |
| 快速问答 | Gemini Flash | 速度最快,成本最低 |
| 长文档分析 | Gemini Pro | 1M 上下文窗口 |
| 图像理解 | GPT-4o | 视觉理解能力强 |
| 架构设计 | Claude Opus 4 | 复杂推理和规划 |
CLI 命令参考
Hermes 常用命令
| 命令 | 说明 | 示例 |
|---|---|---|
hermes chat | 交互式对话 | hermes chat --model claude-sonnet-4 |
hermes config | 配置管理 | hermes config set OPENAI_API_KEY sk-xxx |
hermes gateway | Gateway 服务 | hermes gateway start |
hermes skills | 技能管理 | hermes skills list |
hermes logs | 查看日志 | hermes logs --tail 50 |
hermes --version | 查看版本 | hermes -v |
OpenClaw 常用命令
| 命令 | 说明 | 示例 |
|---|---|---|
openclaw chat | 交互式对话 | openclaw chat --model claude-sonnet-4 |
openclaw gateway | Gateway 管理 | openclaw gateway start --port 18789 |
openclaw skills | 技能管理 | openclaw skills install code-review |
openclaw config | 配置管理 | openclaw config show |
openclaw dashboard | Web 控制台 | openclaw dashboard |
openclaw doctor | 环境诊断 | openclaw doctor |
使用技巧
🎯 提示词技巧
| 技巧 | 不好的写法 | 好的写法 |
|---|---|---|
| 明确具体 | "帮我改代码" | "在 src/auth.py 的 login 函数中添加 JWT token 验证" |
| 提供上下文 | "这个报错怎么办" | "运行 pytest 时遇到 ImportError: No module named 'fastapi',项目使用 Python 3.12" |
| 分步指导 | "做一个网站" | "1. 创建 Next.js 项目 2. 添加登录页面 3. 连接后端 API" |
| 指定格式 | "给我代码" | "用 TypeScript 写一个 React Hook,包含 JSDoc 注释和单元测试" |
⚡ 效率技巧
- 善用管道:
cat error.log | hermes chat --print "分析这些错误" - 预设系统提示:
hermes chat --system "你是 Python 专家" - 保存常用提示: 编辑
~/.hermes/SOUL.md定义默认角色 - 切换模型: 简单问题用 Flash,复杂问题用 Opus
- 利用记忆: 告诉 Agent "记住:我偏好 TypeScript",下次自动应用
故障排查
❌ 连接失败:Connection refused
# 1. 检查 API Key 是否正确
hermes config check
# 2. 检查 Base URL 是否包含 /v1
# 正确: https://api.xidao.online/v1
# 错误: https://api.xidao.online (缺少 /v1)
# 3. 测试网络连通性
curl https://api.xidao.online/v1/models \
-H "Authorization: Bearer sk-your-key"
# 4. 检查代理设置
echo $HTTP_PROXY $HTTPS_PROXY
❌ 模型名称错误:Model not found
# 查看可用模型列表
curl https://api.xidao.online/v1/models \
-H "Authorization: Bearer sk-your-key" | jq '.data[].id'
⚠️ 响应很慢
- 切换到更快的模型:
google/gemini-2.5-flash - 减少请求的上下文长度
- 检查网络延迟:
ping api.xidao.online - 尝试切换国内/全球节点
⚠️ 上下文溢出:Context length exceeded
- 使用
/clear清空当前会话 - 开启上下文压缩:
hermes config set compression.mode safeguard - 使用摘要模型减少 Token:
hermes config set compression.summary_model gemini-2.5-flash
⚠️ 工具调用失败
# 检查工具权限
hermes config show tools
# 检查终端后端
hermes config set terminal.backend local
# 查看详细日志
hermes chat --debug