스킨 및 테마
스킨은 Hermes CLI의 시각적 표현을 제어합니다: 배너 색상, 스피너 얼굴과 동사, 응답 상자 레이블, 브랜드 텍스트, 도구 활동 접두사
대화 스타일과 시각적 스타일은 별개의 개념입니다:
- 개성은 에이전트의 표현 방식과 어조를 변경합니다.
- 스킨은 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 Agent | 따뜻한 금색 테두리, 옥수수 실크 색 텍스트, 스피너 속의 귀여운 얼굴들. 익숙한 케듀세우스 배너. 깔끔하고 매력적임. |
ares | 전쟁 신 테마 — 진홍색과 청동색 | Ares Agent | 청동 장식이 있는 진한 크림슨 테두리. 공격적인 스피너 동사(“단련하다”, “행진하다”, “강철을 담금질하다”). 맞춤형 검과 방패 ASCII 아트 배너. |
mono | 단색 — 깔끔한 그레이스케일 | Hermes Agent | 모든 회색 — 색상 없음. 경계는 #555555, 텍스트는 #c9d1d9. 최소한의 터미널 설정이나 화면 녹화에 이상적입니다. |
slate | 시원한 파랑 — 개발자 중심 | Hermes Agent | 왕실 블루 테두리 (#4169e1), 부드러운 파란색 텍스트. 차분하고 전문적입니다. 맞춤 스피너 없음 — 기본 얼굴 사용. |
daylight | 밝은 터미널용 라이트 테마로, 어두운 글자와 시원한 파란색 강조 색상 사용 | Hermes Agent | 흰색 또는 밝은 터미널을 위해 설계되었습니다. 파란색 테두리가 있는 다크 슬레이트 텍스트, 연한 상태 표시 표면, 그리고 밝은 터미널 환경에서도 읽기 쉬운 밝은 자동 완성 메뉴입니다. |
warm-lightmode | 밝은 터미널 배경에 적합한 따뜻한 갈색/금색 텍스트 | Hermes Agent | 밝은 단말기에 어울리는 따뜻한 양피지 색조. 새들 브라운 악센트가 있는 다크 브라운 텍스트, 크림색 상태 표면. 더 시원한 주간 테마에 대한 자연스러운 대안. |
poseidon | 바다 신 테마 — 짙은 파랑과 바다 거품 | Poseidon Agent | 짙은 파랑에서 바다 거품 색으로의 그라데이션. 바다를 주제로 한 스피너(‘흐름 측정’, ‘수심 측정’). 삼지창 ASCII 아트 배너. |
sisyphus | 시지프적 주제 — 끈기와 함께한 엄격한 그레이스케일 | Sisyphus Agent | 강한 대비가 있는 연한 회색. 바위 테마 스피너("언덕을 오르기", "바위 재설정", "루프 견디기"). 바위와 언덕 ASCII 아트 배너. |
charizard | 화산 테마 — 불에 탄 주황색과 잿더미 | Charizard Agent | 따뜻한 불에 탄 오렌지에서 잿빛으로 이어지는 그라데이션. 불 테마 스피너("초안에 입금", "연소 측정"). 용 실루엣 ASCII 아트 배너. |
구성 가능한 키의 전체 목록
색상 (colors:)
CLI 전체의 모든 색상 값을 제어합니다. 값은 16진수 색상 문자열입니다.
| 열쇠 | 설명 | 기본 (default 스킨) |
|---|---|---|
banner_border | 시작 배너 주변의 패널 테두리 | #CD7F32 (청동) |
banner_title | 배너의 제목 글자 색깔 | #FFD700 (금) |
banner_accent | 배너의 섹션 헤더(사용 가능한 도구 등) | #FFBF00 (호박) |
banner_dim | 배너의 음소거된 텍스트(구분선, 보조 라벨) | # (짙은 황금빛 갈색) |
banner_text | 배너의 본문 텍스트(도구 이름, 스킬 이름) | # (옥수수 실크) |
ui_accent | 일반 UI 강조 색상(하이라이트, 활성 요소) | #FFBF00 |
ui_label | UI 레이블과 태그 | #4dd0e1 (청록색) |
ui_ok | 성공 지표(체크 표시, 완료) | #4caf50 (녹색) |
ui_error | 오류 지표(실패, 차단됨) | #ef5350 (빨강) |
ui_warn | 경고 표시기(주의, 승인 요청) | #ffa726 (오렌지) |
prompt | 인터랙티브 프롬프트 텍스트 색상 | # |
input_rule | 입력 영역 위의 수평선 | #CD7F32 |
response_border | 에이전트 응답 상자 주변 테두리 (ANSI 이스케이프) | #FFD700 |
session_label | 세션 라벨 색상 | #DAA520 |
session_border | 세션 ID dim 테두리 색상 | #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 | 사전 | 스피너와 진행 상태에 대한 도구별 이모지 override ({tool_name: emoji}) | {} |
banner_logo | 문자열 | 리치 마크업 ASCII 아트 로고 (기본 HERMES_AGENT 배너를 대체함) | "" |
banner_hero | 문자열 | 풍부한 마크업 영웅 아트(기본 카두세우스 아트를 대체함) | "" |
커스텀 스킨
~/.hermes/skins/ 아래에 YAML 파일을 만드세요. 사용자 스킨은 누락된 값을 내장 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: "#"
banner_text: "#"
ui_accent: "#FFBF00"
ui_label: "#4dd0e1"
ui_ok: "#4caf50"
ui_error: "#ef5350"
ui_warn: "#ffa726"
prompt: "#"
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: "#"
banner_title: "#"
banner_accent: "#FF1493"
spinner:
thinking_verbs: ["jacking in", "decrypting", "uploading"]
wings:
- ["⟨⚡", "⚡⟩"]
branding:
agent_name: "Cyber Agent"
response_label: " ⚡ Cyber "
tool_prefix: "▏"
Hermes 모드 — 시각적 스킨 편집기
Hermes Mod는 스킨을 시각적으로 만들고 관리할 수 있는 커뮤니티 제작 웹 UI입니다. YAML을 직접 작성하는 대신, 실시간 미리보기가 있는 포인트 앤 클릭 편집기를 사용할 수 있습니다.

기능:
- 모든 기본 및 사용자 지정 스킨을 나열합니다
- 모든 Hermes 스킨 필드(색상, 스피너, 브랜딩, 도구 접두사, 도구 이모지)가 포함된 시각적 편집기로 모든 스킨을 엽니다
- 텍스트 프롬프트로부터
banner_logo텍스트 아트를 생성합니다 - 업로드된 이미지(PNG, JPG, GIF, WEBP)를 여러 렌더 스타일(브라유, ASCII 램프, 블록, 점)로
banner_heroASCII 아트로 변환합니다 ~/.hermes/skins/에 직접 저장~/.hermes/config.yaml을(를) 업데이트하여 스킨을 활성화합니다- 생성된 YAML과 실시간 미리보기를 보여줍니다
설치하다
옵션 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
사용
- 앱을 실행하세요 (Pinokio 또는 터미널을 통해).
- 스킨 스튜디오를 엽니다.
- 편집할 내장 스킨 또는 사용자 정의 스킨을 선택하세요.
- 텍스트에서 로고를 생성하거나 히어로 아트를 위해 이미지를 업로드하세요. 렌더 스타일과 너비를 선택하세요.
- 색상, 스피너, 브랜딩 및 기타 필드를 편집하세요.
- 저장을 클릭하여 스킨 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필드는 컬러 ASCII 아트를 위한 고급 콘솔 마크업(예:[bold #FF0000]text[/])을 지원합니다.