维护咨询 大模型部署 问题解决 技能定制 大模型训练
Hermes Agent不只是功能强大,它的CLI界面也可以完全自定义——换颜色、换字体、换图标、换提示符号。Skin系统让每个用户的终端看起来都不一样。
这个系统是完全数据驱动的,不需要改代码,只需要写一个YAML配置文件。
## Skin系统是什么
Hermes的CLI外观由Skin引擎控制。Skin是一个YAML文件,定义了界面的所有视觉元素:
– 颜色方案(边框、标题、正文、强调色)
– 加载动画(spinner的图案和文字)
– 品牌文字(Agent名称、欢迎语、提示符)
– 工具输出前缀
– 每个工具的emoji图标
内置4个Skin:default(默认金棕色)、ares(红铜战争风格)、mono(灰度单色)、slate(冷蓝开发者风格)。
—
## Skin的YAML结构
所有字段都是可选的,缺失的值会自动从default skin继承。
# ~/.hermes/skins/mytheme.yaml
name: mytheme
description: 我的自定义主题
# 颜色:hex值,用于Rich markup
colors:
banner_border: "#CD7F32" # 面板边框颜色
banner_title: "#FFD700" # 面板标题颜色
banner_accent: "#FFBF00" # 章节标题颜色
banner_dim: "#B8860B" # 暗淡文字(分隔符、标签)
banner_text: "#FFF8DC" # 正文颜色(工具名、skill名)
ui_accent: "#FFBF00" # 通用UI强调色
ui_label: "#4dd0e1" # UI标签色
# 品牌文字
branding:
agent_name: "Hermes Agent" # 横幅标题、状态显示
welcome: "Welcome message" # 启动时显示
goodbye: "Goodbye! ⚕" # 退出时显示
response_label: " ⚕ Hermes " # 响应框标题
prompt_symbol: "❯ " # 输入提示符号
help_header: "(^_^)? Commands" # /help标题文字
# 工具输出前缀(默认: ┊)
tool_prefix: "┊"
# 工具emoji:覆盖任何工具的默认emoji
tool_emojis:
terminal: "⚔"
web_search: "🔮"
read_file: "📄"
write_file: "✏️"
browser_navigate: "🌐"
delegate_task: "🤖"
execute_code: "⚡"
—
## 安装和使用Skin
方式一:使用内置Skin
/skin list # 查看所有可用Skin
/skin slate # 切换到slate主题
/skin ares # 切换到ares主题
/skin default # 切回默认主题
方式二:安装自定义Skin
mkdir -p ~/.hermes/skins/
cp mytheme.yaml ~/.hermes/skins/
/skin list # 现在能看到mytheme了
/skin mytheme # 切换到它
方式三:通过config.yaml设置默认Skin
# config.yaml
display:
skin: slate # 启动时默认使用slate
—
## Skin的工作原理
从代码层面看,Skin系统在`hermes_cli/skin_engine.py`里实现:
# Skin配置在CLI启动时读取
skin = get_active_skin()
# 颜色可以通过skin对象访问
print(skin.colors["banner_title"]) # "#FFD700"
print(skin.get_branding("agent_name")) # "Hermes Agent"
# 运行时切换
set_active_skin("ares") # 切换到内置Skin
set_active_skin("mytheme") # 切换到用户Skin
所有颜色值都支持Rich的hex颜色语法。Banner面板、响应框、spinner动画全部由Skin数据驱动,不写死颜色代码。
—
## 常用场景
场景一:深夜使用,换暗色主题
# ~/.hermes/skins/dark.yaml
name: dark
description: 深夜护眼主题
colors:
banner_border: "#2d2d2d"
banner_title: "#888888"
banner_text: "#aaaaaa"
branding:
prompt_symbol: "◉ "
场景二:企业环境,专业低调风格
name: corporate
description: 企业专业风格
colors:
banner_border: "#1565C0"
banner_title: "#0D47A1"
banner_accent: "#1976D2"
branding:
agent_name: "企业助手"
response_label: " ◆ 企业 "
场景三:自定义每个工具的emoji
tool_emojis:
terminal: "🔧"
web_search: "🔍"
read_file: "📄"
write_file: "✏️"
browser_navigate: "🌐"
delegate_task: "🤖"
execute_code: "⚡"
—
## 自定义工具前缀
tool_prefix: " → " # 箭头符号
tool_prefix: " │ " # 竖线
tool_prefix: "▸ " # 三角箭头
—
## 常见问题
Q:Skin会影响AI的回答内容吗?
A:不会。Skin只改变CLI的视觉外观,AI的行为和回答完全不受影响。
Q:修改Skin需要重启Hermes吗?
A:不需要。/skin命令是运行时切换,立即生效。
Q:用户自定义Skin升级时被覆盖吗?
A:不会。内置Skin升级时可能重置,但~/.hermes/skins/下的自定义Skin不会被影响。
Q:可以给不同Profile用不同Skin吗?
A:可以。每个Profile有独立的config.yaml,给不同Profile设置不同的display.skin即可。
—
## 相关文章








暂无评论内容