本章介绍 Profile 系统如何在一台机器上运行多个完全隔离的 Agent 实例以及如何将整个 Agent 打包为发行版共享给他人。Profile 系统一台机器多个独立 Agent什么是 ProfileProfile 是一个独立的 Hermes 主目录。每个 Profile 拥有自己完全隔离的配置和数据~/.hermes/profiles/name/ ├── config.yaml # 模型、工具、终端后端等所有设置 ├── .env # API Key、Bot Token各档案各自独立 ├── SOUL.md # Agent 人格与身份设定 ├── memories/ # 独立的持久记忆MEMORY.md、USER.md ├── skills/ # 独立的技能目录 ├── cron/ # 独立的定时任务 └── state.db # 独立的会话历史数据库关键设计创建 Profile 后它自动成为一个独立命令。创建名为 coder 的 Profile你立即拥有coder chat、coder setup、coder gateway start等所有子命令——就像装了一个完全独立的 Hermes 实例。快速上手三步创建一个独立的编码助手实例# 步骤一创建 Profile自动生成 coder 命令hermes profile create coder# 步骤二配置这个 Profile 的 API Key 和模型coder setup# 步骤三开始聊天coder chat三种创建模式实例# 模式一全新 Profile空白配置内置技能已预置hermes profile create mybot# 模式二克隆配置config.yaml .env SOUL.md 技能# 记忆和会话不复制hermes profile create work --clone# 模式三完整克隆包括记忆、技能、定时任务、插件# 不含会话历史hermes profile create backup --clone-all# 从指定 Profile 克隆hermes profile create work-backup --clone-from coder --clone-all模式复制内容不复制内容适用场景全新默认仅内置技能—从零开始配置新 Agent--clone配置、环境变量、人格、技能记忆、会话历史同一 Agent 的不同变体--clone-all配置、记忆、技能、定时任务、插件会话历史完整备份切换和使用 Profile实例# 方式一使用自动生成的命令别名最常用coder chatcoder gateway startcoder skills listcoder config set model.default anthropic/claude-sonnet-4-6# 方式二-p 标志显式指定hermes -p coder chathermes --profilecoder doctorhermes chat -p coder -q 你好# 方式三设置当前默认类似 kubectl config use-contexthermes profile use coder # 之后直接运行 hermes 就会用 coderhermes profile use default # 切回默认判断当前在哪个 Profile命令提示符显示coder ❯而非普通的❯启动横幅显示Profile: coder运行hermes profile查看当前 Profile 名称、路径、模型、网关状态Profile 与工作目录、沙箱的区别这是最容易混淆的三个概念概念控制的内容配置方式ProfileHermes 自身的状态配置、记忆、技能、会话hermes profile create工作目录终端命令从哪里开始执行terminal.cwd沙箱文件系统访问范围限制终端后端docker/modal 等Profile 不是沙箱——默认 local 后端下Agent 仍然拥有和你相同的文件系统权限。如果需要限制访问范围切换终端后端见第 05 章。让某个 Profile 固定从特定目录开始工作实例# 文件路径~/.hermes/config.yaml# 让 coder Profile 固定从项目目录开始terminal:backend: localcwd: /absolute/path/to/project多 Profile 网关每个 Agent 连接不同平台每个 Profile 运行自己独立的网关进程使用各自的 Bot Token实例# 启动各自独立的网关coder gateway start # 绑定 coder 的 Telegram Botassistant gateway start # 绑定不同的 Bot# 安装为持久化系统服务coder gateway install # 创建 hermes-gateway-coder systemd 服务assistant gateway install # 创建 hermes-gateway-assistant 服务安全防护如果两个 Profile 意外使用了同一个 Bot Token第二个网关会立即报错并指出冲突的 Profile 名称不会发生静默冲突。Profile 管理命令实例# 列出所有 Profile 及状态hermes profile list# 查看某个 Profile 的详细信息hermes profile show coder# 重命名自动更新别名和服务hermes profile rename coder dev-bot# 导出为 coder.tar.gzhermes profile export coder# 从存档导入hermes profile import coder.tar.gz# 删除需输入名称确认hermes profile delete coder# 跳过确认直接删除hermes profile delete coder --yes不能删除默认 Profile~/.hermes。要完全卸载使用 hermes uninstall。Profile 发行版把整个 Agent 共享给他人Profile Distribution发行版将一个完整的 Hermes Agent——人格设定、技能、定时任务、MCP 连接、配置——打包成一个 Git 仓库。任何人都可以一条命令安装整个 Agent并在保留自己的记忆、会话和 API Key 的同时接收你的更新。发行版 vs Profile 备份维度发行版Distribution备份export/import目标受众他人团队、社区自己机器间迁移安装方式hermes profile install github.com/...hermes profile import xxx.tar.gz版本管理Git 仓库 标签无更新hermes profile update手动重新导出导入API Key接收方自行配置包含在导出中发行版适合场景向团队分发专用 Agent合规监控、代码审查、研究助手向多台机器部署同一个 Agent不想手动复制文件持续迭代 Agent让接收方通过一条命令拿到最新版本把 Agent 作为产品分发给社区创建和发布发行版第一步在已有的 Profile 中添加distribution.yaml实例# 文件路径~/.hermes/profiles/research-bot/distribution.yamlname: research-botversion: 1.0.0description: 自主研究助手集成 arXiv 和网页工具hermes_requires: 0.12.0author: 你的名字license: MIT# 声明接收方需要配置的环境变量env_requires:- name: OPENAI_API_KEYdescription: OpenAI API Key用于模型访问required: true- name: SERPAPI_KEYdescription: SerpAPI Key用于网页搜索required: falsedefault: 第二步推送到 Git 仓库实例# 进入 Profile 目录初始化 Git 仓库cd ~/.hermes/profiles/research-botgit initgit add .git commit -m v1.0.0git remote add origin gitgithub.com:you/research-bot.gitgit tag v1.0.0git push -u origin main --tags.env 和 auth.json 被自动排除——API Key 不会进入仓库。记忆和会话历史也不会被包含。安装和更新发行版实例# 安装--alias 会创建同名命令如 research-bot chathermes profile install github.com/you/research-bot --alias# 安装后配置 API Keynano ~/.hermes/profiles/research-bot/.env# 更新到最新版本保留自己的记忆和会话hermes profile update research-bot常用命令速查实例# ─── Profile 管理 ───────────────────────────────────────────hermes profile create name # 全新创建hermes profile create name --clone # 克隆配置hermes profile create name --clone-all # 完整克隆hermes profile create name --clone-from src # 从指定档案克隆hermes profile list # 列出所有hermes profile show name # 查看详情hermes profile use name # 设为默认hermes profile rename old new # 重命名hermes profile export name # 导出备份hermes profile import file # 导入备份hermes profile delete name # 删除# Profile 命令别名创建后自动可用name chat / setup / gateway start / skills list / doctor# ─── 发行版 ──────────────────────────────────────────────────hermes profile install github.com/user/repo --alias # 安装hermes profile update name # 更新