Профили — запуск нескольких агентов
Источник
1. Что такое профиль
Профиль — это отдельный домашний каталог Hermes со своей конфигурацией, ключами API, памятью, сессиями, скиллами и состоянием шлюза.
Каждый профиль получает:
- Свой
config.yaml - Свой
.env(API-ключи, токены ботов) - Свой
SOUL.md(личность) - Свою память (memories)
- Свои сессии
- Свои скиллы
- Свои задачи cron
- Свою БД состояния (
state.db)
Команда: При создании профиля coder автоматически появляется команда:
2. Быстрый старт
3. Создание профиля
Пустой профиль:
С описанием (для kanban-оркестратора):
Клонирование только конфигурации (--clone):
Копирует: config.yaml, .env, SOUL.md, скиллы. Новые сессии и память — чистые.
Клонирование всего (--clone-all):
Копирует всё: конфигурацию, ключи, личность, всю память, скиллы, задачи cron, плагины.
Клонирование из конкретного профиля:
4. Использование профилей
Алиасы команд:
Флаг -p:
Привязка по умолчанию (hermes profile use):
Индикация текущего профиля:
- Промпт:
coder >вместо> - Баннер: показывает
Profile: coderпри запуске hermes profile: показывает имя, путь, модель, статус шлюза
5. Профили vs рабочие пространства vs песочница
| Понятие | Что делает | Управление |
|---|---|---|
| Профиль | Своя директория состояния Hermes | HERMES_HOME |
| Рабочая директория | Откуда запускаются терминальные команды | terminal.cwd |
| Песочница | Ограничение доступа к файловой системе | Не входит в профиль |
Важно: Профиль НЕ песочница. Агент по-прежнему имеет доступ к файловой системе как ваш пользователь ОС.
Задание начальной директории:
Примечание: cwd: "." на локальном бэкенде означает "директория запуска Hermes", а не "директория профиля".
6. Запуск шлюзов
Каждый профиль запускает собственный шлюз как отдельный процесс с собственным токеном:
Разные токены ботов:
Защита от конфликта токенов:
Если два профиля используют один токен, второй шлюз блокируется с ошибкой, указывающей конфликтующий профиль.
Постоянные сервисы:
7. Настройка профилей
Через веб-дашборд:
8. Обновление
Код обновляется один раз (общий), скиллы синхронизируются по всем профилям.
9. Управление профилями
10. Удаление профиля
Что делает:
- Останавливает шлюз
- Удаляет сервис systemd/launchd
- Удаляет алиас команды
- Удаляет все данные профиля
Подтверждение: потребуется ввести имя профиля.
Пропуск подтверждения:
Ограничение: Нельзя удалить профиль по умолчанию (%LOCALAPPDATA%\hermes). Для полного удаления используйте hermes uninstall.
11. Tab completion
Добавьте в $PROFILE для постоянного использования.
12. Как это работает
Профили используют переменную окружения HERMES_HOME. При запуске coder chat обёрочка устанавливает:
119+ файлов в коде используют get_hermes_home() для определения путей — конфигурация, сессии, память, скиллы, БД состояния, PID шлюза, логи и cron автоматически привязываются к профилю.
Важно:
HERMES_HOME— граница профиля (конфиг, .env, память, сессии, скиллы, логи, cron, шлюз)HOME— домашний каталог ОС (внешние CLI: git, ssh, gh, az, npm)
По умолчанию на хосте HOME не изменяется — внешние инструменты используют ваши текущие учётные данные.
Для строгой изоляции:
В этом случае HOME={HERMES_HOME}/home — потребуется настроить ~/.ssh, ~/.gitconfig и т.д. внутри профиля.
13. Дистрибуции профилей
Профиль можно упаковать как git-репозиторий и установить одной командой:
Что входит в дистрибутив:
- SOUL
- конфигурация
- скиллы
- cron задачи
- MCP подключения
Что НЕ входит (остаётся на машине):
- учётные данные
- память
- сессии