Запускайте несколько независимых агентов Hermes на одном компьютере — каждый со своей собственной конфигурацией, ключами API, памятью, сеансами, навыками и состоянием шлюза.
Что такое профили?
Профиль — это отдельный домашний каталог Hermes. Каждый профиль получает свой собственный каталог, содержащий свои собственные config.yaml, .env, SOUL.md, воспоминания, сеансы, навыки, задания cron и базу данных состояний. Профили позволяют запускать отдельных агентов для разных целей — помощника по программированию, личного бота, исследовательского агента — не смешивая штат Гермеса.
Когда вы создаете профиль, он автоматически становится отдельной командой. Создайте профиль с именем coder, и вы сразу же получите coder chat, coder setup, coder gateway start и т. д.
Быстрый старт
hermesprofilecreatecoder# creates profile + "coder" command alias
codersetup# configure API keys and model
coderchat# start chatting
Вот и все. coder теперь является собственным профилем Hermes со своей конфигурацией, памятью и состоянием.
Создание профиля
Пустой профиль
hermesprofilecreatemybot
Создает новый профиль с набором навыков. Запустите mybot setup, чтобы настроить ключи API, модель и токены шлюза.
Клонировать только конфигурацию (--clone)
hermesprofilecreatework--clone
Копирует config.yaml, .env и SOUL.md вашего текущего профиля в новый профиль. Те же ключи API и модель, но новые сеансы и память. Отредактируйте ~/.hermes/profiles/work/.env для других ключей API или ~/.hermes/profiles/work/SOUL.md для другой личности.
Клонируйте все (--clone-all)
hermesprofilecreatebackup--clone-all
Копирует все — конфигурацию, ключи API, персональные данные, все воспоминания, полную историю сеансов, навыки, задания cron, плагины. Полный снимок. Полезно для резервного копирования или разветвления агента, у которого уже есть контекст.
Клонировать из определенного профиля
hermesprofilecreatework--clone--clone-fromcoder
:::подсказка Honcho память + профили
Когда Honcho включен, --clone автоматически создает выделенный узел AI для нового профиля, одновременно используя одно и то же рабочее пространство пользователя. Каждый профиль строит свои собственные наблюдения и идентичность. Подробности см. в разделе Honcho – Мультиагент/Профили.
Использование профилей
Псевдонимы команд
Каждый профиль автоматически получает псевдоним команды ~/.local/bin/<name>:
coderchat# chat with the coder agent
codersetup# configure coder's settings
codergatewaystart# start coder's gateway
coderdoctor# check coder's health
coderskillslist# list coder's skills
coderconfigsetmodel.defaultanthropic/claude-sonnet-4
Псевдоним работает с любой подкомандой Hermes — под капотом это просто hermes -p <name>.
Флаг -p
Вы также можете явно указать профиль с помощью любой команды:
hermes-pcoderchat
hermes--profile=coderdoctor
hermeschat-pcoder-q"hello"# works in any position
Прикрепленное значение по умолчанию (hermes profile use)
hermesprofileusecoder
hermeschat# now targets coder
hermestools# configures coder's tools
hermesprofileusedefault# switch back
Устанавливает значение по умолчанию, поэтому простые команды hermes нацелены на этот профиль. Нравится kubectl config use-context.
Знать, где ты
CLI всегда показывает, какой профиль активен:
Подсказка: coder ❯ вместо ❯.
Баннер: при запуске отображается Profile: coder.
hermes profile: показывает имя текущего профиля, путь, модель, состояние шлюза.
Профили, рабочие пространства и песочница
Профили часто путают с рабочими пространствами или песочницами, но это разные вещи:
Профиль предоставляет Hermes собственный каталог состояний: config.yaml, .env, SOUL.md, сеансы, память, журналы, задания cron и состояние шлюза.
Рабочая область или рабочий каталог — это место, где запускаются команды терминала. Это контролируется отдельно terminal.cwd.
песочница — это то, что ограничивает доступ к файловой системе. Профили не помещают агент в изолированную среду.
На серверной части терминала local по умолчанию агент по-прежнему имеет тот же доступ к файловой системе, что и ваша учетная запись пользователя. Профиль не запрещает ему доступ к папкам за пределами каталога профиля.
Если вы хотите, чтобы профиль запускался в определенной папке проекта, установите явный абсолют terminal.cwd в config.yaml этого профиля:
Использование cwd: "." на локальном сервере означает «каталог, из которого был запущен Hermes», а не «каталог профиля».
Также обратите внимание:
SOUL.md может управлять моделью, но не обеспечивает соблюдение границ рабочей области.
Изменения SOUL.md вступают в силу в новом сеансе. Существующие сеансы могут по-прежнему использовать старое состояние приглашения.
Спросить модель: «В каком ты каталоге?» не является надежным тестом изоляции. Если вам нужен предсказуемый начальный каталог для инструментов, укажите terminal.cwd явно.
Запуск шлюзов
Каждый профиль запускает свой шлюз как отдельный процесс со своим токеном бота:
Если два профиля случайно используют один и тот же токен бота, второй шлюз будет заблокирован с явной ошибкой с указанием конфликтующего профиля. Поддерживается для Telegram, Discord, Slack, WhatsApp и Signal.
Постоянные службы
codergatewayinstall# creates hermes-gateway-coder systemd/launchd service
assistantgatewayinstall# creates hermes-gateway-assistant service
Каждый профиль получает свое собственное имя службы. Они работают независимо.
Настройка профилей
Каждый профиль имеет свои:
config.yaml — модель, провайдер, наборы инструментов, все настройки
.env — API-ключи, токены ботов
SOUL.md — личность и инструкции
coderconfigsetmodel.defaultanthropic/claude-sonnet-4
echo"You are a focused coding assistant.">~/.hermes/profiles/coder/SOUL.md
Если вы хотите, чтобы этот профиль работал в конкретном проекте по умолчанию, установите также свой собственный terminal.cwd:
Навыки, измененные пользователем, никогда не перезаписываются.
Управление профилями
hermesprofilelist# show all profiles with status
hermesprofileshowcoder# detailed info for one profile
hermesprofilerenamecoderdev-bot# rename (updates alias + service)
hermesprofileexportcoder# export to coder.tar.gz
hermesprofileimportcoder.tar.gz# import from archive
Удаление профиля
hermesprofiledeletecoder
Это останавливает шлюз, удаляет службу systemd/launchd, удаляет псевдоним команды и удаляет все данные профиля. Вам будет предложено ввести имя профиля для подтверждения.
Используйте --yes, чтобы пропустить подтверждение: hermes profile delete coder --yes
:::примечание
Вы не можете удалить профиль по умолчанию (~/.hermes). Чтобы удалить все, используйте hermes uninstall.
Добавьте строку в ~/.bashrc или ~/.zshrc для постоянного завершения. Заполняет имена профилей после -p, подкоманд профиля и команд верхнего уровня.
Как это работает
Профили используют переменную среды HERMES_HOME. Когда вы запускаете coder chat, сценарий-оболочка устанавливает HERMES_HOME=~/.hermes/profiles/coder перед запуском Hermes. Поскольку более 119 файлов в кодовой базе разрешают пути через get_hermes_home(), состояние Hermes автоматически ограничивается каталогом профиля — конфигурация, сеансы, память, навыки, база данных состояний, PID шлюза, журналы и задания cron.
Это отдельный от рабочего каталога терминала. Выполнение инструмента начинается с terminal.cwd (или каталога запуска, если cwd: "." на локальном сервере), а не автоматически с HERMES_HOME.
Профиль по умолчанию — это просто ~/.hermes. Миграция не требуется — существующие установки работают идентично.