Перейти к содержанию

Skins

На этой странице

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

Разговорный стиль и визуальный стиль — это разные концепции: * Личность (Personality) меняет тон и формулировки агента. * Скин (Skin) меняет внешний вид CLI.

Смена скинов

/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 (кукурузный шёлк)
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
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 словарь Переопределения эмодзи для отдельных инструментов в спиннерах и прогрессе ({имя_инструмента: эмодзи}) {}
banner_logo строка ASCII-арт логотип в разметке Rich (заменяет стандартный баннер HERMES_AGENT) ""
banner_hero строка Героический ASCII-арт в разметке Rich (заменяет стандартный арт с кадуцеем) ""

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

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

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

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

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"  
  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: "┊"  

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

# Пользовательские ASCII-арт баннеры (опционально, поддерживается разметка Rich)  
# 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 Mod

Что он делает: * Показывает все встроенные и пользовательские скины * Открывает любой скин в визуальном редакторе со всеми полями скинов 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  

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

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

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

Эксплуатационные заметки