Справочник команд профилей

На этой странице описаны все команды, связанные с профилями Hermes. Общие команды CLI смотрите в Справочнике команд CLI.

hermes profile

hermes profile <subcommand>

Верхнеуровневая команда для управления профилями. Запуск hermes profile без подкоманды выводит справку.

ПодкомандаОписание
listВывести список всех профилей.
useУстановить активный (основной) профиль.
createСоздать новый профиль.
describeПрочитать или задать описание профиля (используется оркестратором kanban для маршрутизации).
deleteУдалить профиль.
showПоказать сведения о профиле.
aliasПерегенерировать shell-алиас профиля.
renameПереименовать профиль.
exportЭкспортировать профиль в архив tar.gz.
importИмпортировать профиль из архива tar.gz.
installУстановить дистрибутив профиля из git-URL или локальной директории. См. Дистрибутивы профилей.
updateПовторно загрузить профиль, управляемый дистрибутивом, и переприменить его бандл.
infoПоказать метаданные дистрибутива профиля (URL источника, коммит, дата последнего обновления).

hermes profile list

hermes profile list

Выводит список всех профилей. Текущий активный профиль отмечен символом *.

Пример:

$ hermes profile list
  default
* work
  dev
  personal

Нет опций.

hermes profile use

hermes profile use <name>

Устанавливает <name> в качестве активного профиля. Все последующие команды hermes (без -p) будут использовать этот профиль.

АргументОписание
<name>Имя профиля для активации. Используйте default для возврата к базовому профилю.

Пример:

hermes profile use work
hermes profile use default

hermes profile create

hermes profile create <name> [options]

Создаёт новый профиль.

Аргумент / ОпцияОписание
<name>Имя нового профиля. Должно быть допустимым именем директории (буквы, цифры, дефисы, знаки подчёркивания).
--cloneСкопировать config.yaml, .env, SOUL.md и навыки из текущего профиля.
--clone-allСкопировать всё (конфиг, воспоминания, навыки, cron, плагины) из текущего профиля. Исключает поисторичные данные: сессии, state.db, резервные копии, снимки состояния, чекпоинты.
--clone-from <profile>Клонировать конфиг/навыки/SOUL из конкретного профиля вместо текущего. Подразумевает --clone, если не сочетается с --clone-all.
--no-aliasПропустить создание wrapper-скрипта.
--description "<text>"Описание профиля из одного-двух предложений — чем хорош этот профиль. Используется оркестратором kanban для маршрутизации задач по роли, а не только по имени профиля. Можно добавить позже через hermes profile describe. Сохраняется в <profile_dir>/profile.yaml.
--no-skillsСоздать пустой профиль без включённых встроенных навыков. Записывает маркер .no-bundled-skills в профиль, чтобы будущие запуски hermes update не пересевали встроенный набор; несовместимо с --clone, --clone-from или --clone-all (которые всё равно скопируют навыки). Полезно для узких профилей-оркестраторов или sandbox-профилей, которые не должны наследовать полный каталог навыков. Для переключения этой настройки на уже созданном профиле (включая ~/.hermes по умолчанию) используйте hermes skills opt-out / hermes skills opt-in.

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

Примеры:

# Пустой профиль — требует полной настройки
hermes profile create mybot

# Клонировать только конфиг из текущего профиля
hermes profile create work --clone

# Клонировать всё из текущего профиля
hermes profile create backup --clone-all

# Клонировать конфиг из конкретного профиля
hermes profile create work2 --clone-from work

# Клонировать всё из конкретного профиля
hermes profile create work2-backup --clone-from work --clone-all

hermes profile describe

hermes profile describe [<name>] [options]

Читает или устанавливает описание профиля. Описание потребляется оркестратором kanban для маршрутизации задач по специализации каждого профиля, а не по одному лишь имени. Сохраняется в <profile_dir>/profile.yaml, переживает перезагрузки и передаётся шлюзу.

Без флагов выводит текущее описание (или (no description set for '<name>'), если оно не задано).

Аргумент / ОпцияОписание
<name>Профиль для описания. Обязателен, если не используется --all --auto.
--text "<text>"Установить описание точно этим текстом (пользовательское). Перезаписывает существующее.
--autoАвтоматически сгенерировать описание из 1–2 предложений через вспомогательный LLM на основе установленных навыков, настроенной модели и имени профиля. Настройте модель в auxiliary.profile_describer в config.yaml. Автосгенерированные описания помечаются description_auto: true, чтобы дашборд мог выделить их для проверки.
--overwriteС --auto: заменять также пользовательские описания (по умолчанию: пропускать профили с явно заданным описанием).
--allС --auto: обойти все профили без описания.

Примеры:

# Прочитать текущее описание
hermes profile describe researcher

# Задать явно
hermes profile describe researcher --text "Читает исходный код и записывает выводы."

# Сгенерировать через LLM
hermes profile describe researcher --auto

# Заполнить описания для всех профилей без них
hermes profile describe --all --auto

hermes profile delete

hermes profile delete <name> [options]

Удаляет профиль и его shell-алиас.

Аргумент / ОпцияОписание
<name>Профиль для удаления.
--yes, -yПропустить запрос подтверждения.

Пример:

hermes profile delete mybot
hermes profile delete mybot --yes
внимание

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

hermes profile show

hermes profile show <name>

Выводит сведения о профиле: домашнюю директорию, настроенную модель, статус шлюза, количество навыков и статус файлов конфигурации.

Показывает домашнюю директорию Hermes профиля, а не рабочую директорию терминала. Терминальные команды стартуют из terminal.cwd (или директории запуска на локальном бэкенде, если задано cwd: ".").

АргументОписание
<name>Профиль для просмотра.

Пример:

$ hermes profile show work
Profile: work
Path:    ~/.hermes/profiles/work
Model:   anthropic/claude-sonnet-4 (anthropic)
Gateway: stopped
Skills:  12
.env:    exists
SOUL.md: exists
Alias:   ~/.local/bin/work

hermes profile alias

hermes profile alias <name> [options]

Перегенерирует shell-алиас по пути ~/.local/bin/<name>. Полезно, если алиас был случайно удалён или нужно обновить его после переноса установки Hermes.

Аргумент / ОпцияОписание
<name>Профиль, для которого создаётся/обновляется алиас.
--removeУдалить wrapper-скрипт вместо создания.
--name <alias>Пользовательское имя алиаса (по умолчанию: имя профиля).

Пример:

hermes profile alias work
# Создаёт/обновляет ~/.local/bin/work

hermes profile alias work --name mywork
# Создаёт ~/.local/bin/mywork

hermes profile alias work --remove
# Удаляет wrapper-скрипт

hermes profile rename

hermes profile rename <old-name> <new-name>

Переименовывает профиль. Обновляет директорию и shell-алиас.

АргументОписание
<old-name>Текущее имя профиля.
<new-name>Новое имя профиля.

Пример:

hermes profile rename mybot assistant
# ~/.hermes/profiles/mybot → ~/.hermes/profiles/assistant
# ~/.local/bin/mybot → ~/.local/bin/assistant

hermes profile export

hermes profile export <name> [options]

Экспортирует профиль в сжатый архив tar.gz.

Аргумент / ОпцияОписание
<name>Профиль для экспорта.
-o, --output <path>Путь к выходному файлу (по умолчанию: <name>.tar.gz).

Пример:

hermes profile export work
# Создаёт work.tar.gz в текущей директории

hermes profile export work -o ./work-2026-03-29.tar.gz

hermes profile import

hermes profile import <archive> [options]

Импортирует профиль из архива tar.gz.

Аргумент / ОпцияОписание
<archive>Путь к архиву tar.gz для импорта.
--name <name>Имя для импортированного профиля (по умолчанию: определяется из архива).

Пример:

hermes profile import ./work-2026-03-29.tar.gz
# Определяет имя профиля из архива

hermes profile import ./work-2026-03-29.tar.gz --name work-restored

Команды дистрибутивов

совет

Впервые работаете с дистрибутивами? Начните с руководства по дистрибутивам профилей — там объясняется зачем, когда и как их использовать, с полными примерами. Разделы ниже — сухой CLI-справочник для тех, кто уже знает что нужно.

Дистрибутивы превращают профиль в версионируемый артефакт для совместного использования, публикуемый как git-репозиторий. Получатель устанавливает дистрибутив одной командой и может обновлять его на месте, не затрагивая свои локальные воспоминания, сессии или учётные данные.

auth.json и .env никогда не входят в дистрибутив — они остаются на машине устанавливающего пользователя.

Пользовательские данные получателя (воспоминания, сессии, аутентификация, его правки .env) всегда сохраняются при первоначальной установке и последующих обновлениях.

инфо

hermes profile export / import по-прежнему правильные команды для локального резервного копирования и восстановления профиля на собственной машине. Дистрибутивы (install / update / info) — отдельная концепция: распространение профиля через git, чтобы кто-то другой мог его установить.

hermes profile install

hermes profile install <source> [--name <name>] [--alias] [--force] [--yes]

Устанавливает дистрибутив профиля из git-URL или локальной директории.

ОпцияОписание
<source>Git-URL (github.com/user/repo, https://..., git@..., ssh://, git://) или локальная директория с distribution.yaml в корне.
--name NAMEПереопределить имя профиля из манифеста.
--aliasТакже создать shell-обёртку (например, telemetryhermes -p telemetry).
--forceПерезаписать существующий профиль с тем же именем. Пользовательские данные при этом сохраняются.
-y, --yesПропустить запрос подтверждения после просмотра манифеста.

Установщик показывает манифест, перечисляет обязательные переменные окружения и предупреждает о cron-заданиях перед запросом подтверждения. Обязательные переменные окружения помещаются в файл .env.EXAMPLE, который нужно скопировать в .env и заполнить.

Примеры:

# Установить из репозитория GitHub (сокращённая форма)
hermes profile install github.com/kyle/telemetry-distribution --alias

# Установить из полного HTTPS git-URL
hermes profile install https://github.com/kyle/telemetry-distribution.git

# Установить через SSH
hermes profile install git@github.com:kyle/telemetry-distribution.git

# Установить из локальной директории при разработке
hermes profile install ./telemetry/

hermes profile update

hermes profile update <name> [--force-config] [--yes]

Повторно клонирует дистрибутив из записанного источника и применяет обновления. Файлы, принадлежащие дистрибутиву (SOUL.md, skills/, cron/, mcp.json), перезаписываются; пользовательские данные (воспоминания, сессии, аутентификация, .env) не затрагиваются.

config.yaml по умолчанию сохраняется, чтобы не потерять локальные переопределения. Передайте --force-config, чтобы сбросить его до конфигурации, поставляемой дистрибутивом.

hermes profile info

hermes profile info <name>

Выводит манифест дистрибутива профиля — имя, версию, требуемую версию Hermes, автора, требования к переменным окружения, URL/путь источника и временную метку Installed:, записанную при последней операции install или update. Полезно для проверки требований совместно используемого профиля перед установкой, а также для обнаружения ситуаций «этот профиль был установлен 6 месяцев назад и не обновлялся».

hermes profile list также отображает имя и версию дистрибутива в колонке Distribution, а hermes profile show <name> / delete <name> показывают URL источника — так можно сразу понять, какие профили пришли из git-репозитория, а какие созданы локально.

Приватные дистрибутивы

Приватный git-репозиторий работает как источник дистрибутива без дополнительной настройки — установщик вызывает стандартный бинарник git, поэтому любая аутентификация, уже настроенная в вашем шелле (SSH-ключ, хелпер git credential, сохранённые HTTPS-учётные данные GitHub CLI), применяется прозрачно.

# Использует ваш SSH-ключ, как и любой другой `git clone`
hermes profile install git@github.com:your-org/internal-assistant.git

# Использует ваш git credential helper
hermes profile install https://github.com/your-org/internal-assistant.git

Если при установке clone запрашивает учётные данные интерактивно в терминале, этот запрос проходит через него. Сначала настройте аутентификацию так, как вы делали бы обычный git clone для того же репозитория, а затем устанавливайте.

Манифест дистрибутива (distribution.yaml)

В корне каждого дистрибутива находится файл distribution.yaml:

name: telemetry
version: 0.1.0
description: "Compliance monitoring harness"
hermes_requires: ">=0.12.0"
author: "Your Name"
license: "MIT"
env_requires:
  - name: OPENAI_API_KEY
    description: "OpenAI API key"
    required: true
  - name: GRAPHITI_MCP_URL
    description: "Memory graph URL"
    required: false
    default: "http://127.0.0.1:8000/sse"
distribution_owned:   # опционально; по умолчанию: SOUL.md, config.yaml,
                      #   mcp.json, skills/, cron/, distribution.yaml
  - SOUL.md
  - skills/compliance/
  - cron/

hermes_requires поддерживает операторы >=, <=, ==, !=, >, < или просто версию (трактуется как >=). Установка завершается с понятной ошибкой, если текущая версия Hermes не удовлетворяет спецификации.

distribution_owned — опционально. Если задано, при обновлении заменяются только эти пути; всё остальное в профиле остаётся в собственности пользователя. Если не задано, применяются описанные выше значения по умолчанию.

Публикация дистрибутива

Создание дистрибутива — это просто git push:

  1. В директории профиля создайте distribution.yaml с минимально необходимыми name и version.
  2. Инициализируйте git-репозиторий (или используйте существующий) и запушьте на GitHub / GitLab / любой хост, доступный для клонирования Hermes.
  3. Сообщите получателям запустить hermes profile install <your-repo-url>.

Используйте git-теги для версионированных релизов — получатели, клонирующие HEAD, получают последнее состояние, а поднять version: в манифесте можно в любое время.

hermes -p / hermes --profile

hermes -p <name> <command> [options]
hermes --profile <name> <command> [options]

Глобальный флаг для запуска любой команды Hermes под конкретным профилем без изменения постоянного умолчания. Переопределяет активный профиль на время выполнения команды.

ОпцияОписание
-p <name>, --profile <name>Профиль для использования в этой команде.

Примеры:

hermes -p work chat -q "Check the server status"
hermes --profile dev gateway start
hermes -p personal skills list
hermes -p work config edit

hermes completion

hermes completion <shell>

Генерирует скрипты автодополнения для шелла. Включает автодополнение имён профилей и подкоманд профиля.

АргументОписание
<shell>Шелл для генерации автодополнения: bash, zsh или fish.

Примеры:

# Установить автодополнения
hermes completion bash >> ~/.bashrc
hermes completion zsh >> ~/.zshrc
hermes completion fish > ~/.config/fish/completions/hermes.fish

# Перезагрузить шелл
source ~/.bashrc

После установки tab-автодополнение работает для:

  • hermes profile <TAB> — подкоманды (list, use, create и т.д.)
  • hermes profile use <TAB> — имена профилей
  • hermes -p <TAB> — имена профилей

Смотрите также

ESC