皮肤与主题
皮肤控制的是 Hermes CLI 的 视觉呈现:横幅颜色、spinner 表情和动词、响应框标签、品牌文字,以及工具活动前缀。
对话风格和视觉风格是两回事:
- 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 风格,金色 + kawaii | Hermes Agent | 温暖的金色边框、cornsilk 文本、kawaii 风格 spinner 表情。熟悉的双蛇杖横幅,整洁且亲和。 |
ares | 战神主题,深红与青铜 | Ares Agent | 深红边框配青铜强调色。更具攻击性的 spinner 动词(如 “forging”“marching”“tempering steel”),带剑盾 ASCII 横幅。 |
mono | 单色极简灰度风格 | Hermes Agent | 全灰阶无彩色,适合极简终端配置或录屏场景。 |
slate | 冷蓝开发者风格 | Hermes Agent | 皇家蓝边框、柔和蓝色文本,沉稳专业。spinner 使用默认表情。 |
daylight | 面向亮色终端的浅色主题 | Hermes Agent | 深色正文搭配冷蓝强调,浅色状态面板,在浅色终端中依然清晰易读。 |
warm-lightmode | 面向浅色终端的暖棕金风格 | Hermes Agent | 纸张感暖色调,深棕文字配马鞍棕强调色,偏温润。 |
poseidon | 海神主题,深蓝与海沫色 | Poseidon Agent | 深海蓝到海沫色渐变,海洋主题 spinner,带三叉戟 ASCII 横幅。 |
sisyphus | 西西弗主题,克制灰阶与执着感 | Sisyphus Agent | 强对比浅灰色调,滚石主题 spinner,带山丘与巨石 ASCII 横幅。 |
charizard | 火山主题,焦橙与余烬色 | Charizard Agent | 焦橙到余烬渐变,火焰主题 spinner,带龙形 ASCII 横幅。 |
可配置键完整列表
颜色(colors:)
控制 CLI 全局所有颜色值,采用十六进制字符串。
| Key | 说明 | 默认值(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 | 响应框边框颜色 | #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(spinner:)
控制等待 API 响应时显示的动画 spinner。
| Key | 类型 | 说明 | 示例 |
|---|---|---|---|
waiting_faces | 字符串列表 | 等待 API 响应时轮换显示的表情 | [(⚔), (⛨), (▲)] |
thinking_faces | 字符串列表 | 模型推理时轮换显示的表情 | [(⚔), (⌁), (<>) ] |
thinking_verbs | 字符串列表 | spinner 提示文案中的动词 | ["forging", "plotting", "hammering plans"] |
wings | [left, right] 对列表 | spinner 两侧装饰 | [["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]] |
如果 spinner 相关值为空(如 default 和 mono),则会使用 display.py 中的硬编码默认值。
品牌文案(branding:)
控制 CLI 中显示的各类文案。
| Key | 说明 | 默认值 |
|---|---|---|
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 |
其他顶层键
| Key | 类型 | 说明 | 默认值 |
|---|---|---|---|
tool_prefix | string | CLI 中工具输出行的前缀字符 | ┊ |
tool_emojis | dict | 按工具覆盖 spinner / 进度 emoji | {} |
banner_logo | string | Rich 标记的 ASCII logo,替换默认 HERMES_AGENT 横幅 | "" |
banner_hero | string | Rich 标记的 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: "#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: "┊"
# 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 是社区构建的网页 UI,用于可视化创建和管理皮肤。你无需手写 YAML,就能在所见即所得的界面中编辑并实时预览。

它能做什么:
- 列出所有内置和自定义皮肤
- 打开任意皮肤并以可视化方式编辑所有字段(颜色、spinner、branding、tool prefix、tool emoji)
- 通过文本提示生成
banner_logo文字艺术 - 把上传的图片(PNG、JPG、GIF、WEBP)转换为
banner_heroASCII 艺术,并支持多种渲染风格 - 直接保存到
~/.hermes/skins/ - 通过更新
~/.hermes/config.yaml激活皮肤 - 显示生成后的 YAML 和实时预览
安装
方式 1:Pinokio(单击安装)
可在 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
- 选择一个内置或自定义皮肤进行编辑
- 使用文本生成 logo,并/或上传图片生成 hero art,选择渲染样式和宽度
- 编辑颜色、spinner、branding 等字段
- 点击 Save,把皮肤 YAML 写入
~/.hermes/skins/ - 点击 Activate,将其设为当前皮肤(更新
config.yaml中的display.skin)
Hermes Mod 也会遵守 HERMES_HOME 环境变量,因此同样支持 profiles。
运行说明
- 内置皮肤定义在
hermes_cli/skin_engine.py - 未知皮肤会自动回退到
default /skin会立刻更新当前会话中的 CLI 主题~/.hermes/skins/中的用户皮肤若与内置皮肤同名,用户版本优先- 通过
/skin的更改只在当前会话生效;若要设为长期默认值,请写入config.yaml banner_logo和banner_hero支持 Rich 控制台标记(例如[bold #FF0000]text[/])来渲染彩色 ASCII 艺术