Профили: Запуск нескольких агентов

Запускайте несколько независимых агентов Hermes на одной машине — каждый со своей конфигурацией, ключами API, памятью, сессиями, навыками и состоянием шлюза.

Что такое профили?

Профиль — это отдельная домашняя директория Hermes. Каждый профиль получает свой собственный каталог, содержащий config.yaml, .env, SOUL.md, воспоминания, сессию, навыки, задачи cron и состояние данных базы данных. Профили позволяют запускать отдельных агентов для разных целей — помощник по коду, личный бот, исследовательский агент — не меняя состояния Гермеса.

Когда вы создаете профиль, он автоматически становится собственной командой. Создайте профиль с именем coder, и у вас сразу появятся команды coder Chat, coder setup, coder Gateway Start и т.д.

Быстрый старт

hermes profile create coder       # создает профиль + псевдоним команды "coder"
coder setup                       # настройка ключей API и модели
coder chat                        # начало чата

Вот и всё. coder теперь является собственным профилем Hermes с его конфигурацией, памятью и состоянием.

Создание профиля

Пустой профиль

hermes profile create mybot

Создает новый профиль с предустановленными спортивными навыками. Запустите mybot setup, чтобы настроить ключи API, модель и токены шлюза.

Клонировать только конфигурацию (--clone)

hermes profile create work --clone

Копирует config.yaml, .env и SOUL.md любой стандартный профиль в новый профиль. Те же ключи API и модель, но новые сессии и память. Отредактируйте ~/.hermes/profiles/work/.env для других ключей API или ~/.hermes/profiles/work/SOUL.md для другого характера.

Клонировать всё (--clone-all)

hermes profile create backup --clone-all

Копирует все — конфигурацию, ключи API, характер, все мысли, полную историю сессий, навыки, задачи cron, плагины. Полный снимок. Полезно для резервного копирования или форка агента, у которого уже есть контекст.

Клонировать из деревянного профиля

hermes profile create work --clone --clone-from coder
```<div class="admonition admonition-tip"><p class="admonition-title">💡 Tip</p> Память Хончо + профили
При включении Honcho, `--clone` автоматически создает выделенное AI-пира для нового профиля, используя общее игровое пространство пользователя. Каждый профиль создает свои собственные наблюдения и идентичность. Подробнее см. [Honcho -- Мультиагентность / Профили](./features/memory-providers.md#honcho).</div>
## Использование профиля

### Псевдонимы команда

Каждый профиль автоматически получает псевдоним команды в `~/.local/bin/<имя>`:
```bash
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

Псевдоним работает с каждой подкомандой Hermes — по сути, это hermes -p <имя>.

Флаг -p

Вы также можете указать профиль в любой группе:

hermes -p coder chat
hermes --profile=coder doctor
hermes chat -p coder -q "привет"    # работает в любой позиции

Фиксированный профиль по умолчанию (Использование профиля Гермеса)

hermes profile use coder
hermes chat                   # теперь нацелено на coder
hermes tools                  # настраивает инструменты coder
hermes profile use default    # переключиться обратно

Устанавливает профиль по умолчанию, так что обычные команды Hermes ориентируются на этот профиль. Аналогично kubectl config use-context.

Понимание, где вы находитесь

CLI всегда показывает, какой профиль активен:

Профили vs рабочие пространства vs песочницы

Профили часто путают с необычными помещениями или песочницами, но это разные вещи:

В бэкенде терминала по умолчанию "локальный" агент по-прежнему имеет такой же доступ к файловой системе, как и ваша учетная запись пользователя. Профиль не мешает ему получать доступ к папкам по характеристикам каталогов профиля.

Если вы хотите, чтобы профиль запускался в поворотном режиме проекта, установите явный абсолютный terminal.cwd в config.yaml этого профиля:

terminal:
  backend: local
  cwd: /абсолютный/путь/к/проекту

Использование cwd: "." в локальном бэкенде означает "директория, из которой был запущен Hermes", а не "директория профиля".

Также обратите внимание:

Запуск шлюзов

Каждый профиль запускает свой собственный шлюз как отдельный процесс со своим собственным токеном бота:

coder gateway start           # запускает шлюз coder
assistant gateway start       # запускает шлюз assistant (отдельный процесс)

Разные токены ботов

Каждый профиль имеет свой собственный файл .env. Настройте разные токены ботов Telegram/Discord/Slack в каждом:

# Редактирование токенов coder
nano ~/.hermes/profiles/coder/.env

# Редактирование токенов assistant
nano ~/.hermes/profiles/assistant/.env

Безопасность: блокировка токенов

Если два профиля случайно используют один и тот же токен бота, второй шлюз будет заблокирован с четким сообщением об ошибках, указывающим на конфликтующий профиль. Поддерживается для Telegram, Discord, Slack, WhatsApp и Signal.

Постоянные сервисы

coder gateway install         # создает сервис hermes-gateway-coder systemd/launchd
assistant gateway install     # создает сервис hermes-gateway-assistant

Каждый профиль получает свое имя сервиса. Они работают независимо.

Настройка профиля

Каждый профиль имеет свои собственные:

coder config set model.default anthropic/claude-sonnet-4
echo "Ты — сосредоточенный помощник по коду." > ~/.hermes/profiles/coder/SOUL.md

Если вы хотите, чтобы этот профиль по умолчанию работал в рамках среднего проекта, также установите его собственный terminal.cwd:

coder config set terminal.cwd /абсолютный/путь/к/проекту

Обновление

hermes update загружает код один раз (общий) и автоматически синхронизирует новые встроенные навыки с всеми профилями:

hermes update
# → Код обновлен (12 коммитов)
# → Навыки синхронизированы: default (актуально), coder (+2 новых), assistant (+2 новых)

Навыки, измененные пользователи, никогда не перезаписываются.

Управление профилями

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   # импорт из архива

Удаление профиля

hermes profile delete coder

Это останавливает шлюзование, удаляет сервис в системе/запускает, удаляет псевдоним команды и удаляет все данные профиля. Вас попросят ввести имя профиля для подтверждения.

Используйте --yes, чтобы опубликовать подтверждение: кодировщик удаления профиля Hermes --yes:::примечание Вы не можете удалить профиль по умолчанию (~/.hermes). Чтобы удалить всё, воспользуйтесь hermes uninstall.

Автодополнение по табуляции

# Bash
eval "$(hermes completion bash)"

# Zsh
eval "$(hermes completion zsh)"

Добавьте текст в ваш ~/.bashrc или ~/.zshrc для постоянного автодополнения. Выполняет имена профилей после -p, подкоманды профилей и команды верхнего уровня.

Как это работает

Профили используют переменную окружность HERMES_HOME. Когда вы запускаете coderchat, скрипт-обертка устанавливает HERMES_HOME=~/.hermes/profiles/coder перед запуском Hermes. Поскольку более 119 файлов в кодовой базе разрешают путь через get_hermes_home(), состояние Hermes автоматически ограничивает каталог профиля — переменные, сессия, память, навыки, состояние базы данных, PID-шлюз, логики и задачи cron.

Это отдельно от рабочего директора терминала. Выполнение инструментов начинается с terminal.cwd (или директории запуска, когда cwd: "." в локальном бэкенде), а не автоматически из HERMES_HOME.

Профиль по умолчанию — это просто сам ~/.hermes. Миграция не требуется — любые установки работают идентично.

Совместное использование профилей в качестве дистрибутивов

Профиль, который создается на одной машине, можно упаковать как git-репозиторий и установить одну команду на другой машине — на собственной рабочей станции, ноутбуке или в сообществе пользователей. Общий пакет включает SOUL, настройку, навыки, задачи cron и MCP-соединения. Учетные данные, воспоминания и сеансы сохраняются на каждой машине.

# Установка целого агента из git-репозитория
hermes profile install github.com/you/research-bot --alias

# Обновление позже, когда автор выпустит новую версию (сохраняет ваши воспоминания +.env)
hermes profile update research-bot

Полное руководство — создание, публикация, семантика обновлений, модель безопасности и варианты использования — см. в разделе Дистрибутивы профилей: Поделиться целым агентом.