Comprehensive audit of every reference/messaging/feature doc page against the
live code registries (PROVIDER_REGISTRY, OPTIONAL_ENV_VARS, COMMAND_REGISTRY,
TOOLSETS, tool registry, on-disk skills). Every fix was verified against code
before writing.
### Wrong values fixed (users would paste-and-fail)
- reference/environment-variables.md:
- DASHSCOPE_BASE_URL default was `coding-intl.dashscope.aliyuncs.com/v1` \u2192
actual `dashscope-intl.aliyuncs.com/compatible-mode/v1`.
- MINIMAX_BASE_URL and MINIMAX_CN_BASE_URL defaults were `/v1` \u2192 actual
`/anthropic` (Hermes calls MiniMax via its Anthropic Messages endpoint).
- reference/toolsets-reference.md MCP example used the non-existent nested
`mcp: servers:` key \u2192 real key is the flat `mcp_servers:`.
- reference/skills-catalog.md listed ~20 bundled skills that no longer exist
on disk (all moved to `optional-skills/`). Regenerated the whole bundled
section from `skills/**/SKILL.md` \u2014 79 skills, accurate paths and names.
- messaging/slack.md ":::info" callout claimed Slack has no
`free_response_channels` equivalent; both the env var and the yaml key are
in fact read.
- messaging/qqbot.md documented `QQ_MARKDOWN_SUPPORT` as an env var, but the
adapter only reads `extra.markdown_support` from config.yaml. Removed the
env var row and noted config-only nature.
- messaging/qqbot.md `hermes setup gateway` \u2192 `hermes gateway setup`.
### Missing coverage added
- Providers: AWS Bedrock and Qwen Portal (qwen-oauth) \u2014 both in
PROVIDER_REGISTRY but undocumented everywhere. Added sections to
integrations/providers.md, rows to quickstart.md and fallback-providers.md.
- integrations/providers.md "Fallback Model" provider list now includes
gemini, google-gemini-cli, qwen-oauth, xai, nvidia, ollama-cloud, bedrock.
- reference/cli-commands.md `--provider` enum and HERMES_INFERENCE_PROVIDER
enum in env-vars now include the same set.
- reference/slash-commands.md: added `/agents` (alias `/tasks`) and `/copy`.
Removed duplicate rows for `/snapshot`, `/fast` (\u00d72), `/debug`.
- reference/tools-reference.md: fixed "47 built-in tools" \u2192 52. Added
`feishu_doc` and `feishu_drive` toolset sections.
- reference/toolsets-reference.md: added `feishu_doc` / `feishu_drive` core
rows + all missing `hermes-<platform>` toolsets in the platform table
(bluebubbles, dingtalk, feishu, qqbot, wecom, wecom-callback, weixin,
homeassistant, webhook, gateway). Fixed the `debugging` composite to
describe the actual `includes=[...]` mechanism.
- reference/optional-skills-catalog.md: added `fitness-nutrition`.
- reference/environment-variables.md: added NOUS_BASE_URL,
NOUS_INFERENCE_BASE_URL, NVIDIA_API_KEY/BASE_URL, OLLAMA_API_KEY/BASE_URL,
XAI_API_KEY/BASE_URL, MISTRAL_API_KEY, AWS_REGION/AWS_PROFILE,
BEDROCK_BASE_URL, HERMES_QWEN_BASE_URL, DISCORD_ALLOWED_CHANNELS,
DISCORD_PROXY, TELEGRAM_REPLY_TO_MODE, MATRIX_DEVICE_ID, MATRIX_REACTIONS,
QQBOT_HOME_CHANNEL_NAME, QQ_SANDBOX.
- messaging/discord.md: documented DISCORD_ALLOWED_CHANNELS, DISCORD_PROXY,
HERMES_DISCORD_TEXT_BATCH_DELAY_SECONDS and HERMES_DISCORD_TEXT_BATCH_SPLIT
_DELAY_SECONDS (all actively read by the adapter).
- messaging/matrix.md: documented MATRIX_REACTIONS (default true).
- messaging/telegram.md: removed the redundant second Webhook Mode section
that invented a `telegram.webhook_mode: true` yaml key the adapter does
not read.
- user-guide/features/hooks.md: added `on_session_finalize` and
`on_session_reset` (both emitted via invoke_hook but undocumented).
- user-guide/features/api-server.md: documented GET /health/detailed, the
`/api/jobs/*` CRUD surface, POST /v1/runs, and GET /v1/runs/{id}/events
(10 routes that were live but undocumented).
- user-guide/features/fallback-providers.md: added `approval` and
`title_generation` auxiliary-task rows; added gemini, bedrock, qwen-oauth
to the supported-providers table.
- user-guide/features/tts.md: "seven providers" \u2192 "eight" (post-xAI add
oversight in #11942).
- user-guide/configuration.md: TTS provider enum gains `xai` and `gemini`;
yaml example block gains `mistral:`, `gemini:`, `xai:` subsections.
Auxiliary-provider enum now enumerates all real registry entries.
- reference/faq.md: stale AIAgent/config examples bumped from
`nous/hermes-3-llama-3.1-70b` and `claude-sonnet-4.6` to
`claude-opus-4.7`.
### Docs-site integrity
- guides/build-a-hermes-plugin.md referenced two nonexistent hooks
(`pre_api_request`, `post_api_request`). Replaced with the real
`on_session_finalize` / `on_session_reset` entries.
- messaging/open-webui.md and features/api-server.md had pre-existing
broken links to `/docs/user-guide/features/profiles` (actual path is
`/docs/user-guide/profiles`). Fixed.
- reference/skills-catalog.md had one `<1%` literal that MDX parsed as a
JSX tag. Escaped to `<1%`.
### False positives filtered out (not changed, verified correct)
- `/set-home` is a registered alias of `/sethome` \u2014 docs were fine.
- `hermes setup gateway` is valid syntax (`hermes setup \<section\>`);
changed in qqbot.md for cross-doc consistency, not as a bug fix.
- Telegram reactions "disabled by default" matches code (default `"false"`).
- Matrix encryption "opt-in" matches code (empty env default \u2192 disabled).
- `pre_api_request` / `post_api_request` hooks do NOT exist in current code;
documented instead the real `on_session_finalize` / `on_session_reset`.
- SIGNAL_IGNORE_STORIES is already in env-vars.md (subagent missed it).
Validation:
- `docusaurus build` \u2014 passes (only pre-existing nix-setup anchor warning).
- `ascii-guard lint docs` \u2014 124 files, 0 errors.
- 22 files changed, +317 / \u2212158.
12 KiB
| sidebar_position | title | description |
|---|---|---|
| 2 | Slash Commands Reference | Complete reference for interactive CLI and messaging slash commands |
Slash Commands Reference
Hermes has two slash-command surfaces, both driven by a central COMMAND_REGISTRY in hermes_cli/commands.py:
- Interactive CLI slash commands — dispatched by
cli.py, with autocomplete from the registry - Messaging slash commands — dispatched by
gateway/run.py, with help text and platform menus generated from the registry
Installed skills are also exposed as dynamic slash commands on both surfaces. That includes bundled skills like /plan, which opens plan mode and saves markdown plans under .hermes/plans/ relative to the active workspace/backend working directory.
Interactive CLI slash commands
Type / in the CLI to open the autocomplete menu. Built-in commands are case-insensitive.
Session
| Command | Description |
|---|---|
/new (alias: /reset) |
Start a new session (fresh session ID + history) |
/clear |
Clear screen and start a new session |
/history |
Show conversation history |
/save |
Save the current conversation |
/retry |
Retry the last message (resend to agent) |
/undo |
Remove the last user/assistant exchange |
/title |
Set a title for the current session (usage: /title My Session Name) |
/compress [focus topic] |
Manually compress conversation context (flush memories + summarize). Optional focus topic narrows what the summary preserves. |
/rollback |
List or restore filesystem checkpoints (usage: /rollback [number]) |
/snapshot [create|restore <id>|prune] (alias: /snap) |
Create or restore state snapshots of Hermes config/state. create [label] saves a snapshot, restore <id> reverts to it, prune [N] removes old snapshots, or list all with no args. |
/stop |
Kill all running background processes |
/queue <prompt> (alias: /q) |
Queue a prompt for the next turn (doesn't interrupt the current agent response). Note: /q is claimed by both /queue and /quit; the last registration wins, so /q resolves to /quit in practice. Use /queue explicitly. |
/resume [name] |
Resume a previously-named session |
/status |
Show session info |
/agents (alias: /tasks) |
Show active agents and running tasks across the current session. |
/background <prompt> (alias: /bg) |
Run a prompt in a separate background session. The agent processes your prompt independently — your current session stays free for other work. Results appear as a panel when the task finishes. See CLI Background Sessions. |
/btw <question> |
Ephemeral side question using session context (no tools, not persisted). Useful for quick clarifications without affecting the conversation history. |
/plan [request] |
Load the bundled plan skill to write a markdown plan instead of executing the work. Plans are saved under .hermes/plans/ relative to the active workspace/backend working directory. |
/branch [name] (alias: /fork) |
Branch the current session (explore a different path) |
Configuration
| 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. |
/provider |
Show available providers and current provider |
/personality |
Set a predefined personality |
/verbose |
Cycle tool progress display: off → new → all → verbose. Can be enabled for messaging via config. |
/fast [normal|fast|status] |
Toggle fast mode — OpenAI Priority Processing / Anthropic Fast Mode. Options: normal, fast, status. |
/reasoning |
Manage reasoning effort and display (usage: /reasoning [level|show|hide]) |
/skin |
Show or change the display skin/theme |
/statusbar (alias: /sb) |
Toggle the context/model status bar on or off |
/voice [on|off|tts|status] |
Toggle CLI voice mode and spoken playback. Recording uses voice.record_key (default: Ctrl+B). |
/yolo |
Toggle YOLO mode — skip all dangerous command approval prompts. |
Tools & Skills
| Command | Description |
|---|---|
/tools [list|disable|enable] [name...] |
Manage tools: list available tools, or disable/enable specific tools for the current session. Disabling a tool removes it from the agent's toolset and triggers a session reset. |
/toolsets |
List available toolsets |
/browser [connect|disconnect|status] |
Manage local Chrome CDP connection. connect attaches browser tools to a running Chrome instance (default: ws://localhost:9222). disconnect detaches. status shows current connection. Auto-launches Chrome if no debugger is detected. |
/skills |
Search, install, inspect, or manage skills from online registries |
/cron |
Manage scheduled tasks (list, add/create, edit, pause, resume, run, remove) |
/reload-mcp (alias: /reload_mcp) |
Reload MCP servers from config.yaml |
/reload |
Reload .env variables into the running session (picks up new API keys without restarting) |
/plugins |
List installed plugins and their status |
Info
| Command | Description |
|---|---|
/help |
Show this help message |
/usage |
Show token usage, cost breakdown, and session duration |
/insights |
Show usage insights and analytics (last 30 days) |
/platforms (alias: /gateway) |
Show gateway/messaging platform status |
/paste |
Check clipboard for an image and attach it |
/copy [number] |
Copy the last assistant response to clipboard (or the Nth-from-last with a number). CLI-only. |
/image <path> |
Attach a local image file for your next prompt. |
/debug |
Upload debug report (system info + logs) and get shareable links. Also available in messaging. |
/profile |
Show active profile name and home directory |
/gquota |
Show Google Gemini Code Assist quota usage with progress bars (only available when the google-gemini-cli provider is active). |
Exit
| Command | Description |
|---|---|
/quit |
Exit the CLI (also: /exit). See note on /q under /queue above. |
Dynamic CLI slash commands
| Command | Description |
|---|---|
/<skill-name> |
Load any installed skill as an on-demand command. Example: /gif-search, /github-pr-workflow, /excalidraw. |
/skills ... |
Search, browse, inspect, install, audit, publish, and configure skills from registries and the official optional-skills catalog. |
Quick Commands
User-defined quick commands map a short alias to a longer prompt. Configure them in ~/.hermes/config.yaml:
quick_commands:
review: "Review my latest git diff and suggest improvements"
deploy: "Run the deployment script at scripts/deploy.sh and verify the output"
morning: "Check my calendar, unread emails, and summarize today's priorities"
Then type /review, /deploy, or /morning in the CLI. Quick commands are resolved at dispatch time and are not shown in the built-in autocomplete/help tables.
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.
Messaging slash commands
The messaging gateway supports the following built-in commands inside Telegram, Discord, Slack, WhatsApp, Signal, Email, and Home Assistant chats:
| Command | Description |
|---|---|
/new |
Start a new conversation. |
/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). |
/provider |
Show provider availability and auth status. |
/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. |
/undo |
Remove the last exchange. |
/sethome (alias: /set-home) |
Mark the current chat as the platform home channel for deliveries. |
/compress [focus topic] |
Manually compress conversation context. Optional focus topic narrows what the summary preserves. |
/title [name] |
Set or show the session title. |
/resume [name] |
Resume a previously named session. |
/usage |
Show token usage, estimated cost breakdown (input/output), context window state, and session duration. |
/insights [days] |
Show usage analytics. |
/reasoning [level|show|hide] |
Change reasoning effort or toggle reasoning display. |
/voice [on|off|tts|join|channel|leave|status] |
Control spoken replies in chat. join/channel/leave manage Discord voice-channel mode. |
/rollback [number] |
List or restore filesystem checkpoints. |
/snapshot [create|restore <id>|prune] (alias: /snap) |
Create or restore state snapshots of Hermes config/state. |
/background <prompt> |
Run a prompt in a separate background session. Results are delivered back to the same chat when the task finishes. See Messaging Background Sessions. |
/plan [request] |
Load the bundled plan skill to write a markdown plan instead of executing the work. Plans are saved under .hermes/plans/ relative to the active workspace/backend working directory. |
/reload-mcp (alias: /reload_mcp) |
Reload MCP servers from config. |
/reload |
Reload .env variables into the running session. |
/yolo |
Toggle YOLO mode — skip all dangerous command approval prompts. |
/commands [page] |
Browse all commands and skills (paginated). |
/approve [session|always] |
Approve and execute a pending dangerous command. session approves for this session only; always adds to permanent allowlist. |
/deny |
Reject a pending dangerous command. |
/update |
Update Hermes Agent to the latest version. |
/restart |
Gracefully restart the gateway after draining active runs. When the gateway comes back online, it sends a confirmation to the requester's chat/thread. |
/debug |
Upload debug report (system info + logs) and get shareable links. |
/help |
Show messaging help. |
/<skill-name> |
Invoke any installed skill by name. |
Notes
/skin,/tools,/toolsets,/browser,/config,/cron,/skills,/platforms,/paste,/image,/statusbar, and/pluginsare CLI-only commands./verboseis CLI-only by default, but can be enabled for messaging platforms by settingdisplay.tool_progress_command: trueinconfig.yaml. When enabled, it cycles thedisplay.tool_progressmode and saves to config./sethome,/update,/restart,/approve,/deny, and/commandsare messaging-only commands./status,/background,/voice,/reload-mcp,/rollback,/snapshot,/debug,/fast, and/yolowork in both the CLI and the messaging gateway./voice join,/voice channel, and/voice leaveare only meaningful on Discord.