第六册:基础使用入门 —— 从零开始,掌握 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 之前,建议先准备好以下信息,这样配置过程会更加顺畅:
- 已决定使用的 LLM 提供商 —— 如果不确定,先选 DeepSeek 或 OpenRouter
- 对应提供商的 API Key —— 提前注册并复制好 Key
- Agent 的名称 —— 给你的 Agent 起个名字(如「小墨」「码匠」等)
- 期望的对话语言 —— 中文、英文或其他语言
准备这些只需要 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-50 | DeepSeek + GLM-5 | ¥10-30 |
| ¥50-200 | DeepSeek 主力 + 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 (本地) | 免费 | 代码、中文 | 硬件要求、通用推理 | 本地开发、隐私敏感场景 |
新手推荐方案(按优先级排序):
-
首选:DeepSeek
- 为什么:API 价格低到惊人(每百万输入 token 仅需约 2 元),效果媲美 GPT-4,国内访问速度快
- 适合:绝大多数日常场景
-
次选:OpenRouter
- 为什么:一个 Key 可以用 Google Gemini、Mistral、Anthropic 等多个模型,有免费额度
- 适合:想先免费体验,再决定是否付费的用户
-
进阶:Nous Portal
- 为什么:Nous Research 官方推出的统一订阅服务,一个月费涵盖所有接入模型,省去分别管理各平台 Key 的麻烦
- 适合:需要频繁切换模型、追求便利性的用户
Tips
如果你现在还没有任何 API Key,我建议先去 DeepSeek 官网(platform.deepseek.com)注册一个账号,新用户通常有免费额度赠送。或者去 OpenRouter(openrouter.ai)注册,它提供部分模型的免费额度,零成本就能开始体验。
各模型详细能力对比:
为了帮你更直观地理解不同模型的差异,下面是官方社区整理的各模型在实际任务中的表现评分(满分 5 分):
| 能力维度 | Claude 3.5 Sonnet | GPT-5 | DeepSeek | GLM-5 | Kimi | Qwen 2.5 Coder 32B |
|---|---|---|---|---|---|---|
| 代码生成 | 5.0 | 4.8 | 4.3 | 3.8 | 3.5 | 4.5 |
| 代码审查 | 5.0 | 4.7 | 4.0 | 3.5 | 3.5 | 4.2 |
| 中文理解 | 4.0 | 4.2 | 4.8 | 4.9 | 4.7 | 4.6 |
| 数学推理 | 4.8 | 4.9 | 4.5 | 4.0 | 4.2 | 3.8 |
| 创意写作 | 4.5 | 4.8 | 4.2 | 4.3 | 4.0 | 3.5 |
| 长文本处理 | 4.5 | 4.6 | 4.0 | 4.0 | 5.0 | 3.5 |
| 工具调用 | 4.8 | 4.7 | 4.5 | 4.6 | 4.0 | 3.0 |
| 响应速度 | 4.0 | 4.2 | 4.8 | 4.7 | 4.5 | 3.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 获取:
- 访问 https://platform.deepseek.com/
- 点击右上角「登录」,用手机号或邮箱注册
- 登录后进入「API Keys」页面
- 点击「创建 API Key」
- 复制生成的 Key(以
sk-开头)
🔑 输入 DeepSeek API Key
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
请粘贴你的 API Key(不会显示在屏幕上):
> ******************************
✓ 格式验证通过
✓ 连接测试成功
✓ 余额查询: ¥15.00(赠金)
注意
粘贴 API Key 时请务必检查是否有尾随空格!这是官方排障指南中排名前三的问题。你可以在粘贴后按
Ctrl+A(全选)查看是否有额外空格。如果不确定,可以先粘贴到文本编辑器中检查,确认无误后再复制到终端。
OpenRouter API Key 获取:
- 访问 https://openrouter.ai/
- 用 GitHub 或 Google 账号登录
- 进入 Settings > Keys
- 点击「Create Key」
- 复制 Key(以
sk-or-v1-开头)
Tips
OpenRouter 的优势在于「一 Key 多用」。你只用这一个 Key,就可以调用 Google Gemini、Mistral、Anthropic Claude、Meta Llama 等数十个模型的 API。而且它提供部分模型的免费额度(虽然速率有限制),非常适合入门体验。
Nous Portal 订阅:
- 访问 https://portal.nousresearch.com/
- 注册账号并选择订阅计划
- 订阅后系统会生成一个统一 API Key
- 用这个 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 响应慢导致的。解决方法:
- 检查网络连接:
ping google.com- 测试 API 连通性:
hermes doctor --models- 如果是国内用户访问海外 API,检查代理是否生效
- 尝试切换到响应更快的模型(如 DeepSeek)
- 如果使用的是本地模型,检查 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 条对话记录。当对话很长时,早期的消息可能会被自动丢弃。如果需要保留重要信息,可以:
- 使用
/memory命令让 Hermes 记住关键信息- 使用
/compact压缩上下文(详见第 4 章)- 重要的配置和背景信息写入 SOUL.md 或 MEMORY.md
- 对于特别长的任务,可以分段进行,每完成一段用
/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 benchmarkTips
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 --reset3.7 hermes doctor(系统诊断)
# 运行完整诊断
hermes doctor
# 仅检查环境
hermes doctor --env
# 仅检查配置
hermes doctor --config
# 仅检查模型连接
hermes doctor --models
# 修复可自动修复的问题
hermes doctor --fix3.8 hermes status(状态查看)
# 查看系统状态
hermes status
# 查看资源使用情况
hermes status --resources
# 查看当前会话信息
hermes status --session
# 查看已加载的技能
hermes status --skills3.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-skill3.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-summary3.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- 开头的 Keyproviders:
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
# 选择 Anthropicproviders:
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
# 选择 DeepSeekproviders:
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
# 选择 Kimiproviders:
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 的优势:
- 一 Key 多用:一个 API Key 访问 100+ 模型
- 免费额度:部分模型提供免费 tier(带速率限制)
- 统一计费:不用分别管理各平台的账单
- 自动路由:智能选择可用性最高的模型端点
- 标准化接口:所有模型使用统一的 OpenAI 兼容格式
# 1. 访问 https://openrouter.ai/ 注册
# 2. 用 GitHub/Google 账号登录
# 3. 在 Settings > Keys 创建 Key(以 sk-or-v1- 开头)
# 4. 配置
hermes setup
# 选择 OpenRouterproviders:
openrouter:
api_key: "${OPENROUTER_API_KEY}"
base_url: "https://openrouter.ai/api/v1"OpenRouter 支持的免费模型(有速率限制):
| 模型 ID | 提供商 | 特点 | 速率限制 |
|---|---|---|---|
google/gemini-2.5-pro-exp-03-25:free | 多模态、长上下文 | 20 RPM | |
meta-llama/llama-3.3-70b-instruct:free | Meta | 通用能力强 | 20 RPM |
deepseek/deepseek-chat:free | DeepSeek | 中文优秀 | 20 RPM |
nvidia/llama-3.1-nemotron-70b-instruct:free | NVIDIA | 推理增强 | 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-5providers:
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
# 选择 MiniMaxproviders:
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 模型选择建议(按任务类型推荐)
| 任务类型 | 首选模型 | 备选模型 | 理由 |
|---|---|---|---|
| 日常问答/闲聊 | DeepSeek | GLM-5 | 便宜、中文好、速度快 |
| 代码编写/审查 | Claude 3.5 Sonnet | DeepSeek-reasoner | 代码能力业界顶尖 |
| 复杂推理/数学 | Claude 3 Opus | GPT-5 / o1 | 推理链最完整 |
| 长文档分析 | Kimi | Claude 3.5 Sonnet | 200K 上下文窗口 |
| 创意写作 | GPT-5 | Claude 3.5 Sonnet | 创意和表达最丰富 |
| 快速简单任务 | DeepSeek-chat | GPT-4o-mini | 最便宜 |
| 隐私敏感场景 | Qwen 2.5 Coder (本地) | Llama 3.3 70B (本地) | 数据不出本机 |
| 多模态(图文) | GPT-4o | Gemini 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 前缀 | 国内访问 |
|---|---|---|---|---|
| DeepSeek | platform.deepseek.com | API Keys 页面 | sk- | 直连 |
| OpenRouter | openrouter.ai | Settings > Keys | sk-or-v1- | 需代理 |
| Nous Portal | portal.nousresearch.com | Account > API Keys | sk- | 需代理 |
| OpenAI | platform.openai.com | API Keys | sk- | 需代理 |
| Anthropic | console.anthropic.com | API Keys | sk-ant- | 需代理 |
| Kimi | platform.moonshot.cn | API Keys | sk- | 直连 |
| 智谱 GLM-5 | open.bigmodel.cn | API Keys | 无固定前缀 | 直连 |
| MiniMax | api.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 |
| 测试和 Debug | 6K input + 4K output | $0.08 |
| 总计 | 39K input + 28K output | $0.54 |
分层配置(推理用 Claude,执行用 DeepSeek)的成本:
| 步骤 | 使用模型 | Token 消耗 | 费用 |
|---|---|---|---|
| 需求分析 | DeepSeek | 5K + 3K | ¥0.02 |
| 架构设计 | Claude | 8K + 5K | $0.10 |
| 后端代码 | DeepSeek | 10K + 8K | ¥0.05 |
| 前端代码 | DeepSeek | 10K + 8K | ¥0.05 |
| 测试和 Debug | DeepSeek | 6K + 4K | ¥0.02 |
| 总计 | 39K + 28K | 约 $0.14 |
节省:约 75%!
Tips
这个省钱的逻辑很简单:架构设计等关键环节用最强的模型确保质量,具体的代码实现交给便宜模型完成。就像建筑设计师设计蓝图(高薪),工人按图施工(普通薪资),最终房子的质量由设计决定,而不是由施工工人的学历决定。
6.3 Fallback 链机制详解
Fallback 链是分层模型配置中的「保险丝」。当首选模型因为网络问题、余额不足或服务商故障而无法使用时,Hermes 会自动按顺序尝试 Fallback 列表中的模型。
Fallback 触发条件:
- API 返回 429(速率限制)
- API 返回 401/403(认证失败 / 余额不足)
- API 返回 5xx(服务商内部错误)
- 请求超时(默认 60 秒)
- 网络连接失败
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-30 | DeepSeek 主力 | 满足 90% 的日常需求 |
| ¥50-100 | DeepSeek + Claude(分层) | 代码质量显著提升 |
| $10-30 | Claude Sonnet + GPT-4o-mini | 国际开发者的最佳性价比 |
| $50-100 | Claude + 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 不是一锤子买卖,建议用以下方法持续优化:
- 记录不满意的对答 —— 当 Agent 的回答不符合预期时,把对话保存下来
- 分析原因 —— 是 SOUL.md 缺少相关指令,还是指令不够明确?
- 修改 SOUL.md —— 添加或调整对应条款
- 重启 Hermes 验证 —— 用同样的提问测试,看是否改善
- 重复 1-4 —— 一般经过 3-5 轮迭代,SOUL.md 就会趋于稳定
Tips
好的 SOUL.md 就像好的公司章程——不需要面面俱到,但核心原则必须清晰明确。初学者最容易犯的错误是写得太长、太琐碎。建议先写一个 20 行的精简版,用一周时间观察效果,再根据实际需要逐步扩充。记住:少即是多,精准的约束胜过冗长的描述。
8. 第一个实战练习
理论知识学得再多,不动手实践也是白搭。下面三个实战练习,让你立刻体验 Hermes 的核心能力。
练习 1:让 Hermes 帮你搜索和总结一篇新闻
目标: 练习 Hermes 的网络搜索和信息总结能力。
步骤:
- 启动 Hermes:
hermes- 输入搜索请求:
You: 搜索一下最近关于 AI Agent 行业的重要新闻,帮我总结 3 条最重要的
- 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 的编程辅助能力。
步骤:
- 启动 Hermes(如果已退出):
hermes- 提出编程需求:
You: 帮我写一个 Python 脚本,功能是读取当前目录下所有的 .txt 文件,
统计每个文件的字数,然后把结果输出到一个 CSV 文件中
- 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({
"filename": txt_file.name,
"word_count": word_count,
"file_size": txt_file.stat().st_size
})
# 写入 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"✓ 统计完成,结果已保存到 {output_file}")
print(f" 共处理 {len(results)} 个文件")
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
- 启动 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({"利润": "sum"})
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 条)
- 定期备份数据
# 设置每周自动备份
(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 -- 使用分层模型节省费用
配置 config.yaml 中的 models.reasoning 和 models.execution,让简单任务用便宜模型,复杂任务用强模型。
- 善用 SOUL.md 定义 Agent 人格
花 30 分钟写一个好的 SOUL.md,之后每次对话都能受益。这比每次重复说明你的偏好高效得多。
- 重要信息存入 MEMORY.md
You: /memory add 我下周四要参加一个技术分享会,主题是关于 Hermes Agent
- 定期清理旧会话
# 删除 30 天前的会话
hermes chat cleanup --older-than 30d- 使用 /compact 管理长对话
当对话超过 20 轮时,输入 /compact 压缩上下文,避免 token 费用暴涨。
- 敏感对话用 --private 模式
hermes --private隐私模式不会保存对话历史到数据库。
- 配置 Fallback 链防止服务中断
在 config.yaml 中至少配置 2-3 个 fallback 模型,避免单一服务商故障导致 Agent 不可用。
- 利用定时任务自动化重复工作
# ~/.hermes/cron/jobs.yaml
jobs:
- name: daily-hn-summary
schedule: "0 9 * * *"
command: "搜索 Hacker News 今日热门,总结前 5 条发送到我的邮箱"- 保持 Hermes 和技能更新
# 每周更新一次
hermes update
hermes skills update进阶最佳实践(额外 5 条):
- 建立个人知识库
把你经常参考的资料、代码片段、笔记整理到 ~/.hermes/skills/custom/ 中,形成个人知识库。这样 Hermes 可以随时调用你的私有知识来回答问题。
- 使用版本控制管理配置
cd ~/.hermes
git init
git add config.yaml SOUL.md MEMORY.md USER.md
git commit -m "Initial Hermes config"这样你可以追踪配置变更,误操作时随时回滚。
- 设置费用预警
在 config.yaml 中设置月度预算上限:
core:
monthly_budget: 100 # 美元
budget_alert_threshold: 0.8 # 用到 80% 时提醒- 为不同项目创建独立工作区
# 项目 A
cd ~/project-a && hermes --workspace .
# 项目 B
cd ~/project-b && hermes --workspace .每个工作区的上下文隔离,避免项目间的信息混淆。
- 定期 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:
- 在 Telegram 中搜索 @userinfobot
- 点击 Start,机器人会回复你的用户信息,其中 "Id" 就是数字用户 ID
- 或者在 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 statusTips
这个工作流展示了 Hermes 的「自动化」能力。一旦配置完成,它每天会自动执行,不需要你手动干预。你可以根据自己的需求定制简报内容,比如添加股票监控、RSS 订阅源、竞品动态等。Cron 任务的语言支持自然语言描述,不需要写复杂的脚本——这是 Hermes 相比传统自动化工具的独特优势。
本章小结
恭喜你完成了 Hermes 基础使用入门的全部学习!让我们回顾一下本章的核心要点:
-
Quick Setup 向导 是配置 Hermes 的第一步。新手推荐选择 DeepSeek 或 OpenRouter 作为入门模型,零成本或低成本就能开始体验。
-
对话模式 中,Hermes 会自动维护上下文、调用工具完成实际任务。善用多轮对话,像和朋友聊天一样自然地与 Agent 交流。
-
斜杠命令(
/help、/model、/memory等)是高效操控 Agent 的快捷键,熟练掌握它们能显著提升使用效率。 -
模型接入 非常灵活,支持 20+ 提供者。国内用户优先推荐 DeepSeek(性价比最高)和 Kimi(长文本最强)。
-
分层模型配置 是省钱的核心秘诀。核心逻辑用 Claude/GPT-5,日常执行用 DeepSeek,实测可节省 50%-70% 的费用。
-
SOUL.md 是定义 Agent 人格的魔法文件。花点时间写一个好的 SOUL.md,你的 Agent 会变得与众不同。
-
三个实战练习(搜索总结、代码编写、文件管理)让你立刻上手。三个官方工作流(编程助手、Telegram 机器人、Cron 简报)展示了 Hermes 在实际场景中的应用。
-
避免三大误区:不要把 Hermes 当搜索引擎、要给足上下文、要善用记忆和技能系统。
现在,你已经掌握了 Hermes 的基础操作。下一册「三层记忆系统详解」将带你深入理解 Hermes 的记忆机制,学会如何让 Agent 真正「记住」你、越用越懂你。让我们继续「养马之旅」!