\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"To use SOUL.md with Hermes, follow these steps:
-
Install Hermes Agent
Ensure you have the Hermes Agent installed. You can install it via pip:pip install hermes-agent -
Prepare Your SOUL.md File
Create or edit yourSOUL.mdfile to define the agent's personality, goals, and behavior. Example structure:# SOUL.md
## Identity
Name: Hermes Assistant
Role: Intelligent assistant powered by AI
## Core Values
- Accuracy
- Clarity
- Empathy
- Efficiency
## Behavior Guidelines
- Respond in clear, concise language.
- Ask clarifying questions when needed.
- Avoid speculation; stick to known facts.
## Skills
- Natural language understanding
- Context-aware responses
- Task automation
- Multi-turn conversation management
## Goals
- Help users achieve their objectives efficiently.
- Learn and adapt based on user feedback.
- Maintain trust through transparency. -
Initialize Hermes with SOUL.md
Run Hermes with your SOUL.md configuration:hermes --soul SOUL.md -
Interact with the Agent
Once running, interact with Hermes as a conversational agent. It will now behave according to the defined SOUL.md specifications. -
Optional: Integrate with External Tools
Use environment variables or plugins to connect Hermes to tools like OpenAI, OpenRouter, or messaging platforms (Telegram, Slack, etc.). Example:export OPENAI_API_KEY=your_openai_api_key_here
export HERMES_PLUGIN=telegram
hermes --soul SOUL.md -
Monitor & Refine
Observe interactions and refine your SOUL.md over time based on performance and user feedback.
For more details, visit the Hermes Agent documentation or check out the SOUL.md specification.
✅ Tip: Keep your SOUL.md updated and version-controlled for consistent agent behavior across deployments." description: "# How to Use SOUL.md to Shape Hermes Agent's Default Voice
SOUL.md is the core file that defines Hermes Agent's default personality, voice, and behavioral tone. It acts as the foundational identity for how the agent communicates and interacts with users.
✅ What Belongs in SOUL.md
The following elements should be included in SOUL.md:
1. Core Identity & Persona
- Name (if applicable)
- Role or purpose (e.g., "Your personal AI assistant", "A thoughtful companion")
- General demeanor (e.g., calm, curious, empathetic, witty)
Example:
# Hermes Agent
I am Hermes — your intelligent, empathetic, and always-available companion. I help you think, create, and explore with clarity and care.
2. Tone of Voice
- Preferred language style (e.g., conversational, poetic, concise, formal)
- Emotional warmth level (e.g., warm, neutral, playful)
- Use of humor, metaphors, or rhetorical devices
Example:
I speak with gentle precision — clear but never cold, helpful but never pushy. I use metaphors sparingly to illuminate ideas, not distract.
3. Values & Ethics
- Core principles guiding behavior (e.g., honesty, respect, privacy, inclusivity)
- Boundaries around sensitive topics (e.g., no judgment, no harmful advice)
Example:
I value truth, kindness, and curiosity above all. I will never mock, belittle, or encourage harm — even if asked.
4. Communication Style
- Response length preferences (short vs. detailed)
- Structure (e.g., bullet points, paragraphs, step-by-step breakdowns)
- Use of emojis or formatting (if any)
Example:
I prefer structured responses: first a summary, then details. Emojis are used only when they enhance meaning — never for decoration.
5. Default Behavior Triggers
- How the agent initiates conversation (e.g., asks clarifying questions, offers suggestions)
- When to seek clarification vs. act confidently
Example:
If something is unclear, I ask one precise question to clarify — not a list. If confident, I respond directly with confidence.
🆚 Differences Between SOUL.md, AGENTS.md, and /personality
| File | Purpose | Scope | Key Difference |
|---|---|---|---|
SOUL.md | Defines the core identity and voice of Hermes Agent | Global / Default | Sets the default personality and tone across all interactions. This is the “who you are.” |
AGENTS.md | Describes different agent roles or variants (e.g., Creative Mode, Technical Mode) | Role-specific | Contains switchable personas or modes (like different hats). Used when activating specific agent types via command. |
/personality (folder) | Stores user-defined or custom personality profiles | User-level customization | Allows users to override defaults. Files here can be loaded dynamically (e.g., via @load personality/creative.md). |
🔧 Practical Tips
- Keep
SOUL.mdconcise but rich in intent — it’s the blueprint. - Avoid overly technical jargon; focus on emotional resonance and clarity.
- Test changes by interacting with Hermes — does the voice feel consistent?
- Use
AGENTS.mdto define alternative modes, not to replaceSOUL.md. - Use
/personalityfor personalized experiences (e.g., “My friend Alex”, “My mentor”).
📌 Summary
✅
SOUL.md= The soul of Hermes Agent
🔄AGENTS.md= Different masks (roles) the agent can wear
🛠️/personality= Custom identities you can load on demand
Think of SOUL.md as the foundation, AGENTS.md as the toolbox, and /personality as the custom builds.
For best results:
👉 Define your ideal voice in SOUL.md,
👉 Extend with roles in AGENTS.md,
👉 Personalize further using /personality.
💡 Pro Tip: In advanced setups like MCP or Honcho, you can reference
SOUL.mdfrom other files with a custom placeholder such as{{SOUL_PATH}}.
Learn more at agentskills.io or explore examples in the Hermes Agent GitHub repo."
使用 SOUL.md 配置 Hermes
SOUL.md 是你的 Hermes 实例的 核心身份标识。它是系统提示中的第一部分——定义了代理的身份、说话方式以及应避免的内容。
如果你希望每次与 Hermes 对话时都感觉像同一个助手,或者想完全用你自己的角色取代 Hermes 的默认人格,那么这个文件就是你需要使用的。
SOUL.md 的用途
使用 SOUL.md 来设定:
- 语气风格
- 个性特征
- 沟通方式
- Hermes 应该多直接或温暖
- 在表达上应避免哪些风格
- 如何应对不确定性、分歧和模糊性
简而言之:
SOUL.md关注的是 Hermes 是谁,以及它如何表达自己
SOUL.md 不适合做什么
不要在其中使用:
- 项目特定的编码规范
- 文件路径
- 命令行指令
- 服务端口
- 架构说明
- 项目流程指南
这些内容应放在 AGENTS.md 中。
一个简单的判断原则:
- 如果某条规则适用于所有场景,请放入
SOUL.md - 如果仅属于某个特定项目,请放入
AGENTS.md
文件位置
Hermes 现在仅使用当前实例的全局 SOUL 文件:
~/.hermes/SOUL.md
如果你使用自定义主目录运行 Hermes,则路径为:
$HERMES_HOME/SOUL.md
首次运行行为
如果尚未存在,Hermes 会自动为你生成一个初始的 SOUL.md 文件。
这意味着大多数用户现在可以直接打开并编辑一个真实存在的文件。
重要提示:
- 如果你已有一个
SOUL.md,Hermes 不会覆盖它 - 如果文件存在但为空,Hermes 不会从中添加任何内容到提示中
Hermes 如何使用它
当 Hermes 启动会话时,它会从 SOUL.md 读取 HERMES_HOME 内容,扫描是否存在提示注入模式,必要时进行截断,并将其作为 代理身份 —— 系统提示中的第 #1 个槽位。这意味着 SOUL.md 完全替代内置的默认身份文本。
如果 SOUL.md 缺失、为空或无法加载,Hermes 将回退到内置的默认身份。
不会对文件内容添加任何包装语言。真正重要的是内容本身——请以你希望代理思考和表达的方式书写。
一次有效的首次修改
如果你什么都不做,只需打开文件,修改几行,让它的语气更贴近你自己。
例如:
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 或开启新会话。
实用工作流
- 从默认生成的文件开始
- 删除任何不符合你期望语气的内容
- 添加 4–8 行,明确界定语气和默认行为
- 与 Hermes 对话一段时间
- 根据仍不自然的部分进行调整
这种迭代式方法比一次性设计“完美人格”更有效。
常见问题排查
我修改了 SOUL.md,但 Hermes 仍然听起来一样
请检查:
- 是否修改了
~/.hermes/SOUL.md或$HERMES_HOME/SOUL.md - 而非某个仓库本地的
SOUL.md - 文件是否为空
- 修改后是否重启了会话
- 是否存在被更高优先级的
/personality覆盖的情况
Hermes 忽略了我 SOUL.md 中的部分内容
可能原因包括:
- 更高优先级的指令正在覆盖它
- 文件中存在相互冲突的指导方针
- 文件过长导致被截断
- 部分文本看似提示注入内容,被扫描器拦截或修改
我的 SOUL.md 变得太项目相关了
将项目相关指令移至 AGENTS.md,并确保 SOUL.md 专注于身份与风格塑造。