Перейти к содержанию

Профили

На этой странице Запускайте несколько независимых агентов 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 песочницы * Запуск шлюзов * Разные токены ботов * Безопасность: блокировка токенов * Постоянные службы * Настройка профилей * Обновление * Управление профилями * Удаление профиля * Автодополнение * Как это работает