Hermes Agent: Profile Configuration

Last updated: 2026-08-31

Profiles are Hermes Agent's user identity cards — different people have different preferences, and Profiles let the same Agent serve multiple users, each with their own memory, skills, and style.

💡 Tip: Profiles store not only basic user information but also link to independent memory spaces, skill sets, user models, and platform preferences. In multi-user scenarios, Profile isolation ensures privacy.

📋 Prerequisites: Lesson 6 Memory System

1. What You Will Learn

# Content
Profile concepts and structure
Creating and managing Profiles
Multi-user isolation mechanism
Team Profiles and sharing
Profile migration and backup

2. Story

(1) Pain Point: Team Sharing One Bot Causes Confusion

Bob and a colleague share a Telegram Bot, but Bob prefers Chinese while the colleague uses English. Bob works on frontend, the colleague on backend. The Agent gets confused.

(2) Solution: One Profile Per Person

BASH
# Bob's Profile
hermes chat --user bob
> Hello Bob! Preferences: React + TypeScript + Chinese

# Colleague's Profile
hermes chat --user carol
> Hi Carol! Preference: Python + FastAPI + English

3. Profile Structure

(1) Profile File

YAML
# ~/.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        # Independent memory space
  share_with: []        # Not shared with others

4. Profile Management

(1) Command Line Operations

BASH
# Create a Profile
hermes profile create --name "bob"

# Interactive creation
hermes profile create --interactive
? Name: Bob
? Language: zh-CN
? Default model: gpt-4o
? Tech stack: React, TypeScript
? Communication style: Concise and direct

# List all Profiles
hermes profile list

# Switch Profile
hermes profile switch bob

# View current Profile
hermes profile show

# Edit Profile
hermes profile edit bob

# Delete Profile
hermes profile delete bob

(2) In-Conversation Management

BASH
me: /profile
Agent: Current Profile: Bob
  Language: zh-CN | Model: gpt-4o | Tech stack: React, TypeScript
  
me: /profile switch carol
Agent: Switched to Carol's Profile
  Language: en | Model: claude-3.5-sonnet | Tech stack: Python, FastAPI

5. Multi-User Isolation Mechanism

(1) Data Isolation

~/.hermes/
├── profiles/
│   ├── bob.yaml           # Bob's Profile
│   ├── carol.yaml         # Carol's Profile
│   └── team-frontend.yaml # Team Profile
├── memory/
│   ├── bob/               # Bob's independent memory
│   │   ├── working/
│   │   ├── long_term/
│   │   └── user_model/
│   └── carol/             # Carol's independent memory
│       ├── working/
│       ├── long_term/
│       └── user_model/
└── skills/
    ├── bob/               # Bob's custom skills
    └── carol/             # Carol's custom skills

(2) Isolation Rules

Data Isolation Level Description
Memory Full isolation Each user has independent memory space
Skills Selective isolation Custom skills isolated, built-in skills shared
User Model Full isolation Honcho builds a model for each user
Configuration Selective isolation Can override global config
Platform Binding Full isolation Each user binds their own platform accounts

6. Team Profiles and Sharing

(1) Team Profile

YAML
# ~/.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"    # Team conventions (shared)
      - "project-info"        # Project info (shared)
  conventions:
    code_style: "ESLint + Prettier"
    commit_style: "Conventional Commits"
    review_checklist:
      - "TypeScript strict mode"
      - "Accessibility (WCAG 2.1)"
      - "Performance (Lighthouse > 90)"

(2) Shared Skills

BASH
# Alice creates a skill and shares it with the team
/learn --share team-frontend When reviewing components, check team conventions

# Team members use shared skills
hermes chat --user bob --team team-frontend
Agent: [Loading team skills] react-component-review, eslint-rules
       [Loading personal memory] Bob's preferences and projects...

7. Profile Migration and Backup

(1) Export and Import

BASH
# Export Profile (including memory and skills)
hermes profile export bob --include-memory --include-skills

# Output: bob-profile-20260315.tar.gz
# Contains: profile.yaml + memory/ + skills/

# Import on another machine
hermes profile import bob-profile-20260315.tar.gz

(2) Synchronization

BASH
# Git sync (recommended for teams)
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

# Pull on another machine
git pull

❓ FAQ

Q What is the default Profile?
A The default Profile, created during first hermes init. Used when no --user is specified.
Q Is there a limit on Profile count?
A No limit. Each Profile is stored independently without affecting others.
Q How to achieve "partial sharing"?
A Team Profiles share skills and conventions, while personal Profiles maintain independent memory and preferences. Combine with --team parameter.
Q Does switching Profiles affect running tasks?
A No. Already running tasks continue. New conversations use the switched Profile.
Q Are API Keys in Profiles secure?
A API Keys are stored in environment variables or .env files, not in Profile YAML. Profiles only reference variable names.
Q How to delete a Profile and all its data?
A hermes profile delete <name> --purge deletes Profile files, memory, and skills. Export backup first.

📖 Summary


📝 Exercises

  1. Basic (⭐): Create your personal Profile, set language preferences and tech stack, verify the Agent uses the correct configuration.
  2. Intermediate (⭐⭐): Create two Profiles (work/personal), implement automatic configuration switching for different scenarios.
  3. Advanced (⭐⭐⭐): Design a team Profile solution including shared skills, team conventions, and member-specific configurations for team collaboration.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏