Skip to main content

皮肤与主题

皮肤控制 Hermes CLI 的视觉呈现:横幅颜色、旋转图标表情和动词、响应框标签、品牌文字,以及工具活动前缀。

对话风格与视觉风格是两个独立的概念:

  • 个性(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 Agent温暖的金色边框,玉米色文字,旋转图标使用可爱的面部表情。熟悉的双蛇杖横幅。简洁而亲切。
ares战神主题 — 深红与青铜色Ares Agent深红色边框搭配青铜点缀。旋转动词充满攻击性(“锻造”、“行军”、“淬炼钢铁”)。自定义剑盾 ASCII 艺术横幅。
mono单色 — 简洁灰阶Hermes Agent全部为灰色 — 无彩色。边框为 #555555,文字为 #c9d1d9。适合极简终端环境或屏幕录制。
slate冷蓝色 — 开发者导向Hermes Agent皇家蓝色边框 (#4169e1),柔和蓝色文字。冷静专业。不使用自定义旋转图标,采用默认表情。
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通用 UI 强调色(高亮、活跃元素)#FFBF00
ui_labelUI 标签和标签文字#4dd0e1 (青绿色)
ui_ok成功指示器(对勾、完成状态)#4caf50 (绿色)
ui_error错误指示器(失败、阻塞)#ef5350 (红色)
ui_warn警告指示器(警告、确认提示)#ffa726 (橙色)
prompt交互式提示文字颜色#FFF8DC
input_rule输入区域上方的水平分隔线#CD7F32
response_border代理响应框周围的边框(ANSI 转义序列)#FFD700
session_label会话标签颜色#DAA520
session_border会话 ID 暗色边框颜色#8B8682

旋转图标 (spinner:)

控制等待 API 响应时显示的动画旋转图标。

类型描述示例
waiting_faces字符串列表等待 API 响应时循环的表情["(⚔)", "(⛨)", "(▲)"]
thinking_faces字符串列表模型推理期间循环的表情["(⚔)", "(⌁)", "(<>)"]
thinking_verbs字符串列表旋转消息中显示的动词["forging", "plotting", "hammering plans"]
wings[左, 右] 对列表旋转图标的装饰性括号[["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]]

当旋转值为空(如 defaultmono),将使用来自 display.py 的硬编码默认值。

品牌标识 (branding:)

CLI 界面中使用的文本字符串。

描述默认值
agent_name横幅标题和状态显示中显示的名称Hermes Agent
welcomeCLI 启动时显示的欢迎信息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字典每个工具的 emoji 覆盖项,用于旋转图标和进度条({tool_name: emoji}{}
banner_logo字符串富标记 ASCII 艺术 Logo(替换默认的 HERMES_AGENT 横幅)""
banner_hero字符串富标记英雄艺术(替换默认的双蛇杖艺术)""

自定义皮肤

将 YAML 文件创建于 ~/.hermes/skins/ 目录下。用户皮肤会继承内置 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"

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 是社区开发的 Web UI,可实现可视化创建和管理皮肤。无需手动编写 YAML,而是通过点选操作的编辑器配合实时预览。

Hermes Mod 皮肤编辑器

功能包括:

  • 列出所有内置和自定义皮肤
  • 将任意皮肤打开至可视化编辑器,包含所有 Hermes 皮肤字段(颜色、旋转图标、品牌标识、工具前缀、工具 emoji)
  • 从文本提示生成 banner_logo 文本艺术
  • 将上传的图像(PNG、JPG、GIF、WEBP)转换为 banner_hero ASCII 艺术,支持多种渲染风格(盲文、ASCII 梯度、块状、点状)
  • 直接保存至 ~/.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

使用方法

  1. 启动应用(通过 Pinokio 或终端)。
  2. 打开 皮肤工作室
  3. 选择要编辑的内置或自定义皮肤。
  4. 从文本生成 Logo,或上传图像作为英雄艺术。选择渲染风格和宽度。
  5. 编辑颜色、旋转图标、品牌标识及其他字段。
  6. 点击 保存,将皮肤 YAML 写入 ~/.hermes/skins/
  7. 点击 激活,将其设为当前皮肤(更新 display.skin 中的 config.yaml)。

Hermes Mod 尊重 HERMES_HOME 环境变量,因此也支持 配置文件

操作注意事项- 内置皮肤从 hermes_cli/skin_engine.py 加载。

  • 未知的皮肤会自动回退到 default
  • /skin 会立即更新当前会话的 CLI 主题。
  • 用户自定义的皮肤(位于 ~/.hermes/skins/)会优先于同名的内置皮肤。
  • 通过 /skin 更改的皮肤仅在当前会话有效。如需设为永久默认,请在 config.yaml 中设置。
  • banner_logobanner_hero 字段支持富文本控制台标记(例如 [bold #FF0000]text[/]),用于彩色 ASCII 艺术。