Скины и темы

Скины управляют визуальными представлениями CLI Hermes: цвета баннера, голоса и глаголы спиннера, метки блоков ответов, инструмент брендинга текста и префикс активности.

Разговорный стиль и визуальный стиль — разные понятия:

Смена скинов

/skin                # показать текущий скин и список доступных скинов
/skin ares           # переключиться на встроенный скин
/skin mytheme        # переключиться на пользовательский скин из ~/.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. Значения — строки шестнадцатеричных цветов.

Ключ Описание По умолчанию (скин default)
banner_border Граница панели вокруг стартового баннера #CD7F32 (бронза)
banner_title Цвет текста заголовка в баннере #FFD700 (золото)
banner_accent Заголовки разделов в баннере (Доступные инструменты и т.д.) #FFBF00 (янтарь)
banner_dim Приглушенный текст в баннере (разделители, второстепенные метки) #B8860B (темно-золотистый)
banner_text Основной текст в баннере (имена инструментов, имена навыков) #FFF8DC (cornsilk)
ui_accent Общий акцентный цвет интерфейса (выделения, активные элементы) #FFBF00
ui_label Метки и теги интерфейса #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 список строк Глаголы, показываемые в сообщениях спиннера ["кует", "планирует", "выковывает планы"]
wings список пар [слева, справа] Декоративные скобки вокруг спиннера [["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]]

Когда значения спиннера пусты (как в default и mono), используются жестко заданные значения по умолчанию из display.py.

Брендинг (branding:)

Текстовые строки, используемые во всем интерфейсе CLI.

Ключ Описание По умолчанию
agent_name Имя, показываемое в заголовке баннера и отображении статуса Hermes Agent
welcome Приветственное сообщение при запуске CLI Добро пожаловать в Hermes Agent! Введите сообщение или /help для команд.
goodbye Сообщение при выходе До свидания! ⚕
response_label Метка на заголовке блока ответа ⚕ Hermes
prompt_symbol Символ перед приглашением ввода пользователя (голый токен, рендереры добавляют завершающий пробел)
help_header Текст заголовка для вывода команды /help (^_^)? Доступные команды

Другие ключи верхнего уровня

Ключ Тип Описание По умолчанию
tool_prefix строка Символ, добавляемый перед строками вывода инструмента в CLI
tool_emojis словарь Переопределения эмодзи для отдельных инструментов для спиннеров и прогресса ({имя_инструмента: эмодзи}) {}
banner_logo строка Rich-разметка ASCII-арт логотипа (заменяет стандартный баннер HERMES_AGENT) ""
banner_hero строка Rich-разметка героического искусства (заменяет стандартный кадуцей) ""

Пользовательские скины

Создавайте YAML-файлы в ~/.hermes/skins/. Пользовательские скины наследуют отсутствующие значения из встроенного скина default, поэтому вам нужно указать только те ключи, которые вы хотите изменить.

Полный шаблон пользовательского скина YAML

# ~/.hermes/skins/mytheme.yaml
# Полный шаблон скина — показаны все ключи. Удалите те, которые не нужны;
# отсутствующие значения автоматически наследуются из скина 'default'.

name: mytheme
description: Моя пользовательская тема

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:
    - "обрабатываю"
    - "анализирую"
    - "вычисляю"
    - "оцениваю"
  wings:
    - ["⟪⚡", "⚡⟫"]
    - ["⟪●", "●⟫"]

branding:
  agent_name: "Мой Агент"
  welcome: "Добро пожаловать в Моего Агента! Введите сообщение или /help для команд."
  goodbye: "Увидимся! ⚡"
  response_label: "  Мой Агент "
  prompt_symbol: "⚡"
  help_header: "(⚡) Доступные команды"

tool_prefix: "┊"

# Переопределение эмодзи для отдельных инструментов (опционально)
tool_emojis:
  terminal: "⚔"
  web_search: "🔮"
  read_file: "📄"

# Пользовательские ASCII-арт баннеры (опционально, поддерживается Rich разметка)
# banner_logo: |
#   [bold #FFD700] МОЙ АГЕНТ [/]
# banner_hero: |
#   [#FFD700]  Пользовательское искусство здесь  [/]

Минимальный пример пользовательского скина

поскольку все наследуется от «по умолчанию», новая кожа должна изменяться только в том, что отличается:

name: cyberpunk
description: Неоновая тема терминала

colors:
  banner_border: "#FF00FF"
  banner_title: "#00FFFF"
  banner_accent: "#FF1493"

spinner:
  thinking_verbs: ["подключаюсь", "расшифровываю", "загружаю"]
  wings:
    - ["⟨⚡", "⚡⟩"]

branding:
  agent_name: "Кибер Агент"
  response_label: "  Кибер "

tool_prefix: "▏"

Hermes Mod — Визуальный редактор скинов

Hermes Mod — это веб-интерфейс, созданный сообществом, для визуального создания и управления скинами. Вместо написания YAML вручную вы в первую очередь добавляете редактор с указателем и исследовательской мышью с предварительным просмотром.Редактор скинов Hermes Mod

Что он делает:

Установка

Вариант 1 — Пинокио (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

Использование

  1. Запустите приложение (через Pinokio или терминал).
  2. Откройте Skin Studio.
  3. Выберите встроенный или пользовательский скин для редактирования.
  4. Сгенерируйте логотип из текста и/или загрузите изображение для героического искусства. Выберите стиль рендеринга и надежность.
  5. Отредактируйте цвета, спиннер, брендинг и другие поля.
  6. Нажмите Сохранить, чтобы записать скин YAML в ~/.hermes/skins/.
  7. Нажмите Активировать, чтобы установить его как текущий скин (обновляет display.skin в config.yaml).

Hermes Mod наблюдает за переменным окружением HERMES_HOME, поэтому он также работает с профилями.

Операционные заметки