hermes-skins-customization
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHermes Skins Customization
Hermes皮肤自定义
Skill by ara.so — Hermes Skills collection.
Custom visual themes for the Hermes CLI agent. Skins control banner colors, ASCII art, spinner text, response labels, and branding — not behavior or personality.
由ara.so提供的技能——Hermes技能合集。
为Hermes CLI agent打造的自定义视觉主题。皮肤可控制横幅颜色、ASCII艺术、加载动画文本、响应标签和品牌标识——不影响功能或个性。
Installation
安装
bash
undefinedbash
undefinedClone the repository
Clone the repository
git clone https://github.com/joeynyc/hermes-skins.git
cd hermes-skins
git clone https://github.com/joeynyc/hermes-skins.git
cd hermes-skins
Copy skins to your Hermes config directory
Copy skins to your Hermes config directory
mkdir -p ~/.hermes/skins
cp skins/*.yaml ~/.hermes/skins/
undefinedmkdir -p ~/.hermes/skins
cp skins/*.yaml ~/.hermes/skins/
undefinedQuick Start
快速开始
Apply a Skin
应用皮肤
bash
undefinedbash
undefinedSession-only (via Hermes command)
仅当前会话生效(通过Hermes命令)
/skin pirate
/skin pirate
Permanent (edit ~/.hermes/config.yaml)
永久生效(编辑~/.hermes/config.yaml)
echo "display:
skin: pirate" >> ~/.hermes/config.yaml
undefinedecho "display:
skin: pirate" >> ~/.hermes/config.yaml
undefinedBrowse Available Skins
浏览可用皮肤
Check or the repository's directory:
~/.hermes/skins/skins/- pirate — Jolly Roger skull-and-crossbones
- vault-tec — Fallout green CRT terminal
- bubblegum-80s — Neon pastels and radical vibes
- skynet — Cyberdyne red military AI
- lain — Serial Experiments Lain NAVI aesthetic
- neonwave — Synthwave grid horizon
- sakura — Cherry blossom tree
- netrunner — Cyberpunk neural interface
- mythos — Eye of Providence Greek mythology
- nous — Nous Research amber and gold
- mother — Weyland-Yutani MU-TH-UR 6000
- dos — Norton Commander dual-pane
- telemate — DOS BBS terminal
- empire — Death Star targeting console
- catppuccin — Mocha pastels with ASCII cat
Built-in skins: , , , , , ,
defaultaresmonoslateposeidonsisyphuscharizard查看或仓库的目录:
~/.hermes/skins/skins/- pirate — 海盗旗骷髅交叉骨
- vault-tec — 《辐射》绿色CRT终端风格
- bubblegum-80s — 霓虹马卡龙色调与复古潮流风格
- skynet — 天网红色军事AI风格
- lain — 《玲音》NAVI界面美学
- neonwave — 合成波网格地平线风格
- sakura — 樱花树风格
- netrunner — 赛博朋克神经接口风格
- mythos — 普罗维登斯之眼希腊神话风格
- nous — Nous Research琥珀金色风格
- mother — 维兰德-汤谷MU-TH-UR 6000风格
- dos — Norton Commander双面板风格
- telemate — DOS BBS终端风格
- empire — 死星瞄准控制台风格
- catppuccin — Mocha马卡龙色调搭配ASCII猫
内置皮肤:, , , , , ,
defaultaresmonoslateposeidonsisyphuscharizardCreating a Custom Skin
创建自定义皮肤
Minimal Skin Example
极简皮肤示例
Create :
~/.hermes/skins/cyberpunk.yamlyaml
name: cyberpunk
description: Neon terminal theme with magenta and cyan accents
colors:
# Banner colors
banner_border: "#FF00FF"
banner_title: "#00FFFF"
banner_accent: "#FF1493"
# Text colors
prompt: "#FF00FF"
user_input: "#00FFFF"
# Response colors
response_box_border: "#FF00FF"
response_label_text: "#000000"
response_label_bg: "#00FFFF"
spinner:
thinking_verbs: ["jacking in", "decrypting", "uploading", "syncing neural net"]
branding:
agent_name: "CYBERDECK AI"
response_label: " ⚡ NETRUN "
prompt_symbol: "▶ "Note: Undefined keys inherit from the skin.
default创建:
~/.hermes/skins/cyberpunk.yamlyaml
name: cyberpunk
description: Neon terminal theme with magenta and cyan accents
colors:
# Banner colors
banner_border: "#FF00FF"
banner_title: "#00FFFF"
banner_accent: "#FF1493"
# Text colors
prompt: "#FF00FF"
user_input: "#00FFFF"
# Response colors
response_box_border: "#FF00FF"
response_label_text: "#000000"
response_label_bg: "#00FFFF"
spinner:
thinking_verbs: ["jacking in", "decrypting", "uploading", "syncing neural net"]
branding:
agent_name: "CYBERDECK AI"
response_label: " ⚡ NETRUN "
prompt_symbol: "▶ "注意: 未定义的配置项将继承自皮肤。
defaultFull Skin Example
完整皮肤示例
For production skins, define all 28 color keys to avoid mismatched defaults:
yaml
name: neon-city
description: Full cyberpunk theme with neon blues and hot pinks
colors:
# Banner section
banner_border: "#FF006E"
banner_title: "#00F5FF"
banner_accent: "#FFBE0B"
banner_subtitle: "#8338EC"
banner_meta: "#FB5607"
# Prompt section
prompt: "#FF006E"
user_input: "#00F5FF"
# Response section
response_box_border: "#FF006E"
response_label_text: "#000000"
response_label_bg: "#00F5FF"
response_text: "#FFFFFF"
# Tool activity
tool_prefix: "#FFBE0B"
tool_name: "#8338EC"
tool_details: "#FB5607"
# System messages
info: "#00F5FF"
warning: "#FFBE0B"
error: "#FF006E"
success: "#3A86FF"
# Interactive UI
status_bar_bg: "#1A1A2E"
status_bar_text: "#00F5FF"
status_bar_highlight: "#FF006E"
completion_menu_bg: "#16213E"
completion_menu_text: "#FFFFFF"
completion_menu_selected_bg: "#FF006E"
completion_menu_selected_text: "#000000"
completion_menu_border: "#00F5FF"
banner:
art: |
⠀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⡀
⢸⣿⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡟⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⣿⠀⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢀⣀⣀⣀⣀⣀⣀⣀⡀⠀⣿⠀⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⠀NEON⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⠀CITY⠀⣿⡇
⢸⣿⠀⠀⣿⡇⠀⠉⠉⠉⠉⠉⠉⠉⠀⠀⣿⠀⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠀⠀⠀⠀⠀⣿⡇
⠀⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠀
spinner:
faces: ["◢", "◣", "◤", "◥"]
thinking_verbs:
- "interfacing"
- "decrypting datastream"
- "compiling neural pathways"
- "syncing wetware"
- "routing through ICE"
- "jacking in"
branding:
agent_name: "NEON CITY AI"
welcome_message: "◆ NEURAL LINK ESTABLISHED ◆"
goodbye_message: "◇ CONNECTION TERMINATED ◇"
prompt_symbol: "▶ "
response_label: " ⬢ UPLINK "
tool_activity_prefix: "◈ SYS:"生产环境皮肤需定义全部28个颜色配置项,避免默认值不匹配:
yaml
name: neon-city
description: Full cyberpunk theme with neon blues and hot pinks
colors:
# Banner section
banner_border: "#FF006E"
banner_title: "#00F5FF"
banner_accent: "#FFBE0B"
banner_subtitle: "#8338EC"
banner_meta: "#FB5607"
# Prompt section
prompt: "#FF006E"
user_input: "#00F5FF"
# Response section
response_box_border: "#FF006E"
response_label_text: "#000000"
response_label_bg: "#00F5FF"
response_text: "#FFFFFF"
# Tool activity
tool_prefix: "#FFBE0B"
tool_name: "#8338EC"
tool_details: "#FB5607"
# System messages
info: "#00F5FF"
warning: "#FFBE0B"
error: "#FF006E"
success: "#3A86FF"
# Interactive UI
status_bar_bg: "#1A1A2E"
status_bar_text: "#00F5FF"
status_bar_highlight: "#FF006E"
completion_menu_bg: "#16213E"
completion_menu_text: "#FFFFFF"
completion_menu_selected_bg: "#FF006E"
completion_menu_selected_text: "#000000"
completion_menu_border: "#00F5FF"
banner:
art: |
⠀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⡀
⢸⣿⠀⠀⢀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⠀⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡟⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⣿⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢀⣀⣀⣀⣀⣀⣀⣀⡀⠀⣿⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⠀NEON⠀⣿⡇
⢸⣿⠀⠀⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⡇⠀⣿⠀CITY⠀⣿⡇
⢸⣿⠀⠀⣿⡇⠀⠉⠉⠉⠉⠉⠉⠉⠀⠀⣿⠀⠀⠀⠀⣿⡇
⢸⣿⠀⠀⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠀⠀⠀⠀⣿⡇
⠀⠙⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠋⠀
spinner:
faces: ["◢", "◣", "◤", "◥"]
thinking_verbs:
- "interfacing"
- "decrypting datastream"
- "compiling neural pathways"
- "syncing wetware"
- "routing through ICE"
- "jacking in"
branding:
agent_name: "NEON CITY AI"
welcome_message: "◆ NEURAL LINK ESTABLISHED ◆"
goodbye_message: "◇ CONNECTION TERMINATED ◇"
prompt_symbol: "▶ "
response_label: " ⬢ UPLINK "
tool_activity_prefix: "◈ SYS:"Configuration Reference
配置参考
Color Keys (All 28)
颜色配置项(共28个)
Banner Section
横幅区域
- — Border characters
banner_border - — Main title text
banner_title - — Accent elements
banner_accent - — Subtitle text
banner_subtitle - — Version/meta info
banner_meta
- — 边框字符颜色
banner_border - — 主标题文本颜色
banner_title - — 强调元素颜色
banner_accent - — 副标题文本颜色
banner_subtitle - — 版本/元信息颜色
banner_meta
Prompt Section
提示区域
- — Prompt symbol color
prompt - — User-typed text
user_input
- — 提示符号颜色
prompt - — 用户输入文本颜色
user_input
Response Section
响应区域
- — Response box border
response_box_border - — Label text color
response_label_text - — Label background
response_label_bg - — Response content
response_text
- — 响应框边框颜色
response_box_border - — 标签文本颜色
response_label_text - — 标签背景颜色
response_label_bg - — 响应内容颜色
response_text
Tool Activity
工具活动
- — Tool prefix icon
tool_prefix - — Tool name
tool_name - — Tool details/args
tool_details
- — 工具前缀图标颜色
tool_prefix - — 工具名称颜色
tool_name - — 工具详情/参数颜色
tool_details
System Messages
系统消息
- — Info messages
info - — Warning messages
warning - — Error messages
error - — Success messages
success
- — 信息消息颜色
info - — 警告消息颜色
warning - — 错误消息颜色
error - — 成功消息颜色
success
Interactive UI
交互界面
- — Status bar background
status_bar_bg - — Status bar text
status_bar_text - — Status bar highlights
status_bar_highlight - — Autocomplete menu background
completion_menu_bg - — Menu text
completion_menu_text - — Selected item background
completion_menu_selected_bg - — Selected item text
completion_menu_selected_text - — Menu border
completion_menu_border
- — 状态栏背景颜色
status_bar_bg - — 状态栏文本颜色
status_bar_text - — 状态栏高亮颜色
status_bar_highlight - — 自动补全菜单背景颜色
completion_menu_bg - — 菜单文本颜色
completion_menu_text - — 选中项背景颜色
completion_menu_selected_bg - — 选中项文本颜色
completion_menu_selected_text - — 菜单边框颜色
completion_menu_border
Banner Art
横幅艺术
Use multiline strings with braille Unicode () or ASCII art:
⠀⠁⠂...⣿yaml
banner:
art: |
╔════════════════════════════════╗
║ █████╗ ██╗ ║
║ ██╔══██╗██║ ║
║ ███████║██║ ║
║ ██╔══██║██║ ║
║ ██║ ██║██║ ║
║ ╚═╝ ╚═╝╚═╝ ║
╚════════════════════════════════╝使用盲文Unicode()或ASCII艺术的多行字符串:
⠀⠁⠂...⣿yaml
banner:
art: |
╔════════════════════════════════╗
║ █████╗ ██╗ ║
║ ██╔══██╗██║ ║
║ ███████║██║ ║
║ ██╔══██║██║ ║
║ ██║ ██║██║ ║
║ ╚═╝ ╚═╝╚═╝ ║
╚════════════════════════════════╝Spinner Configuration
加载动画配置
yaml
spinner:
faces: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]
thinking_verbs:
- "processing"
- "analyzing"
- "computing"
- "calculating"
- "synthesizing"yaml
spinner:
faces: ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"]
thinking_verbs:
- "processing"
- "analyzing"
- "computing"
- "calculating"
- "synthesizing"Branding Text
品牌文本配置
yaml
branding:
agent_name: "MY AI ASSISTANT"
welcome_message: "System initialized. Ready for input."
goodbye_message: "Shutting down. Goodbye."
prompt_symbol: "➜ "
response_label: " RESPONSE "
tool_activity_prefix: "→ Tool:"yaml
branding:
agent_name: "MY AI ASSISTANT"
welcome_message: "System initialized. Ready for input."
goodbye_message: "Shutting down. Goodbye."
prompt_symbol: "➜ "
response_label: " RESPONSE "
tool_activity_prefix: "→ Tool:"Common Patterns
常见模板
Dark Theme Template
深色主题模板
yaml
name: my-dark-theme
description: High-contrast dark theme
colors:
banner_border: "#00FF00"
banner_title: "#FFFFFF"
banner_accent: "#00FF00"
banner_subtitle: "#AAAAAA"
banner_meta: "#666666"
prompt: "#00FF00"
user_input: "#FFFFFF"
response_box_border: "#00FF00"
response_label_text: "#000000"
response_label_bg: "#00FF00"
response_text: "#E0E0E0"
tool_prefix: "#00FF00"
tool_name: "#FFFF00"
tool_details: "#CCCCCC"
info: "#00AAFF"
warning: "#FFAA00"
error: "#FF0000"
success: "#00FF00"
status_bar_bg: "#1A1A1A"
status_bar_text: "#00FF00"
status_bar_highlight: "#FFFFFF"
completion_menu_bg: "#2A2A2A"
completion_menu_text: "#E0E0E0"
completion_menu_selected_bg: "#00FF00"
completion_menu_selected_text: "#000000"
completion_menu_border: "#00FF00"yaml
name: my-dark-theme
description: High-contrast dark theme
colors:
banner_border: "#00FF00"
banner_title: "#FFFFFF"
banner_accent: "#00FF00"
banner_subtitle: "#AAAAAA"
banner_meta: "#666666"
prompt: "#00FF00"
user_input: "#FFFFFF"
response_box_border: "#00FF00"
response_label_text: "#000000"
response_label_bg: "#00FF00"
response_text: "#E0E0E0"
tool_prefix: "#00FF00"
tool_name: "#FFFF00"
tool_details: "#CCCCCC"
info: "#00AAFF"
warning: "#FFAA00"
error: "#FF0000"
success: "#00FF00"
status_bar_bg: "#1A1A1A"
status_bar_text: "#00FF00"
status_bar_highlight: "#FFFFFF"
completion_menu_bg: "#2A2A2A"
completion_menu_text: "#E0E0E0"
completion_menu_selected_bg: "#00FF00"
completion_menu_selected_text: "#000000"
completion_menu_border: "#00FF00"Retro CRT Terminal
复古CRT终端主题
yaml
name: retro-crt
description: Amber phosphor CRT terminal
colors:
banner_border: "#FFAA00"
banner_title: "#FFCC44"
banner_accent: "#FFAA00"
banner_subtitle: "#CC8800"
banner_meta: "#AA6600"
prompt: "#FFAA00"
user_input: "#FFCC44"
response_box_border: "#FFAA00"
response_label_text: "#000000"
response_label_bg: "#FFAA00"
response_text: "#FFCC44"
tool_prefix: "#FFAA00"
tool_name: "#FFCC44"
tool_details: "#CC8800"
info: "#FFCC44"
warning: "#FFAA00"
error: "#FF6600"
success: "#FFDD66"
status_bar_bg: "#000000"
status_bar_text: "#FFAA00"
status_bar_highlight: "#FFCC44"
completion_menu_bg: "#1A0A00"
completion_menu_text: "#FFCC44"
completion_menu_selected_bg: "#FFAA00"
completion_menu_selected_text: "#000000"
completion_menu_border: "#FFAA00"
spinner:
faces: ["▖", "▘", "▝", "▗"]
thinking_verbs: ["PROCESSING", "COMPUTING", "ANALYZING"]
branding:
agent_name: "TERMINAL-6000"
prompt_symbol: "C:\\> "
response_label: " OUTPUT "yaml
name: retro-crt
description: Amber phosphor CRT terminal
colors:
banner_border: "#FFAA00"
banner_title: "#FFCC44"
banner_accent: "#FFAA00"
banner_subtitle: "#CC8800"
banner_meta: "#AA6600"
prompt: "#FFAA00"
user_input: "#FFCC44"
response_box_border: "#FFAA00"
response_label_text: "#000000"
response_label_bg: "#FFAA00"
response_text: "#FFCC44"
tool_prefix: "#FFAA00"
tool_name: "#FFCC44"
tool_details: "#CC8800"
info: "#FFCC44"
warning: "#FFAA00"
error: "#FF6600"
success: "#FFDD66"
status_bar_bg: "#000000"
status_bar_text: "#FFAA00"
status_bar_highlight: "#FFCC44"
completion_menu_bg: "#1A0A00"
completion_menu_text: "#FFCC44"
completion_menu_selected_bg: "#FFAA00"
completion_menu_selected_text: "#000000"
completion_menu_border: "#FFAA00"
spinner:
faces: ["▖", "▘", "▝", "▗"]
thinking_verbs: ["PROCESSING", "COMPUTING", "ANALYZING"]
branding:
agent_name: "TERMINAL-6000"
prompt_symbol: "C:\\> "
response_label: " OUTPUT "Minimal Monochrome
极简单色主题
yaml
name: minimal-mono
description: Clean grayscale aesthetic
colors:
banner_border: "#FFFFFF"
banner_title: "#FFFFFF"
banner_accent: "#CCCCCC"
banner_subtitle: "#AAAAAA"
banner_meta: "#888888"
prompt: "#FFFFFF"
user_input: "#EEEEEE"
response_box_border: "#CCCCCC"
response_label_text: "#000000"
response_label_bg: "#FFFFFF"
response_text: "#DDDDDD"
tool_prefix: "#CCCCCC"
tool_name: "#FFFFFF"
tool_details: "#AAAAAA"
info: "#BBBBBB"
warning: "#CCCCCC"
error: "#FFFFFF"
success: "#AAAAAA"
status_bar_bg: "#1A1A1A"
status_bar_text: "#CCCCCC"
status_bar_highlight: "#FFFFFF"
completion_menu_bg: "#2A2A2A"
completion_menu_text: "#CCCCCC"
completion_menu_selected_bg: "#FFFFFF"
completion_menu_selected_text: "#000000"
completion_menu_border: "#888888"
spinner:
faces: ["—", "\\", "|", "/"]
thinking_verbs: ["thinking", "working", "processing"]
branding:
agent_name: "Assistant"
prompt_symbol: "> "
response_label: " Reply "yaml
name: minimal-mono
description: Clean grayscale aesthetic
colors:
banner_border: "#FFFFFF"
banner_title: "#FFFFFF"
banner_accent: "#CCCCCC"
banner_subtitle: "#AAAAAA"
banner_meta: "#888888"
prompt: "#FFFFFF"
user_input: "#EEEEEE"
response_box_border: "#CCCCCC"
response_label_text: "#000000"
response_label_bg: "#FFFFFF"
response_text: "#DDDDDD"
tool_prefix: "#CCCCCC"
tool_name: "#FFFFFF"
tool_details: "#AAAAAA"
info: "#BBBBBB"
warning: "#CCCCCC"
error: "#FFFFFF"
success: "#AAAAAA"
status_bar_bg: "#1A1A1A"
status_bar_text: "#CCCCCC"
status_bar_highlight: "#FFFFFF"
completion_menu_bg: "#2A2A2A"
completion_menu_text: "#CCCCCC"
completion_menu_selected_bg: "#FFFFFF"
completion_menu_selected_text: "#000000"
completion_menu_border: "#888888"
spinner:
faces: ["—", "\\", "|", "/"]
thinking_verbs: ["thinking", "working", "processing"]
branding:
agent_name: "Assistant"
prompt_symbol: "> "
response_label: " Reply "Skin Loading Order
皮肤加载优先级
Hermes loads skins with this priority:
- (user custom)
~/.hermes/skins/<name>.yaml - Built-in skins in
skin_engine.py - skin (fallback)
default
Missing values inherit from . Unknown skin names silently fall back to .
defaultdefaultHermes按以下优先级加载皮肤:
- (用户自定义)
~/.hermes/skins/<name>.yaml - 中的内置皮肤
skin_engine.py - 皮肤( fallback)
default
缺失的配置项将继承自。未知的皮肤名称会自动 fallback 到。
defaultdefaultTroubleshooting
故障排查
Skin Not Loading
皮肤未加载
bash
undefinedbash
undefinedCheck file exists
检查文件是否存在
ls -la ~/.hermes/skins/
ls -la ~/.hermes/skins/
Verify filename matches name field
验证文件名与name字段匹配
cat ~/.hermes/skins/myskin.yaml | grep "^name:"
cat ~/.hermes/skins/myskin.yaml | grep "^name:"
Should output: name: myskin
应输出:name: myskin
Check for YAML syntax errors
检查YAML语法错误
python3 -c "import yaml; yaml.safe_load(open('~/.hermes/skins/myskin.yaml'))"
undefinedpython3 -c "import yaml; yaml.safe_load(open('~/.hermes/skins/myskin.yaml'))"
undefinedColors Not Applying
颜色未生效
- Define all 28 color keys — partial definitions inherit mismatched defaults
- Use hex format (6 digits)
#RRGGBB - Test in a terminal with true color support
- 定义全部28个颜色配置项——部分定义会继承不匹配的默认值
- 使用十六进制格式(6位)
#RRGGBB - 在支持真彩色的终端中测试
ASCII Art Rendering Issues
ASCII艺术渲染问题
yaml
undefinedyaml
undefinedUse multiline string with | or >
使用|或>定义多行字符串
banner:
art: |
Line 1
Line 2
Line 3
banner:
art: |
Line 1
Line 2
Line 3
NOT this:
不要这样写:
banner:
art: "Line 1\nLine 2" # May not render correctly
undefinedbanner:
art: "Line 1\nLine 2" # 可能无法正确渲染
undefinedSpinner Not Changing
加载动画未变化
bash
undefinedbash
undefinedRestart Hermes after editing skins
编辑皮肤后重启Hermes
Session-only skin changes require:
仅当前会话的皮肤变更需要执行:
/skin reload # If supported
/skin reload # 如果支持
Or restart the agent
或重启Agent
undefinedundefinedTesting Your Skin
测试你的皮肤
bash
undefinedbash
undefinedApply temporarily
临时应用
hermes --skin myskin
hermes --skin myskin
Or use the /skin command during session
或在会话中使用/skin命令
/skin myskin
/skin myskin
Test all elements by triggering:
通过触发以下场景测试所有元素:
- Banner (startup)
- 横幅(启动时)
- Prompt (type a message)
- 提示(输入消息)
- Response (get a reply)
- 响应(获取回复)
- Tool activity (trigger a tool call)
- 工具活动(触发工具调用)
- Errors (type invalid command)
- 错误(输入无效命令)
- Spinner (long-running task)
- 加载动画(长时间任务)
undefinedundefinedGenerate Screenshots
生成截图
If contributing to the repository:
bash
cd hermes-skins
python3 generate_screenshots.py如果要贡献到仓库:
bash
cd hermes-skins
python3 generate_screenshots.pyCreates screenshots/<skinname>.png for each skin
为每个皮肤创建screenshots/<skinname>.png
undefinedundefinedBest Practices
最佳实践
- Always define all 28 colors for production skins
- Test ASCII art with different terminal widths
- Use descriptive thinking verbs that match the theme
- Keep branding text concise — long labels break layouts
- Validate YAML syntax before submitting PRs
- Include a description in the YAML and README
- 生产皮肤务必定义全部28个颜色配置项
- 在不同终端宽度下测试ASCII艺术
- 使用与主题匹配的描述性thinking verbs
- 品牌文本保持简洁——过长的标签会破坏布局
- 提交PR前验证YAML语法
- 在YAML和README中包含描述信息
Resources
资源
- 完整Schema文档
- Hermes Agent仓库
- 盲文Unicode图案 — U+2800至U+28FF
- 真彩色终端测试