皮膚與主題
皮膚控制 Hermes CLI 的 視覺呈現:橫幅顏色、旋轉圖標和動詞、響應框標籤、品牌文本以及工具活動前綴。
對話風格與視覺風格是兩個獨立的概念:
- 個性(Personality)改變 Agent 的語氣和措辭。
- 皮膚(Skin)改變 CLI 的外觀。
更改皮膚
/skin # 顯示當前皮膚並列出可用皮膚
/skin ares # 切換到內置皮膚
/skin mytheme # 從“0”切換到自定義皮膚
或在 ~/.hermes/config.yaml 中設置默認皮膚:
display:
skin: default
內置皮膚
| 皮膚 | 描述 | Agent 品牌 | 視覺特徵 |
|---|---|---|---|
default | 經典 Hermes — 金色與可愛風 | 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_label | UI 標籤和標籤 | #4dd0e1(青綠色) |
ui_ok | 成功指示(對勾、完成狀態) | #4caf50(綠色) |
ui_error | 錯誤指示(失敗、阻塞) | #ef5350(紅色) |
ui_warn | 警告指示(警告、確認提示) | #ffa726(橙色) |
prompt | 交互式提示文字顏色 | #FFF8DC |
input_rule | 輸入區域上方的水平分隔線 | #CD7F32 |
response_border | Agent 響應框周圍的邊框(ANSI 轉義序列) | #FFD700 |
session_label | 會話標籤顏色 | #DAA520 |
session_border | 會話 ID 淡化邊框顏色 | #8B8682 |
旋轉圖標(spinner:)
控制等待 API 響應時顯示的動畫旋轉圖標。
| 鍵 | 類型 | 描述 | 示例 |
|---|---|---|---|
waiting_faces | 字符串列表 | 等待 API 響應時循環的圖標 | ["(⚔)", "(⛨)", "(▲)"] |
thinking_faces | 字符串列表 | 模型推理期間循環的圖標 | ["(⚔)", "(⌁)", "(<>)"] |
thinking_verbs | 字符串列表 | 旋轉圖標消息中顯示的動詞 | ["forging", "plotting", "hammering plans"] |
wings | [左, 右] 對列表 | 旋轉圖標的裝飾性括號 | [["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]] |
當旋轉圖標值為空時(如 default 和 mono 皮膚),將使用 display.py 中的硬編碼默認值。
品牌(branding:)
CLI 界面中使用的文本字符串。
| 鍵 | 描述 | 默認值 |
|---|---|---|
agent_name | 橫幅標題和狀態顯示中顯示的名稱 | Hermes Agent |
welcome | CLI 啟動時顯示的歡迎消息 | 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 | string | CLI 中工具輸出行前的前綴字符 | ┊ |
tool_emojis | dict | 各工具的進度指示器和進度條自定義表情符號(格式為 {tool_name: emoji}) | {} |
banner_logo | string | Rich 格式的 ASCII 藝術 Logo(替換默認的 HERMES_AGENT 標誌) | "" |
banner_hero | string | Rich 格式的英雄藝術圖(替換默認的蛇杖圖案) | "" |
自定義皮膚
在 ~/.hermes/skins/ 目錄下創建 YAML 文件。用戶皮膚會繼承內置 default 皮膚中缺失的值,因此你只需指定需要更改的鍵。
完整自定義皮膚 YAML 模板
# ~/.hermes/skins/mytheme.yaml
# 完整的皮膚模板 - 顯示所有按鍵。刪除不需要的;
# 缺失值自動從“0”皮膚繼承。
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: "┊"
# 每個 tool 表情符號覆蓋(可選)
tool_emojis:
terminal: "⚔"
web_search: "🔮"
read_file: "📄"
# 自定義 ASCII 藝術橫幅(可選,支持 Rich 標記)
# 橫幅標誌:|
# [粗體 #FFD700] 我的 AGENT [/]
# 橫幅英雄: |
# [#FFD700] 這裡是自定義藝術 [/]
最小化自定義皮膚示例
由於所有內容均繼承自 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 皮膚字段(顏色、進度指示器、品牌標識、工具前綴、工具表情符號)
- 根據文本提示生成
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
使用方法
- 啟動應用(通過 Pinokio 或終端)。
- 打開 皮膚工作室。
- 選擇一個內置或自定義皮膚進行編輯。
- 從文本生成 Logo,或上傳圖像作為英雄藝術。選擇渲染風格和寬度。
- 編輯顏色、進度指示器、品牌標識及其他字段。
- 點擊 保存,將皮膚 YAML 寫入
~/.hermes/skins/。 - 點擊 激活,將其設為當前皮膚(更新
config.yaml中的display.skin)。
Hermes Mod 支持 HERMES_HOME 環境變量,因此也適用於配置文件。
操作說明
- 內置皮膚從
hermes_cli/skin_engine.py加載。 - 未知皮膚會自動回退到
default。 /skin命令可立即更新當前會話的 CLI 主題。~/.hermes/skins/中的用戶皮膚優先於同名的內置皮膚。- 通過
/skin進行的皮膚更改僅在當前會話有效。如需設為永久默認,需在config.yaml中設置。 banner_logo和banner_hero字段支持 Rich 控制檯標記(例如[bold #FF0000]text[/]),用於彩色 ASCII 藝術。