Профили
На этой странице Запускайте несколько независимых агентов Hermes на одной машине — каждый со своей конфигурацией, ключами API, памятью, сессиями, навыками и состоянием шлюза.
Что такое профили?¶
Профиль — это отдельная домашняя директория Hermes. Каждый профиль получает собственную директорию, содержащую свой config.yaml, .env, SOUL.md, воспоминания, сессии, навыки, cron-задачи и базу данных состояния. Профили позволяют запускать отдельных агентов для разных целей — ассистент для кодинга, личный бот, исследовательский агент — не смешивая состояние Hermes.
При создании профиль автоматически становится собственной командой. Создайте профиль с именем coder и сразу получите coder chat, coder setup, coder gateway start и т.д.
Быстрый старт¶
[code]
hermes profile create coder # создаёт профиль + псевдоним команды "coder"
coder setup # настройка ключей API и модели
coder chat # начало чата
[/code]
Вот и всё. coder теперь является собственным профилем Hermes со своей конфигурацией, памятью и состоянием.
Создание профиля¶
Пустой профиль¶
[code] hermes profile create mybot
[/code]
Создаёт новый профиль с предустановленными встроенными навыками. Выполните mybot setup для настройки ключей API, модели и токенов шлюза.
Клонировать только конфигурацию (--clone)¶
[code] hermes profile create work --clone
[/code]
Копирует config.yaml, .env и SOUL.md текущего профиля в новый профиль. Те же ключи API и модель, но новые сессии и память. Отредактируйте ~/.hermes/profiles/work/.env для других ключей API или ~/.hermes/profiles/work/SOUL.md для другого характера.
Клонировать всё (--clone-all)¶
[code] hermes profile create backup --clone-all
[/code] Копирует всё — конфигурацию, ключи API, характер, все воспоминания, полную историю сессий, навыки, cron-задачи, плагины. Полный снимок. Полезно для резервного копирования или форка агента, у которого уже есть контекст.
Клонировать из конкретного профиля¶
[code] hermes profile create work --clone --clone-from coder
[/code]
Память Honcho + профили
Когда Honcho включён, --clone автоматически создаёт выделенного AI-участника для нового профиля, сохраняя общее рабочее пространство пользователя. Каждый профиль формирует собственные наблюдения и идентичность. Подробнее см. Honcho -- Мульти-агентность / Профили.
Использование профилей¶
Псевдонимы команд¶
Каждый профиль автоматически получает псевдоним команды в ~/.local/bin/<name>:
[code]
coder chat # чат с агентом coder
coder setup # настройка параметров coder
coder gateway start # запуск шлюза coder
coder doctor # проверка работоспособности coder
coder skills list # список навыков coder
coder config set model.default anthropic/claude-sonnet-4
[/code]
Псевдоним работает с любой подкомандой hermes — по сути это hermes -p <name>.
Флаг -p¶
Вы также можете явно указать профиль в любой команде:
[code]
hermes -p coder chat
hermes --profile=coder doctor
hermes chat -p coder -q "hello" # работает в любой позиции
[/code]
Постоянный профиль по умолчанию (hermes profile use)¶
[code]
hermes profile use coder
hermes chat # теперь обращается к coder
hermes tools # настраивает инструменты coder
hermes profile use default # переключиться обратно
[/code]
Устанавливает профиль по умолчанию, так что обычные команды hermes обращаются к этому профилю. Аналогично kubectl config use-context.
Как узнать, где вы находитесь¶
CLI всегда показывает, какой профиль активен:
* Приглашение : coder ❯ вместо ❯
* Баннер : Показывает Profile: coder при запуске
* hermes profile : Показывает имя текущего профиля, путь, модель, статус шлюза
Профили vs рабочие пространства vs песочницы¶
Профили часто путают с рабочими пространствами или песочницами, но это разные вещи:
* Профиль даёт Hermes собственную директорию состояния: config.yaml, .env, SOUL.md, сессии, память, логи, cron-задачи и состояние шлюза.
* Рабочее пространство или рабочая директория — это откуда запускаются команды терминала. Оно управляется отдельно через terminal.cwd.
* Песочница ограничивает доступ к файловой системе. Профили не изолируют агента.
На бэкенде терминала по умолчанию local агент имеет тот же доступ к файловой системе, что и ваша учётная запись. Профиль не запрещает агенту доступ к папкам за пределами директории профиля.
Если вы хотите, чтобы профиль запускался в определённой папке проекта, укажите явный абсолютный terminal.cwd в config.yaml этого профиля:
[code]
terminal:
backend: local
cwd: /absolute/path/to/project
[/code]
Использование cwd: "." на локальном бэкенде означает «директория, из которой был запущен Hermes», а не «директория профиля».
Также обратите внимание:
* SOUL.md может направлять модель, но не устанавливает границ рабочего пространства.
* Изменения в SOUL.md вступают в силу только в новой сессии. Существующие сессии могут всё ещё использовать старое состояние промпта.
* Вопрос модели «в какой директории ты находишься?» не является надёжным тестом изоляции. Если вам нужна предсказуемая начальная директория для инструментов, явно задайте terminal.cwd.
Запуск шлюзов¶
Каждый профиль запускает собственный шлюз как отдельный процесс со своим токеном бота:
[code]
coder gateway start # запускает шлюз coder
assistant gateway start # запускает шлюз assistant (отдельный процесс)
[/code]
Разные токены ботов¶
Каждый профиль имеет собственный файл .env. Настройте разные токены ботов Telegram/Discord/Slack в каждом:
[code]
# Редактирование токенов coder
nano ~/.hermes/profiles/coder/.env
# Редактирование токенов assistant
nano ~/.hermes/profiles/assistant/.env
[/code]
Безопасность: блокировка токенов¶
Если два профиля случайно используют один и тот же токен бота, второй шлюз будет заблокирован с понятным сообщением об ошибке с указанием конфликтующего профиля. Поддерживается для Telegram, Discord, Slack, WhatsApp и Signal.
Постоянные службы¶
[code]
coder gateway install # создаёт службу hermes-gateway-coder systemd/launchd
assistant gateway install # создаёт службу hermes-gateway-assistant
[/code] Каждый профиль получает собственное имя службы. Они работают независимо.
Настройка профилей¶
Каждый профиль имеет собственные:
* config.yaml — модель, провайдер, наборы инструментов, все настройки
* .env — ключи API, токены ботов
* SOUL.md — характер и инструкции
[code]
coder config set model.default anthropic/claude-sonnet-4
echo "You are a focused coding assistant." > ~/.hermes/profiles/coder/SOUL.md
[/code]
Если вы хотите, чтобы этот профиль по умолчанию работал в определённом проекте, также укажите собственный terminal.cwd:
[code]
coder config set terminal.cwd /absolute/path/to/project
[/code]
Обновление¶
hermes update загружает код один раз (общий) и автоматически синхронизирует новые встроенные навыки со всеми профилями:
[code]
hermes update
# → Code updated (12 commits)
# → Skills synced: default (up to date), coder (+2 new), assistant (+2 new)
[/code] Пользовательские навыки никогда не перезаписываются.
Управление профилями¶
[code]
hermes profile list # показать все профили с состоянием
hermes profile show coder # подробная информация об одном профиле
hermes profile rename coder dev-bot # переименование (обновляет псевдоним + службу)
hermes profile export coder # экспорт в coder.tar.gz
hermes profile import coder.tar.gz # импорт из архива
[/code]
Удаление профиля¶
[code] hermes profile delete coder
[/code]
Это останавливает шлюз, удаляет службу systemd/launchd, удаляет псевдоним команды и удаляет все данные профиля. Вас попросят ввести имя профиля для подтверждения.
Используйте --yes, чтобы пропустить подтверждение: hermes profile delete coder --yes
note
Вы не можете удалить профиль по умолчанию (~/.hermes). Чтобы удалить всё, используйте hermes uninstall.
Автодополнение¶
[code]
# Bash
eval "$(hermes completion bash)"
# Zsh
eval "$(hermes completion zsh)"
[/code]
Добавьте эту строку в ваш ~/.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. Никакой миграции не требуется — существующие установки работают идентично.
* Что такое профили?
* Быстрый старт
* Создание профиля
* Пустой профиль
* Клонировать только конфигурацию (--clone)
* Клонировать всё (--clone-all)
* Клонировать из конкретного профиля
* Использование профилей
* Псевдонимы команд
* Флаг -p
* Постоянный профиль по умолчанию (hermes profile use)
* Как узнать, где вы находитесь
* Профили vs рабочие пространства vs песочницы
* Запуск шлюзов
* Разные токены ботов
* Безопасность: блокировка токенов
* Постоянные службы
* Настройка профилей
* Обновление
* Управление профилями
* Удаление профиля
* Автодополнение
* Как это работает