多实例
Hermes Agent Profiles:一台机器跑多个隔离 Agent
一个 Profile 就是一个完全独立的 Hermes 实例 —— 有自己的配置、环境变量、记忆、会话、Skills、定时任务、日志和人设文件。一台笔记本或一台服务器可以同时放一个“写代码”Agent、一个“做调研”Agent、一个“私人”Agent,彼此零交叉。
Profile 到底是什么
每个 Hermes Profile 是一个独立的 HERMES_HOME 目录。默认放在 ~/.hermes/profiles/<名字>/,而特殊的 default Profile 就是 ~/.hermes 本身。每个 Profile 目录里都有一份独立的:
config.yaml—— 这个 Agent 的模型、Provider、渠道.env—— 仅属于这个 Profile 的密钥和 API Key- 记忆库、会话历史、工作区文件
- 已装的 Skills 和 MCP 服务器
- 网关、定时任务、日志
SOUL.md—— 这个 Agent 的人设 / 系统指令
因为目录之间不共享状态,你在 coder 里装的 Skill 不会出现在 personal 里,一个 Profile 的对话对其他 Profile 完全不可见。
创建与切换(命令行)
# 创建一个新的隔离 Profile
hermes profile create coder
# 在指定 Profile 里跑一次对话
hermes -p coder chat
# 把某个 Profile 设为当前 shell 的默认
hermes profile use coder
# 列出所有 Profile
hermes profile list
# 删除一个 Profile(连同它的 HERMES_HOME)
hermes profile delete coder-p / --profile 参数对任何 hermes 命令都有效,所以你可以临时指定某个 Profile 而不改全局默认。没带 -p 的命令都跑在 default(~/.hermes)上。
桌面版里的 Profiles
Hermes 桌面版在侧边栏提供 Profile 切换器。每个 Profile 有各自的聊天历史、模型选择、Skills 列表和 SOUL 编辑器,切换时不用重启 Hermes —— 把工作 Agent 和私人 Agent 在视觉上分开,这是最省事的方式。
为什么要用 Profiles
- 职责隔离。不同角色用不同的 SOUL.md、不同模型、不同 Skills。
- 密钥隔离。工作 API Key 不会泄进私人 Agent 的
.env。 - 记忆干净。每个 Profile 只记得自己的对话,不串台。
- 多 Agent 协作。用
hermes -p <名字>起的 Worker Profile 能加入同一块 Kanban 看板,各自领任务。看板还支持按 Profile 的任务上限。
Profiles ≠ 模型设置(常见误解)
Hermes 里的“Profiles”不是模型预设,也不是 Provider 鉴权文件。换模型只是改 config.yaml 里的一行;而 Profile 是它周围整个隔离的家目录。如果你只想换答复的模型,改 config.yaml 就行 —— 不需要新建 Profile。
托管版 Hermes(OpenClaw Launch)
在 OpenClaw Launch 上,每个部署的 Hermes 实例本身就是独立环境,有专属容器、配置和存储 —— 相当于一个托管 Profile。需要多个独立 Agent,就部署多个实例;自托管的话,用上面的 hermes profile 命令在一台机器上获得同样的隔离。