Documentação oficial desta página · v0.20.6
Skins e Temas
Skins controlam a apresentação visual da CLI do Hermes: cores do banner, carinhas e verbos do spinner, rótulos da caixa de resposta, texto de marca e o prefixo de atividade das ferramentas.
Estilo de conversa e estilo visual são conceitos separados:
- Personalidade muda o tom e as palavras do agente.
- Skin muda a aparência da CLI.
Trocar de skin
/skin # mostra a skin atual e lista as skins disponíveis
/skin ares # troca para uma skin embutida
/skin meutema # troca para uma skin própria em ~/.hermes/skins/meutema.yaml
Ou defina a skin padrão em ~/.hermes/config.yaml:
display:
skin: default
Skins embutidas
| Skin | Descrição | Marca do agente | Caráter visual |
|---|---|---|---|
default | Hermes clássico — dourado e kawaii | Hermes Agent | Bordas em dourado quente, texto cor de palha, carinhas kawaii nos spinners. O banner familiar do caduceu. Limpo e acolhedor. |
ares | Tema do deus da guerra — carmesim e bronze | Ares Agent | Bordas carmesim profundo com detalhes em bronze. Verbos de spinner agressivos ("forjando", "marchando", "temperando o aço"). Banner em ASCII art próprio, de espada e escudo. |
mono | Monocromático — escala de cinza limpa | Hermes Agent | Só cinzas — sem cor. As bordas são #555555, o texto é #c9d1d9. Ideal para terminais minimalistas ou gravações de tela. |
slate | Azul frio — voltado a quem programa | Hermes Agent | Bordas em azul royal (#4169e1), texto em azul suave. Calmo e profissional. Sem spinner próprio — usa as carinhas padrão. |
daylight | Tema claro para terminais luminosos, com texto escuro e detalhes em azul frio | Hermes Agent | Feito para terminais brancos ou muito claros. Texto em ardósia escura com bordas azuis, superfícies de status pálidas e um menu de autocompletar claro, que continua legível em perfis de terminal claros. |
warm-lightmode | Texto marrom/dourado quente para fundos de terminal claros | Hermes Agent | Tons de pergaminho quente para terminais claros. Texto marrom escuro com detalhes em marrom-sela, superfícies de status cor de creme. Uma alternativa terrosa ao tema daylight, mais frio. |
poseidon | Tema do deus dos mares — azul profundo e verde-espuma | Poseidon Agent | Gradiente de azul profundo a verde-espuma. Spinners com tema de oceano ("traçando correntes", "sondando a profundidade"). Banner em ASCII art de tridente. |
sisyphus | Tema de Sísifo — escala de cinza austera e persistente | Sisyphus Agent | Cinzas claros com contraste duro. Spinners com tema de pedra ("empurrando morro acima", "recolocando a pedra", "suportando o laço"). Banner em ASCII art de pedra e morro. |
charizard | Tema vulcânico — laranja queimado e brasa | Charizard Agent | Gradiente quente de laranja queimado a brasa. Spinners com tema de fogo ("pegando a corrente de ar", "medindo a queima"). Banner em ASCII art com silhueta de dragão. |
Lista completa de chaves configuráveis
Cores (colors:)
Controla todos os valores de cor da CLI. Os valores são strings de cor em hexadecimal.
| Chave | Descrição | Padrão (skin default) |
|---|---|---|
banner_border | Borda do painel em volta do banner de abertura | #CD7F32 (bronze) |
banner_title | Cor do texto do título no banner | #FFD700 (ouro) |
banner_accent | Cabeçalhos de seção do banner (Available Tools etc.) | #FFBF00 (âmbar) |
banner_dim | Texto discreto do banner (separadores, rótulos secundários) | #B8860B (goldenrod escuro) |
banner_text | Texto corrido do banner (nomes de ferramenta, nomes de skill) | #FFF8DC (cornsilk) |
ui_accent | Cor de destaque geral da interface (realces, elementos ativos) | #FFBF00 |
ui_label | Rótulos e etiquetas da interface | #DAA520 (goldenrod) |
ui_ok | Indicadores de sucesso (marcas de confirmação, conclusão) | #4caf50 (verde) |
ui_error | Indicadores de erro (falhas, bloqueios) | #ef5350 (vermelho) |
ui_warn | Indicadores de aviso (cuidado, pedidos de aprovação) | #ffa726 (laranja) |
prompt | Cor do texto do prompt interativo | #FFF8DC |
input_rule | Linha horizontal acima da área de digitação | #CD7F32 |
response_border | Borda em volta da caixa de resposta do agente (escape ANSI) | #FFD700 |
session_label | Cor do rótulo de sessão | #DAA520 |
session_border | Cor da borda discreta do ID de sessão | #8B8682 |
status_bar_bg | Cor de fundo da barra de status / uso da TUI | #1a1a2e |
voice_status_bg | Cor de fundo do selo de status do modo de voz | #1a1a2e |
selection_bg | Cor de fundo do realce de seleção com mouse na TUI. Cai para completion_menu_current_bg quando não é definida. | #3a3a55 |
completion_menu_bg | Cor de fundo da lista do menu de autocompletar | #1a1a2e |
completion_menu_current_bg | Cor de fundo da linha ativa do autocompletar | #333355 |
completion_menu_meta_bg | Cor de fundo da coluna de metadados do autocompletar | #1a1a2e |
completion_menu_meta_current_bg | Cor de fundo da coluna de metadados na linha ativa | #333355 |
Spinner (spinner:)
Controla o spinner animado exibido enquanto a resposta da API não chega.
| Chave | Tipo | Descrição | Exemplo |
|---|---|---|---|
waiting_faces | lista de strings | Carinhas alternadas enquanto se espera a resposta da API | ["(⚔)", "(⛨)", "(▲)"] |
thinking_faces | lista de strings | Carinhas alternadas durante o raciocínio do modelo | ["(⚔)", "(⌁)", "(<>)"] |
thinking_verbs | lista de strings | Verbos exibidos nas mensagens do spinner | ["forjando", "tramando", "martelando planos"] |
wings | lista de pares [esquerda, direita] | Colchetes decorativos em volta do spinner | [["⟪⚔", "⚔⟫"], ["⟪▲", "▲⟫"]] |
Quando os valores do spinner estão vazios (como em default e mono), valem os padrões fixos no código de display.py.
Marca (branding:)
Textos usados pela interface da CLI.
| Chave | Descrição | Padrão |
|---|---|---|
agent_name | Nome exibido no título do banner e no status | Hermes Agent |
welcome | Mensagem de boas-vindas na abertura da CLI | Welcome to Hermes Agent! Type your message or /help for commands. |
goodbye | Mensagem exibida ao sair | Goodbye! ⚕ |
response_label | Rótulo no cabeçalho da caixa de resposta | ⚕ Hermes |
prompt_symbol | Símbolo antes do prompt de digitação (token puro; os renderizadores acrescentam o espaço à direita) | ❯ |
help_header | Texto de cabeçalho da saída do comando /help | (^_^)? Available Commands |
Outras chaves de primeiro nível
| Chave | Tipo | Descrição | Padrão |
|---|---|---|---|
tool_prefix | string | Caractere colocado antes das linhas de saída de ferramenta na CLI | ┊ |
tool_emojis | dicionário | Emojis por ferramenta, para spinners e progresso ({tool_name: emoji}) | {} |
banner_logo | string | Logo em ASCII art com marcação Rich (substitui o banner HERMES_AGENT padrão) | "" |
banner_hero | string | Arte de destaque com marcação Rich (substitui a arte padrão do caduceu) | "" |
Skins próprias
Crie arquivos YAML em ~/.hermes/skins/. As skins do usuário herdam da skin embutida default os valores que faltam, então você só precisa declarar as chaves que quer mudar.
Modelo completo de YAML de skin própria
# ~/.hermes/skins/meutema.yaml
# Modelo completo de skin — todas as chaves aparecem. Apague as que não precisar;
# os valores que faltam são herdados automaticamente da skin 'default'.
name: meutema
description: Meu tema próprio
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"
selection_bg: "#333355"
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:
- "processando"
- "analisando"
- "calculando"
- "avaliando"
wings:
- ["⟪⚡", "⚡⟫"]
- ["⟪●", "●⟫"]
branding:
agent_name: "Meu Agente"
welcome: "Bem-vindo ao Meu Agente! Digite sua mensagem ou /help para ver os comandos."
goodbye: "Até mais! ⚡"
response_label: " ⚡ Meu Agente "
prompt_symbol: "⚡"
help_header: "(⚡) Comandos disponíveis"
tool_prefix: "┊"
# Emojis por ferramenta (opcional)
tool_emojis:
terminal: "⚔"
web_search: "🔮"
read_file: "📄"
# Banners próprios em ASCII art (opcional, aceita marcação Rich)
# banner_logo: |
# [bold #FFD700] MEU AGENTE [/]
# banner_hero: |
# [#FFD700] Arte própria aqui [/]
Exemplo mínimo de skin própria
Como tudo é herdado de default, uma skin mínima só precisa mudar o que é diferente:
name: cyberpunk
description: Tema de terminal neon
colors:
banner_border: "#FF00FF"
banner_title: "#00FFFF"
banner_accent: "#FF1493"
spinner:
thinking_verbs: ["conectando", "descriptografando", "enviando"]
wings:
- ["⟨⚡", "⚡⟩"]
branding:
agent_name: "Cyber Agent"
response_label: " ⚡ Cyber "
tool_prefix: "▏"
Hermes Mod — editor visual de skins
O Hermes Mod é uma interface web feita pela comunidade para criar e gerenciar skins visualmente. Em vez de escrever YAML na mão, você ganha um editor de apontar e clicar com pré-visualização ao vivo.

O que ele faz:
- Lista todas as skins embutidas e próprias
- Abre qualquer skin num editor visual com todos os campos de skin do Hermes (cores, spinner, marca, prefixo de ferramenta, emojis de ferramenta)
- Gera a arte de texto de
banner_logoa partir de um prompt de texto - Converte imagens enviadas (PNG, JPG, GIF, WEBP) em ASCII art para
banner_hero, com vários estilos de renderização (braille, rampa ASCII, blocos, pontos) - Salva direto em
~/.hermes/skins/ - Ativa uma skin atualizando o
~/.hermes/config.yaml - Mostra o YAML gerado e uma pré-visualização ao vivo
Instalação
Opção 1 — Pinokio (1 clique):
Encontre o projeto em pinokio.computer e instale com um clique.
Opção 2 — npx (o caminho mais rápido pelo terminal):
npx -y hermes-mod
Opção 3 — manual:
git clone https://github.com/cocktailpeanut/hermes-mod.git
cd hermes-mod/app
npm install
npm start
Uso
- Inicie o aplicativo (pelo Pinokio ou pelo terminal).
- Abra o Skin Studio.
- Escolha uma skin embutida ou própria para editar.
- Gere um logo a partir de texto e/ou envie uma imagem para a arte de destaque. Escolha um estilo de renderização e uma largura.
- Edite cores, spinner, marca e os demais campos.
- Clique em Save para gravar o YAML da skin em
~/.hermes/skins/. - Clique em Activate para deixá-la como skin atual (isso atualiza
display.skinnoconfig.yaml).
O Hermes Mod respeita a variável de ambiente HERMES_HOME, então funciona também com perfis.
Notas operacionais
- As skins embutidas são carregadas de
hermes_cli/skin_engine.py. - Skins desconhecidas caem automaticamente para
default. - O
/skinatualiza o tema ativo da CLI na hora, para a sessão atual. - Skins do usuário em
~/.hermes/skins/têm precedência sobre skins embutidas de mesmo nome. - Trocas de skin pelo
/skinvalem só para a sessão. Para deixar uma skin como padrão permanente, defina-a noconfig.yaml. - Os campos
banner_logoebanner_heroaceitam marcação de console do Rich (por exemplo,[bold #FF0000]texto[/]) para ASCII art colorida.