知识引擎/Hermes 知识引擎/Skins & Themes(皮肤与主题)

原文链接:Skins & Themes sidebar position: 10 title: "Skins & Themes" description: "Customize the Hermes CLI with built-in and user-defined skins"

> 原文链接:Skins & Themes


sidebar_position: 10 title: "Skins & Themes" description: "Customize the Hermes CLI with built-in and user-defined skins"

Skins & Themes(皮肤与主题)

皮肤(Skin)控制 Hermes CLI 的视觉呈现:横幅颜色、旋转动画的表情和动词、响应框标签、品牌文本和工具活动前缀。

对话风格和视觉风格是独立的概念:

  • Personality(人格) 改变 Agent 的语气和用词。
  • Skin(皮肤) 改变 CLI 的外观。

更换皮肤

/skin                # 显示当前皮肤并列出可用皮肤
/skin ares           # 切换到内置皮肤
/skin mytheme        # 切换到 ~/.hermes/skins/mytheme.yaml 中的自定义皮肤

或者在 ~/.hermes/config.yaml 中设置默认皮肤:

display:
  skin: default

内置皮肤

皮肤描述Agent 品牌视觉特征
default经典 Hermes — 金色与可爱风Hermes Agent温暖金色边框,cornsilk 文本色,旋转动画中的可爱表情。经典的蛇杖横幅。简洁而友好。
ares战神主题 — 深红与青铜Ares Agent深红色边框搭配青铜色点缀。激进的旋转动词("forging"、"marching"、"tempering steel")。自定义剑盾 ASCII 艺术横幅。
mono单色 — 简洁灰度Hermes Agent全灰色 — 无色彩。边框为 #555555,文本为 #c9d1d9。适合极简终端设置或录屏。
slate冷蓝色 — 开发者导向Hermes Agent皇家蓝边框(#4169e1),柔和蓝色文本。沉稳专业。无自定义旋转动画 — 使用默认表情。
daylight亮色主题,适用于亮色终端,深色文字配冷蓝色点缀Hermes Agent为白色或亮色终端设计。深石板色文字配蓝色边框,浅色状态面板,以及亮色终端配置文件中可读的浅色补全菜单。
warm-lightmode温暖棕色/金色文本,适用于亮色终端背景Hermes Agent亮色终端的温暖羊皮纸色调。深棕色文字配马鞍棕点缀,奶油色状态面板。较冷色调 daylight 主题的温暖替代方案。
poseidon海神主题 — 深蓝与海泡色Poseidon Agent深蓝到海泡色渐变。海洋主题旋转动画("charting currents"、"sounding the depth")。三叉戟 ASCII 艺术横幅。
sisyphus西西弗斯主题 — 严苛灰度与坚持Sisyphus Agent浅灰色配鲜明对比。巨石主题旋转动画("pushing uphill"、"resetting the boulder"、"enduring the loop")。巨石与山坡 ASCII 艺术横幅。
charizard火山主题 — 焦橙与余烬Charizard Agent温暖焦橙到余烬渐变。火焰主题旋转动画("banking into the draft"、"measuring burn")。龙形轮廓 ASCII 艺术横幅。

完整可配置键列表

颜色(colors:

控制 CLI 中所有颜色值。值为十六进制颜色字符串。

描述默认值(default 皮肤)
banner_border启动横幅周围的面板边框#CD7F32(青铜色)
banner_title横幅中的标题文本颜色#FFD700(金色)
banner_accent横幅中的章节标题(Available Tools 等)#FFBF00(琥珀色)
banner_dim横幅中的暗淡文本(分隔符、次要标签)#B8860B(深秋麒麟色)
banner_text横幅中的正文文本(工具名称、技能名称)#FFF8DC(cornsilk)
ui_accent通用 UI 强调色(高亮、活动元素)#FFBF00
ui_labelUI 标签和标记#4dd0e1(青色)
ui_ok成功指示器(对勾、完成)#4caf50(绿色)
ui_error错误指示器(失败、被阻止)#ef5350(红色)
ui_warn警告指示器(注意、审批提示)#ffa726(橙色)
prompt交互式提示文本颜色#FFF8DC
input_rule输入区域上方的水平线#CD7F32
response_borderAgent 响应框周围的边框(ANSI 转义)#FFD700
session_label会话标签颜色#DAA520
session_border会话 ID 暗淡边框颜色#8B8682
status_bar_bgTUI 状态/用量条的背景色#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:

控制等待 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_prefixstringCLI 中工具输出行的前缀字符
tool_emojisdict每个工具的表情覆盖,用于旋转动画和进度({tool_name: emoji}{}
banner_logostringRich 标记 ASCII 艺术标志(替代默认 HERMES_AGENT 横幅)""
banner_herostringRich 标记英雄艺术(替代默认蛇杖艺术)""

自定义皮肤

~/.hermes/skins/ 下创建 YAML 文件。用户皮肤从内置 default 皮肤继承缺失的值,因此只需指定要更改的键。

完整自定义皮肤 YAML 模板

# ~/.hermes/skins/mytheme.yaml
# 完整皮肤模板 — 显示所有键。删除不需要的;
# 缺失的值会自动从 'default' 皮肤继承。

name: mytheme
description: 我的自定义主题

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: "┊"

# 每个工具的表情覆盖(可选)
tool_emojis:
  terminal: "⚔"
  web_search: "🔮"
  read_file: "📄"

# 自定义 ASCII 艺术横幅(可选,支持 Rich 标记)
# banner_logo: |
#   [bold #FFD700] MY AGENT [/]
# banner_hero: |
#   [#FFD700]  此处放置自定义艺术  [/]

最小自定义皮肤示例

由于所有内容都从 default 继承,最小皮肤只需更改不同的部分:

name: cyberpunk
description: 霓虹终端主题

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 皮肤字段(颜色、旋转动画、品牌、工具前缀、工具表情)
  • 从文本提示生成 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. 打开 Skin Studio
  3. 选择一个内置或自定义皮肤进行编辑。
  4. 从文本生成标志和/或上传图片生成英雄艺术。选择渲染风格和宽度。
  5. 编辑颜色、旋转动画、品牌和其他字段。
  6. 点击 Save 将皮肤 YAML 写入 ~/.hermes/skins/
  7. 点击 Activate 将其设置为当前皮肤(更新 config.yaml 中的 display.skin)。

Hermes Mod 支持 HERMES_HOME 环境变量,因此它也适用于 profiles

运维说明

  • 内置皮肤从 hermes_cli/skin_engine.py 加载。
  • 未知皮肤自动回退到 default
  • /skin 会立即更新当前会话的活动 CLI 主题。
  • ~/.hermes/skins/ 中的用户皮肤优先于同名的内置皮肤。
  • 通过 /skin 更改皮肤仅对当前会话生效。要将皮肤设为永久默认值,请在 config.yaml 中设置。
  • banner_logobanner_hero 字段支持 Rich console 标记(如 [bold #FF0000]text[/])用于彩色 ASCII 艺术。

Continue Exploring

继续探索

这不是课程式的上一篇下一篇,而是从当前节点向外继续漫游。

使用指南

多配置文件 (Profiles)

Run multiple independent Hermes agents on the same machine — each with its own config, API keys, memory, sessions, skills, and gateway. A profile is a fully iso

核心功能

工具与工具集 (Tools & Toolsets)

Tools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform.

核心功能

记忆系统 (Memory System)

Hermes Agent has bounded, curated memory that persists across sessions. This lets it remember your preferences, your projects, your environment, and things it h

核心功能

技能系统 (Skill System)

技能是 Hermes 的可复用知识模块。每个技能都是一个 Markdown 文件,在激活时注入到 Agent 的上下文中——为其提供持久的工作流、领域知识和行为指南,而无需将这些内容塞入系统提示中。 技能是可热插拔的:你可以在会话中途安装、创建、编辑和切换技能。它们在 CLI、消息平台和 Gateway 后台任务中均可

核心功能

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

核心功能

ACP 编辑器集成 (ACP Editor Integration)

Hermes Agent 可以作为 ACP 服务器运行,让 ACP 兼容的编辑器通过 stdio 与 Hermes 通信,并渲染: - 聊天消息 - 工具活动 - 文件差异 - 终端命令 - 审批提示 - 流式思考 / 响应片段 当你希望 Hermes 像编辑器原生的编程 Agent 一样工作,而不是独立的 CLI 或

Core Features

核心功能

Hermes 的能力核心:工具、记忆、技能、委派、自动化、语音、插件与浏览器控制。

31 篇文档30 个节点

当前节点

Skins & Themes(皮肤与主题)

同主题继续探索

工具与工具集 (Tools & Toolsets)

Tools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform.

记忆系统 (Memory System)

Hermes Agent has bounded, curated memory that persists across sessions. This lets it remember your preferences, your projects, your environment, and things it h

技能系统 (Skill System)

技能是 Hermes 的可复用知识模块。每个技能都是一个 Markdown 文件,在激活时注入到 Agent 的上下文中——为其提供持久的工作流、领域知识和行为指南,而无需将这些内容塞入系统提示中。 技能是可热插拔的:你可以在会话中途安装、创建、编辑和切换技能。它们在 CLI、消息平台和 Gateway 后台任务中均可

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

ACP 编辑器集成 (ACP Editor Integration)

Hermes Agent 可以作为 ACP 服务器运行,让 ACP 兼容的编辑器通过 stdio 与 Hermes 通信,并渲染: - 聊天消息 - 工具活动 - 文件差异 - 终端命令 - 审批提示 - 流式思考 / 响应片段 当你希望 Hermes 像编辑器原生的编程 Agent 一样工作,而不是独立的 CLI 或

API 服务器 (API Server)

The API server exposes hermes-agent as an OpenAI-compatible HTTP endpoint. Any frontend that speaks the OpenAI format — Open WebUI, LobeChat, LibreChat, NextCha

相关节点

多配置文件 (Profiles)

Run multiple independent Hermes agents on the same machine — each with its own config, API keys, memory, sessions, skills, and gateway. A profile is a fully iso

工具与工具集 (Tools & Toolsets)

Tools are functions that extend the agent's capabilities. They're organized into logical toolsets that can be enabled or disabled per platform.

记忆系统 (Memory System)

Hermes Agent has bounded, curated memory that persists across sessions. This lets it remember your preferences, your projects, your environment, and things it h

技能系统 (Skill System)

技能是 Hermes 的可复用知识模块。每个技能都是一个 Markdown 文件,在激活时注入到 Agent 的上下文中——为其提供持久的工作流、领域知识和行为指南,而无需将这些内容塞入系统提示中。 技能是可热插拔的:你可以在会话中途安装、创建、编辑和切换技能。它们在 CLI、消息平台和 Gateway 后台任务中均可

MCP 集成 (MCP Integration)

MCP 让 Hermes Agent 连接到外部工具服务器,使 Agent 能够使用 Hermes 本身之外的工具——GitHub、数据库、文件系统、浏览器栈、内部 API 等。 如果你曾想让 Hermes 使用一个已经存在于其他地方的工具,MCP 通常是最简洁的方式。 - 无需先编写原生 Hermes 工具即可访问外

ACP 编辑器集成 (ACP Editor Integration)

Hermes Agent 可以作为 ACP 服务器运行,让 ACP 兼容的编辑器通过 stdio 与 Hermes 通信,并渲染: - 聊天消息 - 工具活动 - 文件差异 - 终端命令 - 审批提示 - 流式思考 / 响应片段 当你希望 Hermes 像编辑器原生的编程 Agent 一样工作,而不是独立的 CLI 或