SOUL.md 是你的 Hermes 实例的 主要身份文件 。它是系统提示中的第一个内容——定义了 agent 是谁、如何说话以及避免什么。 如果你希望 Hermes 每次对话都像同一个助手——或者你想用自己的设定完全替换 Hermes 的人设——这就是要使用的文件。 使用 SOUL.md 来定义:

使用 SOUL

> 📖 本文档翻译自 Hermes Agent 官方文档 > 最后更新:2026-04-16


在 Hermes 中使用 SOUL.md

SOUL.md 是你的 Hermes 实例的主要身份文件。它是系统提示中的第一个内容——定义了 agent 是谁、如何说话以及避免什么。

如果你希望 Hermes 每次对话都像同一个助手——或者你想用自己的设定完全替换 Hermes 的人设——这就是要使用的文件。

SOUL.md 的用途

使用 SOUL.md 来定义:

  • 语气
  • 个性
  • 沟通风格
  • Hermes 应该多直接或多温暖
  • Hermes 在风格上应该避免什么
  • Hermes 如何应对不确定性、分歧和模糊性

简而言之:

  • SOUL.md 决定 Hermes 是谁以及它如何说话

SOUL.md 不适用的场景

不要用它来定义:

  • 仓库特定的编码规范
  • 文件路径
  • 命令
  • 服务端口
  • 架构说明
  • 项目工作流指令

这些内容应该放在 AGENTS.md 中。

一个好的原则:

  • 如果某条指令应该在任何地方生效,放在 SOUL.md
  • 如果它只属于某个项目,放在 AGENTS.md

文件位置

Hermes 现在只使用当前实例的全局 SOUL 文件:

~/.hermes/SOUL.md

如果你使用自定义主目录运行 Hermes,路径变为:

$HERMES_HOME/SOUL.md

首次运行行为

如果 SOUL.md 不存在,Hermes 会自动为你创建一个初始版本。

这意味着大多数用户现在从一开始就有一个真实的文件,可以立即阅读和编辑。

重要:

  • 如果你已经有一个 SOUL.md,Hermes 不会覆盖它
  • 如果文件存在但为空,Hermes 不会将其中的任何内容添加到提示中

Hermes 如何使用它

当 Hermes 启动会话时,它会从 HERMES_HOME 读取 SOUL.md,扫描其中的提示注入模式,必要时进行截断,并将其用作 agent 身份 ——系统提示中的第 1 个槽位。这意味着 SOUL.md 完全替代了内置的默认身份文本。

如果 SOUL.md 缺失、为空或无法加载,Hermes 会回退到内置的默认身份。

文件周围不会添加任何包装语言。内容本身才是关键——以你希望 agent 思考和说话的方式编写。

一个好的首次编辑

如果你什么都不做,至少打开文件,修改几行让它感觉像你的风格。

例如:

You are direct, calm, and technically precise.
Prefer substance over politeness theater.
Push back clearly when an idea is weak.
Keep answers compact unless deeper detail is useful.

仅此一项就能显著改变 Hermes 的感觉。

示例风格

1. 务实工程师

You are a pragmatic senior engineer.
You care more about correctness and operational reality than sounding impressive.

## Style
- Be direct
- Be concise unless complexity requires depth
- Say when something is a bad idea
- Prefer practical tradeoffs over idealized abstractions

## Avoid
- Sycophancy
- Hype language
- Overexplaining obvious things

2. 研究伙伴

You are a thoughtful research collaborator.
You are curious, honest about uncertainty, and excited by unusual ideas.

## Style
- Explore possibilities without pretending certainty
- Distinguish speculation from evidence
- Ask clarifying questions when the idea space is underspecified
- Prefer conceptual depth over shallow completeness

3. 教师/讲解者

You are a patient technical teacher.
You care about understanding, not performance.

## Style
- Explain clearly
- Use examples when they help
- Do not assume prior knowledge unless the user signals it
- Build from intuition to details

4. 严格评审者

You are a rigorous reviewer.
You are fair, but you do not soften important criticism.

## Style
- Point out weak assumptions directly
- Prioritize correctness over harmony
- Be explicit about risks and tradeoffs
- Prefer blunt clarity to vague diplomacy

什么构成一个好的 SOUL.md?

一个强的 SOUL.md 是:

  • 稳定的
  • 广泛适用的
  • 在语调上具体明确的
  • 不过载临时指令的

一个弱的 SOUL.md 是:

  • 充满项目细节的
  • 自相矛盾的
  • 试图微管理每次响应格式的
  • 大部分是像"要乐于助人"和"要清晰"这样泛泛而谈的

Hermes 本来就会尽量乐于助人和清晰。SOUL.md 应该添加真正的个性和风格,而不是重述显而易见的默认值。

建议的结构

你不需要标题,但它们会有帮助。

一个简单有效的结构:

# Identity
Who Hermes is.

# Style
How Hermes should sound.

# Avoid
What Hermes should not do.

# Defaults
How Hermes should behave when ambiguity appears.

SOUL.md 与 /personality 的区别

这两者是互补的。

使用 SOUL.md 作为持久基线。 使用 /personality 进行临时模式切换。

示例:

  • 你的默认 SOUL 是务实和直接的
  • 然后在某次会话中使用 /personality teacher
  • 之后你切换回来,无需更改基础语音文件

SOUL.md 与 AGENTS.md 的区别

这是最常见的错误。

放在 SOUL.md 中的内容

  • "要直接。"
  • "避免夸张用语。"
  • "除非深度有帮助,否则优先简短回答。"
  • "当用户错误时要反驳。"

放在 AGENTS.md 中的内容

  • "使用 pytest,而不是 unittest。"
  • "前端代码在 frontend/ 目录。"
  • "永远不要直接编辑迁移文件。"
  • "API 运行在端口 8000。"

如何编辑

nano ~/.hermes/SOUL.md

或者

vim ~/.hermes/SOUL.md

然后重启 Hermes 或开始一个新会话。

实用工作流

  1. 从自动生成的默认文件开始
  2. 删除任何不像你想要的风格的内容
  3. 添加 4–8 行明确定义语气和默认行为的内容
  4. 与 Hermes 对话一段时间
  5. 根据仍然感觉不对的地方进行调整

这种迭代方法比试图一次性设计完美个性效果更好。

故障排除

我编辑了 SOUL.md 但 Hermes 听起来还是一样

检查:

  • 你编辑的是 ~/.hermes/SOUL.md$HERMES_HOME/SOUL.md
  • 而不是某个仓库本地的 SOUL.md
  • 文件不是空的
  • 编辑后会话已重新启动
  • 没有 /personality 覆盖层在主导结果

Hermes 忽略了我的 SOUL.md 中的部分内容

可能的原因:

  • 更高优先级的指令覆盖了它
  • 文件包含相互矛盾的指导
  • 文件太长被截断了
  • 某些文本类似于提示注入内容,可能被扫描器阻止或更改

我的 SOUL.md 变得过于项目特定

将项目指令移到 AGENTS.md 中,保持 SOUL.md 专注于身份和风格。

相关内容 docs

Continue Exploring

继续探索

这不是课程式的上一篇下一篇,而是从当前节点向外继续漫游。

核心功能

个性与 SOUL (Personality & SOUL)

Hermes Agent 的个性是完全可定制的。SOUL.md 是 主要身份 ——它是系统提示中的第一项内容,定义了 Agent 是谁。 - SOUL.md — 一个持久的人格文件,位于 HERMES HOME 中,作为 Agent 的身份(系统提示中的槽位 1) - 内置或自定义的 /personality 预设 —

核心功能

上下文文件 (Context Files)

Hermes Agent automatically discovers and loads context files that shape how it behaves. Some are project-local and discovered from your working directory. SOUL.

教程与指南

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

教程与指南

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程与指南

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程与指南

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能:

Guides

教程与指南

从实践用法、最佳实践到真实工作流模板,适合直接照着走一遍。

16 篇文档16 个节点

当前节点

使用 SOUL

同主题继续探索

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能:

作为 Python 库使用

Hermes 不仅仅是一个 CLI 工具。你可以直接导入 AIAgent,在自己的 Python 脚本、Web 应用或自动化流水线中以编程方式使用它。本指南将向你展示如何操作。 直接从仓库安装 Hermes: 或者使用 uv: 你也可以将其固定在 requirements.txt 中:

使用 MCP

本指南展示如何在实际日常工作流中使用 MCP 与 Hermes Agent。 如果说功能页面解释了 MCP 是什么,那么本指南则是关于如何快速、安全地从中获取价值。 在以下情况使用 MCP: 已有 MCP 形式的工具,且你不想自己构建 Hermes 原生工具 你想让 Hermes 通过干净的 RPC 层操作本地或远程系

相关节点

个性与 SOUL (Personality & SOUL)

Hermes Agent 的个性是完全可定制的。SOUL.md 是 主要身份 ——它是系统提示中的第一项内容,定义了 Agent 是谁。 - SOUL.md — 一个持久的人格文件,位于 HERMES HOME 中,作为 Agent 的身份(系统提示中的槽位 1) - 内置或自定义的 /personality 预设 —

上下文文件 (Context Files)

Hermes Agent automatically discovers and loads context files that shape how it behaves. Some are project-local and discovered from your working directory. SOUL.

技巧与最佳实践

一份实用技巧速查集合,让你立刻更高效地使用 Hermes Agent。每个部分针对不同的方面——浏览标题,跳转到你需要的内容。 模糊的提示产生模糊的结果。不要说"修复代码",而要说"修复 api/handlers.py 第 47 行的 TypeError — process request() 函数从 parse bo

在 Mac 上运行本地 LLM

本指南带你了解如何在 macOS 上运行本地 LLM 服务器(提供 OpenAI 兼容 API)。你将获得完全的隐私、零 API 费用,以及在 Apple Silicon 上出人意料的好性能。 我们介绍两种后端: 两者都提供 OpenAI 兼容的 /v1/chat/completions 端点。Hermes 可以配合其

教程:每日简报机器人

在本教程中,你将构建一个个人简报机器人——它每天早上自动启动,研究你关心的话题,总结发现的内容,并将简洁的简报直接发送到你的 Telegram 或 Discord。 完成后,你将拥有一个完全自动化的工作流,结合了 网络搜索 、 计划任务(Cron) 、 任务委派 和 消息投递 ——无需编写任何代码。

教程:团队 Telegram 助手

本教程将引导你设置一个由 Hermes Agent 驱动的 Telegram Bot,供多个团队成员使用。完成后,你的团队将拥有一个共享的 AI 助手,他们可以通过消息请求帮助处理代码、研究、系统管理和任何事情——并通过用户级授权确保安全。 一个 Telegram Bot,具备以下功能: