知识引擎/Hermes 知识引擎/个性与 SOUL (Personality & SOUL)

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

个性与 SOUL (Personality & SOUL)

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


Hermes Agent 的个性是完全可定制的。SOUL.md主要身份——它是系统提示中的第一项内容,定义了 Agent 是谁。

  • SOUL.md — 一个持久的人格文件,位于 HERMES_HOME 中,作为 Agent 的身份(系统提示中的槽位 #1)
  • 内置或自定义的 /personality 预设 — 会话级别的系统提示覆盖层

如果你想改变 Hermes 的身份——或将其替换为完全不同的 Agent 人格——编辑 SOUL.md

SOUL.md 的工作方式

Hermes 现在会自动在以下位置生成默认的 SOUL.md

~/.hermes/SOUL.md

更准确地说,它使用当前实例的 HERMES_HOME,因此如果你使用自定义主目录运行 Hermes,它会使用:

$HERMES_HOME/SOUL.md

重要行为

  • SOUL.md 是 Agent 的主要身份。 它占据系统提示中的槽位 #1,替换硬编码的默认身份。
  • Hermes 会在 SOUL.md 不存在时自动创建一个启动文件
  • 已有的用户 SOUL.md 文件永远不会被覆盖
  • Hermes 只从 HERMES_HOME 加载 SOUL.md
  • Hermes 不会在当前工作目录中查找 SOUL.md
  • 如果 SOUL.md 存在但为空,或无法加载,Hermes 会回退到内置的默认身份
  • 如果 SOUL.md 有内容,该内容会在安全扫描和截断后原样注入
  • SOUL.md 不会在上下文文件部分中重复出现——它仅作为身份出现一次

这使得 SOUL.md 成为真正的按用户或按实例的身份,而不仅仅是一个附加层。

为什么这样设计

这保持了个性的可预测性。

如果 Hermes 从你碰巧启动的任何目录加载 SOUL.md,你的个性可能会在不同项目之间意外变化。通过仅从 HERMES_HOME 加载,个性属于 Hermes 实例本身。

这也使得教导用户更简单:

  • "编辑 ~/.hermes/SOUL.md 来更改 Hermes 的默认个性。"

在哪里编辑

对于大多数用户:

~/.hermes/SOUL.md

如果你使用自定义主目录:

$HERMES_HOME/SOUL.md

SOUL.md 中应该放什么?

将其用于持久的语气和个性指导,例如:

  • 语调
  • 沟通风格
  • 直接程度
  • 默认交互风格
  • 在风格上应避免什么
  • Hermes 应如何处理不确定性、分歧或歧义

少用于:

  • 一次性的项目指令
  • 文件路径
  • 仓库约定
  • 临时工作流细节

这些应该放在 AGENTS.md 中,而不是 SOUL.md

好的 SOUL.md 内容

一个好的 SOUL 文件应该是:

  • 跨上下文稳定
  • 足够广泛以适用于许多对话
  • 足够具体以实质性塑造语气
  • 专注于沟通和身份,而非特定任务的指令

示例

# Personality

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

## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly
- Keep explanations compact unless depth is useful

## What to avoid
- Sycophancy
- Hype language
- Repeating the user's framing if it's wrong
- Overexplaining obvious things

## Technical posture
- Prefer simple systems over clever systems
- Care about operational reality, not idealized architecture
- Treat edge cases as part of the design, not cleanup

Hermes 注入到提示中的内容

SOUL.md 的内容直接进入系统提示的槽位 #1——Agent 身份位置。不会在其周围添加任何包装语言。

内容会经过:

  • 提示注入扫描
  • 如果过大则截断

如果文件为空、仅包含空白或无法读取,Hermes 会回退到内置的默认身份("You are Hermes Agent, an intelligent AI assistant created by Nous Research...")。此回退也适用于设置了 skip_context_files 的情况(例如在子 Agent/委派上下文中)。

安全扫描

SOUL.md 像其他承载上下文的文件一样,在包含之前会进行提示注入模式扫描。

这意味着你仍然应该让它专注于人格/语气,而不是试图偷偷插入奇怪的元指令。

SOUL.md 与 AGENTS.md

这是最重要的区别。

SOUL.md

用于:

  • 身份
  • 语气
  • 风格
  • 沟通默认设置
  • 个性级别的行为

AGENTS.md

用于:

  • 项目架构
  • 编码约定
  • 工具偏好
  • 特定仓库的工作流
  • 命令、端口、路径、部署说明

一个有用的规则:

  • 如果它应该随处跟随你,它属于 SOUL.md
  • 如果它属于一个项目,它属于 AGENTS.md

SOUL.md 与 /personality

SOUL.md 是你的持久默认个性。

/personality 是一个会话级别的覆盖层,更改或补充当前系统提示。

所以:

  • SOUL.md = 基线语气
  • /personality = 临时模式切换

示例:

  • 保持一个务实的默认 SOUL,然后使用 /personality teacher 进行教学对话
  • 保持一个简洁的 SOUL,然后使用 /personality creative 进行头脑风暴

内置个性

Hermes 附带内置个性,可以通过 /personality 切换。

名称描述
helpful友好的通用助手
concise简短、直截了当的回答
technical详细的、准确的技术专家
creative创新的、跳出框架的思维
teacher有耐心的教育者,提供清晰的示例
kawaii可爱的表情、闪光和热情 ★
catgirlNeko-chan,带有猫咪般的表情,nya~
pirate赫尔墨斯船长,精通科技的海盗
shakespeare戏剧风格的诗意散文
surfer完全放松的兄弟氛围
noir硬汉侦探叙述
uwu极致可爱的 uwu 语
philosopher对每个查询进行深度思考
hype最大的能量和热情!!!

使用命令切换个性

CLI

/personality
/personality concise
/personality technical

消息平台

/personality teacher

这些是方便的覆盖层,但你的全局 SOUL.md 仍然为 Hermes 提供持久的默认个性,除非覆盖层有实际意义的更改。

在配置中自定义个性

你还可以在 ~/.hermes/config.yamlagent.personalities 下定义命名的自定义个性。

agent:
  personalities:
    codereviewer: >
      You are a meticulous code reviewer. Identify bugs, security issues,
      performance concerns, and unclear design choices. Be precise and constructive.

然后切换到它:

/personality codereviewer

推荐工作流

一个强大的默认设置是:

  1. ~/.hermes/SOUL.md 中保持一个深思熟虑的全局 SOUL.md
  2. 将项目指令放在 AGENTS.md
  3. 仅在你想要临时模式切换时使用 /personality

这给你带来:

  • 一个稳定的语气
  • 项目特定的行为放在该放的地方
  • 需要时的临时控制

个性如何与完整提示交互

在高层次上,提示栈包括:

  1. SOUL.md(Agent 身份——或 SOUL.md 不可用时的内置回退)
  2. 工具感知行为指导
  3. 记忆/用户上下文
  4. 技能指导
  5. 上下文文件(AGENTS.md.cursorrules
  6. 时间戳
  7. 平台特定的格式提示
  8. 可选的系统提示覆盖层,如 /personality

SOUL.md 是基础——其他一切都建立在它之上。

相关文档

CLI 外观与对话个性

对话个性和 CLI 外观是分开的:

  • SOUL.mdagent.system_prompt/personality 影响 Hermes 如何说话
  • display.skin/skin 影响 Hermes 在终端中的外观

关于终端外观,参见皮肤与主题

Continue Exploring

继续探索

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

核心功能

上下文文件 (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.

使用指南

配置 (Configuration)

All settings are stored in the /.hermes/ directory for easy access. :::tip ::: Settings are resolved in this order (highest priority first):

教程与指南

技巧与最佳实践

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

教程与指南

使用 SOUL

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

核心功能

Skins & Themes(皮肤与主题)

原文链接:Skins & Themes sidebar position: 10 title: "Skins & Themes" description: "Customize the Hermes CLI with built-in and user-defined skins"

核心功能

工具与工具集 (Tools & Toolsets)

Tools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform.

Core Features

核心功能

Hermes 的能力核心:工具、记忆、技能、委派、自动化、语音、插件与浏览器控制。

31 篇文档30 个节点

当前节点

个性与 SOUL (Personality & SOUL)

同主题继续探索

工具与工具集 (Tools & Toolsets)

Tools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform.

记忆系统 (Memory System)

Hermes Agent has bounded, curated memory that persists across sessions. This lets it remember your preferences, your projects, your environment, and things it h

技能系统 (Skill System)

技能是 Hermes 的可复用知识模块。每个技能都是一个 Markdown 文件,在激活时注入到 Agent 的上下文中——为其提供持久的工作流、领域知识和行为指南,而无需将这些内容塞入系统提示中。 技能是可热插拔的:你可以在会话中途安装、创建、编辑和切换技能。它们在 CLI、消息平台和 Gateway 后台任务中均可

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

ACP 编辑器集成 (ACP Editor Integration)

Hermes Agent 可以作为 ACP 服务器运行,让 ACP 兼容的编辑器通过 stdio 与 Hermes 通信,并渲染: - 聊天消息 - 工具活动 - 文件差异 - 终端命令 - 审批提示 - 流式思考 / 响应片段 当你希望 Hermes 像编辑器原生的编程 Agent 一样工作,而不是独立的 CLI 或

API 服务器 (API Server)

The API server exposes hermes-agent as an OpenAI-compatible HTTP endpoint. Any frontend that speaks the OpenAI format — Open WebUI, LobeChat, LibreChat, NextCha

相关节点