🌱 初级入门教程

从零开始,手把手教你安装配置 Hermes 和 OpenClaw,掌握基础操作,理解核心概念

课程概述

本教程面向零基础用户,将带你从环境准备到实际操作,完整掌握 Hermes 和 OpenClaw 的基础使用。

📥

安装与环境配置

详细的环境检查、安装步骤、验证方法

🔑

API 后端配置

多种配置方式、环境变量管理、安全最佳实践

💬

对话交互实操

交互式对话、单次问答、管道模式、参数控制

🔧

内置工具实操

文件操作、代码执行、网络搜索、Git 操作

💡 学习建议: 建议按顺序完成每个步骤,遇到问题先查看底部的故障排查部分。预计学习时间 30-60 分钟。

环境准备

在安装之前,确保你的系统满足以下要求。

系统要求

依赖最低版本推荐版本检查命令安装方式
Python3.103.12+python --versionpython.org 或 brew install python
Node.jsv18v20+node -vnodejs.org 或 brew install node
npmv9v10+npm -v随 Node.js 安装
Gitv2.23v2.40+git --versiongit-scm.com
磁盘空间500MB2GB+

一键环境检查

bash
# 检查所有依赖版本
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 用户特别说明

⚠️ Windows 用户: 推荐使用 WSL2(Windows Subsystem for Linux)获得最佳体验。也可使用 Git Bash 或 PowerShell。避免在 CMD 中运行。
powershell
# 安装 WSL2(管理员 PowerShell)
wsl --install

# 重启后进入 WSL
wsl

# 在 WSL 中安装依赖
sudo apt update && sudo apt install -y python3 python3-pip nodejs npm git

macOS 用户

bash
# 使用 Homebrew 安装(推荐)
brew install python@3.12 node git

# 或使用官方安装包
# Python: https://python.org/downloads
# Node:   https://nodejs.org/downloads

Linux 用户

bash
# 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 安装(推荐)

bash
# 创建虚拟环境(推荐,避免依赖冲突)
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 安装(隔离环境)

bash
# 先安装 pipx
pip install pipx
pipx ensurepath

# 用 pipx 安装(自动创建隔离环境)
pipx install hermes-agent

# 验证
hermes --version

方式三:从源码安装(开发版)

bash
# 克隆仓库
git clone https://github.com/0xNyk/hermes-agent.git
cd hermes-agent

# 安装依赖(开发模式,修改源码后无需重装)
pip install -e ".[dev]"

# 验证
hermes --version

安装后验证

bash
# 检查安装状态
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 全局安装(推荐)

bash
# 全局安装
npm install -g openclaw

# 验证安装
openclaw --version

# 运行自检
openclaw doctor

方式二:npx 免安装运行

bash
# 无需安装,直接运行
npx openclaw chat

# 指定版本
npx openclaw@latest chat

方式三:Docker 安装

bash
# 拉取镜像
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/              # 日志文件

安装验证清单

bash
# 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

1

注册 XiDao 账号

访问 api.xidao.online,点击注册。支持邮箱注册。

2

充值余额

进入控制台 → 充值页面。新用户通常有免费额度。支持支付宝/微信支付。

3

创建 API 令牌

进入控制台 → 令牌管理 → 创建新令牌。复制保存(格式为 sk-xxxxxxxx),令牌只显示一次!

4

验证 API 可用性

bash
# 测试 API 连接
curl https://api.xidao.online/v1/models \
  -H "Authorization: Bearer sk-your-api-key"

# 预期返回:模型列表 JSON

2. 配置 Hermes-Agent

三种配置方式,任选其一:

方式 A:命令行配置(最简单)

bash
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:环境变量文件(推荐,更安全)

bash
# 创建配置目录
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 环境变量(临时使用)

bash
# 临时设置(关闭终端后失效)
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:交互式配置向导(推荐新手)

bash
# 启动配置向导
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:命令行配置

bash
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:手动编辑配置文件

json
// ~/.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 作为主脑,擅长理解意图和规划任务:

bash
# 交互式对话(最常用)
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 作为打手,擅长执行具体任务:

bash
# 启动 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 提交记录
🎉 验证成功! 如果 Agent 能正确响应以上请求,说明安装配置完全正确。接下来学习内置工具的详细用法。

内置工具详解

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.mdAgent 自动保存的重要信息项目结构、技术栈、约定
用户偏好USER.md用户的使用习惯和偏好喜欢 TypeScript、缩进2空格
身份定义SOUL.mdAgent 的角色和行为准则你是一个专业的全栈工程师
会话历史sessions/每次对话的完整记录可回顾和恢复

手动编辑记忆

markdown
# ~/.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 模型配置详解

yaml
# ~/.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 Pro1M 上下文窗口
图像理解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 gatewayGateway 服务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 gatewayGateway 管理openclaw gateway start --port 18789
openclaw skills技能管理openclaw skills install code-review
openclaw config配置管理openclaw config show
openclaw dashboardWeb 控制台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

bash
# 查看可用模型列表
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

⚠️ 工具调用失败

bash
# 检查工具权限
hermes config show tools

# 检查终端后端
hermes config set terminal.backend local

# 查看详细日志
hermes chat --debug