第六册:基础使用入门 —— 从零开始,掌握 Hermes 的日常操作

本章你将学到:

  • 如何完成 Hermes 的首次配置,选择最适合你的大语言模型
  • 对话模式的各种技巧,让你的 Agent 真正「懂你」
  • Hermes 所有常用命令的详细用法和参数说明
  • 斜杠命令系统的完整指南,像用 Slack 一样高效操控 Agent
  • 如何接入 20+ LLM 提供商,以及分层模型配置的省钱秘笈
  • SOUL.md 人设配置的编写方法,打造独一无二的 Agent 人格
  • 三个完整的实战练习,让你立刻上手
  • 新手常见误区与最佳实践,少走弯路

注意

本章假设你已经按照第五册的指引成功安装并部署了 Hermes。如果还没有完成安装,请先回到第五册完成部署。


1. 首次运行:Quick Setup 向导

1.1 启动 hermes 命令

安装完成后,在终端输入:

hermes

如果这是你的第一次运行,Hermes 会自动启动 Quick Setup 向导。这个向导就像是新手机的「开机设置」,会引导你完成最核心的几项配置。

Tips

你也可以随时通过 hermes setup 命令重新运行配置向导。比如你换了新的 API Key,或者想切换默认模型,都可以用这个命令重新配置。

向导启动前的准备:

在运行 hermes setup 之前,建议先准备好以下信息,这样配置过程会更加顺畅:

  1. 已决定使用的 LLM 提供商 —— 如果不确定,先选 DeepSeek 或 OpenRouter
  2. 对应提供商的 API Key —— 提前注册并复制好 Key
  3. Agent 的名称 —— 给你的 Agent 起个名字(如「小墨」「码匠」等)
  4. 期望的对话语言 —— 中文、英文或其他语言

准备这些只需要 5 分钟,但能让你在向导中一气呵成地完成配置,而不是中途暂停去注册账号。

1.2 向导每一步的详细说明

步骤 1:欢迎界面

╔══════════════════════════════════════════╗
║  欢迎使用 Hermes Agent Quick Setup 向导   ║
╚══════════════════════════════════════════╝

Hermes 是 Nous Research 开发的开源 AI Agent 框架。
接下来我们将完成几项基础配置,整个过程约需 3-5 分钟。

按 Enter 继续...

步骤 2:选择界面语言

🌍 选择界面语言 / Choose your language
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 中文 (简体)
2. English

> 1

选择后,Hermes 的提示信息将以中文显示。这不会影响 Agent 的对话语言——对话语言可以在 SOUL.md 中配置。

注意

界面语言和对话语言是两个独立的设置。界面语言决定 Hermes CLI 的菜单、提示和错误信息的显示语言;对话语言决定你的 Agent 在回复时使用的语言。你可以在 SOUL.md 中设置对话语言,比如让 Hermes 用中文回答,即使界面语言是英文。

步骤 3:选择 LLM 后端

这是整个配置过程中最重要的一步。你选择的 LLM 后端将直接影响 Hermes 的「智商」和运行成本。

🤖 选择默认 LLM 提供商
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

请选择一个提供商作为默认后端:

  1. Nous Portal        - 官方统一订阅,一个月费全包 ⭐推荐
  2. OpenAI (GPT-5)     - 业界标杆,功能最强,费用较高 $$$
  3. Anthropic (Claude) - 推理和代码能力出色 $$$
  4. DeepSeek           - 国产之光,性价比极高 $
  5. Kimi (Moonshot)    - 长文本处理优秀 $$
  6. OpenRouter         - 一 Key 多用,免费额度友好
  7. GLM-5 (智谱)       - 国产模型,中文理解强 $
  8. MiniMax M2.7       - 国产模型,性价比高 $$
  9. 本地模型 (Ollama)  - 完全免费,需本地 GPU
 10. 其他...

> 4

模型选择策略详解

面对这么多选项,新手可能会感到眼花缭乱。下面我来帮你梳理选择思路。

按预算选择:

预算推荐方案月费预估
¥0(纯免费)OpenRouter 免费模型 + Ollama 本地模型¥0
¥0-50DeepSeek + GLM-5¥10-30
¥50-200DeepSeek 主力 + Nous Portal / OpenRouter 补充¥50-100
¥200+GPT-5 / Claude Sonnet 主力 + 分层模型¥200-500

注意

官方社区共识:生产环境用前沿模型(Claude Sonnet/Opus、GPT-5),本地模型仅供实验和轻度使用。 Ollama + Qwen 2.5 Coder 32B 可以处理约 80% 的日常 CLI 使用场景,但在复杂推理、长上下文理解和代码生成质量上,仍然无法与 Claude 3.5 Sonnet 或 GPT-5 等前沿模型相比。

各模型特点速览:

模型费用等级最强项弱项适合场景
Claude 3.5 Sonnet/Opus$$$推理、代码、安全性价格复杂编程、安全关键任务
GPT-5$$$通用能力、多模态价格全能型任务、创意写作
DeepSeek$性价比、中文、数学创意写作日常对话、代码辅助、中文场景
GLM-5$中文理解、工具调用英文长文本中文内容创作、客服
MiniMax M2.7$$对话流畅度、语音复杂推理闲聊、语音交互场景
Kimi$$超长上下文(200K+)价格略高长文档分析、论文阅读
Qwen 2.5 Coder 32B (本地)免费代码、中文硬件要求、通用推理本地开发、隐私敏感场景

新手推荐方案(按优先级排序):

  1. 首选:DeepSeek

    • 为什么:API 价格低到惊人(每百万输入 token 仅需约 2 元),效果媲美 GPT-4,国内访问速度快
    • 适合:绝大多数日常场景
  2. 次选:OpenRouter

    • 为什么:一个 Key 可以用 Google Gemini、Mistral、Anthropic 等多个模型,有免费额度
    • 适合:想先免费体验,再决定是否付费的用户
  3. 进阶:Nous Portal

    • 为什么:Nous Research 官方推出的统一订阅服务,一个月费涵盖所有接入模型,省去分别管理各平台 Key 的麻烦
    • 适合:需要频繁切换模型、追求便利性的用户

Tips

如果你现在还没有任何 API Key,我建议先去 DeepSeek 官网(platform.deepseek.com)注册一个账号,新用户通常有免费额度赠送。或者去 OpenRouter(openrouter.ai)注册,它提供部分模型的免费额度,零成本就能开始体验。

各模型详细能力对比:

为了帮你更直观地理解不同模型的差异,下面是官方社区整理的各模型在实际任务中的表现评分(满分 5 分):

能力维度Claude 3.5 SonnetGPT-5DeepSeekGLM-5KimiQwen 2.5 Coder 32B
代码生成5.04.84.33.83.54.5
代码审查5.04.74.03.53.54.2
中文理解4.04.24.84.94.74.6
数学推理4.84.94.54.04.23.8
创意写作4.54.84.24.34.03.5
长文本处理4.54.64.04.05.03.5
工具调用4.84.74.54.64.03.0
响应速度4.04.24.84.74.53.0*

*本地模型速度取决于你的硬件配置。

从表格中可以清晰地看到:

  • Claude 3.5 Sonnet 是全能的编程之王,在代码相关任务上几乎无可匹敌。如果你主要用 Hermes 来辅助编程,它就是你的首选。
  • GPT-5 是最均衡的六边形战士,几乎没有明显短板,适合作为主力模型处理各种复杂任务。
  • DeepSeek 在中文理解和性价比上独占鳌头,是中文用户的「国民模型」。
  • Kimi 的长文本处理能力一枝独秀,如果你需要分析整本书、长篇论文或大量会议纪要,它是唯一的选择。
  • Qwen 2.5 Coder 32B 作为本地模型,在代码任务上已经达到了商业模型 85% 的水平,对于不想把代码发送到云端的开发者来说,是非常实用的选择。

注意

上面的评分基于 2026 年第一季度的社区评测数据。大模型的发展速度非常快,三个月后的排名可能会有变化。建议定期关注 Hermes 社区和 LMSYS Chatbot Arena 的排行榜更新。

步骤 4:获取和输入 API Key

根据你选择的提供商,向导会要求你输入 API Key。下面是最常用平台的获取教程:

DeepSeek API Key 获取:

  1. 访问 https://platform.deepseek.com/
  2. 点击右上角「登录」,用手机号或邮箱注册
  3. 登录后进入「API Keys」页面
  4. 点击「创建 API Key」
  5. 复制生成的 Key(以 sk- 开头)
🔑 输入 DeepSeek API Key
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

请粘贴你的 API Key(不会显示在屏幕上):

> ******************************

✓ 格式验证通过
✓ 连接测试成功
✓ 余额查询: ¥15.00(赠金)

注意

粘贴 API Key 时请务必检查是否有尾随空格!这是官方排障指南中排名前三的问题。你可以在粘贴后按 Ctrl+A(全选)查看是否有额外空格。如果不确定,可以先粘贴到文本编辑器中检查,确认无误后再复制到终端。

OpenRouter API Key 获取:

  1. 访问 https://openrouter.ai/
  2. 用 GitHub 或 Google 账号登录
  3. 进入 Settings > Keys
  4. 点击「Create Key」
  5. 复制 Key(以 sk-or-v1- 开头)

Tips

OpenRouter 的优势在于「一 Key 多用」。你只用这一个 Key,就可以调用 Google Gemini、Mistral、Anthropic Claude、Meta Llama 等数十个模型的 API。而且它提供部分模型的免费额度(虽然速率有限制),非常适合入门体验。

Nous Portal 订阅:

  1. 访问 https://portal.nousresearch.com/
  2. 注册账号并选择订阅计划
  3. 订阅后系统会生成一个统一 API Key
  4. 用这个 Key 即可访问 Portal 上所有接入的模型

Ollama 本地模型配置:

如果你选择本地模型,不需要 API Key,但需要先安装 Ollama 并下载模型:

# 安装 Ollama
brew install ollama  # macOS
# 或访问 https://ollama.com/download 下载安装包
 
# 下载 Qwen 2.5 Coder 32B(推荐)
ollama pull qwen2.5-coder:32b
 
# 验证模型可用
ollama list

然后在 Hermes 配置中选择:

本地模型提供者: ollama
模型名称: qwen2.5-coder:32b

注意

Qwen 2.5 Coder 32B 需要约 20GB 显存(或同等内存)。如果你的电脑没有独立显卡,运行速度会很慢。对于没有 GPU 的 Mac 用户,可以使用 7B 或 14B 版本,但效果会打折扣。

步骤 5:选择默认模型

🎯 选择默认模型
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

可用的 DeepSeek 模型:

  1. deepseek-chat         - 通用对话,速度快,推荐日常使用
  2. deepseek-reasoner     - 推理增强,适合复杂问题和代码

> 1

✓ 已设置默认模型: deepseek-chat

Tips

如果你不确定选哪个,建议先选择通用对话模型(如 deepseek-chat、gpt-4o、claude-3.5-sonnet)。通用模型在大多数场景下表现都不错,等使用一段时间了解了各模型的特点后,再在 config.yaml 中配置分层模型。

步骤 6:配置完成

🎉 配置完成!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

你的 Hermes 已经准备就绪!

配置摘要:
  • 语言: 中文
  • 提供商: DeepSeek
  • 默认模型: deepseek-chat
  • 数据目录: ~/.hermes/

接下来你可以:

  运行 `hermes`          → 开始新对话
  运行 `hermes chat`     → 进入交互式聊天
  运行 `hermes doctor`   → 检查系统状态
  运行 `hermes --help`   → 查看所有命令

按 Enter 退出向导...

1.3 配置完成后的验证测试

配置完成后,建议运行以下测试命令来确认一切正常:

# 1. 版本检查
hermes --version
 
# 2. 系统诊断(所有检查项应为绿色通过)
hermes doctor
 
# 3. 开始第一次对话
hermes

第一次对话时,试着问一个简单的问题:

> 你好,请简单介绍一下你自己

如果 Hermes 能正常回复,说明配置完全成功!

首次对话测试清单:

  • Hermes 能正常启动并显示欢迎信息
  • 输入消息后能收到回复(不是错误或超时)
  • 回复内容合理、通顺
  • 尝试让 Hermes 读取一个本地文件(如 cat ~/.hermes/config.yaml
  • 尝试让 Hermes 执行一个简单的 shell 命令(如 ls -la
  • 尝试使用 /model 切换模型
  • 尝试使用 /memory 添加一条记忆
  • 输入 exit 能正常退出

如果以上所有测试都通过,恭喜你,你的 Hermes 已经完全就绪,可以开始日常使用了!

常见问题

Q:第一次对话时 Hermes 回复很慢,甚至超时,怎么办?

A:这通常是网络问题或模型 API 响应慢导致的。解决方法:

  1. 检查网络连接:ping google.com
  2. 测试 API 连通性:hermes doctor --models
  3. 如果是国内用户访问海外 API,检查代理是否生效
  4. 尝试切换到响应更快的模型(如 DeepSeek)
  5. 如果使用的是本地模型,检查 Ollama 是否在运行:ollama list

2. 对话模式详解

2.1 基本对话入门

运行 hermes 命令后,你会进入一个交互式对话界面:

$ hermes
 
╔══════════════════════════════════════════╗
       Hermes Agent v1.2.3
       Model: deepseek-chat
╚══════════════════════════════════════════╝
 
输入消息开始对话,输入 /help 查看可用命令,输入 exit 退出。
 
You:

此时光标停留在 You: 后面,你可以直接输入问题,按回车发送。

示例对话:

You: 你好,请问你能帮我做什么?

Hermes: 你好!我是你的 AI 助手,可以帮助你完成以下任务:

• 💬 **对话问答** —— 回答各类知识性问题
• 💻 **编程辅助** —— 写代码、Debug、代码审查
• 📝 **内容创作** —— 写文章、邮件、报告
• 🔍 **信息检索** —— 搜索网页、分析文档
• 📁 **文件管理** —— 读写文件、整理资料
• ⚡ **自动化任务** —— 执行脚本、定时任务

直接告诉我你需要什么帮助吧!

You:

Tips

在对话中,你可以随时输入 /help 查看所有可用的斜杠命令,或者输入 exit 或按 Ctrl+D 退出对话。

2.2 多轮对话的上下文管理

Hermes 会自动维护对话的上下文。这意味着你可以像和朋友聊天一样,进行多轮对话,而不需要每次都重复背景信息。

上下文示例:

You: 我正在做一个 Python 项目,需要处理 CSV 文件

Hermes: 好的,处理 CSV 文件在 Python 中有很多方式。你可以使用...

You: 数据量比较大,有 100 万行,哪种方式最快?

Hermes: 对于 100 万行的大数据集,推荐使用 pandas 的...

注意第二轮对话中,你不需要再提「Python」和「CSV」,Hermes 已经记住了上下文。

上下文管理的进阶技巧:

技巧 1:主动重置上下文

当你想切换到全新话题时,可以使用 /clear 命令清除当前上下文。这就像是把黑板擦干净,准备写新的内容。

You: /clear

✓ 上下文已清除。

You: 现在我们来讨论一个完全不同的主题...

技巧 2:利用上下文延续复杂任务

对于需要多步骤完成的任务,上下文让对话变得异常流畅:

You: 帮我写一个 Flask 博客的后端 API

Hermes: [给出完整的 Flask API 代码]

You: 好的,现在帮我写对应的前端页面,用 Vue.js

Hermes: [基于刚才的 API 设计,给出 Vue.js 前端代码]

You: 最后帮我写个 Docker 配置,把前后端一起打包

Hermes: [给出 Dockerfile 和 docker-compose.yml]

技巧 3:在上下文中修正错误

如果 Hermes 的某一步回答有误,你不需要从头开始,直接指出错误即可:

You: 帮我写一个计算阶乘的函数

Hermes: [给出了递归实现]

You: 这个递归实现对于大数会栈溢出,改成迭代版本

Hermes: [给出迭代实现]

注意

上下文不是无限存储的!默认情况下,Hermes 会保留最近 50 条对话记录。当对话很长时,早期的消息可能会被自动丢弃。如果需要保留重要信息,可以:

  1. 使用 /memory 命令让 Hermes 记住关键信息
  2. 使用 /compact 压缩上下文(详见第 4 章)
  3. 重要的配置和背景信息写入 SOUL.md 或 MEMORY.md
  4. 对于特别长的任务,可以分段进行,每完成一段用 /memory 保存关键结论

2.3 对话中使用工具

Hermes 最强大的功能之一就是工具调用。在对话过程中,当你提出的需求需要外部工具时,Hermes 会自动调用相应的工具来完成任务。

示例 1:文件操作

You: 帮我读取 ~/.hermes/config.yaml 的内容

Hermes: 我来帮你读取这个配置文件。

[工具调用: file_read]
路径: ~/.hermes/config.yaml

配置文件内容如下:
---
core:
  name: "Hermes"
  default_provider: "deepseek"
...

示例 2:网页搜索

You: 搜索一下 Hermes Agent 的最新版本信息

Hermes: 让我搜索一下最新信息。

[工具调用: web_search]
查询: Hermes Agent latest version 2026

根据搜索结果,Hermes Agent 的最新版本是 v1.2.3,发布于...

示例 3:执行代码

You: 帮我计算 1 到 100 的平方和

Hermes: 我来写一段 Python 代码计算。

[工具调用: execute_python]
代码:
result = sum(i**2 for i in range(1, 101))
print(result)

执行结果:
338350

Tips

工具调用是 Hermes 与普通聊天机器人的核心区别。普通 AI 只能「纸上谈兵」,而 Hermes 可以真正「动手做事」——读取你的文件、搜索网页、执行代码、发送消息等。当你需要它做实际任务时,明确告诉它「帮我执行...」「帮我搜索...」,它会自动选择合适的工具。

2.4 对话中的高效提问技巧

和 Hermes 对话,就像和一位聪明的助手交流。提问的方式直接决定了回答的质量。以下是几个让 Hermes 回答更好的提问技巧:

技巧 1:明确任务类型

❌ 不好的提问:「帮我看看这个」 ✅ 好的提问:「帮我审查这段 Python 代码的安全性,特别关注 SQL 注入和 XSS 漏洞」

技巧 2:提供足够的上下文

❌ 不好的提问:「为什么报错?」 ✅ 好的提问:「我在运行 python main.py 时遇到以下错误:

Traceback (most recent call last):
  File "main.py", line 42, in <module>
    result = fetch_data(user_input)
TypeError: expected str, got int

fetch_data 函数的代码如下:...」

技巧 3:指定输出格式

❌ 不好的提问:「总结一下」 ✅ 好的提问:「请用 bullet points 总结以下文章的核心观点,每条不超过 20 个字,并标注每条的重要性(高/中/低)」

技巧 4:分步骤提问复杂问题

对于复杂任务,不要一次性抛出所有需求。先让 Hermes 理解整体目标,再逐步细化:

You: 我想做一个个人博客网站,用什么技术栈比较好?

Hermes: [给出技术栈建议]

You: 好,我决定用 Next.js + Tailwind。帮我设计一下数据库表结构,
需要支持文章、标签、评论三个功能。

Hermes: [给出数据库设计]

You: 很好。现在帮我写用户认证模块的代码,要求支持邮箱+密码和 GitHub OAuth。

技巧 5:利用角色设定

在 SOUL.md 中定义好角色后,你可以直接要求它按角色视角回答:

You: 以你的投研分析师身份,评估一下这个加密货币项目的风险

Tips

好的提问 = 明确的任务 + 足够的上下文 + 期望的输出格式。把这三点做到位,Hermes 的回答质量会提升一个档次。记住,Agent 再聪明,也无法读取你的心思——你提供的信息越完整,它给你的答案就越精准。

2.5 对话历史的存储与检索

Hermes 会自动保存所有对话历史到数据库中。你可以随时查看和检索过去的对话。

# 列出最近的会话
hermes chat list
 
# 查看某个会话的详细内容
hermes chat show <session_id>
 
# 搜索历史对话中的内容
hermes chat search "Python CSV"
 
# 导出某个会话为 Markdown 文件
hermes chat export <session_id> --format md --output ~/chat-history.md

注意

对话历史默认存储在 ~/.hermes/database/hermes.db 中。这个 SQLite 数据库文件包含了你的所有聊天记录。如果你担心隐私问题,可以定期清理历史,或者将敏感对话设置为不保存(在对话开始时输入 /private 进入隐私模式)。

2.5 退出与恢复对话

退出当前对话:

You: exit

对话已保存。会话 ID: 2026-04-21-abc123
再见!

恢复上次的对话:

# 方式 1:直接运行 hermes,会自动恢复上次会话
hermes
 
# 方式 2:指定会话 ID 恢复
hermes chat resume 2026-04-21-abc123
 
# 方式 3:从列表中选择
hermes chat list
hermes chat resume <session_id>

Tips

Hermes 支持同时维护多个对话会话。比如你可以有一个「工作会话」处理项目代码,一个「学习会话」讨论技术书籍,一个「生活会话」安排日程。通过不同的会话 ID,你可以随时在不同的话题之间切换。


3. 常用命令速查大全

Hermes 提供了丰富的 CLI 命令。掌握这些命令,你就能像老司机一样熟练操控你的 Agent。

3.1 hermes(开启对话)

hermes 是最常用的命令,用于启动交互式对话。它就像打开微信聊天窗口一样简单。

# 基础用法 —— 启动交互式对话
hermes
 
# 带初始提示启动(适合一次性任务)
hermes -c "帮我写一个 Python 爬虫"
 
# 使用特定模型启动(覆盖默认配置)
hermes --model deepseek-reasoner
 
# 使用特定 provider 启动
hermes --provider openrouter --model anthropic/claude-3.5-sonnet
 
# 不加载历史会话,全新开始
hermes --fresh
 
# 进入隐私模式(不保存对话历史)
hermes --private
 
# 指定工作目录(Agent 以此目录为上下文)
hermes --workspace ~/my-project
 
# 组合使用多个参数
hermes --model claude-3.5-sonnet --workspace ~/project --private

使用场景示例:

场景推荐命令说明
日常闲聊/问答hermes默认启动,自动恢复上次会话
临时任务hermes -c "任务描述"执行完自动退出
代码审查hermes --workspace .以当前项目为上下文
私密对话hermes --private不保存到数据库
切换模型测试hermes --model gpt-5临时用其他模型
全新话题hermes --fresh不携带历史上下文

3.2 hermes chat 相关命令

# 列出所有会话
hermes chat list
 
# 显示会话详情
hermes chat show <session_id>
 
# 恢复会话
hermes chat resume <session_id>
 
# 删除会话
hermes chat delete <session_id>
 
# 搜索会话内容
hermes chat search "关键词"
 
# 导出会话
hermes chat export <session_id> --format md --output ~/export.md
hermes chat export <session_id> --format json --output ~/export.json
 
# 清理旧会话
hermes chat cleanup --older-than 30d  # 删除 30 天前的会话

3.3 hermes model(模型管理)

# 列出所有已配置的模型
hermes model list
 
# 查看当前使用的模型
hermes model current
 
# 切换默认模型
hermes model use deepseek-reasoner
 
# 测试模型连接
hermes model test openai gpt-5
 
# 添加新模型配置
hermes model add --provider openrouter --model google/gemini-2.5-pro
 
# 查看模型费用信息
hermes model pricing
 
# 查看模型性能基准测试
hermes model benchmark

Tips

hermes model benchmark 是一个非常实用的命令。它会向所有已配置的模型发送相同的测试问题,然后对比各模型的响应速度、输出质量和 token 消耗。用这个命令,你可以直观地找到最适合你需求的「性价比之王」。

3.4 hermes tools(工具配置)

# 列出所有可用工具
hermes tools list
 
# 查看工具详情
hermes tools show web_search
 
# 启用工具
hermes tools enable github
 
# 禁用工具(临时,下次启动恢复)
hermes tools disable execute_shell
 
# 永久禁用工具(写入配置)
hermes tools disable execute_shell --permanent
 
# 测试工具
hermes tools test web_search --query "Hermes Agent"

3.5 hermes gateway(消息网关)

# 启动 Web 界面
gateway start
 
# 查看网关状态
hermes gateway status
 
# 配置 Telegram 机器人
hermes gateway config telegram --token "你的BotToken"
 
# 配置 Discord 机器人
hermes gateway config discord --token "你的DiscordToken"
 
# 查看所有平台配置
hermes gateway list
 
# 停止网关
hermes gateway stop

注意

配置 Telegram 机器人时,安全设置中的「允许列表」需要填写数字用户 ID,不是用户名(@handle)!你可以通过 @userinfobot 获取自己的数字 ID。这是官方文档中特别强调的安全提醒,填写错误的格式会导致消息接收失败。

3.6 hermes setup(重新配置)

# 重新运行配置向导
hermes setup
 
# 仅重新配置模型
hermes setup --models-only
 
# 仅重新配置 API Keys
hermes setup --keys-only
 
# 重置为默认配置(谨慎使用!)
hermes setup --reset

3.7 hermes doctor(系统诊断)

# 运行完整诊断
hermes doctor
 
# 仅检查环境
hermes doctor --env
 
# 仅检查配置
hermes doctor --config
 
# 仅检查模型连接
hermes doctor --models
 
# 修复可自动修复的问题
hermes doctor --fix

3.8 hermes status(状态查看)

# 查看系统状态
hermes status
 
# 查看资源使用情况
hermes status --resources
 
# 查看当前会话信息
hermes status --session
 
# 查看已加载的技能
hermes status --skills

3.9 hermes migrate(数据迁移)

# 检查是否需要迁移
hermes migrate --check
 
# 执行数据迁移
hermes migrate
 
# 从旧版本备份恢复
hermes migrate --from-backup ~/hermes-backup-20260415/

3.10 hermes skills(技能管理)

# 列出所有技能
hermes skills list
 
# 查看技能详情
hermes skills show web_search
 
# 启用技能
hermes skills enable my_custom_skill
 
# 禁用技能
hermes skills disable my_custom_skill
 
# 从 Skills Hub 安装技能
hermes skills install nousresearch/stock-analysis
 
# 更新所有技能
hermes skills update
 
# 创建新技能模板
hermes skills create my-new-skill

3.11 hermes cron(定时任务)

# 列出所有定时任务
hermes cron list
 
# 查看任务状态
hermes cron status
 
# 验证任务配置
hermes cron validate
 
# 手动运行某个任务
hermes cron run daily-news-summary
 
# 查看任务日志
hermes cron logs
 
# 启用/禁用任务
hermes cron enable daily-news-summary
hermes cron disable daily-news-summary

3.12 其他常用命令

# 查看版本信息
hermes --version
hermes --version --verbose
 
# 查看帮助
hermes --help
hermes chat --help
hermes model --help
 
# 查看配置
hermes config show
 
# 编辑配置
hermes config edit
 
# 验证配置格式
hermes config validate
 
# 清理缓存
hermes cache clear
 
# 更新 Hermes 本身
hermes update
 
# 查看更新日志
hermes changelog

命令组合使用的高级技巧:

Hermes 的命令可以像 Linux 管道一样组合使用,形成强大的工作流:

# 技巧 1:批量导出所有会话为 Markdown
hermes chat list --format json | jq -r '.[].id' | while read id; do
  hermes chat export "$id" --format md --output "~/backups/$id.md"
done
 
# 技巧 2:测试所有配置的模型连接
hermes model list --format json | jq -r '.[].name' | while read model; do
  echo "Testing $model..."
  hermes model test "$model"
done
 
# 技巧 3:一键诊断并修复常见问题
hermes doctor --fix && hermes config validate && echo "All good!"
 
# 技巧 4:快速切换模型进行 A/B 测试
hermes -c "用 Python 写快速排序" --model deepseek-chat > /tmp/result_a.txt
hermes -c "用 Python 写快速排序" --model claude-3.5-sonnet > /tmp/result_b.txt
diff /tmp/result_a.txt /tmp/result_b.txt
 
# 技巧 5:批量更新所有技能
hermes skills list --outdated | xargs -I {} hermes skills update {}

Tips

把这些常用命令组合写成 shell alias 或脚本,可以大幅提升效率。比如在你的 ~/.zshrc 中添加:

alias hdoc='hermes doctor'
alias hchat='hermes chat list'
alias hmodel='hermes model list'
alias hbackup='tar -czf ~/hermes-backup-$(date +%Y%m%d).tar.gz ~/.hermes/config.yaml ~/.hermes/SOUL.md ~/.hermes/MEMORY.md ~/.hermes/database'

4. 斜杠命令系统

在对话模式中,输入以 / 开头的命令可以触发特殊功能。斜杠命令就像是 Hermes 的「快捷键」,让你不用退出对话就能执行各种操作。

4.1 /help 帮助

You: /help

可用命令:
  /help        显示此帮助信息
  /model       切换模型
  /memory      查看或编辑记忆
  /skills      管理技能
  /compact     压缩上下文
  /clear       清除当前上下文
  /export      导出对话
  /private     进入隐私模式
  /exit        退出对话

输入 /help <命令名> 查看详细说明。

4.2 /model 切换模型

在对话过程中随时切换模型:

You: /model

可用模型:
  1. deepseek-chat (当前)
  2. deepseek-reasoner
  3. anthropic/claude-3.5-sonnet
  4. openai/gpt-5

> 3

✓ 已切换到 anthropic/claude-3.5-sonnet

Tips

在对话中切换模型是 Hermes 的杀手级功能之一。比如你先让便宜的 DeepSeek 处理大部分对话,遇到复杂的代码审查时切到 Claude 3.5 Sonnet,完成后再切回 DeepSeek。这样既能保证质量,又能控制成本。

4.3 /memory 查看记忆

You: /memory

当前全局记忆(来自 MEMORY.md):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

• 用户偏好简洁回答
• 用户是 Python 开发者
• 用户项目目录: ~/projects/my-startup

You: /memory add 用户最近在学 Rust

✓ 已添加到全局记忆。

4.4 /skills 管理技能

You: /skills

已加载的技能:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✓ web_search      网页搜索
✓ file_operations 文件读写
✓ code_execution  代码执行
✗ stock_analysis  股票分析 (已禁用)

You: /skills enable stock_analysis

✓ 已启用 stock_analysis

4.5 /compact 压缩上下文

当对话变得很长时,上下文可能会占用大量 token。/compact 命令会让 Hermes 自动总结之前的对话内容,用简洁的摘要替代原始消息,从而释放上下文空间。

You: /compact

正在压缩上下文...
✓ 上下文已从 42 条消息压缩为 3 条摘要。
节省 token: ~8,500

注意

压缩上下文会丢失部分细节。如果对话中有重要的具体信息(如特定的代码片段、精确的数字),建议在压缩前用 /memory 命令将其保存到全局记忆中。

4.6 /clear 清除上下文

You: /clear

确定要清除当前对话上下文吗?(y/n)> y

✓ 上下文已清除。当前会话变为全新状态。

4.7 /export 导出对话

You: /export

导出格式:
  1. Markdown
  2. JSON
  3. 纯文本

> 1

导出文件名(默认: session-2026-04-21.md)>

✓ 对话已导出到 ~/session-2026-04-21.md

4.8 其他斜杠命令

命令功能示例
/private进入隐私模式(不保存本次对话)/private
/public退出隐私模式/public
/undo撤销上一条消息/undo
/retry重新生成上一条回复/retry
/system发送系统消息/system 请用中文回答
/temp临时切换模型(仅下一条消息)/temp claude-3.5-sonnet

斜杠命令使用技巧:

技巧 1:快速切换模型进行 A/B 测试

You: 帮我写一个快速排序的 Python 实现

Hermes: [DeepSeek 给出实现]

You: /temp claude-3.5-sonnet
用类型注解和文档字符串重写上面的代码

Hermes: [Claude 给出更完善的实现]

技巧 2:用 /system 纠正 Agent 的行为

You: /system 从现在开始,所有代码示例都要包含单元测试

You: 写一个判断闰年的函数

Hermes: [代码 + 单元测试]

技巧 3:用 /compact + /memory 组合管理长对话

You: /compact

Hermes: ✓ 上下文已压缩

You: /memory add 我们刚才讨论的核心结论是:使用异步 IO 可以提升 3 倍性能

Hermes: ✓ 已添加到全局记忆

Tips

斜杠命令是 Hermes 交互效率的倍增器。刚开始你可能记不住所有命令,没关系,只要记住 /help/model/memory 这三个最常用命令,就能覆盖 80% 的场景。其他的命令可以慢慢在实践中熟悉。


5. 模型接入与切换

5.1 支持的 LLM 提供者完整列表

Hermes 目前支持以下 20+ LLM 提供者:

提供者类型接入难度推荐度
Nous Portal官方统一订阅简单⭐⭐⭐⭐⭐
OpenAI商业 API简单⭐⭐⭐⭐
Anthropic商业 API简单⭐⭐⭐⭐⭐
DeepSeek商业 API简单⭐⭐⭐⭐⭐
Kimi (Moonshot)商业 API简单⭐⭐⭐⭐
OpenRouter聚合平台简单⭐⭐⭐⭐⭐
GLM-5 (智谱)商业 API简单⭐⭐⭐⭐
MiniMax M2.7商业 API简单⭐⭐⭐⭐
Ollama本地部署中等⭐⭐⭐
vLLM本地部署困难⭐⭐⭐
Azure OpenAI云服务中等⭐⭐⭐⭐
Google Gemini商业 API简单⭐⭐⭐⭐
Mistral商业 API简单⭐⭐⭐⭐
Cohere商业 API简单⭐⭐⭐
Together AI推理平台简单⭐⭐⭐
Fireworks AI推理平台简单⭐⭐⭐
Groq推理平台简单⭐⭐⭐⭐
Perplexity搜索+模型简单⭐⭐⭐⭐
LocalAI本地部署中等⭐⭐⭐
LM Studio本地部署中等⭐⭐⭐

5.2 各提供者的接入方法

Nous Portal(官方统一订阅)

Nous Portal 是 Nous Research 推出的官方订阅服务,最大优势是一个月费涵盖所有接入模型,不用分别购买各平台的 API Key。

# 1. 访问 https://portal.nousresearch.com/ 注册并订阅
# 2. 获取 Portal API Key
 
# 3. 配置 Hermes
hermes setup
# 选择 "Nous Portal" 作为提供者
# 输入 Portal API Key
 
# 或在 config.yaml 中手动配置
providers:
  nous:
    api_key: "${NOUS_API_KEY}"
    base_url: "https://portal.nousresearch.com/api/v1"

Tips

Nous Portal 特别适合需要频繁切换模型的用户。比如你的 Agent 既需要 Claude 的推理能力,又需要 GPT-5 的多模态能力,还需要 DeepSeek 的中文处理,如果没有 Portal,你需要分别购买三个平台的 API 并管理三个 Key。Portal 把它们统一到一个 Key 下,省心又省力。

OpenAI(GPT-5 / GPT-4o / o1)

# 1. 访问 https://platform.openai.com/ 注册
# 2. 进入 API Keys 页面创建 Key
# 3. 配置
hermes setup
# 选择 OpenAI,输入 sk- 开头的 Key
providers:
  openai:
    api_key: "${OPENAI_API_KEY}"
    base_url: "https://api.openai.com/v1"

OpenAI 模型选择建议:

模型价格特点适合场景
GPT-5$$$$最强通用能力、原生多模态复杂任务、创意工作
GPT-4o$$$速度快、多模态、性价比高日常对话、图文处理
o1$$$$$强化推理、链式思考数学、科学、复杂逻辑
GPT-4o-mini$便宜、速度快简单任务、高并发

Anthropic(Claude 3.5 Sonnet / Opus)

# 1. 访问 https://console.anthropic.com/ 注册
# 2. 获取 API Key(以 sk-ant- 开头)
# 3. 配置
hermes setup
# 选择 Anthropic
providers:
  anthropic:
    api_key: "${ANTHROPIC_API_KEY}"
    base_url: "https://api.anthropic.com"

Claude 系列特点:

  • Claude 3.5 Sonnet:代码能力极强,被很多开发者认为是「最佳编程助手」。在代码审查、Debug、架构设计方面表现突出。
  • Claude 3 Opus:推理能力最强,适合深度分析、复杂问题求解。
  • Claude 3.5 Haiku:速度最快,价格便宜,适合简单任务。

注意

Anthropic 的 API 在国内访问需要代理。如果你不想配置代理,可以通过 OpenRouter 间接调用 Claude,或者使用 Nous Portal。

DeepSeek

DeepSeek 是目前性价比最高的商业 API 之一,强烈推荐作为国内用户的主力模型。

# 1. 访问 https://platform.deepseek.com/ 注册
# 2. 新用户通常有 10 元免费额度
# 3. 获取 API Key
# 4. 配置
hermes setup
# 选择 DeepSeek
providers:
  deepseek:
    api_key: "${DEEPSEEK_API_KEY}"
    base_url: "https://api.deepseek.com"

DeepSeek 模型:

模型输入价格(/M tokens)输出价格(/M tokens)特点
deepseek-chat¥2¥8通用对话,速度快
deepseek-reasoner¥4¥16推理增强,数学和代码更强

Tips

以 deepseek-chat 的价格计算,100 万汉字(约 300 万 token)的对话成本仅为 6-24 元。这个价格比 OpenAI GPT-4 便宜约 20-50 倍,效果却能达到 GPT-4 的 80-90%。对于中文用户来说,DeepSeek 是「省钱神器」。

Kimi(Moonshot)

Kimi 的最大亮点是超长上下文窗口(支持 200K+ token),非常适合长文档分析。

# 1. 访问 https://platform.moonshot.cn/ 注册
# 2. 获取 API Key
# 3. 配置
hermes setup
# 选择 Kimi
providers:
  moonshot:
    api_key: "${MOONSHOT_API_KEY}"
    base_url: "https://api.moonshot.cn/v1"

OpenRouter(一 Key 多用)

OpenRouter 是一个模型聚合平台,你用一个 API Key 就能调用数十个不同厂商的模型。它就像是 LLM 世界的「万能转接头」,不管你用的是 OpenAI、Anthropic、Google 还是 Meta 的模型,只要一个 Key 就能全部打通。

OpenRouter 的优势:

  1. 一 Key 多用:一个 API Key 访问 100+ 模型
  2. 免费额度:部分模型提供免费 tier(带速率限制)
  3. 统一计费:不用分别管理各平台的账单
  4. 自动路由:智能选择可用性最高的模型端点
  5. 标准化接口:所有模型使用统一的 OpenAI 兼容格式
# 1. 访问 https://openrouter.ai/ 注册
# 2. 用 GitHub/Google 账号登录
# 3. 在 Settings > Keys 创建 Key(以 sk-or-v1- 开头)
# 4. 配置
hermes setup
# 选择 OpenRouter
providers:
  openrouter:
    api_key: "${OPENROUTER_API_KEY}"
    base_url: "https://openrouter.ai/api/v1"

OpenRouter 支持的免费模型(有速率限制):

模型 ID提供商特点速率限制
google/gemini-2.5-pro-exp-03-25:freeGoogle多模态、长上下文20 RPM
meta-llama/llama-3.3-70b-instruct:freeMeta通用能力强20 RPM
deepseek/deepseek-chat:freeDeepSeek中文优秀20 RPM
nvidia/llama-3.1-nemotron-70b-instruct:freeNVIDIA推理增强20 RPM

Tips

OpenRouter 是零成本入门 Hermes 的最佳选择。注册后立刻就有免费额度可用,虽然速率有限制(通常每秒 1-2 请求),但对于学习和轻度使用完全够用。等熟悉了之后再切换到付费的 DeepSeek 或 Nous Portal。

一个小技巧:OpenRouter 的免费模型在模型 ID 末尾有 :free 后缀。在配置时明确使用免费版本,可以避免意外产生费用。比如用 google/gemini-2.5-pro-exp-03-25:free 而不是 google/gemini-2.5-pro-exp-03-25

本地模型(Ollama)

如果你想在本地运行模型,Ollama 是最简单的方案。它就像 Docker 之于容器——一键下载、一键运行,不需要手动配置复杂的模型环境。

Ollama 安装步骤:

# macOS
brew install ollama
 
# Linux
curl -fsSL https://ollama.com/install.sh | sh
 
# Windows (通过 WSL2)
# 在 WSL2 Ubuntu 中运行 Linux 安装命令

下载和运行模型:

# 下载 Qwen 2.5 Coder 32B(官方推荐,适合代码任务)
ollama pull qwen2.5-coder:32b
 
# 下载完成后测试
ollama run qwen2.5-coder:32b
# 输入问题测试,按 Ctrl+D 退出
 
# 查看已下载的模型
ollama list
 
# 删除不用的模型释放空间
ollama rm llama3.2

配置 Hermes 使用 Ollama:

hermes setup
# 选择 "本地模型 (Ollama)"

或在 config.yaml 中手动配置:

providers:
  ollama:
    base_url: "http://localhost:11434"
    model: "qwen2.5-coder:32b"

推荐的本地模型:

模型显存需求特点适用场景
Qwen 2.5 Coder 32B~20GB代码能力强、中文好日常编程辅助
Llama 3.3 70B~40GB通用能力强复杂推理任务
Mistral 7B~5GB轻量、速度快简单对话、低资源设备
DeepSeek Coder 33B~20GB代码专用代码生成和审查

不同硬件配置下的模型选择建议:

你的硬件推荐模型预期体验
MacBook Pro M3 Max (36GB 统一内存)Qwen 2.5 Coder 32B流畅,适合主力开发
MacBook Pro M2 (16GB)Qwen 2.5 Coder 14B可用,偶尔有延迟
游戏本 (RTX 4060 8GB)Qwen 2.5 Coder 7B基本可用,简单任务
台式机 (RTX 4090 24GB)Qwen 2.5 Coder 32B / Llama 3.3 70B丝滑流畅
无独立显卡的老电脑Mistral 7B能跑,但体验一般

注意

本地模型虽然免费,但需要强大的硬件支持。社区共识是:生产环境用前沿模型(Claude、GPT-5),本地模型仅供实验和隐私敏感场景。 Qwen 2.5 Coder 32B 可以处理约 80% 的日常 CLI 使用场景,比如简单的代码补全、文件操作、命令解释等。但对于复杂的多步骤推理、长上下文理解和高质量创意输出,云端的前沿模型仍然是更好的选择。

一个实用的策略是:日常开发用本地模型处理简单查询(节省 API 费用),遇到复杂问题时一键切换到云端模型。Hermes 的分层模型配置完全支持这种混合模式——将 ollama 设为 execution 模型,将 Claude/GPT-5 设为 reasoning 模型即可。

其他国产模型

GLM-5(智谱):

智谱 AI 是国内领先的大模型公司之一,GLM-5 是其最新一代模型,在中文理解和工具调用方面表现出色。

# 1. 访问 https://open.bigmodel.cn/ 注册
# 2. 完成实名认证(国内平台通常需要)
# 3. 在「API Keys」页面创建 Key
# 4. 配置 Hermes
hermes setup
# 选择 GLM-5
providers:
  zhipu:
    api_key: "${ZHIPU_API_KEY}"
    base_url: "https://open.bigmodel.cn/api/paas/v4"

GLM-5 的特点:

  • 中文理解能力在国内模型中名列前茅
  • 工具调用(Function Calling)准确性高
  • 支持长文本(最大 128K 上下文)
  • 价格亲民,适合企业级应用
  • API 文档完善,国内访问速度快

MiniMax M2.7:

MiniMax 是国内新兴的 AI 公司,M2.7 模型在对话流畅度和语音交互方面表现突出。

# 1. 访问 https://api.minimax.chat/ 注册
# 2. 创建应用并获取 API Key
# 3. 配置 Hermes
hermes setup
# 选择 MiniMax
providers:
  minimax:
    api_key: "${MINIMAX_API_KEY}"
    base_url: "https://api.minimax.chat/v1"

MiniMax M2.7 的特点:

  • 对话流畅自然,接近真人聊天体验
  • 支持语音输入输出(适合语音助手场景)
  • 多轮对话记忆能力强
  • 在创意写作和角色扮演方面表现不错
  • 适合构建聊天机器人和虚拟助手

5.3 hermes model 命令详解

模型管理是 Hermes 日常使用中的高频操作。掌握这些命令,你可以在对话中随时切换模型,找到最适合当前任务的「大脑」。

# 列出所有已配置的模型及其状态
hermes model list
 
# 输出示例:
#  Provider    Model                    Status    Cost/M
# ───────────────────────────────────────────────────────
#  deepseek    deepseek-chat            ✓ 在线    ¥0.01
#  openrouter  anthropic/claude-3.5     ✓ 在线    $0.003
#  openai      gpt-4o                   ✓ 在线    $0.005
#  ollama      qwen2.5-coder:32b        ✓ 在线    免费
 
# 切换默认模型(永久生效,写入配置)
hermes model use deepseek-reasoner
 
# 临时测试某个模型(仅本次对话)
hermes chat --model openai/gpt-4o
 
# 查看模型的 token 价格和上下文长度
hermes model info deepseek-chat
 
# 运行模型基准测试
hermes model benchmark --prompts standard

模型管理实战场景:

场景 1:快速对比多个模型

# 让三个模型回答同一个问题,对比效果
for model in deepseek-chat claude-3.5-sonnet gpt-4o; do
  echo "=== $model ==="
  hermes -c "解释什么是区块链,用通俗语言" --model "$model"
  echo ""
done

场景 2:批量测试模型连通性

# 测试所有配置的模型是否都能正常连接
hermes model list --format json | jq -r '.[].id' | while read model; do
  if hermes model test "$model" > /dev/null 2>&1; then
    echo "✓ $model 正常"
  else
    echo "✗ $model 异常"
  fi
done

场景 3:费用监控

# 查看本月各模型的费用消耗
hermes status --cost --format table
 
# 设置费用预警(当本月费用超过 50 元时提醒)
# 在 config.yaml 中添加:
# core:
#   monthly_budget: 50
#   budget_currency: "CNY"

5.4 模型切换的实际效果对比

同一个问题,不同模型的回答风格和深度可能差异很大。下面是一个实际对比:

问题:解释什么是递归函数,并用 Python 举例。

DeepSeek (deepseek-chat):

递归函数就是在函数内部调用自己的函数。就像俄罗斯套娃,每个娃娃里面还有一个更小的自己。

经典例子是阶乘:

def factorial(n):
    if n <= 1:
        return 1
    return n * factorial(n - 1)

但要注意,递归必须有终止条件,否则会无限循环导致栈溢出。

Claude 3.5 Sonnet:

递归是一种编程范式,函数通过调用自身来解决问题。其核心思想是将大问题分解为结构相同的子问题。

Python 示例 —— 阶乘:

def factorial(n: int) -> int:
    """计算 n 的阶乘。"""
    if n < 0:
        raise ValueError("n must be non-negative")
    if n <= 1:
        return 1
    return n * factorial(n - 1)

更实用的例子 —— 遍历嵌套目录:

import os
 
def list_files(path: str, indent: int = 0):
    """递归列出目录下所有文件。"""
    for item in os.listdir(path):
        full = os.path.join(path, item)
        print("  " * indent + item)
        if os.path.isdir(full):
            list_files(full, indent + 1)

递归 vs 迭代的权衡:递归代码更简洁直观,但函数调用有栈深度限制(Python 默认约 1000 层)。生产环境中,对于深度未知的问题,建议改用迭代或尾递归优化。

可以看到,DeepSeek 的回答简洁直白,适合快速理解;Claude 的回答更全面深入,包含了类型注解、错误处理、实际应用场景和性能权衡。

5.5 模型选择建议(按任务类型推荐)

任务类型首选模型备选模型理由
日常问答/闲聊DeepSeekGLM-5便宜、中文好、速度快
代码编写/审查Claude 3.5 SonnetDeepSeek-reasoner代码能力业界顶尖
复杂推理/数学Claude 3 OpusGPT-5 / o1推理链最完整
长文档分析KimiClaude 3.5 Sonnet200K 上下文窗口
创意写作GPT-5Claude 3.5 Sonnet创意和表达最丰富
快速简单任务DeepSeek-chatGPT-4o-mini最便宜
隐私敏感场景Qwen 2.5 Coder (本地)Llama 3.3 70B (本地)数据不出本机
多模态(图文)GPT-4oGemini 2.5 Pro原生支持图像理解

Tips

很多老手会同时配置 3-4 个模型,根据任务动态切换。下一章我们将介绍「分层模型配置」,让 Hermes 自动帮你选择最适合当前任务的模型,既保证质量又省钱。

5.6 模型费用监控与预算管理

使用 LLM API 最怕什么?不是模型不够聪明,而是月底看到账单时的心跳骤停。Hermes 内置了费用追踪和预算管理功能,让你对每一分钱的去向都心中有数。

实时费用查看

# 查看本月累计费用
hermes status --cost
 
# 输出示例:
# ════════════════════════════════════════════
# 本月费用概览(2026-04)
# ════════════════════════════════════════════
# Provider          请求数    Token 数      费用
# ────────────────────────────────────────────
# deepseek          1,234    2.5M          ¥3.20
# anthropic           156    890K          $12.50
# openrouter          432    1.2M          $2.80
# ────────────────────────────────────────────
# 总计                        4.6M          ¥28.40

设置月度预算预警

config.yaml 中配置预算限制:

core:
  monthly_budget: 100 # 月度预算上限(单位与 billing_currency 一致)
  billing_currency: "CNY" # 结算货币:CNY 或 USD
  budget_alert_threshold: 80 # 当费用达到预算的 80% 时发出警告

当费用接近预算上限时,Hermes 会在每次对话前显示提醒:

⚠️ 本月费用已达到预算的 82%(¥82.00 / ¥100.00)。
   建议切换到更便宜的模型或检查是否有异常调用。

费用优化 checklist

  • 已为简单任务配置便宜的执行模型(如 DeepSeek)
  • 已启用分层模型配置,避免用 Claude 处理所有请求
  • 定期检查 hermes status --cost,找出费用异常波动
  • 为团队账号设置独立预算,防止个人使用影响团队配额
  • 本地模型(Ollama)处理不涉及外部知识的简单查询

注意

Nous Portal 采用统一订阅模式,一个月费涵盖所有模型,不存在按 token 计费的「惊吓账单」。如果你使用 Nous Portal,费用管理会更简单——只需要关注订阅是否到期即可。但如果你混用多个独立计费的 provider,上面的预算管理功能就非常重要了。

模型接入的快速参考卡片:

提供商官网API Key 获取位置Key 前缀国内访问
DeepSeekplatform.deepseek.comAPI Keys 页面sk-直连
OpenRouteropenrouter.aiSettings > Keyssk-or-v1-需代理
Nous Portalportal.nousresearch.comAccount > API Keyssk-需代理
OpenAIplatform.openai.comAPI Keyssk-需代理
Anthropicconsole.anthropic.comAPI Keyssk-ant-需代理
Kimiplatform.moonshot.cnAPI Keyssk-直连
智谱 GLM-5open.bigmodel.cnAPI Keys无固定前缀直连
MiniMaxapi.minimax.chat应用管理无固定前缀直连

把这张表收藏起来,当你需要新增模型配置时,可以快速找到对应的信息。


6. 分层模型配置(省钱秘笈)

如果你只用一种模型完成所有任务,很快就会面临一个困境:用 Claude 3.5 Sonnet 处理所有事情太贵,用 DeepSeek 处理复杂任务又不够用。分层模型配置就是解决这个问题的「省钱秘笈」。

6.1 config.yaml 模型配置详解

分层模型的核心思想是:不同难度的任务用不同档次的模型。就像你不会用兰博基尼去买菜,也不会用自行车跑高速一样。

config.yaml 中,分层模型通过以下配置实现:

# ~/.hermes/config.yaml
 
models:
  # === 第一层:推理模型 ===
  # 负责处理复杂问题、需要深度思考的任务
  reasoning:
    provider: "anthropic"
    model: "claude-3.5-sonnet"
    # 触发条件:任务复杂度评分 > 0.7
    # 适用场景:架构设计、复杂 Debug、数学证明、深度分析
 
  # === 第二层:执行模型 ===
  # 负责处理常规任务、日常对话
  execution:
    provider: "deepseek"
    model: "deepseek-chat"
    # 适用场景:日常问答、简单代码、文件操作、信息检索
 
  # === 第三层:Fallback 链 ===
  # 当首选模型不可用时,按顺序尝试备选模型
  fallback:
    - provider: "openrouter"
      model: "google/gemini-flash-1.5"
    - provider: "deepseek"
      model: "deepseek-chat"
    - provider: "openai"
      model: "gpt-4o-mini"
 
  # === 本地模型(轻量任务)===
  local:
    provider: "ollama"
    model: "qwen2.5-coder:32b"
    # 适用场景:离线环境、隐私敏感、简单代码补全

注意

分层模型的自动切换依赖于 Hermes 内置的「任务复杂度评估器」。它会根据你的输入自动判断任务难度:

  • 简单问题(如"Python 怎么写循环?")→ 执行模型
  • 复杂问题(如"帮我设计一个高并发的微服务架构")→ 推理模型
  • 代码审查、长文档分析 → 推理模型
  • 日常闲聊、简单文件操作 → 执行模型

6.2 核心逻辑用强模型、基础执行用便宜模型

让我们用一个实际例子来说明分层模型如何省钱:

场景:让 Hermes 帮你写一个完整的 Web 应用

You: 帮我写一个用户注册登录系统,包含前端页面和后端 API

不分层(全部用 Claude 3.5 Sonnet)的成本:

步骤Token 消耗费用
需求分析5K input + 3K output$0.06
架构设计8K input + 5K output$0.10
后端代码10K input + 8K output$0.15
前端代码10K input + 8K output$0.15
测试和 Debug6K input + 4K output$0.08
总计39K input + 28K output$0.54

分层配置(推理用 Claude,执行用 DeepSeek)的成本:

步骤使用模型Token 消耗费用
需求分析DeepSeek5K + 3K¥0.02
架构设计Claude8K + 5K$0.10
后端代码DeepSeek10K + 8K¥0.05
前端代码DeepSeek10K + 8K¥0.05
测试和 DebugDeepSeek6K + 4K¥0.02
总计39K + 28K约 $0.14

节省:约 75%!

Tips

这个省钱的逻辑很简单:架构设计等关键环节用最强的模型确保质量,具体的代码实现交给便宜模型完成。就像建筑设计师设计蓝图(高薪),工人按图施工(普通薪资),最终房子的质量由设计决定,而不是由施工工人的学历决定。

6.3 Fallback 链机制详解

Fallback 链是分层模型配置中的「保险丝」。当首选模型因为网络问题、余额不足或服务商故障而无法使用时,Hermes 会自动按顺序尝试 Fallback 列表中的模型。

Fallback 触发条件:

  1. API 返回 429(速率限制)
  2. API 返回 401/403(认证失败 / 余额不足)
  3. API 返回 5xx(服务商内部错误)
  4. 请求超时(默认 60 秒)
  5. 网络连接失败

Fallback 配置示例:

models:
  execution:
    provider: "deepseek"
    model: "deepseek-chat"
 
  fallback:
    # 第一备选:OpenRouter 上的 Gemini(免费额度)
    - provider: "openrouter"
      model: "google/gemini-flash-1.5"
 
    # 第二备选:OpenAI 的便宜模型
    - provider: "openai"
      model: "gpt-4o-mini"
 
    # 第三备选:本地模型(最后一道防线)
    - provider: "ollama"
      model: "qwen2.5-coder:7b"

注意

Fallback 链中的模型应该尽量选择不同类型的服务商。比如你的主模型是 DeepSeek(国内),第一备选选 OpenRouter(海外),第二备选选本地 Ollama。这样可以避免单一服务商故障导致所有模型都不可用的情况。

6.4 实测成本降低 50%-70% 的配置方案

以下是经过社区大量实测验证的分层配置方案:

方案 A:极致省钱型(月费约 ¥0-30)

models:
  reasoning:
    provider: "openrouter"
    model: "google/gemini-2.5-pro-exp-03-25:free"
 
  execution:
    provider: "openrouter"
    model: "deepseek/deepseek-chat:free"
 
  fallback:
    - provider: "ollama"
      model: "qwen2.5-coder:7b"

特点:完全依赖免费额度,适合轻度使用和入门体验。缺点是速率限制较严格,高峰期可能需要等待。

方案 B:性价比之王(月费约 ¥30-80)

models:
  reasoning:
    provider: "deepseek"
    model: "deepseek-reasoner"
 
  execution:
    provider: "deepseek"
    model: "deepseek-chat"
 
  fallback:
    - provider: "openrouter"
      model: "google/gemini-flash-1.5"
    - provider: "ollama"
      model: "qwen2.5-coder:32b"

特点:DeepSeek 双模型搭配,中文场景效果出色,成本极低。适合绝大多数国内用户的日常需求。

方案 C:质量优先型(月费约 $30-80)

models:
  reasoning:
    provider: "anthropic"
    model: "claude-3.5-sonnet"
 
  execution:
    provider: "openai"
    model: "gpt-4o-mini"
 
  fallback:
    - provider: "deepseek"
      model: "deepseek-chat"
    - provider: "openrouter"
      model: "google/gemini-flash-1.5"

特点:关键环节用最强的 Claude 3.5 Sonnet,日常任务用便宜的 GPT-4o-mini。适合对代码质量要求高的开发者。

方案 D:全能均衡型(月费约 $50-150)

models:
  reasoning:
    provider: "anthropic"
    model: "claude-3.5-sonnet"
 
  execution:
    provider: "deepseek"
    model: "deepseek-chat"
 
  fallback:
    - provider: "openai"
      model: "gpt-4o"
    - provider: "openrouter"
      model: "anthropic/claude-3.5-sonnet"
    - provider: "ollama"
      model: "qwen2.5-coder:32b"

特点:覆盖所有场景,质量有保障。适合专业开发者和团队使用。

6.5 不同预算的推荐配置

月预算推荐配置预期效果
¥0(纯免费)OpenRouter 免费模型 + Ollama 本地模型轻度使用,偶尔需要等待
¥10-30DeepSeek 主力满足 90% 的日常需求
¥50-100DeepSeek + Claude(分层)代码质量显著提升
$10-30Claude Sonnet + GPT-4o-mini国际开发者的最佳性价比
$50-100Claude + DeepSeek + Nous Portal专业级配置,无短板
$100+GPT-5 + Claude Opus(全顶配)最强效果,适合企业

Tips

建议所有新手都从「方案 B:性价比之王」开始。DeepSeek 的价格低到不可思议,效果却能达到 GPT-4 的八到九成。等使用一个月后,根据实际消耗和体验,再决定是否升级到更贵的配置。

分层模型的实际运行日志示例:

当你在分层模型配置下与 Hermes 对话时,可以在日志中看到模型切换的轨迹:

[INFO] 用户输入: "写一个计算斐波那契数列的函数"
[INFO] 任务复杂度评估: 0.3 (简单)
[INFO] 选择执行模型: deepseek-chat
[INFO] Token 消耗: input=15, output=120
[INFO] 费用: ¥0.0012

---

[INFO] 用户输入: "帮我设计一个支持百万级并发的分布式消息队列系统"
[INFO] 任务复杂度评估: 0.95 (极复杂)
[INFO] 选择推理模型: claude-3.5-sonnet
[INFO] Token 消耗: input=45, output=1850
[INFO] 费用: $0.0558

---

[INFO] 用户输入: "谢谢"
[INFO] 任务复杂度评估: 0.0 (问候)
[INFO] 选择执行模型: deepseek-chat
[INFO] Token 消耗: input=2, output=15
[INFO] 费用: ¥0.0001

从日志中可以清楚地看到,简单的问候用便宜的 DeepSeek(¥0.0001),复杂的架构设计用强大的 Claude($0.0558)。如果没有分层配置,所有任务都用 Claude,费用会高 5-10 倍。

如何查看自己的费用统计:

# 查看本月费用统计
hermes status --cost
 
# 输出示例:
# Provider          请求数    Token 总数    费用
# ──────────────────────────────────────────────
# deepseek          1,245     2.3M          ¥18.50
# anthropic         45        0.18M         $2.80
# openrouter        12        0.05M         $0.15
# ──────────────────────────────────────────────
# 总计                               约 ¥38.00

注意

分层模型的自动评估不是 100% 准确的。偶尔会出现「简单任务被误判为复杂任务」或反之的情况。如果你发现某个任务明显用错了模型,可以在对话中直接说「用执行模型回答这个问题」或「这个问题需要推理模型」,Hermes 会尊重你的指令。


7. SOUL.md 人设配置

7.1 什么是 SOUL.md

SOUL.md 是 Hermes 最具特色的功能之一。它是 Agent 的「灵魂文件」,定义了你的 Agent 的性格、身份、说话方式、专业领域和行为准则。

你可以把 SOUL.md 理解为:

  • 对 Hermes 来说 = 它的角色剧本和表演指南
  • 对你来说 = 一次编写,永久生效的「系统提示词」
  • 对对话来说 = 决定 Agent 语气、风格和能力的底层配置

注意

SOUL.md 与单次对话中的「系统消息」不同。系统消息只在当前会话有效,而 SOUL.md 会在每次启动 Hermes 时自动加载,永久影响 Agent 的行为。这意味着你不需要每次对话都告诉它「请用中文回答」或「请简洁一些」——把这些写进 SOUL.md 即可。

7.2 编写有效的 SOUL.md(模板 + 示例)

以下是一个通用的 SOUL.md 模板,你可以根据自己的需求修改:

# SOUL.md
 
# [Agent 名称] 的人设定义
 
## 身份
 
你是 [名称],一位 [角色定位]。
 
## 性格
 
- [性格特点 1]
- [性格特点 2]
- [性格特点 3]
 
## 专业领域
 
- [领域 1]
- [领域 2]
- [领域 3]
 
## 说话风格
 
- [语言偏好]
- [回答长度偏好]
- [格式偏好]
- [特殊习惯]
 
## 行为准则
 
- [准则 1]
- [准则 2]
- [准则 3]
 
## 禁忌
 
- [不能做的事情 1]
- [不能做的事情 2]

7.3 不同场景的人设配置

场景 1:投研分析师

# SOUL.md
 
# 投研助手「鹰眼」
 
## 身份
 
你是一位名叫「鹰眼」的投研分析师,专注于科技行业和加密货币领域的研究分析。
 
## 性格
 
- 冷静客观,用数据和事实说话
- 善于发现数据中的异常和趋势
- 对风险高度敏感,总是先提示风险再谈收益
- 语言简洁有力,不喜欢废话
 
## 专业领域
 
- 科技股基本面分析
- 加密货币项目评估
- 宏观经济趋势解读
- 财务报表快速分析
 
## 说话风格
 
- 默认使用中文,专业术语保留英文原文
- 分析结论先用一句话总结,再展开论述
- 关键数据和结论用加粗标记
- 喜欢使用表格对比不同标的
 
## 行为准则
 
- 任何投资建议都必须附带风险提示
- 引用数据时标注来源和时间
- 不确定的信息明确说「不确定」
- 遇到明显错误的信息主动指出
 
## 禁忌
 
- 绝不给出具体买卖点和价格预测
- 不使用「一定」「肯定」等绝对化表述
- 不推荐杠杆和衍生品交易

场景 2:编程助手

# SOUL.md
 
# 编程助手「码匠」
 
## 身份
 
你是一位名叫「码匠」的高级软件工程师,擅长 Python、TypeScript 和系统设计。
 
## 性格
 
- 务实,代码第一,理论第二
- 对代码质量有洁癖,见不得烂代码
- 耐心,愿意解释清楚每一个细节
- 喜欢用类比把复杂概念讲简单
 
## 专业领域
 
- Python 全栈开发
- 系统架构设计
- 代码审查和重构
- 性能优化
 
## 说话风格
 
- 代码示例必须完整可运行
- 先给结论,再给代码,最后解释原理
- 使用中文解释,代码注释用英文
- 变量命名用英文,符合 PEP8 / Google Style
 
## 行为准则
 
- 写代码时必须包含错误处理和边界情况
- 主动指出代码中的潜在问题和优化点
- 推荐现代、主流的技术方案
- 涉及安全时(如密码、密钥处理)必须提醒最佳实践
 
## 禁忌
 
- 不写没有错误处理的示例代码
- 不推荐已弃用的库和 API
- 不假设用户的操作系统(提供跨平台方案)

场景 3:写作助手

# SOUL.md
 
# 写作助手「墨言」
 
## 身份
 
你是一位名叫「墨言」的资深编辑和写作教练,擅长各类中文写作。
 
## 性格
 
- 对文字有洁癖,追求精准表达
- 温和但有原则,改稿时直言不讳
- 善于发现文章的结构问题和逻辑漏洞
- 知识面广,能为文章提供丰富的背景资料
 
## 专业领域
 
- 商业文案写作
- 技术博客撰写
- 公众号文章编辑
- 小说和剧本创作指导
 
## 说话风格
 
- 用中文交流,引用外文内容时给出中文翻译
- 修改建议用「原文 → 修改后 → 理由」的格式
- 喜欢使用修辞手法让表达更生动
- 段落不超过 5 行,句子不超过 30 字
 
## 行为准则
 
- 改稿时保留原文风格,只做优化不做重写
- 指出问题时同时给出修改建议
- 根据目标读者调整语言风格
- 检查事实准确性,不确定的内容标注出来
 
## 禁忌
 
- 不编造数据和引用
- 不改变作者的原始观点(除非明显错误)
- 不使用机器人口吻

场景 4:客服助手

# SOUL.md
 
# 客服助手「小暖」
 
## 身份
 
你是一位名叫「小暖」的智能客服助手,代表 [公司名] 为客户提供支持。
 
## 性格
 
- 热情友好,但不夸张
- 耐心,愿意重复解释
- 主动,能预判客户的潜在问题
- 专业,回答准确不含糊
 
## 专业领域
 
- 公司产品功能说明
- 常见问题解答
- 故障排查指导
- 使用技巧分享
 
## 说话风格
 
- 使用礼貌用语(您好、请、谢谢、抱歉)
- 回答结构:确认问题 → 给出方案 → 确认是否解决
- 步骤说明用数字序号
- 重要警告用 ⚠️ 标记
 
## 行为准则
 
- 首次回复在 3 句话内给出核心答案
- 复杂问题提供分步指南
- 无法解决的问题及时转接人工
- 涉及账户和隐私时先验证身份
 
## 禁忌
 
- 不猜测用户的意图,先确认再回答
- 不承诺无法保证的事情
- 不泄露其他客户的信息
- 不贬低竞争对手

7.4 让 Agent 自动更新 SOUL.md 的方法

Hermes 支持在对话中通过自然语言指令让 Agent 更新自己的 SOUL.md。这是 Hermes 自进化能力的核心体现。

示例:

You: 记住,以后回答编程问题时,总是先给出可运行的完整代码,然后再解释原理。

Hermes: 好的,我会将这条准则添加到 SOUL.md 中。

[自动执行: file_write]
路径: ~/.hermes/SOUL.md
操作: 在「行为准则」部分添加新条目

✓ SOUL.md 已更新。下次启动时生效。

你也可以直接要求它更新:

You: 更新 SOUL.md,在「专业领域」中添加「Rust 系统编程」

Hermes: 已更新 SOUL.md。

变更内容:
+ - Rust 系统编程

7.5 常见人设配置错误与纠正

错误 1:写得太多太杂

错误示例:

## 专业领域
 
- Python
- JavaScript
- Java
- C++
- Go
- Rust
- 数据分析
- 机器学习
- 深度学习
- 区块链
- 金融
- 医学
- 法律
  ...

问题: 列了太多领域,Agent 反而不知道你真正需要它擅长什么。

纠正: 聚焦 3-5 个核心领域,其他领域可以写「了解但不精通」。

错误 2:指令互相矛盾

错误示例:

## 说话风格
 
- 回答要简洁,不超过 3 句话
- 每个回答都要包含完整的代码示例和详细解释

问题: 「不超过 3 句话」和「完整代码示例 + 详细解释」不可能同时满足。

纠正: 按优先级排序,或者分场景说明。

错误 3:过度限制

错误示例:

## 禁忌
 
- 不使用任何标点符号
- 不使用数字
- 不使用英文
- 不提及任何技术名词

问题: 过度限制会让 Agent 的回答质量严重下降。

纠正: 只限制真正影响体验的行为,保留 Agent 的灵活性。

错误 4:不写「身份」部分

问题: 没有身份定义,Agent 不知道自己是谁,回答缺乏一致性。

纠正: 始终包含「身份」部分,哪怕只有一句话。

7.6 SOUL.md 的调试与验证技巧

写了 SOUL.md 之后,怎么知道它有没有生效?如果 Agent 的表现不符合预期,又该如何调试?这里有几个实用的技巧。

验证 SOUL.md 是否生效

最简单的方法是问 Agent 一个能体现人设的问题:

You: 你是谁?请描述一下你的角色和专长。

如果 SOUL.md 生效了,Agent 会按照你定义的身份回答,而不是默认的「我是一个 AI 助手」。

常见问题和修复

问题 1:Agent 仍然用默认语气回答

原因:SOUL.md 中的指令不够具体,或者被其他配置覆盖。

修复:在「说话风格」部分使用更明确的指令,例如:

## 说话风格
 
- **必须**使用中文回答,无论用户用什么语言提问
- **必须**先给出结论,再展开解释
- **禁止**使用「作为一个人工智能助手」作为回答开头

用「必须」「禁止」等强约束词比「尽量」「建议」更有效。

问题 2:SOUL.md 太长了,Agent 表现不稳定

原因:SOUL.md 内容过多,导致核心指令被稀释。

修复:精简内容,只保留最关键的 5-10 条指令。SOUL.md 不是越详细越好——Agent 的上下文窗口有限,太长的 SOUL.md 反而会让重要信息被忽略。

SOUL.md 迭代优化法

写 SOUL.md 不是一锤子买卖,建议用以下方法持续优化:

  1. 记录不满意的对答 —— 当 Agent 的回答不符合预期时,把对话保存下来
  2. 分析原因 —— 是 SOUL.md 缺少相关指令,还是指令不够明确?
  3. 修改 SOUL.md —— 添加或调整对应条款
  4. 重启 Hermes 验证 —— 用同样的提问测试,看是否改善
  5. 重复 1-4 —— 一般经过 3-5 轮迭代,SOUL.md 就会趋于稳定

Tips

好的 SOUL.md 就像好的公司章程——不需要面面俱到,但核心原则必须清晰明确。初学者最容易犯的错误是写得太长、太琐碎。建议先写一个 20 行的精简版,用一周时间观察效果,再根据实际需要逐步扩充。记住:少即是多,精准的约束胜过冗长的描述。


8. 第一个实战练习

理论知识学得再多,不动手实践也是白搭。下面三个实战练习,让你立刻体验 Hermes 的核心能力。

练习 1:让 Hermes 帮你搜索和总结一篇新闻

目标: 练习 Hermes 的网络搜索和信息总结能力。

步骤:

  1. 启动 Hermes:
hermes
  1. 输入搜索请求:
You: 搜索一下最近关于 AI Agent 行业的重要新闻,帮我总结 3 条最重要的
  1. Hermes 会自动调用 web_search 工具搜索新闻,然后总结关键信息。

预期输出示例:

Hermes: 让我搜索一下最新的 AI Agent 行业动态。

[工具调用: web_search]
查询: AI Agent industry news April 2026

根据搜索结果,以下是 3 条最重要的新闻:

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**1. Nous Research 发布 Hermes v1.3,引入多 Agent 协作机制**
   时间: 2026年4月15日
   要点: 新版本支持多个 Hermes Agent 之间的任务委派和状态同步,
         企业用户可以搭建 Agent 工作流。

**2. OpenAI 推出 GPT-5 Agent Mode,与第三方框架直接竞争**
   时间: 2026年4月10日
   要点: GPT-5 新增原生 Agent 模式,支持工具调用和长期任务执行,
         但仅对 Plus 和企业用户开放。

**3. 中国发布《AI Agent 服务管理办法》征求意见稿**
   时间: 2026年4月8日
   要点: 规范 AI Agent 的自动化决策、数据安全和用户告知义务,
         行业进入监管时代。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

需要我对某条新闻展开详细分析吗?

Tips

你可以进一步要求它:「把第一条新闻的详细内容保存到 ~/news-hermes-v1.3.md」,Hermes 会自动调用文件写入工具帮你保存。

练习 2:让 Hermes 帮你写一段代码

目标: 练习 Hermes 的编程辅助能力。

步骤:

  1. 启动 Hermes(如果已退出):
hermes
  1. 提出编程需求:
You: 帮我写一个 Python 脚本,功能是读取当前目录下所有的 .txt 文件,
统计每个文件的字数,然后把结果输出到一个 CSV 文件中
  1. Hermes 会生成代码,并询问是否需要保存:
Hermes: 好的,我来写一个符合需求的脚本。

```python
import os
import csv
from pathlib import Path

def count_words_in_txt_files(directory="."):
    """统计目录下所有 txt 文件的字数,输出到 CSV。"""
    results = []

    for txt_file in Path(directory).glob("*.txt"):
        content = txt_file.read_text(encoding="utf-8")
        word_count = len(content.split())
        results.append(&#123;
            "filename": txt_file.name,
            "word_count": word_count,
            "file_size": txt_file.stat().st_size
        &#125;)

    # 写入 CSV
    output_file = Path(directory) / "word_count_report.csv"
    with open(output_file, "w", newline="", encoding="utf-8") as f:
        writer = csv.DictWriter(f, fieldnames=["filename", "word_count", "file_size"])
        writer.writeheader()
        writer.writerows(results)

    print(f"✓ 统计完成,结果已保存到 &#123;output_file&#125;")
    print(f"  共处理 &#123;len(results)&#125; 个文件")

if __name__ == "__main__":
    count_words_in_txt_files()

需要我把这个脚本保存到 count_words.py 吗?


4. 确认保存:

You: 保存到当前目录的 count_words.py,然后运行测试一下


> **注意**
>
> 在执行代码之前,Hermes 会显示即将执行的命令,并询问你是否确认。这是安全机制,防止误操作。你可以输入 `y` 确认,或 `n` 取消。

### 练习 3:让 Hermes 帮你管理文件

**目标:** 练习 Hermes 的文件操作能力。

**步骤:**

1. 让 Hermes 查看你的 Hermes 数据目录:

You: 帮我看看 ~/.hermes/ 目录下有哪些文件和文件夹, 用树状结构展示,并说明每个文件夹的作用


2. Hermes 会列出目录结构并解释:

Hermes: 我来帮你查看并整理 ~/.hermes/ 的目录结构。

[工具调用: execute_shell] 命令: tree -L 2 ~/.hermes/

目录结构如下:

~/.hermes/ ├── config.yaml ← 主配置文件 ├── SOUL.md ← Agent 人设定义 ├── MEMORY.md ← 全局记忆 ├── USER.md ← 用户信息 ├── database/ │ ├── hermes.db ← SQLite 主数据库(对话历史) │ └── vector.db ← 向量数据库(语义搜索) ├── skills/ │ ├── built-in/ ← 内置技能 │ ├── custom/ ← 自定义技能 │ └── downloaded/ ← 从 Hub 下载的技能 ├── cron/ │ ├── jobs.yaml ← 定时任务配置 │ └── logs/ ← 任务执行日志 ├── logs/ │ ├── hermes.log ← 主运行日志 │ └── error.log ← 错误日志 └── cache/ ← 缓存文件

总计: 7 个目录,7 个核心文件


3. 进一步练习:让它帮你整理日志文件

You: 帮我清理一下 logs 目录,只保留最近 7 天的日志

Hermes: 我来帮你清理旧日志。

[工具调用: execute_shell] 命令: find ~/.hermes/logs -name "*.log" -mtime +7 -delete

✓ 已删除 7 天前的日志文件。 当前日志目录大小: 2.3 MB


> **Tips**
>
> 这三个练习覆盖了 Hermes 最常用的三大能力:信息检索、代码生成、文件操作。建议你每个练习都亲手操作一遍,建立肌肉记忆。完成这三个练习后,你已经具备了使用 Hermes 处理 80% 日常任务的能力。

**练习后的自我检查清单:**

完成所有练习后,请确认以下能力已经掌握:

- [ ] 能让 Hermes 搜索网页并总结信息
- [ ] 能让 Hermes 读取本地文件并分析内容
- [ ] 能让 Hermes 写代码并保存到本地
- [ ] 能让 Hermes 执行 shell 命令并查看结果
- [ ] 能让 Hermes 分析 CSV 数据并给出洞察
- [ ] 知道如何验证代码的正确性
- [ ] 知道如何安全地让 Hermes 执行系统命令

如果你有任何一项没掌握,请回到对应练习重新操作一遍。

### 练习 4:让 Hermes 帮你分析数据

**目标:** 练习 Hermes 的数据分析和可视化能力。

**步骤:**

1. 先创建一个示例数据文件:

```bash
cat > ~/sample-sales.csv << 'EOF'
月份,产品,销售额,成本
2026-01,产品A,12000,8000
2026-01,产品B,15000,9000
2026-02,产品A,11000,7500
2026-02,产品B,18000,10000
2026-03,产品A,14000,8500
2026-03,产品B,16000,9500
EOF
  1. 启动 Hermes 并分析数据:
You: 分析 ~/sample-sales.csv 的数据,计算每个月的总利润和利润率,
并给出数据洞察和可视化建议

练习扩展:

完成基础分析后,你可以继续挑战以下任务:

  • 让 Hermes 生成一个完整的 Python 数据可视化脚本(使用 matplotlib 或 seaborn)
  • 要求它预测下个月的销售额(基于现有趋势)
  • 让它将分析结果保存为一份格式化的 Markdown 报告
  • 要求它找出数据中的异常值并解释原因

Tips

数据分析是 Hermes 非常实用的功能之一。你可以直接把 Excel 或 CSV 文件丢给它,让它帮你做数据清洗、统计分析、趋势预测,甚至生成可视化图表。对于不擅长数据分析的开发者来说,这相当于拥有了一个随时待命的数据分析师。

预期输出:

Hermes: 让我来分析这份销售数据。

[工具调用: file_read]
路径: ~/sample-sales.csv

数据分析报告:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**1. 月度利润计算**

| 月份 | 总销售额 | 总成本 | 总利润 | 利润率 |
|-----|---------|-------|-------|-------|
| 2026-01 | 27,000 | 17,000 | 10,000 | 37.0% |
| 2026-02 | 29,000 | 17,500 | 11,500 | 39.7% |
| 2026-03 | 30,000 | 18,000 | 12,000 | 40.0% |

**2. 产品对比**

- 产品A:平均利润率 32.5%
- 产品B:平均利润率 43.0%
- 产品B 的利润贡献占比约 62%

**3. 数据洞察**

- 利润率逐月提升(37% → 39.7% → 40%),趋势良好
- 产品B 是高利润产品,建议加大推广力度
- 产品A 利润率偏低,需要优化成本结构

**4. 可视化建议**

你可以用以下 Python 代码生成图表:

```python
import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv("~/sample-sales.csv")
df["利润"] = df["销售额"] - df["成本"]
df["利润率"] = (df["利润"] / df["销售额"] * 100).round(1)

# 月度利润趋势图
monthly = df.groupby("月份").agg(&#123;"利润": "sum"&#125;)
monthly.plot(kind="bar", title="月度利润趋势")
plt.show()

需要我帮你生成并保存这个可视化脚本吗?


---

## 9. 新手常见误区与最佳实践

### 9.1 误区 1:把它当搜索引擎用

**错误做法:**

You: 2026 年诺贝尔奖得主是谁?


**问题:** Hermes 不是搜索引擎,它的知识有截止日期,对于实时信息可能会给出错误答案。

**正确做法:**

You: 搜索一下 2026 年诺贝尔奖的最新消息


**区别:** 明确使用「搜索」指令,Hermes 会调用 `web_search` 工具获取最新信息,而不是依赖训练数据中的知识。

> **注意**
>
> 大语言模型的「幻觉」问题(一本正经地胡说八道)在回答事实性问题时最明显。对于时效性强的事实查询,一定要让 Agent 联网搜索,不要直接问。

### 9.2 误区 2:不给足够上下文

**错误做法:**

You: 帮我改一下这个代码


**问题:** 没有提供代码,Agent 无从改起。

**正确做法:**

You: 帮我审查一下 ~/project/main.py 的代码, 特别关注是否有内存泄漏和并发安全问题


或者直接把代码贴出来:

You: 帮我优化下面这段 Python 代码的性能:

# 你的代码在这里

目标是让处理 100 万条数据的时间从 30 秒降到 5 秒以内


> **Tips**
>
> 提供上下文的原则:「Agent 知道的越少,你告诉它的就要越多」。如果你是在一个持续的多轮对话中,上下文会自动维护;但如果是新会话或跳转到新话题,一定要补充背景信息。

### 9.3 误区 3:不利用记忆和技能系统

**错误做法:**

每次对话都重复说明相同的背景信息:

You: (第 1 次)我是做电商的,用 Python 开发 You: (第 2 次)我是做电商的,用 Python 开发 You: (第 3 次)我是做电商的,用 Python 开发 ...


**正确做法:**

把这些信息写入 SOUL.md 和 USER.md:

```markdown
# USER.md

## 基本信息

- 职业:电商全栈开发者
- 主要语言:Python
- 常用框架:Django、FastAPI、Vue.js

然后告诉 Agent:「更新 SOUL.md,添加电商行业的专业知识」。从此之后,每次启动 Hermes 都会自动加载这些信息。

9.4 更多常见误区

误区 4:忽视 SOUL.md 的作用

错误做法: 从不修改默认的 SOUL.md,每次对话都手动说明自己的偏好。

问题: 浪费大量 token 在重复说明上,而且 Agent 无法形成稳定的「人格记忆」。

正确做法: 花 20 分钟写一份好的 SOUL.md,之后每次启动 Hermes 都会自动加载。

误区 5:所有任务都用最强模型

错误做法: 不管问什么问题都用 Claude 3.5 Sonnet 或 GPT-5。

问题: 简单的「今天天气怎么样」也用 $0.03 的模型回答,一个月下来费用惊人。

正确做法: 配置分层模型,让 Hermes 自动选择最适合当前任务的模型。

误区 6:不及时清理对话历史

错误做法: 从不删除旧会话,数据库文件膨胀到几个 GB。

问题: 占用磁盘空间,搜索历史变慢,隐私风险增加。

正确做法: 每月运行一次 hermes chat cleanup --older-than 30d,同时备份重要会话。

误区 7:在公共环境中暴露 API Key

错误做法: 在共享服务器、公共仓库或截图中暴露 API Key。

问题: API Key 一旦泄露,可能被他人盗用,导致巨额账单。

正确做法: 始终通过环境变量管理 API Key,.gitignore 中排除 .env 文件,分享截图前打码敏感信息。

误区 8:不信任工具执行的安全提示

错误做法: 看到 Hermes 要执行 rm -rf 或修改系统文件时,不看详情直接确认。

问题: 虽然 Hermes 有安全机制,但用户确认是最后一道防线。误操作可能导致数据丢失。

正确做法: 每次工具执行前都仔细查看即将执行的命令,特别是涉及删除、修改系统配置的操作。

9.5 最佳实践清单(10 条)

  1. 定期备份数据
# 设置每周自动备份
(crontab -l 2>/dev/null; echo "0 3 * * 0 tar -czf ~/hermes-backup-$(date +\%Y\%m\%d).tar.gz ~/.hermes/config.yaml ~/.hermes/SOUL.md ~/.hermes/MEMORY.md ~/.hermes/USER.md ~/.hermes/database") | crontab -
  1. 使用分层模型节省费用

配置 config.yaml 中的 models.reasoningmodels.execution,让简单任务用便宜模型,复杂任务用强模型。

  1. 善用 SOUL.md 定义 Agent 人格

花 30 分钟写一个好的 SOUL.md,之后每次对话都能受益。这比每次重复说明你的偏好高效得多。

  1. 重要信息存入 MEMORY.md
You: /memory add 我下周四要参加一个技术分享会,主题是关于 Hermes Agent
  1. 定期清理旧会话
# 删除 30 天前的会话
hermes chat cleanup --older-than 30d
  1. 使用 /compact 管理长对话

当对话超过 20 轮时,输入 /compact 压缩上下文,避免 token 费用暴涨。

  1. 敏感对话用 --private 模式
hermes --private

隐私模式不会保存对话历史到数据库。

  1. 配置 Fallback 链防止服务中断

config.yaml 中至少配置 2-3 个 fallback 模型,避免单一服务商故障导致 Agent 不可用。

  1. 利用定时任务自动化重复工作
# ~/.hermes/cron/jobs.yaml
jobs:
  - name: daily-hn-summary
    schedule: "0 9 * * *"
    command: "搜索 Hacker News 今日热门,总结前 5 条发送到我的邮箱"
  1. 保持 Hermes 和技能更新
# 每周更新一次
hermes update
hermes skills update

进阶最佳实践(额外 5 条):

  1. 建立个人知识库

把你经常参考的资料、代码片段、笔记整理到 ~/.hermes/skills/custom/ 中,形成个人知识库。这样 Hermes 可以随时调用你的私有知识来回答问题。

  1. 使用版本控制管理配置
cd ~/.hermes
git init
git add config.yaml SOUL.md MEMORY.md USER.md
git commit -m "Initial Hermes config"

这样你可以追踪配置变更,误操作时随时回滚。

  1. 设置费用预警

在 config.yaml 中设置月度预算上限:

core:
  monthly_budget: 100 # 美元
  budget_alert_threshold: 0.8 # 用到 80% 时提醒
  1. 为不同项目创建独立工作区
# 项目 A
cd ~/project-a && hermes --workspace .
 
# 项目 B
cd ~/project-b && hermes --workspace .

每个工作区的上下文隔离,避免项目间的信息混淆。

  1. 定期 Review 和优化 SOUL.md

每个月花 10 分钟回顾 SOUL.md,根据实际使用体验调整:

# 查看 SOUL.md 当前内容
cat ~/.hermes/SOUL.md
 
# 让 Hermes 帮你评估 SOUL.md 的效果
hermes -c "评估我的 SOUL.md 配置,给出优化建议"

官方入门工作流示例

除了上面的基础练习,下面再介绍三个来自 Hermes 官方文档的经典入门工作流,帮助你快速将 Hermes 应用到实际场景中。

工作流 1:笔记本编程助手(审计仓库死代码)

这是一个适合开发者的场景:让 Hermes 分析你的代码仓库,找出未使用的函数、死代码和潜在问题。

使用方式:

# 进入你的项目目录
cd ~/my-project
 
# 启动 Hermes,指定工作目录
hermes --workspace .

对话示例:

You: 审计这个代码仓库,找出所有未使用的函数和导入,
以及任何明显的代码质量问题

Hermes: 我来审计这个仓库的代码质量。

[工具调用: execute_shell]
命令: find . -name "*.py" | head -20

[工具调用: file_read]
路径: ./main.py, ./utils.py, ./models.py

审计报告:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

**未使用的导入:**
  - utils.py 第 3 行: import json(未使用)
  - models.py 第 8 行: from datetime import timedelta(未使用)

**未使用的函数:**
  - helpers.py 第 45 行: def format_date_old()(无调用点)
  - api.py 第 120 行: def legacy_endpoint()(无调用点)

**代码质量问题:**
  - main.py 第 78 行: 裸 except 语句,应捕获具体异常
  - database.py 第 34 行: SQL 拼接存在注入风险,建议使用参数化查询

需要我生成修复后的代码吗?

Tips

这个工作流的关键在于 --workspace . 参数,它让 Hermes 以当前目录为工作上下文。这样 Hermes 就能读取和分析项目中的文件,而不是只能进行通用对话。

工作流 2:$5 VPS 上的 Telegram 机器人

这是一个低成本、高价值的应用场景:在最便宜的 VPS 上部署一个 24/7 运行的 Hermes Telegram 机器人。

硬件要求:

  • 任意 $3-5/月的 VPS(Hetzner CPX11、DigitalOcean Basic Droplet 等)
  • 1 vCPU + 1GB RAM 完全够用

部署步骤:

# 1. 在 VPS 上安装 Hermes(参考第五册 VPS 部署章节)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | sh
 
# 2. 配置 Hermes
hermes setup
 
# 3. 创建 Telegram Bot
# 在 Telegram 中搜索 @BotFather
# 发送 /newbot,按提示创建机器人
# 记下 Bot Token(格式: 123456789:ABCdefGHIjklMNOpqrsTUVwxyz)
 
# 4. 配置 Telegram 网关
hermes gateway config telegram --token "你的BotToken"
 
# 5. 设置安全允许列表(重要!)
# 只允许特定用户使用你的机器人,防止被滥用

配置允许列表:

# 在 ~/.hermes/config.yaml 中添加
gateway:
  telegram:
    token: "${TELEGRAM_BOT_TOKEN}"
    allowed_users:
      - 123456789 # 你的数字用户 ID
      - 987654321 # 朋友的数字用户 ID

注意

Telegram 的安全设置中,允许列表需要填写数字用户 ID,不是 @handle(用户名)! 你可以通过以下方式获取自己的数字 ID:

  1. 在 Telegram 中搜索 @userinfobot
  2. 点击 Start,机器人会回复你的用户信息,其中 "Id" 就是数字用户 ID
  3. 或者在 Telegram 中发送任意消息给 @getidsbot

填写错误的格式(如 @username)会导致消息过滤不生效,任何人都能使用你的机器人,消耗你的 API 额度!

启动机器人:

# 启动网关(前台运行测试)
hermes gateway start
 
# 测试正常后,使用 systemd 后台运行
sudo systemctl enable hermes
sudo systemctl start hermes

使用示例:

在 Telegram 中向你的机器人发送消息:

你: 帮我把这个 Python 函数改成异步的
    def fetch_data(url):
        return requests.get(url).json()

机器人: 好的,改成异步版本:

```python
import aiohttp

async def fetch_data(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.json()

记得在调用处使用 await fetch_data(url)


> **Tips**
>
> 这个工作流的成本极低:VPS 月费 $5 + API 调用费(轻度使用约 $1-5)= 每月不到 $10,你就拥有了一个 24/7 在线的私人 AI 助手。无论你在地铁上、咖啡馆里还是躺在床上,随时打开手机就能向它提问。

### 工作流 3:每日 Cron 简报(自动收集信息并发邮件)

这是一个自动化信息收集场景:每天早上自动抓取 Hacker News 热门、GitHub 通知、天气信息,然后生成一份简报发送到你的邮箱。

**配置步骤:**

```bash
# 1. 确保 Hermes 已安装并配置好模型

# 2. 编辑定时任务配置
nano ~/.hermes/cron/jobs.yaml

任务配置:

# ~/.hermes/cron/jobs.yaml
jobs:
  - name: "morning-briefing"
    description: "每日早间简报"
    schedule: "0 8 * * *" # 每天早上 8 点
    command: |
      请帮我生成一份今日早报,包含以下内容:
 
      1. 搜索 Hacker News 今日热门文章 Top 5,总结每条的核心内容
      2. 检查我的 GitHub 通知,总结需要我关注的事项
      3. 查询今天上海的天气
      4. 查看今天是否有重要的技术会议或产品发布
 
      将所有内容整理成一份结构清晰的 Markdown 简报,
      标题为「早报 - YYYY年MM月DD日」,保存到 ~/briefings/ 目录
    enabled: true
 
  - name: "send-daily-email"
    description: "发送早报邮件"
    schedule: "30 8 * * *" # 每天早上 8:30(简报生成后)
    command: |
      读取 ~/briefings/ 目录下最新的早报文件,
      将其内容作为邮件正文,发送到 [email protected]
      邮件主题:「Hermes 早报 - 今日日期」
    enabled: true

启用定时任务:

# 验证配置格式
hermes cron validate
 
# 查看任务列表
hermes cron list
 
# 手动测试运行
hermes cron run morning-briefing
 
# 确认任务已启用
hermes cron status

Tips

这个工作流展示了 Hermes 的「自动化」能力。一旦配置完成,它每天会自动执行,不需要你手动干预。你可以根据自己的需求定制简报内容,比如添加股票监控、RSS 订阅源、竞品动态等。Cron 任务的语言支持自然语言描述,不需要写复杂的脚本——这是 Hermes 相比传统自动化工具的独特优势。


本章小结

恭喜你完成了 Hermes 基础使用入门的全部学习!让我们回顾一下本章的核心要点:

  1. Quick Setup 向导 是配置 Hermes 的第一步。新手推荐选择 DeepSeek 或 OpenRouter 作为入门模型,零成本或低成本就能开始体验。

  2. 对话模式 中,Hermes 会自动维护上下文、调用工具完成实际任务。善用多轮对话,像和朋友聊天一样自然地与 Agent 交流。

  3. 斜杠命令/help/model/memory 等)是高效操控 Agent 的快捷键,熟练掌握它们能显著提升使用效率。

  4. 模型接入 非常灵活,支持 20+ 提供者。国内用户优先推荐 DeepSeek(性价比最高)和 Kimi(长文本最强)。

  5. 分层模型配置 是省钱的核心秘诀。核心逻辑用 Claude/GPT-5,日常执行用 DeepSeek,实测可节省 50%-70% 的费用。

  6. SOUL.md 是定义 Agent 人格的魔法文件。花点时间写一个好的 SOUL.md,你的 Agent 会变得与众不同。

  7. 三个实战练习(搜索总结、代码编写、文件管理)让你立刻上手。三个官方工作流(编程助手、Telegram 机器人、Cron 简报)展示了 Hermes 在实际场景中的应用。

  8. 避免三大误区:不要把 Hermes 当搜索引擎、要给足上下文、要善用记忆和技能系统。

现在,你已经掌握了 Hermes 的基础操作。下一册「三层记忆系统详解」将带你深入理解 Hermes 的记忆机制,学会如何让 Agent 真正「记住」你、越用越懂你。让我们继续「养马之旅」!