Skip to content

主题皮肤

Hermes CLI 支持通过主题皮肤(Skin)自定义终端界面的颜色和视觉风格。


内置主题

Hermes 预置了四套主题,通过 SkinConfig 系统管理:

主题名风格说明
default默认主题,平衡的蓝紫色调,适合大多数终端
ares红色战神风格,高对比度,视觉冲击力强
mono单色主题,黑白灰色调,减少视觉干扰
slate深灰板岩色调,低饱和度,适合长时间使用

切换内置主题

在配置文件中设置主题:

bash
hermes config set display.skin default
hermes config set display.skin ares
hermes config set display.skin mono
hermes config set display.skin slate

或直接编辑 ~/.hermes/config.yaml

yaml
display:
  skin: ares

自定义主题

主题文件位置

自定义主题文件存放在 ~/.hermes/skins/ 目录下,文件名即主题名:

~/.hermes/
└── skins/
    ├── my-theme.yaml
    └── company-theme.yaml

主题文件格式

创建 ~/.hermes/skins/my-theme.yaml

yaml
# 主题元信息
name: my-theme
description: "我的自定义主题"
author: "你的名字"

# 主色调
colors:
  # 用户消息
  user_message: "#61AFEF"          # 用户输入文字颜色
  user_label: "#528BFF"            # "You" 标签颜色

  # Agent 消息
  agent_message: "#ABB2BF"         # Agent 回复文字颜色
  agent_label: "#C678DD"           # "Hermes" 标签颜色

  # 工具调用
  tool_name: "#E5C07B"             # 工具名称颜色
  tool_input: "#98C379"            # 工具输入参数颜色
  tool_output: "#56B6C2"           # 工具输出结果颜色
  tool_border: "#3E4451"           # 工具调用边框颜色

  # 系统界面
  status_bar_bg: "#21252B"         # 状态栏背景色
  status_bar_fg: "#ABB2BF"         # 状态栏文字颜色
  status_bar_model: "#61AFEF"      # 状态栏模型名颜色
  status_bar_tokens: "#98C379"     # 状态栏 token 数颜色

  # 提示词和输入框
  prompt_bg: "#282C34"             # 输入框背景色
  prompt_fg: "#ABB2BF"             # 输入框文字颜色
  prompt_cursor: "#528BFF"         # 光标颜色
  prompt_border: "#3E4451"         # 输入框边框颜色

  # 高亮和强调
  highlight: "#E06C75"             # 警告/错误高亮颜色
  success: "#98C379"               # 成功状态颜色
  warning: "#E5C07B"               # 警告状态颜色
  error: "#E06C75"                 # 错误状态颜色
  info: "#61AFEF"                  # 信息状态颜色

  # 代码块
  code_bg: "#1E2127"               # 代码块背景色
  code_border: "#3E4451"           # 代码块边框颜色

# 样式设置
styles:
  user_label_bold: true            # 用户标签是否加粗
  agent_label_bold: true           # Agent 标签是否加粗
  tool_name_bold: true             # 工具名称是否加粗
  show_tool_borders: true          # 是否显示工具调用边框
  compact_mode: false              # 紧凑模式(减少空白行)
  show_timestamps: false           # 是否显示消息时间戳

# 图标(可选,需要终端支持 Unicode)
icons:
  user: "❯"                        # 用户输入提示符
  agent: "◆"                       # Agent 响应标识
  tool: "⚙"                        # 工具调用标识
  success: "✓"                     # 成功标识
  error: "✗"                       # 错误标识
  thinking: "◌"                    # 思考中标识

使用自定义主题

bash
hermes config set display.skin my-theme

主题文件保存后立即生效(下次启动 Hermes 时加载)。


颜色格式

主题文件中的颜色支持以下格式:

格式示例说明
十六进制"#61AFEF"推荐格式,精确指定颜色
RGB"rgb(97,175,239)"RGB 数值格式
终端颜色名"blue", "bright_red"终端内置颜色名称
终端颜色编号"color(33)"256 色终端编号

主题示例

暗色 One Dark 风格

yaml
name: one-dark
description: "Atom One Dark 风格主题"

colors:
  user_message: "#61AFEF"
  user_label: "#528BFF"
  agent_message: "#ABB2BF"
  agent_label: "#C678DD"
  tool_name: "#E5C07B"
  tool_input: "#98C379"
  tool_output: "#56B6C2"
  tool_border: "#3E4451"
  status_bar_bg: "#21252B"
  status_bar_fg: "#ABB2BF"
  status_bar_model: "#61AFEF"
  status_bar_tokens: "#98C379"
  prompt_bg: "#282C34"
  prompt_fg: "#ABB2BF"
  prompt_cursor: "#528BFF"
  prompt_border: "#3E4451"
  highlight: "#E06C75"
  success: "#98C379"
  warning: "#E5C07B"
  error: "#E06C75"
  info: "#61AFEF"
  code_bg: "#1E2127"
  code_border: "#3E4451"

styles:
  user_label_bold: true
  agent_label_bold: true
  show_tool_borders: true
  compact_mode: false

亮色简约风格

yaml
name: light-minimal
description: "亮色背景简约主题"

colors:
  user_message: "#0550AE"
  user_label: "#0969DA"
  agent_message: "#24292F"
  agent_label: "#8250DF"
  tool_name: "#953800"
  tool_input: "#116329"
  tool_output: "#0969DA"
  tool_border: "#D0D7DE"
  status_bar_bg: "#F6F8FA"
  status_bar_fg: "#24292F"
  status_bar_model: "#0969DA"
  status_bar_tokens: "#116329"
  prompt_bg: "#FFFFFF"
  prompt_fg: "#24292F"
  prompt_cursor: "#0969DA"
  prompt_border: "#D0D7DE"
  highlight: "#CF222E"
  success: "#116329"
  warning: "#7D4E00"
  error: "#CF222E"
  info: "#0969DA"
  code_bg: "#F6F8FA"
  code_border: "#D0D7DE"

styles:
  user_label_bold: true
  agent_label_bold: false
  show_tool_borders: true
  compact_mode: true
  show_timestamps: true

icons:
  user: ">"
  agent: "*"
  tool: "#"

分享主题

你可以将自定义主题文件分享给其他用户:

bash
# 导出主题文件
cp ~/.hermes/skins/my-theme.yaml ./my-theme.yaml

# 其他用户安装
cp my-theme.yaml ~/.hermes/skins/
hermes config set display.skin my-theme

故障排查

主题不生效?

  • 确认文件名与 display.skin 配置中的名称一致(不含 .yaml 后缀)
  • 检查 YAML 语法是否正确:python3 -c "import yaml; yaml.safe_load(open('~/.hermes/skins/my-theme.yaml'))"
  • 重启 Hermes 使配置生效

颜色显示异常?

  • 确认终端支持 24 位真彩色(TrueColor)
  • 在终端中运行 echo $COLORTERM,应显示 truecolor24bit
  • 如不支持真彩色,改用终端颜色名称("blue""bright_cyan" 等)

基于 MIT 许可发布 | 由 Nous Research 开发