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

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

hermes profile

hermes profile <subcommand>

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

Подкоманда Описание
list Список всех профилей.
use Установить активный (по умолчанию) профиль.
create Создать новый профиль.
delete Удалить профиль.
show Показать сведения о профиле.
alias Пересоздать псевдоним оболочки для профиля.
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 Скопировать всё (конфиг, воспоминания, навыки, сессии, состояние) из текущего профиля.
--clone-from <profile> Клонировать из указанного профиля вместо текущего. Используется с --clone или --clone-all.
--no-alias Пропустить создание скрипта-обёртки.

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

Примеры:

# Blank profile — needs full setup
hermes profile create mybot

# Clone config only from current profile
hermes profile create work --clone

# Clone everything from current profile
hermes profile create backup --clone-all

# Clone config from a specific profile
hermes profile create work2 --clone --clone-from work

hermes profile delete

hermes profile delete <name> [options]

Удаляет профиль и удаляет его псевдоним оболочки.

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

Пример:

hermes profile delete mybot
hermes profile delete mybot --yes
Это навсегда удаляет всю директорию профиля, включая все конфиги, воспоминания, сессии и навыки. Нельзя удалить текущий активный профиль.

hermes profile show

hermes profile show <name>

Отображает сведения о профиле, включая его домашнюю директорию, настроенную модель, статус шлюза (gateway), количество навыков и статус файлов конфигурации.

Показывает домашнюю директорию 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]

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

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

Пример:

hermes profile alias work
# Creates/updates ~/.local/bin/work

hermes profile alias work --name mywork
# Creates ~/.local/bin/mywork

hermes profile alias work --remove
# Removes the wrapper script

hermes profile rename

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

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

Аргумент Описание
<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
# Creates work.tar.gz in the current directory

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
# Infers profile name from the archive

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 Также создать обёртку оболочки (например, telemetryhermes -p telemetry).
--force Перезаписать существующий профиль с тем же именем. Данные пользователя сохраняются.
-y, --yes Пропустить запрос подтверждения с предпросмотром манифеста.

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

Примеры:

# Install from a GitHub repo (shorthand)
hermes profile install github.com/kyle/telemetry-distribution --alias

# Install from a full HTTPS git URL
hermes profile install https://github.com/kyle/telemetry-distribution.git

# Install from SSH
hermes profile install git@github.com:kyle/telemetry-distribution.git

# Install from a local directory during development
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:, записанную при последней установке или обновлении дистрибутива. Полезно для проверки требований общего профиля перед установкой и для выявления случаев, когда «профиль был установлен 6 месяцев назад и не обновлялся».

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

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

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

# Uses your SSH key, the same as any other `git clone`
hermes profile install git@github.com:your-org/internal-assistant.git

# Uses your git credential helper
hermes profile install https://github.com/your-org/internal-assistant.git

Если клонирование запрашивает учётные данные в вашем терминале во время установки, этот запрос будет передан. Сначала настройте аутентификацию так, как вы обычно используете 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:   # optional; defaults to 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, получат ваше последнее состояние, и вы всегда можете увеличить версию в манифесте.

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>

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

Argument Description
<shell> Оболочка для генерации дополнений: bash, zsh или fish.

Примеры:

# Install completions
hermes completion bash >> ~/.bashrc
hermes completion zsh >> ~/.zshrc
hermes completion fish > ~/.config/fish/completions/hermes.fish

# Reload shell
source ~/.bashrc

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

См. также