From e598e18529c02116da5716728d48697f2c82a129 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Tue, 5 May 2026 19:11:20 -0700 Subject: [PATCH] docs: document custom model aliases for /model command (#20475) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User-defined model aliases (config.yaml model_aliases: and model.aliases.*) have worked since early versions but were entirely undocumented. Add a dedicated 'Custom model aliases' section to slash-commands.md covering both YAML config formats and the 'hermes config set' shell form, mirror a shorter version into the configuring-models 'Alternative methods' section, and cross-link from the two /model table rows. Flagged by @weehowe on Twitter — he wasn't aware the feature existed. --- website/docs/reference/slash-commands.md | 42 ++++++++++++++++++- website/docs/user-guide/configuring-models.md | 24 +++++++++++ 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/website/docs/reference/slash-commands.md b/website/docs/reference/slash-commands.md index 1348062af1..ae5c0d2625 100644 --- a/website/docs/reference/slash-commands.md +++ b/website/docs/reference/slash-commands.md @@ -47,7 +47,7 @@ Type `/` in the CLI to open the autocomplete menu. Built-in commands are case-in | Command | Description | |---------|-------------| | `/config` | Show current configuration | -| `/model [model-name]` | Show or change the current model. Supports: `/model claude-sonnet-4`, `/model provider:model` (switch providers), `/model custom:model` (custom endpoint), `/model custom:name:model` (named custom provider), `/model custom` (auto-detect from endpoint). Use `--global` to persist the change to config.yaml. **Note:** `/model` can only switch between already-configured providers. To add a new provider, exit the session and run `hermes model` from your terminal. | +| `/model [model-name]` | Show or change the current model. Supports: `/model claude-sonnet-4`, `/model provider:model` (switch providers), `/model custom:model` (custom endpoint), `/model custom:name:model` (named custom provider), `/model custom` (auto-detect from endpoint), and user-defined aliases (`/model fav`, `/model grok` — see [Custom model aliases](#custom-model-aliases)). Use `--global` to persist the change to config.yaml. **Note:** `/model` can only switch between already-configured providers. To add a new provider, exit the session and run `hermes model` from your terminal. | | `/personality` | Set a predefined personality | | `/verbose` | Cycle tool progress display: off → new → all → verbose. Can be [enabled for messaging](#notes) via config. | | `/fast [normal\|fast\|status]` | Toggle fast mode — OpenAI Priority Processing / Anthropic Fast Mode. Options: `normal`, `fast`, `status`. | @@ -124,6 +124,44 @@ Then type `/status`, `/deploy`, or `/inbox` in the CLI or a messaging platform. String-only prompt shortcuts are not supported as quick commands. Put longer reusable prompts in a skill, or use `type: alias` to point at an existing slash command. +### Custom model aliases + +Define your own short names for models you use often, then reach them with `/model ` in the CLI or any messaging platform. Aliases work identically in both, on session-only (default) and `--global` switches. + +Two config formats are supported: + +**Full form** — pin an exact model, provider, and optionally a base URL. Put this in `~/.hermes/config.yaml`: + +```yaml +model_aliases: + fav: + model: claude-sonnet-4.6 + provider: anthropic + grok: + model: grok-4 + provider: x-ai + ollama-qwen: + model: qwen3-coder:30b + provider: custom + base_url: http://localhost:11434/v1 +``` + +**Short form** — `provider/model` in one string. Set from the shell without editing YAML: + +```bash +hermes config set model.aliases.fav anthropic/claude-opus-4.6 +hermes config set model.aliases.grok x-ai/grok-4 +``` + +Then in chat: + +``` +/model fav # session-only +/model grok --global # also persists current-model change to config.yaml +``` + +User aliases take precedence over built-in short names, so naming an alias `sonnet`, `kimi`, `opus`, etc. will shadow the built-in. Alias names are case-insensitive. + ### Alias Resolution Commands support prefix matching: typing `/h` resolves to `/help`, `/mod` resolves to `/model`. When a prefix is ambiguous (matches multiple commands), the first match in registry order wins. Full command names and registered aliases always take priority over prefix matches. @@ -138,7 +176,7 @@ The messaging gateway supports the following built-in commands inside Telegram, | `/reset` | Reset conversation history. | | `/status` | Show session info. | | `/stop` | Kill all running background processes and interrupt the running agent. | -| `/model [provider:model]` | Show or change the model. Supports provider switches (`/model zai:glm-5`), custom endpoints (`/model custom:model`), named custom providers (`/model custom:local:qwen`), and auto-detect (`/model custom`). Use `--global` to persist the change to config.yaml. **Note:** `/model` can only switch between already-configured providers. To add a new provider or set up API keys, use `hermes model` from your terminal (outside the chat session). | +| `/model [provider:model]` | Show or change the model. Supports provider switches (`/model zai:glm-5`), custom endpoints (`/model custom:model`), named custom providers (`/model custom:local:qwen`), auto-detect (`/model custom`), and user-defined aliases (`/model fav`, `/model grok` — see [Custom model aliases](#custom-model-aliases)). Use `--global` to persist the change to config.yaml. **Note:** `/model` can only switch between already-configured providers. To add a new provider or set up API keys, use `hermes model` from your terminal (outside the chat session). | | `/personality [name]` | Set a personality overlay for the session. | | `/fast [normal\|fast\|status]` | Toggle fast mode — OpenAI Priority Processing / Anthropic Fast Mode. | | `/retry` | Retry the last message. | diff --git a/website/docs/user-guide/configuring-models.md b/website/docs/user-guide/configuring-models.md index 397b89ec89..f29272075d 100644 --- a/website/docs/user-guide/configuring-models.md +++ b/website/docs/user-guide/configuring-models.md @@ -161,6 +161,30 @@ Inside any `hermes chat` session: `--global` does the same thing the dashboard's **Change** button does, plus it switches the running session in-place. +### Custom aliases + +Define your own short names for models you reach for often, then use `/model ` in the CLI or any messaging platform: + +```yaml +# ~/.hermes/config.yaml +model_aliases: + fav: + model: claude-sonnet-4.6 + provider: anthropic + grok: + model: grok-4 + provider: x-ai +``` + +Or from the shell (short form, `provider/model`): + +```bash +hermes config set model.aliases.fav anthropic/claude-opus-4.6 +hermes config set model.aliases.grok x-ai/grok-4 +``` + +Then `/model fav` or `/model grok` in chat. User aliases shadow built-in short names (`sonnet`, `kimi`, `opus`, etc.). See [Custom model aliases](/docs/reference/slash-commands#custom-model-aliases) for the full reference. + ### `hermes model` subcommand ```bash