Скины и темы
Скины управляют визуальным представлением Hermes CLI: цвета баннера, лица и глаголы спиннера, метки полей ответа, текст брендинга и префикс активности инструментов.
Разговорный стиль и визуальный стиль — это разные концепции:
-
Личность (Personality) меняет тон и формулировки агента.
-
Скин (Skin) меняет внешний вид CLI.
Смена скинов
/skin # show the current skin and list available skins
/skin ares # switch to a built-in skin
/skin mytheme # switch to a custom skin from ~/.hermes/skins/mytheme.yaml
Или укажите скин по умолчанию в ~/.hermes/config.yaml:
display:
skin: default
Встроенные скины
| Скин | Описание | Брендинг агента | Визуальный характер |
|---|---|---|---|
default |
Классический Hermes — золотой и кавайный | Hermes Agent |
Тёплые золотые границы, текст цвета кукурузного шёлка, кавайные лица в спиннерах. Знакомый баннер с кадуцеем. Чистый и привлекательный. |
ares |
Тема бога войны — малиновый и бронзовый | Ares Agent |
Глубокие малиновые границы с бронзовыми акцентами. Агрессивные глаголы спиннера («куёт», «марширует», «закаляет сталь»). Пользовательский ASCII-арт баннера с мечом и щитом. |
mono |
Монохромный — чистый серый | Hermes Agent |
Всё в серых тонах — без цвета. Границы #555555, текст #c9d1d9. Идеально для минималистичных терминалов или записи экрана. |
slate |
Холодный синий — для разработчиков | Hermes Agent |
Границы королевского синего (#4169e1), мягкий голубой текст. Спокойный и профессиональный. Без собственного спиннера — используются стандартные лица. |
daylight |
Светлая тема для ярких терминалов с тёмным текстом и холодными синими акцентами | Hermes Agent |
Разработана для белых или ярких терминалов. Тёмно-серый текст с синими границами, бледные поверхности статуса и светлое меню автодополнения, которое остаётся читаемым в светлых профилях терминала. |
warm-lightmode |
Тёплый коричнево-золотой текст для светлых фонов терминала | Hermes Agent |
Тёплые тона пергамента для светлых терминалов. Тёмно-коричневый текст с акцентами цвета жжёной сиены, кремовые поверхности статуса. Землистая альтернатива более холодной теме daylight. |
poseidon |
Тема бога океана — глубокий синий и морская пена | Poseidon Agent |
Градиент от глубокого синего до цвета морской пены. Спиннеры на океанскую тематику («прокладывает курс», «измеряет глубину»). ASCII-арт баннера с трезубцем. |
sisyphus |
Сизифова тема — строгий серый с настойчивостью | Sisyphus Agent |
Светло-серые тона с резким контрастом. Спиннеры с валунной тематикой («толкает в гору», «сбрасывает валун», «выносит цикл»). ASCII-арт баннера с валуном и холмом. |
charizard |
Вулканическая тема — жжёный оранжевый и уголёк | Charizard Agent |
Тёплый градиент от жжёного оранжевого до угольного. Огненные спиннеры («заходит на воздушный поток», «измеряет жар»). ASCII-арт баннера с силуэтом дракона. |
Полный список настраиваемых ключей
Цвета (colors:)
Управляет всеми цветовыми значениями в CLI. Значения — строки с hex-кодами цветов.
| Ключ | Описание | По умолчанию (скин default) |
|---|---|---|
banner_border |
Граница панели вокруг стартового баннера | #CD7F32 (бронзовый) |
banner_title |
Цвет текста заголовка в баннере | #FFD700 (золотой) |
banner_accent |
Заголовки разделов в баннере (Доступные инструменты и т.д.) | #FFBF00 (янтарный) |
banner_dim |
Приглушённый текст в баннере (разделители, второстепенные метки) | #B8860B (тёмный золотарник) |
banner_text |
Основной текст в баннере (названия инструментов, навыков) | #FFF8DC (кукурузный шёлк) |
ui_accent |
Общий акцентный цвет UI (выделения, активные элементы) | #FFBF00 |
ui_label |
Метки и теги UI | #4dd0e1 (бирюзовый) |
ui_ok |
Индикаторы успеха (галочки, завершение) | #4caf50 (зелёный) |
ui_error |
Индикаторы ошибок (сбои, блокировки) | #ef5350 (красный) |
ui_warn |
Индикаторы предупреждений (осторожность, подтверждения) | #ffa726 (оранжевый) |
prompt |
Цвет текста интерактивного приглашения | #FFF8DC |
input_rule |
Горизонтальная линия над областью ввода | #CD7F32 |
response_border |
Граница вокруг блока ответа агента (ANSI-escape) | #FFD700 |
session_label |
Цвет метки сессии | #DAA520 |
session_border |
Цвет приглушённой границы ID сессии | #8B8682 |
status_bar_bg |
Цвет фона панели статуса/использования TUI | #1a1a2e |
voice_status_bg |
Цвет фона значка статуса голосового режима | #1a1a2e |
selection_bg |
Цвет фона подсветки выделения мышью в TUI. Использует completion_menu_current_bg как запасной вариант, если не задан. |
#333355 |
completion_menu_bg |
Цвет фона списка меню автодополнения | #1a1a2e |
completion_menu_current_bg |
Цвет фона активной строки автодополнения | #333355 |
completion_menu_meta_bg |
Цвет фона колонки метаданных автодополнения | #1a1a2e |
completion_menu_meta_current_bg |
Цвет фона активной колонки метаданных автодополнения | #333355 |
Спиннер (spinner:)
Управляет анимированным спиннером, отображаемым в ожидании ответа от API.
| Ключ | Тип | Описание | Пример |
|---|---|---|---|
waiting_faces |
список строк | Лица, сменяющие друг друга в ожидании ответа API | ["(⚔)", "(⛨)", "(▲)"] |
thinking_faces |
список строк | Лица, сменяющие друг друга во время рассуждения модели | ["(⚔)", "(⌁)", "(<>)"] |
thinking_verbs |
список строк | Глаголы, отображаемые в сообщениях спиннера | ["forging", "plotting", "hammering plans"] |
wings |
список пар [слева, справа] | Декоративные скобки вокруг спиннера | [["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]] |
Когда значения спиннера пусты (как в default и mono), используются жёстко заданные значения по умолчанию из display.py.
Брендинг (branding:)
Текстовые строки, используемые в интерфейсе CLI.
| Ключ | Описание | По умолчанию |
|---|---|---|
agent_name |
Имя, отображаемое в заголовке баннера и панели статуса | Hermes Agent |
welcome |
Приветственное сообщение при запуске CLI | Welcome to Hermes Agent! Type your message or /help for commands. |
goodbye |
Сообщение при выходе | Goodbye! ⚕ |
response_label |
Метка в заголовке блока ответа | ⚕ Hermes |
prompt_symbol |
Символ перед приглашением ввода пользователя (голый токен, рендереры добавляют пробел в конце) | ❯ |
help_header |
Заголовок вывода команды /help |
(^_^)? Available Commands |
Другие ключи верхнего уровня
| Ключ | Тип | Описание | По умолчанию |
|---|---|---|---|
tool_prefix |
строка | Символ, добавляемый перед строками вывода инструментов в CLI | ┊ |
tool_emojis |
словарь | Переопределения эмодзи для спиннеров и индикации прогресса по каждому инструменту ({tool_name: emoji}) |
{} |
banner_logo |
строка | ASCII-арт логотип с Rich-разметкой (заменяет стандартный баннер HERMES_AGENT) | "" |
banner_hero |
строка | Главный ASCII-арт с Rich-разметкой (заменяет стандартный арт с кадуцеем) | "" |
Пользовательские скины
Создавайте YAML-файлы в ~/.hermes/skins/. Пользовательские скины наследуют недостающие значения от встроенного скина default, поэтому вам нужно указать только те ключи, которые вы хотите изменить.
Полный шаблон YAML пользовательского скина
# ~/.hermes/skins/mytheme.yaml
# Complete skin template — all keys shown. Delete any you don't need;
# missing values automatically inherit from the 'default' skin.
name: mytheme
description: My custom theme
colors:
banner_border: "#CD7F32"
banner_title: "#FFD700"
banner_accent: "#FFBF00"
banner_dim: "#B8860B"
banner_text: "#FFF8DC"
ui_accent: "#FFBF00"
ui_label: "#4dd0e1"
ui_ok: "#4caf50"
ui_error: "#ef5350"
ui_warn: "#ffa726"
prompt: "#FFF8DC"
input_rule: "#CD7F32"
response_border: "#FFD700"
session_label: "#DAA520"
session_border: "#8B8682"
status_bar_bg: "#1a1a2e"
voice_status_bg: "#1a1a2e"
selection_bg: "#333355"
completion_menu_bg: "#1a1a2e"
completion_menu_current_bg: "#333355"
completion_menu_meta_bg: "#1a1a2e"
completion_menu_meta_current_bg: "#333355"
spinner:
waiting_faces:
- "(⚔)"
- "(⛨)"
- "(▲)"
thinking_faces:
- "(⚔)"
- "(⌁)"
- "(<>)"
thinking_verbs:
- "processing"
- "analyzing"
- "computing"
- "evaluating"
wings:
- ["⟪⚡", "⚡⟫"]
- ["⟪●", "●⟫"]
branding:
agent_name: "My Agent"
welcome: "Welcome to My Agent! Type your message or /help for commands."
goodbye: "See you later! ⚡"
response_label: " ⚡ My Agent "
prompt_symbol: "⚡"
help_header: "(⚡) Available Commands"
tool_prefix: "┊"
# Per-tool emoji overrides (optional)
tool_emojis:
terminal: "⚔"
web_search: "🔮"
read_file: "📄"
# Custom ASCII art banners (optional, Rich markup supported)
# banner_logo: |
# [bold #FFD700] MY AGENT [/]
# banner_hero: |
# [#FFD700] Custom art here [/]
Минимальный пример пользовательского скина
Поскольку всё наследуется от default, минимальный скин нужно изменить только то, что отличается:
name: cyberpunk
description: Neon terminal theme
colors:
banner_border: "#FF00FF"
banner_title: "#00FFFF"
banner_accent: "#FF1493"
spinner:
thinking_verbs: ["jacking in", "decrypting", "uploading"]
wings:
- ["⟨⚡", "⚡⟩"]
branding:
agent_name: "Cyber Agent"
response_label: " ⚡ Cyber "
tool_prefix: "▏"
Hermes Mod — Визуальный редактор скинов
Hermes Mod — это веб-интерфейс, созданный сообществом, для визуального создания и управления скинами. Вместо написания YAML вручную вы получаете редактор с графическим интерфейсом и предварительным просмотром в реальном времени.

Что он делает:
-
Показывает все встроенные и пользовательские скины
-
Открывает любой скин в визуальном редакторе со всеми полями скинов Hermes (цвета, спиннер, брендинг, префикс инструментов, эмодзи инструментов)
-
Генерирует текстовый арт
banner_logoиз текстового запроса -
Преобразует загруженные изображения (PNG, JPG, GIF, WEBP) в ASCII-арт
banner_heroс несколькими стилями рендеринга (шрифт Брайля, ASCII-градиент, блоки, точки) -
Сохраняет напрямую в
~/.hermes/skins/ -
Активирует скин, обновляя
~/.hermes/config.yaml -
Показывает сгенерированный YAML и предварительный просмотр
Установка
Вариант 1 — Pinokio (в 1 клик):
Найдите его на pinokio.computer и установите одним нажатием.
Вариант 2 — npx (быстрее всего из терминала):
npx -y hermes-mod
Вариант 3 — Вручную:
git clone https://github.com/cocktailpeanut/hermes-mod.git
cd hermes-mod/app
npm install
npm start
Использование
-
Запустите приложение (через Pinokio или терминал).
-
Откройте Skin Studio.
-
Выберите встроенный или пользовательский скин для редактирования.
-
Сгенерируйте логотип из текста и/или загрузите изображение для главного арта. Выберите стиль рендеринга и ширину.
-
Отредактируйте цвета, спиннер, брендинг и другие поля.
-
Нажмите Сохранить, чтобы записать YAML скина в
~/.hermes/skins/. -
Нажмите Активировать, чтобы установить его как текущий скин (обновляет
display.skinвconfig.yaml).
Hermes Mod учитывает переменную окружения HERMES_HOME, поэтому он работает и с профилями.
Эксплуатационные заметки
-
Встроенные скины загружаются из
hermes_cli/skin_engine.py. -
Неизвестные скины автоматически используют запасной вариант
default. -
/skinмгновенно обновляет активную тему CLI для текущей сессии. -
Пользовательские скины в
~/.hermes/skins/имеют приоритет над встроенными скинами с таким же именем. -
Изменения скина через
/skinдействуют только в рамках сессии. Чтобы сделать скин постоянным по умолчанию, укажите его вconfig.yaml. -
Поля
banner_logoиbanner_heroподдерживают Rich-разметку консоли (например,[bold #FF0000]text[/]) для цветного ASCII-арта.