issues
配置 / Profiles / 环境隔离问题LCP
一句话结论:这页只处理“为什么改了配置没生效、为什么明明装过却当前看不到、为什么 session / gateway / skills 像跑到别的环境里”这类排障问题;…
一句话结论:这页只处理“为什么改了配置没生效、为什么明明装过却当前看不到、为什么 session / gateway / skills 像跑到别的环境里”这类排障问题;先分清你改的是哪份配置、当前是谁在读、你现在到底在哪个 profile。
如果你现在只想先记住一句:
大多数配置问题,不是配置键写错,而是“你改的不是当前生效那份,或者当前运行链路根本没切到你刚改过的环境”。
⚡ 先按症状跳转
你现在最像哪一种:
A. 改了 config.yaml / .env,结果像没生效
B. 一切都像切到了另一套环境
C. secret、gateway、skills 像分属不同世界
D. 你怀疑其实不是配置问题
E. 你现在需要的是重新整理路线,不是继续试配置键
🩺 先做什么:最小排查动作
先别继续盲改。先把这 4 个问题答出来:
- 我现在到底在哪个 profile
- 当前 CLI / gateway / session / skills 读的是不是同一套环境
- 我改的是当前真的在生效的
config.yaml/.env吗 - 问题是“没写进去”,还是“写进去了但不是这一套环境在用”
如果这 4 个问题你答不清,后面所有改动都容易白改。
🚫 先别急着做的事
- 不要一边切 profile,一边改
.env、config.yaml、gateway - 不要把“我之前做过这件事”当成“当前环境一定已经有这件事”
- 不要把 session、memory、skills、gateway、secret 混成一个层次
- 不要在没分清环境边界前重复安装或重复登录
📌 先记住这 4 个官方基线
1)Profile 不是换皮肤,是切整套 Hermes 环境
官方 profile 命令文档说得很清楚:
hermes profile use <name>会切活动 profile- 之后不带
-p的 Hermes 命令,都会默认走这套 profile
所以 profile 切换后,下面这些变化很多时候都是正常的:
config.yaml.env- sessions
- skills
- memories
- gateway 状态
2)最先该会的 profile 命令只有这几个
hermes profile list
hermes profile use <name>
hermes profile show <name>
hermes config
这几条最适合回答:
- 我现在在哪个 profile
- 当前默认活动 profile 是谁
- 这套 profile 的 Hermes home 在哪
- 我现在看到的 config 到底是哪份
3).env、config.yaml、gateway、skills 本来就不是一层
先强行拆成四层:
- secret 在
.env - 行为配置在
config.yaml - skills 是能力资产
- gateway 是运行入口
如果你把这四层混成一句“怎么都不对”,几乎一定会误判。
4)改完文件,不等于当前运行态已经切过去
官方命令链里最容易被忽略的是:
- 你改的是哪套 profile 下的文件
- 当前 CLI / gateway / session 是不是还在旧运行态
- 你是不是在 profile A 改完,又去 profile B 测
所以“文件已经保存”不等于“当前链路已经生效”。
❓FAQ
01|为什么改了配置却没生效?
先说结论:最常见不是配置系统坏了,而是你改的不是当前生效那份文件,或者当前运行链路压根还没重新读取它。
先做什么:
- 先确认当前 profile 是谁
- 先确认你改的是这套 profile 下的配置
- 先确认改完后相关入口有没有重新进入 / 重新启动
重点检查:
- 改错了 profile 的
config.yaml - 改的是
.env,但问题其实在config.yaml - 改的是
config.yaml,但当前入口仍在读旧环境 - 你保存了文件,但运行态还没切过去
什么时候该跳转:
- 如果已经确认是 provider / model 层值不对,跳到 03-模型 / Provider / 自定义 endpoint 问题
- 如果核心问题仍是“到底哪份配置在生效”,留在本页
02|为什么明明写了 key / model / backend,运行时还是老样子?
先说结论:通常不是 Hermes 忽略了你的配置,而是当前会话、当前入口、当前服务,还停留在旧运行状态。
先做什么:
- 先确认改的是谁在读的配置
- 先确认那个入口有没有重启 / 重进
- 先确认你现在测试的是新会话还是旧会话
高频原因:
- gateway 还在跑旧配置
- 当前 CLI 会话还在旧上下文里
- 你改的是 profile A,却还在 profile B 里测
- 你以为文件改了,运行态就会立即同步
什么时候该跳转:
- 如果你已经确认是 gateway 重启 / 运行态问题,跳到 05-Gateway / Messaging / 推送问题
- 如果本质还是当前环境没切过来,留在本页
03|为什么 profile 切换后,一切都不对了?
先说结论:因为 profile 不是换皮肤,而是切到另一套完整隔离的 Hermes 环境。你看到差异,很多时候反而是正常的。
先做什么:
- 先接受“profile = 独立环境”这个前提
- 再逐项确认哪些内容本来就应该跟着切换
你应该预期会变化的东西:
- config
.env/ secrets- SOUL
- memories
- sessions
- skills
- cron
- gateway
什么时候该跳转:
- 如果你还没建立 profile 心智,跳到 02-多个助手一起工作
- 如果你已经知道 profile 是隔离环境,只是当前预期错位,留在本页
04|为什么我明明装过 / 配过 / 登录过,但当前看不到?
先说结论:最常见不是东西消失,而是它留在另一套 profile、另一套入口,或者另一条运行链路里。
先做什么:
- 先别急着重复安装
- 先回忆上次到底是在什么 profile / 什么入口里做的
- 先确认当前是不是在另一套环境里找上一套环境的东西
常见表现:
- skill 装过,但当前
skills list看不到 - provider 登录过,但当前环境认证状态不对
- gateway 配过,但当前 profile 不认
什么时候该跳转:
- 如果你确认根因就是 profile 隔离,留在本页
- 如果你发现其实根本没装成 / 没配成,跳回对应功能页重查
05|为什么 session 像跑到别的环境里?
先说结论:最常见不是 session 系统乱了,而是 session 本来就跟当前 profile、当前入口强绑定;你恢复的不是你脑子里那套环境。
先做什么:
- 先分清这是哪个 profile 下的 session
- 先分清这是 CLI session,还是 gateway 的 per-chat session
- 先分清你现在恢复的是哪条链路里的会话
典型混淆:
- 在 profile A 里的会话,去 profile B 里找
- 用 CLI 会话预期去理解消息平台会话
- 在旧环境里保存的会话,去新环境里恢复
什么时候该跳转:
- 如果更像 CLI / TUI 会话理解问题,跳到 04-CLI / TUI / 会话问题
- 如果更像 gateway per-chat 行为,跳到 05-Gateway / Messaging / 推送问题
- 如果根因是环境切错,留在本页
06|为什么 secret / gateway / skills 像分属不同世界?
先说结论:因为它们本来就在不同层。secret 多半在 .env,配置在 config.yaml,skills 是能力资产,gateway 是运行入口;跨 profile 后更不会自动同步成你想的样子。
先做什么:
- 先把层次拆开,不要一句“怎么都不对”带过去
- 先分别确认 secret、config、skills、gateway 在哪套环境里
建议按这 4 层拆:
- secret 在哪
- config 在哪
- skills 在哪
- gateway 当前用的是哪套环境
什么时候该跳转:
- 如果你主要卡在 gateway 行为,跳到 05-Gateway / Messaging / 推送问题
- 如果你主要卡在 skills / MCP,跳到 06-Tools / Skills / MCP 问题
- 如果本质是层次混线和环境隔离,留在本页
07|为什么同一个 Hermes 在不同入口里表现不一致?
先说结论:你主观上觉得是“同一个 Hermes”,但系统层面可能已经分成不同 profile、不同入口、不同会话、不同运行状态;表现不一致并不奇怪。
先做什么:
- 先不要问“为什么不一致”
- 先问这两个入口是不是同一 profile、同一配置、同一运行状态
最常见差异来源:
- CLI 入口 vs gateway 入口
- profile A vs profile B
- 前台进程 vs 后台服务
- 新会话 vs 旧会话
什么时候该跳转:
- 如果差异主要来自消息平台行为,跳到 05-Gateway / Messaging / 推送问题
- 如果差异主要来自会话交互,跳到 04-CLI / TUI / 会话问题
- 如果你先要整理环境边界,留在本页
08|什么时候这更像工具或模型问题?
先说结论:如果你反复遇到“我明明改过 / 装过 / 配过,但当前环境看不到”,更像配置 / Profiles;如果问题是鉴权、endpoint、工具能力边界,则更像模型或工具层。
先做什么:
- 先问自己:问题是“没有”,还是“有但不好用”
- 先问自己:是“改了没生效”,还是“调用时报错”
- 先问自己:是“环境切错”,还是“能力本身坏了”
什么时候该跳转:
- 如果更像 provider / model,跳到 03-模型 / Provider / 自定义 endpoint 问题
- 如果更像 skills / MCP,跳到 06-Tools / Skills / MCP 问题
- 如果更像当前环境搞错了,留在本页
09|什么时候该回 Profiles / 自己造东西相关页?
先说结论:只要你现在的问题已经不是"这一份配置哪里写错了",而是"我到底该怎么组织多助手 / 多环境 / 记忆 / 系统边界",就不该继续在这页硬试配置键。
先做什么:
- 先回总览,把系统边界重新整理出来
- 再回来改单点配置
这些情况更适合跳转:
- 你还没建立 profile 的整体心智
- 你同时在改助手分工、skills、gateway、memory
- 你更需要的是重新画清环境边界
什么时候该跳转:
- 跳到 02-多个助手一起工作
- 或跳到 04-自己造东西
10|SOUL.md 写了却不生效?~/.hermes/SOUL.md vs ~/.hermes/memories/SOUL.md 路径错位坑
❓ 问题
我写了 SOUL.md,但助手行为完全没有变化。检查发现有的教程说要放在 ~/.hermes/SOUL.md,有的说要放在 ~/.hermes/memories/SOUL.md,到底是哪个?
💡 先说结论
正确路径是 ~/.hermes/SOUL.md(与 config.yaml 同级)。
~/.hermes/memories/ 目录下放的是长期记忆条目(Hermes 自动写入或你用 memory 工具写入的片段),不是 SOUL.md 的位置。把 SOUL.md 误放到 memories/ 目录,是最常见的人格"不生效"根因。
🔎 怎么验证
# 1. 看文件到底在哪
ls -la ~/.hermes/SOUL.md
ls -la ~/.hermes/memories/SOUL.md
# 2. 用 doctor 直接检查 Hermes 期望路径
hermes doctor | grep -i soul
# 3. 看当前 profile 的实际 SOUL 路径
hermes config | grep -i soul
正确状态:
~/.hermes/SOUL.md存在~/.hermes/memories/目录存在,但里面没有 SOUL.md,只有记忆片段
错位状态:
~/.hermes/SOUL.md不存在~/.hermes/memories/SOUL.md存在 → 这就是不生效的根因
🛠 怎么修
# 1. 移到正确位置
mv ~/.hermes/memories/SOUL.md ~/.hermes/SOUL.md
# 2. 重新开一个会话验证
hermes
# 在会话里问一句能触发人格识别的问题,确认 SOUL 生效
⚠️ 容易混淆的相邻坑
| 路径 | 用途 | 是不是 SOUL.md 该放的 |
|---|---|---|
~/.hermes/SOUL.md | 助手人格定义 | ✅ 正确 |
~/.hermes/USER.md | 用户档案(你的偏好) | ❌ 不是 |
~/.hermes/memories/*.md | 跨会话记忆片段 | ❌ 不是 |
~/.hermes/skills/*/SKILL.md | skill 定义文件 | ❌ 不是 |
<project>/AGENTS.md | 项目级规则(在项目目录里) | ❌ 不是 |
如果你在多个 profile 之间切换,每个 profile 都有独立的 ~/.hermes/ 目录(位于 ~/.hermes/profiles/<name>/ 下),SOUL.md 也要在对应 profile 的根目录里。
🚦 什么时候该跳转
- 你写好了 SOUL.md 但不知道怎么定制人格:07-SOUL.md 人格定制
- 你想知道 USER.md / memories / SOUL.md 三者的关系:03-让 Hermes 记住你
来源:cnblogs.com/addozhang — Hermes SOUL.md 路径踩坑记录;官方文档 — Personality。
🔹 官方依据
✅ 看完这页,你应该能立刻判断
- 问题到底是配置值错了,还是当前生效环境搞错了
- 你是不是把多个 profile、多个入口、多条运行链路混在了一起
- 该继续留在配置 / Profiles 层,还是跳去模型页、工具页、gateway 页
- 当前问题到底是“参数问题”,还是“环境隔离问题”
➡️ 下一步
完成后进入:
如果你想先回到上一阶段入口重新确认位置:
🔗 相关排查入口
如果当前页没有命中症状,先回到遇到问题总入口重新按问题类型分流。