Hermes Agent: Configuração de Profile
Última atualização: 2026-08-31
Profile é a identidade do usuário no Hermes Agent — pessoas diferentes têm preferências diferentes, e o Profile permite que o mesmo Agent sirva múltiplos usuários, cada um com sua própria memória, habilidades e estilo.
📋 Pré-requisitos: Lição 6 — Sistema de Memória
1. O Que Você Vai Aprender
| # | Conteúdo |
|---|---|
| ❶ | Conceitos e estrutura de Profile |
| ❷ | Criação e gerenciamento de Profiles |
| ❸ | Mecanismo de isolamento multi-usuário |
| ❹ | Profiles de equipe e compartilhamento |
| ❺ | Migração e backup de Profile |
2. História
(1) Problema: Equipe Compartilhando um Bot, Interferência Mútua
Bob e um colega compartilham um Bot Telegram, mas Bob prefere chinês, o colega usa inglês. O projeto de Bob é frontend, o do colega é backend. O Agent confunde tudo.
(2) Solução: Um Profile Por Pessoa
# Profile do Bob
hermes chat --user bob
> Olá Bob! Preferências: React + TypeScript + Chinês
# Profile da colega
hermes chat --user carol
> Hi Carol! Preference: Python + FastAPI + English
3. Estrutura do Profile
(1) Arquivo de Profile
# ~/.hermes/profiles/bob.yaml
user:
id: "bob"
name: "Bob"
language: "zh-CN"
timezone: "Asia/Shanghai"
preferences:
tech_stack:
- "React"
- "TypeScript"
- "Tailwind CSS"
code_style: "concise"
communication: "direct"
model:
default: "gpt-4o"
temperature: 0.7
personality:
tone: "friendly"
verbosity: "balanced"
platforms:
telegram:
chat_id: 123456789
slack:
user_id: "U12345"
skills:
custom:
- "react-component-review"
- "git-commit-helper"
disabled:
- "java-code-review"
memory:
isolated: true
share_with: []
4. Gerenciamento de Profile
(1) Operações por Linha de Comando
hermes profile create --name "bob"
hermes profile create --interactive
hermes profile list
hermes profile switch bob
hermes profile show
hermes profile edit bob
hermes profile delete bob
(2) Gerenciamento na Conversa
me: /profile
Agent: Profile atual: Bob
Idioma: zh-CN | Modelo: gpt-4o | Stack: React, TypeScript
me: /profile switch carol
Agent: Trocado para o Profile de Carol
Idioma: en | Modelo: claude-3.5-sonnet | Stack: Python, FastAPI
5. Mecanismo de Isolamento Multi-Usuário
(1) Isolamento de Dados
~/.hermes/
├── profiles/
│ ├── bob.yaml
│ ├── carol.yaml
│ └── team-frontend.yaml
├── memory/
│ ├── bob/
│ │ ├── working/
│ │ ├── long_term/
│ │ └── user_model/
│ └── carol/
│ ├── working/
│ ├── long_term/
│ └── user_model/
└── skills/
├── bob/
└── carol/
(2) Regras de Isolamento
| Dados | Nível de Isolamento | Descrição |
|---|---|---|
| Memória | Total | Espaço de memória independente por usuário |
| Habilidades | Seletivo | Habilidades custom isoladas, integradas compartilhadas |
| Perfil de usuário | Total | Honcho modela cada usuário separadamente |
| Configuração | Seletivo | Pode sobrescrever configuração global |
| Bind de plataforma | Total | Cada usuário vincula suas contas de plataforma |
6. Profile de Equipe e Compartilhamento
(1) Profile de Equipe
# ~/.hermes/profiles/team-frontend.yaml
user:
id: "team-frontend"
name: "Frontend Team"
type: "team"
shared:
skills:
- "react-component-review"
- "eslint-rules"
- "deploy-frontend"
memory:
categories:
- "team-conventions"
- "project-info"
conventions:
code_style: "ESLint + Prettier"
commit_style: "Conventional Commits"
review_checklist:
- "TypeScript strict mode"
- "Accessibility (WCAG 2.1)"
- "Performance (Lighthouse > 90)"
(2) Habilidades Compartilhadas
# Alice cria habilidade e compartilha com a equipe
/learn --share team-frontend Ao revisar componentes, verificar convenções da equipe
# Membros usam habilidades compartilhadas
hermes chat --user bob --team team-frontend
Agent: [Carregar habilidades da equipe] react-component-review, eslint-rules
[Carregar memória pessoal] Preferências e projetos do Bob...
7. Migração e Backup de Profile
(1) Exportar e Importar
hermes profile export bob --include-memory --include-skills
# Saída: bob-profile-20260315.tar.gz
hermes profile import bob-profile-20260315.tar.gz
(2) Sincronização via Git
cd ~/.hermes
git init
git remote add origin git@github.com:team/hermes-config.git
git add profiles/ skills/
git commit -m "sync profiles"
git push
❓ Perguntas Frequentes
P: Qual é o Profile padrão? R:
default, criado na primeira execução dehermes init. Usado quando--usernão é especificado.
P: Há limite de Profiles? R: Sem limite. Cada Profile é armazenado independentemente, sem afetar os outros.
P: Como fazer "compartilhamento parcial"? R: Profile de equipe compartilha habilidades e convenções; Profile pessoal mantém memória e preferências independentes. Combine via
--team.
P: Trocar Profile afeta tarefas em execução? R: Não. Tarefas já em execução continuam. Novas conversas usam o Profile trocado.
P: API Keys no Profile são seguras? R: API Keys ficam em variáveis de ambiente ou .env, não no YAML do Profile. Profile apenas referencia nomes de variáveis.
P: Como deletar Profile e todos os dados? R:
hermes profile delete <name> --purge. Exporte backup antes.
📖 Resumo
- Profile é a identidade do usuário, associando memória, habilidades e perfil independentes
- Isolamento multi-usuário: memória totalmente isolada, habilidades seletivamente isoladas
- Profile de equipe: habilidades e convenções compartilhadas, preferências pessoais independentes
- Três formas de gerenciar: linha de comando, conversa, edição de YAML
- Suporta exportação/importação e sincronização via Git
📝 Exercícios
- Básico (⭐): Crie seu Profile pessoal, configure idioma e stack tecnológica, verifique que o Agent usa a configuração correta.
- Intermediário (⭐⭐): Crie dois Profiles (trabalho/pessoal), implemente troca automática para cenários diferentes.
- Avançado (⭐⭐⭐): Desenhe um esquema de Profile de equipe com habilidades compartilhadas, convenções e configurações personalizadas para colaboração.