Hermes Profile 是什么?一文搞懂多 Agent 分身玩法 速查区创建与初始化hermes profile create coder # 创建一个全新的 profile hermes profile create coder --description 写代码和调试项目 # 创建时添加用途说明 coder setup # 配置这个 profile 的模型、API Key 等 coder # 进入这个 profile 的聊天也可用 coder chat使用指定 profilehermes -p coder chat # 临时使用 coder profile hermes --profile coder doctor # 检查 coder profile 状态 hermes profile use coder # 把 coder 设为默认 profile hermes profile use default # 切回默认 profile查看与管理hermes profile list # 列出所有 profile hermes profile show coder # 查看某个 profile 详情 hermes profile describe coder # 查看或设置 profile 描述 hermes profile rename coder dev-bot # 重命名 profile hermes profile delete coder # 删除 profile复制、备份与迁移hermes profile create work --clone # 复制当前 profile 的配置、环境、SOUL、skills hermes profile create work --clone-from coder # 从指定 profile 复制 hermes profile create backup --clone-all # 尽量完整复制配置、记忆、skills、cron、plugins hermes profile export coder # 导出为 coder.tar.gz hermes profile import coder.tar.gz # 从压缩包导入Gateway / Botcoder gateway install # 安装 coder profile 的 gateway 服务 coder gateway start # 启动 coder profile 的 gateway coder gateway stop # 停止 gateway coder gateway status # 查看 gateway 状态一句话理解profile ≈ 一个独立身份、独立记忆、独立配置的 Hermes Agent你可以创建多个 Agent 协同分工一个找资料、一个写代码、一个整理知识库、一个发布内容。详细内容1. Profile 是什么你有没有想过把 Hermes Agent 拆成多个“分身”来用比如一个 Agent 专门找资料一个 Agent 专门写代码一个 Agent 专门整理知识库一个 Agent 专门发布文章一个 Agent 专门接 Telegram / Discord 做机器人这些 Agent 互相不抢记忆、不混配置各自负责一类事情。Hermes Agent 里的profile就是实现这种多 Agent 分工的核心功能。在 Hermes Agent 里profile 可以理解成“一套独立的 Agent 身份和状态”。创建一个 profile基本上就相当于创建了一个新的 Hermes Agent 实例。它会拥有自己独立的配置、记忆、技能、会话和运行状态。比如你创建一个叫coder的 profilehermes profile create coder之后你就可以这样使用它coder coder setup coder gateway start这时候的coder就像一个专门用于写代码的 Hermes Agent。2. Profile 会隔离哪些内容每个 profile 都有自己的 Hermes home 目录。它通常会包含config.yaml模型、工具、终端等配置.envAPI Key 和环境变量SOUL.mdAgent 的人格设定 / 系统提示词memories长期记忆sessions历史会话skills技能cron定时任务plugins插件state.db状态数据库gateway / bot 的运行状态默认 profile 通常位于~/.hermes/其他 profile 通常位于~/.hermes/profiles/profile-name/例如~/.hermes/profiles/coder/ ~/.hermes/profiles/research/ ~/.hermes/profiles/book/3. 为什么要用 ProfileProfile 最适合用来把不同用途的 Agent 分开。例如Profile用途coder写代码、调试项目、跑测试research搜索资料、整理信息、做研究book写文章、整理 Obsidian、发布内容bot接 Telegram / Discord / Slack 等消息平台sandbox测试新配置、新插件、新模型这样做的好处是不同 Agent 的记忆不会混在一起不同 Agent 可以使用不同模型和 API Key不同 Agent 可以有不同 skills不同 Agent 可以有不同的 SOUL.md 人格设定不同 Agent 可以分别接不同的 gateway / bot比如写代码的 Agent 不需要记住你发文章的习惯写文章的 Agent 也不需要记住某个代码项目的测试命令。4. 创建一个新 Profile创建全新 profilehermes profile create coder创建后Hermes 会自动生成一个同名命令别名。也就是说coder通常也可以写成coder chat本质上等价于hermes -p coder chat创建完成后一般先执行coder setup用来配置模型、API Key、工具等内容。5. 使用某个 Profile临时指定 profilehermes -p coder chat或者hermes --profile coder chat如果你经常使用某个 profile可以把它设为默认hermes profile use coder之后直接运行hermes chat就会默认进入coderprofile。切回默认 profilehermes profile use default6. 查看和管理 Profile查看所有 profilehermes profile list查看某个 profile 的详情hermes profile show coder这个命令通常会显示profile 名称profile 路径当前模型gateway 状态skills 数量.env是否存在SOUL.md是否存在alias 路径重命名 profilehermes profile rename coder dev-bot删除 profilehermes profile delete coder注意删除 profile 会删除该 profile 的配置、记忆、会话、skills 等数据。删除前要确认是否需要备份。7. Clone快速复制一个 Agent如果你想基于当前 profile 快速复制一个新 Agent可以使用--clone。hermes profile create work --clone它会复制当前 profile 的config.yaml.envSOUL.mdskills但会给新 profile 保持新的会话和记忆。如果要从指定 profile 复制hermes profile create work --clone-from coder如果要尽量完整复制配置、记忆、skills、cron、plugins 等可以使用hermes profile create backup --clone-all不过要注意--clone-all一般不会复制大型历史状态例如 session history、state.db、backups、checkpoints 等。如果想完整备份或迁移更适合使用hermes profile export coder hermes profile import coder.tar.gz8. Profile 和 Gateway 的关系每个 profile 都可以有自己的 gateway。比如coder gateway install coder gateway start这样coder这个 Agent 就可以作为一个独立 bot 运行。如果你有多个用途可以让多个 profile 同时在线coder gateway start research gateway start book gateway start常见场景一个 profile 接 Telegram一个 profile 接 Discord一个 profile 做定时任务一个 profile 专门处理代码项目一个 profile 专门整理文章和知识库9. Profile 不是 Sandbox这一点很重要。Profile 隔离的是 Hermes 的状态不是操作系统权限。也就是说profile 会隔离记忆、配置、skills、会话profile 不等于 Dockerprofile 不等于虚拟机profile 不等于文件系统沙箱默认情况下它仍然以同一个系统用户身份运行所以如果你的系统用户能访问某个目录那么不同 profile 里的 Agent 通常也能访问这个目录。如果你需要真正的安全隔离应该配合Docker单独的 Linux 用户文件权限控制sandbox 配置独立服务器或虚拟机更准确地说profile 独立身份 独立记忆 独立配置 sandbox 权限隔离 文件系统/进程隔离两者不是一回事。10. Profile 和浏览器连接的关系如果你在 Hermes 里使用/browser connect这是把当前 Hermes 会话的浏览器工具连接到一个本地可见的 Chromium 调试浏览器。它和 profile 是两个概念profile 决定 Agent 的身份、记忆、配置、skills/browser connect决定当前会话控制哪个浏览器也就是说不同 profile 可以是不同 Agent但它们是否使用同一个浏览器环境取决于你怎么连接浏览器。例如hermes -p coder chat hermes -p book chat这两个 profile 的 Agent 状态是独立的。但如果它们都连接到同一个本地浏览器调试 profile那么浏览器登录状态可能是共享的。11. 一个简单例子假设你想让 Hermes 分成三个用途写代码查资料写文章可以这样创建hermes profile create coder --description 写代码、调试项目、运行测试 hermes profile create research --description 搜索资料、整理信息、生成研究摘要 hermes profile create writer --description 整理知识库、撰写文章、发布内容然后分别初始化coder setup research setup writer setup使用时coder chat research chat writer chat这样你就拥有了三个互不干扰的 Hermes Agent。12. 总结Hermes Agent 的 profile 是一个非常适合“多 Agent 工作流”的设计。你可以把它理解成一个 profile 一个独立的 Hermes Agent 身份它适合用来隔离不同用途不同记忆不同模型不同 API Key不同 skills不同 bot / gateway但也要记住profile 不是安全沙箱如果只是想把“写代码的 Agent”和“写文章的 Agent”分开用 profile 就很合适。如果想限制文件访问权限则需要额外的系统级隔离方案。