Справочник команд профиля
На этой странице представлены все команды, связанные с профилями 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
Команды дистрибутивов
Дистрибутивы превращают профиль в доступный для публикации версионированный артефакт, опубликованный как 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 |
Также создать обёртку оболочки (например, telemetry → hermes -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:
-
В директории вашего профиля создайте
distribution.yamlкак минимум сnameиversion. -
Инициализируйте git репозиторий (или используйте существующий) и отправьте на GitHub / GitLab / любой хост, с которого Hermes может клонировать.
-
Сообщите получателям, чтобы они выполнили
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 работает для:
-
hermes profile <TAB>— подкоманды (list, use, create, etc.) -
hermes profile use <TAB>— имена профилей -
hermes -p <TAB>— имена профилей