mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
Cross-referenced all docs pages against the actual codebase and fixed: Reference docs (cli-commands.md, slash-commands.md, profile-commands.md): - Fix: hermes web -> hermes dashboard (correct subparser name) - Fix: Wrong provider list (removed deepseek, ai-gateway, opencode-zen, opencode-go, alibaba; added gemini) - Fix: Missing tts in hermes setup section choices - Add: Missing --image flag for hermes chat - Add: Missing --component flag for hermes logs - Add: Missing CLI commands: debug, backup, import - Fix: /status incorrectly marked as messaging-only (available everywhere) - Fix: /statusbar moved from Session to Configuration category - Add: Missing slash commands: /fast, /snapshot, /image, /debug - Add: Missing /restart from messaging commands table - Fix: /compress description to match COMMAND_REGISTRY - Add: --no-alias flag to profile create docs Configuration docs (configuration.md, environment-variables.md): - Fix: Vision timeout default 30s -> 120s - Fix: TTS providers missing minimax and mistral - Fix: STT providers missing mistral - Fix: TTS openai base_url shown with wrong default - Fix: Compression config showing stale summary_model/provider/base_url keys (migrated out in config v17) -> target_ratio/protect_last_n Getting-started docs: - Fix: Redundant faster-whisper install (already in voice extra) - Fix: Messaging extra description missing Slack Developer guide: - Fix: architecture.md tool count 48 -> 47, toolset count 40 -> 19 - Fix: run_agent.py line count 9,200 -> 10,700 - Fix: cli.py line count 8,500 -> 10,000 - Fix: main.py line count 5,500 -> 6,000 - Fix: gateway/run.py line count 7,500 -> 9,000 - Fix: Browser tools count 11 -> 10 - Fix: Platform adapter count 15 -> 18 (add wecom_callback, api_server) - Fix: agent-loop.md wrong budget sharing (not shared, independent) - Fix: agent-loop.md non-existent _get_budget_warning() reference - Fix: context-compression-and-caching.md non-existent function name - Fix: toolsets-reference.md safe toolset includes mixture_of_agents (it doesn't) - Fix: toolsets-reference.md hermes-cli tool count 38 -> 36 Guides: - Fix: automate-with-cron.md claims daily at 9am is valid (it's not) - Fix: delegation-patterns.md Max 3 presented as hard cap (configurable) - Fix: sessions.md group thread key format (shared by default, not per-user) - Fix: cron-internals.md job ID format and JSON structure
296 lines
6.9 KiB
Markdown
296 lines
6.9 KiB
Markdown
---
|
|
sidebar_position: 7
|
|
---
|
|
|
|
# Profile Commands Reference
|
|
|
|
This page covers all commands related to [Hermes profiles](../user-guide/profiles.md). For general CLI commands, see [CLI Commands Reference](./cli-commands.md).
|
|
|
|
## `hermes profile`
|
|
|
|
```bash
|
|
hermes profile <subcommand>
|
|
```
|
|
|
|
Top-level command for managing profiles. Running `hermes profile` without a subcommand shows help.
|
|
|
|
| Subcommand | Description |
|
|
|------------|-------------|
|
|
| `list` | List all profiles. |
|
|
| `use` | Set the active (default) profile. |
|
|
| `create` | Create a new profile. |
|
|
| `delete` | Delete a profile. |
|
|
| `show` | Show details about a profile. |
|
|
| `alias` | Regenerate the shell alias for a profile. |
|
|
| `rename` | Rename a profile. |
|
|
| `export` | Export a profile to a tar.gz archive. |
|
|
| `import` | Import a profile from a tar.gz archive. |
|
|
|
|
## `hermes profile list`
|
|
|
|
```bash
|
|
hermes profile list
|
|
```
|
|
|
|
Lists all profiles. The currently active profile is marked with `*`.
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
$ hermes profile list
|
|
default
|
|
* work
|
|
dev
|
|
personal
|
|
```
|
|
|
|
No options.
|
|
|
|
## `hermes profile use`
|
|
|
|
```bash
|
|
hermes profile use <name>
|
|
```
|
|
|
|
Sets `<name>` as the active profile. All subsequent `hermes` commands (without `-p`) will use this profile.
|
|
|
|
| Argument | Description |
|
|
|----------|-------------|
|
|
| `<name>` | Profile name to activate. Use `default` to return to the base profile. |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile use work
|
|
hermes profile use default
|
|
```
|
|
|
|
## `hermes profile create`
|
|
|
|
```bash
|
|
hermes profile create <name> [options]
|
|
```
|
|
|
|
Creates a new profile.
|
|
|
|
| Argument / Option | Description |
|
|
|-------------------|-------------|
|
|
| `<name>` | Name for the new profile. Must be a valid directory name (alphanumeric, hyphens, underscores). |
|
|
| `--clone` | Copy `config.yaml`, `.env`, and `SOUL.md` from the current profile. |
|
|
| `--clone-all` | Copy everything (config, memories, skills, sessions, state) from the current profile. |
|
|
| `--clone-from <profile>` | Clone from a specific profile instead of the current one. Used with `--clone` or `--clone-all`. |
|
|
| `--no-alias` | Skip wrapper script creation. |
|
|
|
|
**Examples:**
|
|
|
|
```bash
|
|
# Blank profile — needs full setup
|
|
hermes profile create mybot
|
|
|
|
# Clone config only from current profile
|
|
hermes profile create work --clone
|
|
|
|
# Clone everything from current profile
|
|
hermes profile create backup --clone-all
|
|
|
|
# Clone config from a specific profile
|
|
hermes profile create work2 --clone --clone-from work
|
|
```
|
|
|
|
## `hermes profile delete`
|
|
|
|
```bash
|
|
hermes profile delete <name> [options]
|
|
```
|
|
|
|
Deletes a profile and removes its shell alias.
|
|
|
|
| Argument / Option | Description |
|
|
|-------------------|-------------|
|
|
| `<name>` | Profile to delete. |
|
|
| `--yes`, `-y` | Skip confirmation prompt. |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile delete mybot
|
|
hermes profile delete mybot --yes
|
|
```
|
|
|
|
:::warning
|
|
This permanently deletes the profile's entire directory including all config, memories, sessions, and skills. Cannot delete the currently active profile.
|
|
:::
|
|
|
|
## `hermes profile show`
|
|
|
|
```bash
|
|
hermes profile show <name>
|
|
```
|
|
|
|
Displays details about a profile including its home directory, configured model, gateway status, skills count, and configuration file status.
|
|
|
|
| Argument | Description |
|
|
|----------|-------------|
|
|
| `<name>` | Profile to inspect. |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
$ hermes profile show work
|
|
Profile: work
|
|
Path: ~/.hermes/profiles/work
|
|
Model: anthropic/claude-sonnet-4 (anthropic)
|
|
Gateway: stopped
|
|
Skills: 12
|
|
.env: exists
|
|
SOUL.md: exists
|
|
Alias: ~/.local/bin/work
|
|
```
|
|
|
|
## `hermes profile alias`
|
|
|
|
```bash
|
|
hermes profile alias <name> [options]
|
|
```
|
|
|
|
Regenerates the shell alias script at `~/.local/bin/<name>`. Useful if the alias was accidentally deleted or if you need to update it after moving your Hermes installation.
|
|
|
|
| Argument / Option | Description |
|
|
|-------------------|-------------|
|
|
| `<name>` | Profile to create/update the alias for. |
|
|
| `--remove` | Remove the wrapper script instead of creating it. |
|
|
| `--name <alias>` | Custom alias name (default: profile name). |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile alias work
|
|
# Creates/updates ~/.local/bin/work
|
|
|
|
hermes profile alias work --name mywork
|
|
# Creates ~/.local/bin/mywork
|
|
|
|
hermes profile alias work --remove
|
|
# Removes the wrapper script
|
|
```
|
|
|
|
## `hermes profile rename`
|
|
|
|
```bash
|
|
hermes profile rename <old-name> <new-name>
|
|
```
|
|
|
|
Renames a profile. Updates the directory and shell alias.
|
|
|
|
| Argument | Description |
|
|
|----------|-------------|
|
|
| `<old-name>` | Current profile name. |
|
|
| `<new-name>` | New profile name. |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile rename mybot assistant
|
|
# ~/.hermes/profiles/mybot → ~/.hermes/profiles/assistant
|
|
# ~/.local/bin/mybot → ~/.local/bin/assistant
|
|
```
|
|
|
|
## `hermes profile export`
|
|
|
|
```bash
|
|
hermes profile export <name> [options]
|
|
```
|
|
|
|
Exports a profile as a compressed tar.gz archive.
|
|
|
|
| Argument / Option | Description |
|
|
|-------------------|-------------|
|
|
| `<name>` | Profile to export. |
|
|
| `-o`, `--output <path>` | Output file path (default: `<name>.tar.gz`). |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile export work
|
|
# Creates work.tar.gz in the current directory
|
|
|
|
hermes profile export work -o ./work-2026-03-29.tar.gz
|
|
```
|
|
|
|
## `hermes profile import`
|
|
|
|
```bash
|
|
hermes profile import <archive> [options]
|
|
```
|
|
|
|
Imports a profile from a tar.gz archive.
|
|
|
|
| Argument / Option | Description |
|
|
|-------------------|-------------|
|
|
| `<archive>` | Path to the tar.gz archive to import. |
|
|
| `--name <name>` | Name for the imported profile (default: inferred from archive). |
|
|
|
|
**Example:**
|
|
|
|
```bash
|
|
hermes profile import ./work-2026-03-29.tar.gz
|
|
# Infers profile name from the archive
|
|
|
|
hermes profile import ./work-2026-03-29.tar.gz --name work-restored
|
|
```
|
|
|
|
## `hermes -p` / `hermes --profile`
|
|
|
|
```bash
|
|
hermes -p <name> <command> [options]
|
|
hermes --profile <name> <command> [options]
|
|
```
|
|
|
|
Global flag to run any Hermes command under a specific profile without changing the sticky default. This overrides the active profile for the duration of the command.
|
|
|
|
| Option | Description |
|
|
|--------|-------------|
|
|
| `-p <name>`, `--profile <name>` | Profile to use for this command. |
|
|
|
|
**Examples:**
|
|
|
|
```bash
|
|
hermes -p work chat -q "Check the server status"
|
|
hermes --profile dev gateway start
|
|
hermes -p personal skills list
|
|
hermes -p work config edit
|
|
```
|
|
|
|
## `hermes completion`
|
|
|
|
```bash
|
|
hermes completion <shell>
|
|
```
|
|
|
|
Generates shell completion scripts. Includes completions for profile names and profile subcommands.
|
|
|
|
| Argument | Description |
|
|
|----------|-------------|
|
|
| `<shell>` | Shell to generate completions for: `bash` or `zsh`. |
|
|
|
|
**Examples:**
|
|
|
|
```bash
|
|
# Install completions
|
|
hermes completion bash >> ~/.bashrc
|
|
hermes completion zsh >> ~/.zshrc
|
|
|
|
# Reload shell
|
|
source ~/.bashrc
|
|
```
|
|
|
|
After installation, tab completion works for:
|
|
- `hermes profile <TAB>` — subcommands (list, use, create, etc.)
|
|
- `hermes profile use <TAB>` — profile names
|
|
- `hermes -p <TAB>` — profile names
|
|
|
|
## See also
|
|
|
|
- [Profiles User Guide](../user-guide/profiles.md)
|
|
- [CLI Commands Reference](./cli-commands.md)
|
|
- [FAQ — Profiles section](./faq.md#profiles)
|