Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes

专栏系列:

第一篇:认知导论|从 Harness 工程到 Hermes,五大核心概念厘清

第二篇:核心内核拆解|五大支柱深度解析(Memory/Skill/Soul/Crons/自进化闭环)

本篇为第三篇:实战部署篇,面向想要跑通实例的开发者,提供可复制、可调试完整流程,支持Windows本地、Linux VPS两套环境。

前置阅读建议:务必看完前两篇,理解Memory、Skill五大支柱概念,本篇不讲解底层原理,专注动手跑通。

0. 写在部署前:硬件&环境前置评估

很多同学部署Agent踩坑第一步就是硬件预估错误,Hermes不是重度微调大模型框架,它属于Agent编排层框架,本身不跑大模型推理,模型可以外接OpenAI兼容接口(DeepSeek、通义千问、Ollama本地模型)。

✅ 硬件最低要求

  1. Windows本地部署(开发调试)
  • CPU:4核8G内存起步,推荐8核16G
  • 显卡:非必需,如果你用Ollama本地跑大模型,则显存≥8G(7B模型);使用远程API,显卡无要求
  • 系统:Windows10/11,开启PowerShell,安装Git
  1. Linux VPS(线上运行,生产测试)
  • 配置:2核4G最低,推荐4核8G,磁盘≥40G
  • 系统:Ubuntu 22.04 / 24.04,推荐

⚠️重要提醒:Hermes只是智能体运行框架,大模型推理消耗资源另算,绝大多数新手建议优先使用API接口,不要本地跑大模型,减少调试障碍。

✅ 需要提前准备

  1. Git环境
  2. Python >=3.11,小于3.13(版本不兼容坑,不要用3.13)
  3. 一个大模型API Key(DeepSeek、OpenAI、阿里云百炼均可,兼容OpenAI接口格式)
  4. VPS环境:开放端口(默认CLI模式不需要开放端口,如果后续启动网关需要放行端口)

常见踩坑预告:Python版本过高、git克隆网络超时、API代理错误、配置文件路径写错、权限不足。本篇所有命令均为PowerShell命令,Windows直接复制运行;文末附带Linux适配说明。


1. 源码拉取:克隆Hermes仓库(PowerShell)

注意:不要直接下载zip压缩包,部分skill模板、子模块会缺失,优先git clone。

打开PowerShell,切换到你想要存放项目的目录,例如 D:\ai_project

powershell 复制代码
# 切换工作目录
cd D:\ai_project
# gitee镜像仓库,解决github访问慢问题
git clone https://gitee.com/mirrors/hermes-agent.git
cd hermes-agent

执行完成后目录结构预览,你可以在终端输入 ls 查看,关键目录:

复制代码
hermes-agent/
├── config/          # 核心配置文件夹,.env、人格配置hermes.md放这里
├── skills/         # skill技能库,自动生成的技能全部存在此处
├── memory/         # memory持久化记忆存储目录,运行后自动生成
├── crons/          # Crons定时任务脚本目录
├── docs/           # 橙皮书原版文档
└── main.py         # 程序入口

📌Demo小提示:此时还不能运行,没有配置密钥会直接报错。很多新手克隆完直接运行main.py,出现大量报错,属于正常现象。

2. 依赖安装

建议使用虚拟环境隔离Python依赖,避免和本机其他项目包冲突,强烈推荐。

PowerShell Windows:

powershell 复制代码
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
.\venv\Scripts\Activate.ps1
# 安装全部依赖
pip install -r requirements.txt

Windows报错:PowerShell禁止运行脚本

powershell 复制代码
# 管理员打开PowerShell执行一次,解决执行策略限制
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Linux(VPS Ubuntu)对应命令参考

bash 复制代码
python3 -m venv venv
source venv/bin/activate
pip3 install -r requirements.txt

依赖安装完成,虚拟环境激活成功后,终端提示符前面会出现 (venv),代表环境生效。后续所有运行操作都必须在虚拟环境内执行

3. 核心配置文件修改:配置大模型接入

复制环境变量模板,生成.env配置文件

PowerShell:

powershell 复制代码
# 复制模板配置
Copy-Item .\config\.env.template .\config\.env

用记事本 / VS Code打开 config/.env 文件。

示例配置(使用DeepSeek API,OpenAI兼容格式)

env 复制代码
# LLM基础配置
LLM_BASE_URL=https://api.deepseek.com/v1
LLM_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx你的key
LLM_MODEL=deepseek-v3

# Hermes五大支柱开关,全部开启
ENABLE_MEMORY=true
ENABLE_SKILL=true
ENABLE_SOUL=true
ENABLE_CRON=true
ENABLE_SELF_EVOLVE=true

# 记忆文件存储路径
MEMORY_STORE_PATH=./memory
# 技能库路径
SKILL_LIB_PATH=./skills
# 定时任务存放路径
CRON_PATH=./crons
# 人格配置文件路径
SOUL_CONFIG_PATH=./config/hermes.md

# 日志级别 DEBUG/INFO/WARN,调试阶段设置DEBUG,方便排查问题
LOG_LEVEL=DEBUG

✨ 如果你想用本地Ollama模型,修改这两行即可,不需要api key:

env 复制代码
LLM_BASE_URL=http://127.0.0.1:11434/v1
LLM_API_KEY=dummy
LLM_MODEL=qwen2.5:7b

编辑完成保存文件。

重点:SOUL_CONFIG_PATH指向人格文件,把橙皮书示例的hermes.md放到config目录,也就是Soul支柱的人格规则。

极简 hermes.md Demo样例(config/hermes.md)

markdown 复制代码
# Soul人格配置示例
你是Hermes自进化Agent,遵循下面规则:
1. 回答尽量简洁,不要多余空话;
2. 如果不会做,优先尝试生成Skill技能,而不是直接拒绝用户;
3. 所有记忆会自动保存,记住用户的偏好;
4. 定时任务收到指令会写入crons目录;
5. 禁止编造不存在文件,执行工具前确认路径。

这就完成Soul支柱基础配置,对应第二篇讲的Soul人格引擎。

4. CLI模式启动,第一次交互调试

CLI模式是开发调试首选,不需要部署web网关,直接终端对话,用来验证Memory、Skill、自进化是否正常工作。

PowerShell,保证虚拟环境处于激活状态(venv)

powershell 复制代码
python main.py --mode cli

正常启动成功日志输出示例:

复制代码
[INFO] Hermes Agent 启动中
[INFO] ✅ Memory 三层记忆模块加载完成
[INFO] ✅ Skill技能库初始化,扫描 ./skills
[INFO] ✅ Soul人格引擎加载 config/hermes.md
[INFO] ✅ Cron调度器已就绪
[INFO] ✅ 自进化闭环模块开启
[INFO] CLI交互模式就绪,请输入你的指令,exit退出
>>>

🧪 Demo实操样例1:测试记忆模块(Memory支柱)

在cli输入框输入:

复制代码
我的名字叫森迪,居住在西安,平时喜欢研究AI Agent开发

Agent正常应答之后,继续输入:

复制代码
我叫什么,住在什么地方?

✅预期效果:Agent读取持久记忆,正确输出你的名字和城市。

底层行为:这条信息会写入memory目录下的事实记忆json文件。你可以打开memory/fact_memory.json,肉眼查看写入的内容,这就是第二篇提到的三层记忆中的持久事实记忆。
❌异常现象:记不住信息。排查:检查.envENABLE_MEMORY=true,确认memory文件夹有读写权限。

🧪 Demo实操样例2:触发自动生成Skill(Skill支柱)

CLI输入指令,让Agent生成一个简单技能:

复制代码
帮我写一个skill,实现读取当前目录所有txt文件,统计文件行数

✅预期行为:

  1. Agent判断现有技能库没有该能力;
  2. 触发技能自动生成流程,在skills/目录输出 count_txt_lines.skill.md
  3. 调用该skill执行任务,输出统计结果。

打开生成的skill文件,样例内容参考:

markdown 复制代码
## skill_name: count_txt_lines
## description: 统计当前目录所有txt文件总行数
## params: {}
python 复制代码
import os

def run():
    total = 0
    for filename in os.listdir("."):
        if filename.endswith(".txt"):
            with open(filename,"r",encoding="utf-8") as f:
                lines = len(f.readlines())
                total += lines
                print(f"{filename}: {lines}行")
    print(f"全部txt合计:{total}行")

if __name__ == "__main__":
    run()

这就是Hermes核心能力:按需自动产出Skill,存入技能库,后续同类请求直接复用,不用重复生成,对应第二篇的自进化闭环。

🧪 Demo实操样例3:测试Crons定时调度

cli输入:

复制代码
每间隔30秒,输出一句hello hermes

✅预期:Agent将定时任务写入crons/文件夹,调度器循环执行,终端周期性打印输出。

注意:CLI模式下crons仅进程存活期间生效;程序关闭定时任务暂停。

输入exit退出CLI终端。

5. 常见部署排错清单(高频问题)

现象 排查方案
启动直接报错,LLM接口401 API Key错误、检查LLM_BASE_URL地址是否正确,部分服务商需要去掉/v1后缀
模型返回正常,但是无法生成Skill 检查ENABLE_SKILL=true;大模型能力不足,更换更强模型
记忆无法保存,memory文件夹为空 目录读写权限不足;Windows不要放在系统保护目录
python包报错模块找不到 确认已经激活venv虚拟环境;重新执行pip install -r requirements.txt
git clone失败 使用gitee镜像地址,不要用github源

6. VPS后台常驻运行(线上部署进阶)

在VPS上想要后台持续运行,关闭ssh连接程序不终止,使用tmux。

bash 复制代码
tmux new -s hermes
# 激活虚拟环境
source venv/bin/activate
python3 main.py --mode cli

Ctrl+B再按D,脱离会话,程序后台运行;重新接入会话 tmux a -t hermes

⚠️注意:本篇只讲CLI调试模式,Web网关、MCP服务属于第四篇《落地场景开发》内容,本篇不展开。

7. 本篇小结 & 下一篇预告

本篇完整走完源码拉取、依赖安装、环境变量配置、CLI交互调试全流程。通过3个小Demo,直接观测Memory、Skill、Crons五大支柱真实运行效果,不再是纸上架构。

你现在已经拥有一个本地可以跑的Hermes实例:

  1. 可以记住用户信息(Memory)
  2. 遇到未知任务自动生成技能复用(Skill)
  3. 加载自定义人格规则(Soul)
  4. 支持简单定时任务(Crons)
  5. 全部行为落地文件,可以直接观察框架输出产物。

下一篇:第四篇《落地场景开发|MCP集成、多平台网关、自定义Skill开发》,我们会脱离纯CLI模式,对接MCP工具协议,开发自定义Skill,搭建网关实现外部程序调用Hermes Agent,实战子Agent协同。


相关推荐
菜哥万岁万岁万万岁4 小时前
Visual Studio 2022 社区版下载
ide·visual studio
iCxhust6 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
.Hypocritical.8 小时前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
Molesidy9 小时前
【VSCode】基于win10系统老版本和VSCode最新版本下出现的VSCode内置的终端窗口不能运行的问题的解决方案
ide·vscode·编辑器
维度攻城狮10 小时前
PyCharm 使用 DevContainer 开发:打造一致、隔离、高效的开发环境
ide·python·pycharm·devcontainer
ERD Online10 小时前
我们怎么设计 good first issue:让第一个 PR 两小时内合入
数据库·git·后端·开源·issue
James50611 小时前
VSCode+CodeX扩展,无法启动
ide·vscode·codex
Python私教1 天前
Codex 自动写 Commit 够安全吗?一套证据化 Git 提交流程
人工智能·git·后端
果果燕1 天前
实习笔记(一):NFS、Samba、VNC、Git、CMake、systemd、内核、交叉编译
linux·arm开发·c++·笔记·git