主题皮肤
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,应显示truecolor或24bit - 如不支持真彩色,改用终端颜色名称(
"blue"、"bright_cyan"等)