摘要:Hermes Agent 是由 Nous Research 开源的一款具备持续学习和长期记忆能力的 AI 智能体。与普通 AI
对话工具不同,它能记住用户的环境配置、项目结构和偏好习惯,支持技能复用、定时任务、多任务并行等高级功能。本文详细介绍了 Hermes Agent的安装配置、7大应用场景、特殊文件系统(SOUL.md、MEMORY.md、AGENTS.md等)以及使用技巧与最佳实践,帮助开发者打造专属的智能助手。


title: “Hermes Agent:自我进化的 AI 智能体”
description: “部署 Nous Research 开源的 Hermes Agent——一个能持续学习、拥有长期记忆的 AI 智能体。从安装到微信机器人连接,含 7 大应用场景、SSL 证书问题解决方案、SOUL.md/MEMORY.md/AGENTS.md 等特殊文件系统详解,以及痛点驱动的使用技巧与最佳实践。”
keywords:

  • Hermes Agent
  • Nous Research
  • AI 智能体
  • 自我进化 AI
  • 长期记忆
  • 微信机器人
  • 开源 AI Agent
  • SOUL.md
  • MEMORY.md
  • AGENTS.md
  • 上下文文件
  • 技能系统
  • 应用场景
  • 小白教程
    series: “Windows 下 AI 开发工具实战指南”
    series_order: 4
    date: “2026-07-21”
    prev: “03-claude-code-deepseek.md”
    next: “05-docker-dev.md”

系列第 4 篇 · 共 6 篇 | ← 上一篇 | 下一篇 →

在前几篇中,我们搭建了 WSL2 环境并配置了终端 AI 编程助手。本篇更进一步——部署 Hermes Agent,一个由 Nous Research 开发的开源、自我进化的 AI 智能体。

4.1 什么是 Hermes Agent

如果你用过 ChatGPT 或 DeepSeek,一定遇到过这些烦恼:

痛点 你可能说过的话
每次都要重复背景 “我再说一遍,我的项目用的是 Python 3.12 + FastAPI……”
AI 忘了你的偏好 “我上次不是说过了吗,别用 print 调试,用 logging”
换个对话就失忆 “上个会话里你已经帮我搭好框架了,怎么这个会话又从零开始?”
只会聊天不会动手 “你能不能直接帮我执行命令,而不是只给我看代码?”
用得越久越没长进 “用了半年了,回答质量跟第一天一模一样”

Hermes Agent 就是用来解决这些问题的。它由 Nous Research 开源(GitHub 52k+ Star),是一个能持续学习、拥有长期记忆、能动手执行任务的 AI 智能体。

打个比方:

普通 AI 对话工具就像出租车——你上车说目的地,它送到就走,下次上车什么都不记得。

Hermes Agent 更像雇佣了一个长期助手——他记得你的工作习惯、知道你的项目结构、上次帮你做过什么,而且越用越熟练。

与传统 AI 工具不同,Hermes Agent 具备以下核心能力:

  • 持续学习:在使用过程中不断积累技能和知识,遇到复杂工作流会自动总结成"技能"存下来,下次直接复用
  • 长期记忆:记住你的环境配置、偏好习惯、项目结构,跨会话不遗忘
  • 自我进化:随着使用时间增长,能力不断提升——不是模型本身在变强,而是它积累的技能和记忆越来越丰富
  • 动手能力:不仅能聊天,还能直接执行终端命令、编辑文件、搜索代码、操作浏览器

请添加图片描述

Hermes Agent vs 普通 AI 对话工具

对比维度 普通 AI 对话(如 ChatGPT) Hermes Agent
记忆 单次对话内有效,换对话就忘 跨会话持久记忆,越用越懂你
项目感知 需要你手动粘贴代码和说明 自动读取项目配置文件,了解项目结构
执行能力 只能给建议或代码,需手动执行 直接执行终端命令、编辑文件、操作浏览器
技能积累 每次从零开始,无积累 成功完成复杂任务后自动保存为技能复用
个性化 千人一面的回答风格 通过 SOUL.md 自定义个性,每个人专属
交互方式 仅限网页/App 对话 CLI 终端 + 微信/Telegram/Discord 等消息平台

参考文档:Hermes Agent 官方文档 · 功能概览 · GitHub 仓库

4.2 安装

支持 Linux、macOS 和 WSL2 环境。在终端中执行:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

这行命令做了什么:从官网下载安装脚本并自动执行。脚本会自动安装所需的依赖(Python、Node.js 等),然后把 Hermes Agent 克隆到 /usr/local/lib/hermes-agent。整个过程约 3-5 分钟。

新手提示:如果你用的是 WSL2,请确保已在 第 2 篇 中完成基础环境配置。

4.3 安装中的常见问题

如果在安装时遇到以下 SSL 证书验证错误:

→ Installing to /usr/local/lib/hermes-agent...                                                      
→ Trying SSH clone...                                                                               
→ SSH failed, trying HTTPS...                                                                       
Cloning into '/usr/local/lib/hermes-agent'...                                                       
fatal: unable to access 'https://github.com/NousResearch/hermes-agent.git/': server certificate verification failed. CAfile: none CRLfile: none                     
✗ Failed to clone repository

这个问题在 第 2 篇的 SSL 证书错误修复 中已经遇到过。同样使用以下方案解决:

# 全局临时关闭 SSL 验证
export GIT_SSL_NO_VERIFY=true

# 重新执行安装命令
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

4.4 配置安装选项

安装过程中会出现交互式配置界面,按提示操作:

  • 空格:选择 / 取消选项
  • 回车:确认
  • 上下箭头:切换选项

在这里插入图片描述
选择推荐的安装方式即可。

新手提示:看到一堆选项不要慌——直接选"推荐安装"就行。这些选项只是让你选择要装哪些扩展功能(如语音交互、浏览器自动化等),后面随时可以通过 hermes setup 重新配置。不确定的选项就保持默认。

4.5 配置模型提供商

接下来需要选择并配置 AI 模型提供商。根据你的需求选择对应的服务商,例如 DeepSeek、OpenAI 等:
在这里插入图片描述

提示:如果你已在 第 3 篇 中配置了 DeepSeek,这里可以选择 DeepSeek 作为模型提供商,实现工具链的统一。你的 DeepSeek API Key 可以复用。

这步在做什么:Hermes Agent 本身不包含 AI 大模型,它需要一个"大脑"来思考。这步就是告诉它用哪家公司的 AI 模型当大脑。选 DeepSeek 最省钱,选 OpenAI 效果最好,选 Anthropic Claude 则在长文本任务上表现优秀。

4.6 连接微信机器人

Hermes Agent 支持通过微信进行交互,让你可以在手机上随时与 AI 对话:

在这里插入图片描述

选择微信作为交互通道后,使用手机微信扫描二维码完成连接。

这步在做什么:把 Hermes Agent 和你的微信绑定,绑定后你可以在微信里直接跟它聊天、下指令,就像跟一个真人朋友发消息一样。出门在外也能远程让 AI 帮你查服务器状态、处理文件。

新手提示:这步是可选的——如果你暂时不需要微信交互,跳过也没关系,之后随时可以通过 hermes setup 重新配置。除了微信,还支持 Telegram、Discord 等平台。

4.7 配对与启动

根据页面显示的配对码进行配对连接,直接将配对码信息发送给 Hermes 即可完成绑定。

配对成功后,Hermes Agent 就正式上线了!它会随着你的使用不断学习和进化,逐渐成为一个更懂你的专属 AI 助手。

参考文档:安装指南 · 模型提供商配置

4.8 应用场景:Hermes Agent 能帮你做什么

部署完成后,你可能想知道:日常到底该怎么用? 下面通过几个典型场景,展示 Hermes Agent 如何解决实际问题。

以下场景仅探讨 Hermes Agent 本身的能力,不涉及 AI 编程教学。

场景一:告别重复解释——让 AI 记住你的环境

痛点:每次开新对话,都要重新告诉 AI “我用的是 Ubuntu 22.04、Python 3.12、项目在 ~/code/myapi”。

Hermes Agent 怎么做:第一次告诉它后,它会自动存入 MEMORY.md。以后每次新会话,它已经知道这些信息了。

你:我的服务器是 Ubuntu 22.04,装了 Docker 和 PostgreSQL 16
Hermes:(自动保存到记忆)好的,已记住你的环境信息。

# —— 几天后,新会话 ——
你:帮我写个数据库备份脚本
Hermes:你的服务器是 Ubuntu 22.04 + PostgreSQL 16,我直接用 pg_dump 写一个
       配合 Docker 定时任务执行的脚本……(无需你再重复任何背景)

场景二:项目文档自动化——AI 自己读懂你的项目

痛点:让 AI 帮忙改代码,但每次都要粘贴一堆文件给它看,费时费力。

Hermes Agent 怎么做:在项目根目录放一个 AGENTS.md,写清项目结构和规范。Hermes Agent 启动时自动读取,相当于给它发了一份"项目说明书"。

# 在项目根目录创建 AGENTS.md

## 项目结构
- 这是一个 FastAPI 后端,使用 SQLAlchemy ORM
- 所有 API 返回 {data, error, meta} 格式
- 测试文件放在 tests/ 目录,使用 pytest-asyncio

## 注意事项
- 不要直接修改迁移文件,用 Alembic 命令
- .env.local 里有真实 API Key,不要提交到 git

以后只要在这个项目目录下启动 Hermes Agent,它就自动知道这些规则,不需要你每次重复说。

场景三:技能复用——把成功经验存下来

痛点:花了半小时教 AI 完成一个复杂的部署流程,下次又要重新教一遍。

Hermes Agent 怎么做:完成复杂任务后,让它把整个流程保存为"技能"。下次一键调用,完整流程自动加载。

你:把你刚才帮我部署到 staging 的完整流程保存为 skill

Hermes:已保存为 deploy-staging 技能,包含以下步骤:
       1. 运行测试套件
       2. 构建 Docker 镜像
       3. 推送到镜像仓库
       4. SSH 到 staging 服务器拉取新镜像
       5. 滚动重启服务
       6. 健康检查验证

# 下次部署时
你:/deploy-staging
Hermes:(自动加载完整流程,开始执行部署……)

场景四:微信随时问——手机就是 AI 终端

痛点:出门在外遇到问题,想问 AI 但不方便打开电脑。

Hermes Agent 怎么做:连接微信后,直接在手机微信里发消息给 Hermes Agent,它会像聊天一样回复你,还能远程执行服务器上的命令。

# 手机微信对话
你:服务器上的磁盘还剩多少?
Hermes:(远程执行 df -h)根分区还剩 23GB(使用率 68%),
       /data 分区还剩 156GB,状态正常。

你:把昨天的日志压缩归档一下
Hermes:(远程执行 tar 命令)已完成,日志已归档到
       /data/archives/logs-20260720.tar.gz,大小 45MB。

场景五:定时任务——让 AI 主动帮你干活

痛点:有些事情需要定期做(检查服务器、生成报告、清理临时文件),但总忘记。

Hermes Agent 怎么做:用自然语言设置定时任务,它会自动执行并把结果推送到你的微信或 Telegram。

你:每天早上 9 点检查服务器状态,把结果发给我

Hermes:已创建定时任务:
       - 时间:每天 09:00
       - 内容:检查 CPU、内存、磁盘、关键服务状态
       - 推送:发送到你的微信

# 第二天早上 9 点,微信收到消息
Hermes:☀️ 服务器日报 2026-07-21
       CPU: 12% ✓    内存: 45% ✓
       磁盘: 68% ⚠️(建议清理 /var/log)
       服务: nginx ✓  postgresql ✓  redis ✓

场景六:个性定制——打造专属 AI 风格

痛点:AI 回答太啰嗦或太简略,每次都要说"简洁一点"或"详细一点"。

Hermes Agent 怎么做:编辑 ~/.hermes/SOUL.md 一次性设定持久个性,或者用 /personality 命令临时切换。

# 编辑 SOUL.md 设定持久风格
你是一个务实的资深工程师。回答简洁直接,
不需要解释显而易见的东西。不确定时直说"不确定"。

# 或在对话中临时切换
/personality concise    # 切换到简洁模式
/personality teacher    # 切换到教学模式(需要详细解释时用)

场景七:多任务并行——子 Agent 同时干活

痛点:需要同时调研三个方案,串行问 AI 要等很久。

Hermes Agent 怎么做:用 delegate_task 让子 Agent 并行工作,每个独立运行,最后汇总结果。

你:同时帮我调研这三个方案:1) 用 Celery 做异步任务 2) 用 Dramatiq 3) 用 RQ
    对比它们的优缺点

Hermes:(启动 3 个子 Agent 并行调研……)
       调研完成,以下是对比结果:
       
       | 维度 | Celery | Dramatiq | RQ |
       | 复杂度 | 高 | 中 | 低 |
       | 功能 | 最全 | 较全 | 基础 |
       | …… | …… | …… | …… |
       
       建议:如果你的任务不复杂,RQ 足够且最简单。

新手快速上手路径

刚部署完不知道从哪开始?按这个顺序来:

步骤 做什么 预计耗时
1 告诉 Hermes 你的基本环境(操作系统、常用语言) 1 分钟
2 告诉它你的偏好(回答风格、代码规范) 1 分钟
3 在常用项目根目录创建 AGENTS.md 5 分钟
4 试用 /personality 切换不同风格 1 分钟
5 完成第一个复杂任务后,让它保存为 skill 随任务而定
6 设置一个简单的定时任务(如每日服务器检查) 2 分钟

参考文档:定时任务 Cron · 子 Agent 委派 · 个性与 SOUL.md

4.9 Hermes Agent 的特殊文件系统

Hermes Agent 之所以能实现持续学习和自我进化,核心在于一套精心设计的特殊文件系统。这些文件各司其职,共同构成了 Agent 的记忆、个性和项目感知能力。理解它们的作用,是玩转 Hermes Agent 的关键。

如果用日常生活中的东西来打比方:

文件 生活比喻 作用
SOUL.md AI 的"性格设定卡" 决定 AI 说话的风格和态度
MEMORY.md AI 的"备忘录" 记住环境信息、工作约定
USER.md AI 对你的"印象本" 记住你的偏好和习惯
AGENTS.md AI 的"项目说明书" 告诉 AI 当前项目的规则
SKILL.md AI 的"操作手册" 存储可复用的工作流程
config.yaml AI 的"控制面板" 调整各种参数设置

本节内容参考 Hermes Agent 官方功能文档,以下仅探讨 Hermes Agent 本身的文件机制,不涉及 AI 编程指导。

文件总览

所有特殊文件均位于 ~/.hermes/ 主目录下,结构如下:

~/.hermes/
├── SOUL.md              # Agent 个性身份文件
├── config.yaml          # 全局配置文件
├── .env                 # 环境变量(API Key 等)
├── state.db             # 会话历史数据库(SQLite)
├── memories/
│   ├── MEMORY.md        # Agent 的个人笔记
│   └── USER.md          # 用户档案
├── skills/              # 技能系统
│   ├── mlops/
│   │   └── axolotl/
│   │       └── SKILL.md
│   └── devops/
│       └── deploy-k8s/
│           └── SKILL.md
└── skill-bundles/       # 技能捆绑包
    └── backend-dev.yaml

SOUL.md — Agent 的"灵魂"

SOUL.md 是 Hermes Agent 的主要身份标识,占据系统提示词的第 1 个槽位,定义了 Agent 是谁、如何说话。

小白理解:就像给新入职的助手发一张"岗位说明卡",告诉他"你是谁、怎么说话"。这张卡对所有项目都有效,不管助手去哪个项目组都带着这张卡。

属性 说明
位置 ~/.hermes/SOUL.md(或 $HERMES_HOME/SOUL.md
作用范围 全局,对所有项目生效
用途 定义语气、沟通风格、个性层面的行为
自动生成 首次运行时自动创建默认文件

一个实用的 SOUL.md 示例:

# Personality

You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.

## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly

除了通过编辑 SOUL.md 设置持久个性外,还可以用 /personality 命令在会话中临时切换内置个性预设(如 concisetechnicalcreativeteacher 等),会话结束后自动恢复默认。详见 个性与 SOUL.md 文档

MEMORY.md 与 USER.md — 持久化记忆

这两个文件构成了 Agent 跨会话的持久记忆,存储在 ~/.hermes/memories/ 目录下。

小白理解MEMORY.md 就像助手随身带的备忘录,记着"服务器配置、工具版本、踩过的坑"这些硬知识;USER.md 就像助手对你的印象笔记,记着"你喜欢简洁回答、习惯用 TypeScript"这些个人偏好。两者合在一起,就是助手"为什么越来越懂你"的秘密。

文件 用途 字符上限
MEMORY.md Agent 的个人笔记——环境事实、约定、已学内容 2,200 字符(约 800 tokens)
USER.md 用户档案——偏好、沟通风格、期望 1,375 字符(约 500 tokens)

工作原理

  • 每次会话开始时,记忆以冻结快照形式注入系统提示词
  • Agent 通过 memory 工具自主管理记忆(添加、替换、删除)
  • 记忆已满时,Agent 会自动整合或替换旧条目以腾出空间
  • 会话期间的记忆更改会立即持久化到磁盘,但下一次会话才会出现在系统提示词中(保留前缀缓存以提升性能)

Agent 会主动保存用户偏好、环境事实、纠正信息、项目约定等,跳过琐碎信息和原始数据。详见 持久化记忆文档

项目上下文文件

Hermes Agent 会自动发现并加载工作目录中的上下文文件,以感知当前项目的结构和规范。这些文件按优先级从高到低依次匹配(先匹配先生效):

小白理解:就像助手到了新项目组,会先翻看桌上的项目手册——技术栈是什么、代码规范是什么、哪些文件不能动。Hermes Agent 支持多种"手册格式",优先级从高到低依次匹配。

文件 用途 发现方式
.hermes.md / HERMES.md 项目指令(最高优先级) 向上遍历至 git 根目录
AGENTS.md 项目指令、规范、架构说明 启动时的 CWD 及子目录(渐进式)
CLAUDE.md Claude Code 上下文文件 启动时的 CWD 及子目录(渐进式)
.cursorrules Cursor IDE 编码规范 仅当前工作目录
.cursor/rules/*.mdc Cursor IDE 规则模块 仅当前工作目录

关键机制

  • 每次会话仅加载一种项目上下文类型(先匹配先生效)
  • SOUL.md 始终作为 Agent 身份独立加载,不受项目上下文影响
  • AGENTS.md 支持渐进式子目录发现——当 Agent 进入子目录操作时,自动加载该子目录的上下文文件,避免系统提示词膨胀
  • 所有上下文文件在加载前都会经过安全扫描,拦截潜在的 prompt 注入攻击
  • 单个文件超过 20,000 字符时会自动截断(保留 70% 头部 + 20% 尾部)

详见 上下文文件文档

SKILL.md — 技能系统

技能是 Agent 可以按需加载的知识文档,存放在 ~/.hermes/skills/ 目录下,遵循渐进式披露模式以最小化 token 用量。

小白理解:技能就像助手的操作手册库。助手不需要把所有手册都背下来(那太占脑容量了),而是先看目录(Level 0),需要哪本就翻哪本(Level 1),需要某个具体章节再看具体章节(Level 2)。这样既省"脑力"(token),又不丢信息。

加载层级

Level 0: skills_list() → 名称 + 描述 + 分类(约 3k tokens)
Level 1: skill_view(name) → 完整内容 + 元数据
Level 2: skill_view(name, path) → 特定参考文件

SKILL.md 文件格式

---
name: my-skill
description: Brief description of what this skill does
version: 1.0.0
platforms: [macos, linux]
metadata:
  hermes:
    tags: [python, automation]
    category: devops
---

# Skill Title

## When to Use
触发条件

## Procedure
1. 步骤一
2. 步骤二

## Pitfalls
- 已知的失败模式与修复方法

## Verification
如何确认操作成功

每个已安装的技能会自动作为斜杠命令可用,例如 /plan/github-pr-workflow。Agent 还可以通过 skill_manage 工具自主创建、更新和删除技能——这是它的程序性记忆,遇到非平凡的工作流时会自动保存以供复用。详见 技能系统文档

config.yaml — 全局配置

位于 ~/.hermes/config.yaml,是 Hermes Agent 的核心配置文件,控制记忆系统、技能设置、提供商路由等所有可调参数。

小白理解:就像助手的"控制面板"——记忆容量设多大、用哪个 AI 模型、允许多少个并行任务,都在这里调。刚开始不用动它,用熟了再回来微调。

# 记忆系统配置
memory:
  memory_enabled: true
  user_profile_enabled: true
  memory_char_limit: 2200   # 约 800 tokens
  user_char_limit: 1375     # 约 500 tokens

# 技能外部目录
skills:
  external_dirs:
    - ~/.agents/skills

# 自定义个性
agent:
  personalities:
    codereviewer: >
      You are a meticulous code reviewer.

state.db — 会话历史数据库

位于 ~/.hermes/state.db,是一个 SQLite 数据库,存储所有 CLI 和消息平台会话的完整记录,支持 FTS5 全文搜索。Agent 可以通过 session_search 工具搜索数周前的对话内容——无需 LLM 摘要,直接返回数据库中的原始消息。

小白理解:就像助手的"工作日志本",每次对话都自动记录。你问"上周我们讨论的那个数据库方案是什么来着?",助手翻翻日志就能找到原文,不会编造。

文件间的协作关系

这些特殊文件并非孤立存在,它们在系统提示词中按固定顺序组装,共同塑造 Agent 的行为:

系统提示词栈(从上到下):
┌─────────────────────────────────┐
│ 1. SOUL.md(Agent 身份)         │  ← 全局个性
├─────────────────────────────────┤
│ 2. 工具感知行为指导               │
├─────────────────────────────────┤
│ 3. MEMORY.md + USER.md(记忆)   │  ← 跨会话记忆
├─────────────────────────────────┤
│ 4. 技能指导                      │  ← 按需加载
├─────────────────────────────────┤
│ 5. 上下文文件(AGENTS.md 等)     │  ← 项目感知
├─────────────────────────────────┤
│ 6. 时间戳 + 平台格式提示          │
├─────────────────────────────────┤
│ 7. /personality 覆盖层(可选)    │  ← 会话级临时切换
└─────────────────────────────────┘

理解这个层级关系,就能明白为什么 SOUL.md 写全局个性、AGENTS.md 写项目规范、MEMORY.md 记环境事实——它们各自占据不同的槽位,互不冲突。

参考文档:上下文文件 · 持久化记忆 · 技能系统 · 配置

4.10 使用技巧与最佳实践

掌握了特殊文件系统后,如何让 Hermes Agent 真正好用?本节基于 官方技巧文档 和社区用户反馈,针对高频痛点给出可操作的解决方案。

用户痛点速查

根据社区反馈,新手使用 Hermes Agent 最常遇到以下问题:

痛点 典型表现 影响程度
配置项太多劝退 看到 YAML 就头疼,不知道改哪里
记忆/技能/会话搜索分不清 三个"记忆"概念混用,该存的没存、该搜的没搜
上下文窗口溢出 长对话后响应变慢或报错 context length exceeded
技能越用越差 Agent 自动生成的技能质量参差不齐
API 速率限制 RateLimitError: Too many requests 频繁出现
会话管理混乱 未命名会话堆积,找不到之前的对话
安全审批困惑 不知道"始终允许"会永久放行危险命令

提问技巧:让 Agent 一次就懂

痛点:模糊的提问导致反复确认,浪费 token 和时间。

❌ 模糊提问 ✅ 精准提问
“修复代码” “修复 api/handlers.py 第 47 行的 TypeError——process_request()parse_body() 收到了 None
“帮我看看这个项目” “分析 ~/code/myapi 的项目结构,列出所有 API 端点及其认证方式”
“文件重命名” “写一个 Python 脚本,把 ./images/ 下所有 .jpeg 文件重命名为 .jpg 并运行”

核心原则

  • 预先提供上下文:在请求开头就给出文件路径、错误信息、预期行为。一条精心构造的消息胜过三轮来回确认
  • 直接粘贴错误堆栈:Agent 能解析完整报错信息,无需手动提炼
  • 让 Agent 使用它的工具:说"找到并修复失败的测试",而不是手把手指导每一步。Agent 拥有文件搜索、终端访问和代码执行能力

记忆管理:记什么、不记什么

痛点:新手常把 Memory、Skill、Session Search 三个概念混为一谈,导致该存的没存、该搜的没搜。

三者各司其职,简单区分:

机制 存什么 何时用 容量
Memory(MEMORY.md) 事实:环境、偏好、项目位置 始终在上下文中 约 2,200 字符
Skill(SKILL.md) 流程:多步骤工作流、操作指南 按需加载 无硬性上限
Session Search 历史对话原文 需要回忆过去讨论时 无限制(所有会话)

记忆管理技巧

# 主动让 Agent 记住关键信息
"记住:我们的 CI 使用 GitHub Actions 的 deploy.yml 工作流"

# 记忆满了时,主动清理
"清理你的记忆,把旧的 Python 3.9 备注删掉——我们现在用 3.12 了"

# 高效会话结束后,让 Agent 总结保存
"记住这些以备下次使用"

注意:记忆是冻结快照——会话期间的修改不会出现在系统提示词中,直到下一次会话开始。Agent 会立即写入磁盘,但提示词缓存在会话中途不会失效。这是有意为之,为了保留 LLM 的前缀缓存以降低成本。

技能系统:从手动到自动进化

痛点:Agent 自动生成的技能质量参差不齐,可能"越用越差"。

手动创建技能(推荐新手先这样做):

在一次成功完成复杂任务(5 步以上)后,直接告诉 Agent:

把你刚才做的保存为名为 deploy-staging 的 skill

下次只需输入 /deploy-staging,Agent 就会加载完整流程。

技能质量自检清单

  • 技能是否包含明确的"何时使用"触发条件
  • 是否列出了已知陷阱(Pitfalls)和修复方法
  • 是否有验证步骤(Verification)确认操作成功
  • 步骤是否可复现,不依赖特定会话上下文

浏览和安装社区技能

hermes skills browse              # 浏览所有 Hub 技能
hermes skills search kubernetes   # 搜索特定主题
hermes skills inspect openai/skills/k8s  # 安装前预览
hermes skills install openai/skills/k8s  # 安装(含安全扫描)

性能与成本优化

痛点:长对话 token 消耗大、响应变慢;API 速率限制频繁触发。

保持 Prompt 缓存命中

大多数 LLM 提供商会缓存系统提示词前缀。保持系统提示词稳定(相同的上下文文件、相同的记忆),同一会话中的后续消息会命中缓存,成本显著降低。避免在会话中途切换模型或修改系统提示词。

及时压缩长会话

/usage      # 查看当前 token 用量
/compress   # 压缩对话历史,保留关键上下文
/insights   # 查看过去 30 天的用量模式

当发现响应变慢或被截断时,立即运行 /compress

用委托实现并行工作

需要同时研究三个主题时,让 Agent 使用 delegate_task 并行分配子任务。每个子 Agent 独立运行,拥有各自的上下文,最终只有摘要结果返回——大幅减少主对话的 token 消耗。

按任务复杂度切换模型

/model    # 会话中途切换模型
  • 复杂推理和架构决策 → 前沿模型(Claude Sonnet/Opus、GPT-4o)
  • 格式化、重命名、样板代码 → 更快更便宜的模型

应对速率限制

配置凭证池,在多个 API Key 之间自动轮换:

# ~/.hermes/config.yaml
# 多 Key 轮换,触发速率限制时自动切换
credential_pool:
  - provider: openrouter
    key: "sk-or-key1..."
  - provider: openrouter
    key: "sk-or-key2..."

CLI 高效操作

痛点:不熟悉快捷键和命令,操作效率低。

操作 快捷键 / 命令 说明
多行输入 Alt+EnterCtrl+J 插入换行而不发送消息
中断响应 Ctrl+C(按一次) 中断后输入新消息重新引导
强制退出 Ctrl+C(2 秒内双击) 直接退出程序
粘贴图片 Ctrl+V 剪贴板图片直接粘贴到对话
命令补全 输入 / 后按 Tab 查看所有可用斜杠命令
恢复会话 hermes -c 恢复上次会话的完整历史
按标题恢复 hermes -r "会话标题" 恢复指定标题的会话
切换详细模式 /verbose 循环切换:off → new → all → verbose

CLI 会自动检测多行粘贴——直接粘贴代码块或错误堆栈,不会将每行作为单独消息发送。

给会话命名

/title auth-refactor    # 为会话命名

命名后的会话可通过 hermes sessions list 轻松找到,用 hermes -r "auth-refactor" 恢复。未命名的会话会堆积起来,难以区分。

安全防护

痛点:新手不了解危险命令审批机制,容易误选"始终允许"。

危险命令审批选项

当 Agent 触发危险命令(rm -rfDROP TABLE 等)时,你会看到四个选项:

选项 含义 建议
once 仅此一次 默认选择,最安全
session 本次会话内允许 确认安全后可用
always 永久加入白名单 慎用,会永久放行该模式
deny 拒绝执行 立即阻止

建议:在熟悉之前,先用 session。Hermes 在执行每条命令前都会与一份精心维护的危险模式列表比对,包括递归删除、SQL DROP、curl 管道到 shell 等。不要在生产环境中禁用此功能。

对不可信代码使用 Docker 后端

# 在 .env 中设置
TERMINAL_BACKEND=docker
TERMINAL_DOCKER_IMAGE=hermes-sandbox:latest

容器内的破坏性命令不会影响宿主系统。注意:容器后端中危险命令检查会被跳过,因为容器本身就是安全边界。

为消息 Bot 设置白名单

永远不要在拥有终端访问权限的 Bot 上设置 GATEWAY_ALLOW_ALL_USERS=true。始终使用平台专属白名单:

# 推荐做法:按平台设置白名单
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678

或启用 DM 配对——团队成员向 Bot 发送私信时收到一次性配对码,你用 hermes pairing approve telegram XKGH5N7P 批准即可。

常见报错速查表

报错信息 根因 快速修复
hermes: command not found PATH 未刷新 source ~/.bashrc 或重启终端
AuthenticationError: Invalid API key Key 无效或不匹配 hermes config list 核查配置
RateLimitError: Too many requests API 调用频率超限 配置凭证池轮换
context length exceeded 对话历史超长 /compress 或用子 Agent 拆分任务
Cannot connect to Docker daemon Docker 服务未启动 sudo systemctl start docker
permission denied: /var/run/docker.sock 用户不在 docker 组 sudo usermod -aG docker $USER
Subagent RPC timeout after 30s 子任务超时 hermes config set subagent_timeout 120

通用排查命令

hermes logs --last 50    # 查看最近 50 条日志
hermes --debug           # 开启详细调试模式
hermes status            # 检查运行环境和配置状态

提示:绝大多数报错无需重装。command not found 只需刷新 PATH;认证失败只需更新 API Key;Docker 报错只需检查服务状态。只有安装文件损坏时才考虑重装。

参考文档:技巧与最佳实践 · SOUL.md 指南 · 凭证池 · 备用提供商


下一步

AI 智能体已部署。下一篇 Docker 容器开发环境 将带你用容器化方式管理 AI 开发栈——Jupyter、Ollama、向量数据库,一键编排。

📮 系列目录Windows 下 AI 开发工具实战指南

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐