mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-01 08:21:50 +08:00
Covers ~60 merged PRs from Apr 15–29 that shipped user-visible behavior without docs coverage. No functional code changes; docs + static manifest regeneration only. Highlights: Stale / incorrect: - configuration.md: auxiliary auto-routing line was wrong since #11900; now correctly states auto routes to the main model, with a note on the cost trade-off and per-task override pattern. - integrations/providers.md + configuration.md compression intro: removed stale 'Gemini Flash via OpenRouter' claim. - website/static/api/model-catalog.json: rebuilt from hermes_cli/models.py so the live manifest picks up tencent/hy3-preview (and remains in sync for future model-catalog PRs). Platform messaging (#17417 #16997 #16193 #14315 #13151 #11794 #10610 #10283 #10246 #11564 #13178): - Signal: native formatting (bodyRanges), reply quotes, reactions. - Telegram: table rendering (bullets + code-block fallback), disable_link_previews, group_allowed_chats. - Slack: strict_mention config. - Discord: slash_commands disable, send_animation GIF, send_message native media attachments. - DingTalk: require_mention + allowed_users. CLI (#16052 #16539 #16566 #15841 #14798 #10043): - New 'hermes fallback' interactive manager. - New 'hermes update --check', '--backup' flag, and pre-update pairing snapshot behavior. - 'hermes gateway start/restart --all' multi-profile flag. - cron.md: 'hermes tools' as a platform, per-job enabled_toolsets, wakeAgent gate, context_from chaining. Config keys / env vars (#17305 #17026 #17000 #15077 #14557 #14227 #14166 #14730 #17008): - terminal.docker_run_as_host_user, display.runtime_metadata_footer, compression.hygiene_hard_message_limit, HINDSIGHT_TIMEOUT, skills.guard_agent_created, TAVILY_BASE_URL, security.allow_private_urls, agent.api_max_retries, gateway hot-reload of compression/context_length config edits. TUI / CLI UX (#17130 #17113 #17175 #17150 #16707 #12312 #12305 #12934 #14810 #14045 #17286 #17126): - HERMES_TUI_RESUME, HERMES_TUI_THEME, LaTeX rendering, busy-indicator styles, ctrl-x queued-message delete, git branch in status bar, per- prompt elapsed stopwatch, external-editor keybind, markdown stripping, TUI voice-mode parity, /agents overlay, /reload + /mouse. Gateway features (#16506 #15027 #13428 #12116): - Native multimodal image routing based on vision capability. - /usage account-limits section. - /steer slash command (added to reference + explanation in CLI). Plugins / hooks (#12929 #12972 #10763 #16364): - transform_tool_result, transform_terminal_output plugin hooks. - PluginContext.dispatch_tool() documented with slash-command example. - google_meet bundled plugin entry under built-in-plugins.md. Other (#16576 #16572 #16383 #15878 #15608 #15606 #14809 #14767 #14231 #14232 #14307 #13683 #12373 #11891 #11291 #10066): - hermes backup exclusions (WAL/SHM/journal + checkpoints/). - security.md hardline blocklist (floor below --yolo). - FHS install layout for root installs. - openssh-client + docker-cli baked into the Docker image. - MEDIA: tag supported extensions table (docs/office/archives/pdf). - Remote-to-host file sync on SSH/Modal/Daytona teardown. - 'hermes model' -> Configure Auxiliary Models interactive picker. - Podman support via HERMES_DOCKER_BINARY. Providers / STT / one-shot (#15045 #14473 #15704): - alibaba-coding-plan first-class provider entry. - xAI Grok STT as a 6th transcription option. - 'hermes -z' scripted one-shot mode + HERMES_INFERENCE_MODEL. Build: 'docusaurus build' succeeds. No new broken links/anchors; pre-existing warnings unchanged.
168 lines
12 KiB
Markdown
168 lines
12 KiB
Markdown
---
|
|
sidebar_position: 2
|
|
title: "Slash Commands Reference"
|
|
description: "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. |
|
|
| `/steer <prompt>` | Inject a mid-run note that arrives at the agent **after the next tool call** — no interrupt, no new user turn. The text is appended to the last tool result's content once the current tool completes, giving the agent new context without breaking the current tool-calling loop. Use this to nudge direction mid-task (e.g. "focus on the auth module" while the agent is running tests). |
|
|
| `/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`, `/btw`) | 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](/docs/user-guide/cli#background-sessions). |
|
|
| `/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. |
|
|
| `/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`. |
|
|
| `/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, session duration, and — when available from the active provider — an **Account limits** section with remaining quota / credits / plan usage pulled live from the provider's API. |
|
|
| `/insights` | Show usage insights and analytics (last 30 days) |
|
|
| `/platforms` (alias: `/gateway`) | Show gateway/messaging platform status |
|
|
| `/paste` | Attach a clipboard image |
|
|
| `/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. |
|
|
| `/terminal-setup [auto\|vscode\|cursor\|windsurf]` | TUI-only: configure local VS Code-family terminal bindings for better multiline + undo/redo parity. |
|
|
| `/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 slash command to either a shell command or another slash command. Configure them in `~/.hermes/config.yaml`:
|
|
|
|
```yaml
|
|
quick_commands:
|
|
status:
|
|
type: exec
|
|
command: systemctl status hermes-agent
|
|
deploy:
|
|
type: exec
|
|
command: scripts/deploy.sh
|
|
inbox:
|
|
type: alias
|
|
target: /gmail unread
|
|
```
|
|
|
|
Then type `/status`, `/deploy`, or `/inbox` in the CLI or a messaging platform. Quick commands are resolved at dispatch time and may not appear in every built-in autocomplete/help table.
|
|
|
|
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.
|
|
|
|
### 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). |
|
|
| `/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, session duration, and — when available from the active provider — an **Account limits** section with remaining quota / credits pulled live from the provider's API. |
|
|
| `/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. |
|
|
| `/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](/docs/user-guide/messaging/#background-sessions). |
|
|
| `/reload-mcp` (alias: `/reload_mcp`) | Reload MCP servers from config. |
|
|
| `/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`, `/snapshot`, `/gquota`, `/reload`, `/tools`, `/toolsets`, `/browser`, `/config`, `/cron`, `/skills`, `/platforms`, `/paste`, `/image`, `/terminal-setup`, `/statusbar`, `/mouse`, `/plugins`, and `/steer` are **CLI-only** (the `/mouse` command is TUI-exclusive; `/steer` works in both classic CLI and TUI).
|
|
- `/verbose` is **CLI-only by default**, but can be enabled for messaging platforms by setting `display.tool_progress_command: true` in `config.yaml`. When enabled, it cycles the `display.tool_progress` mode and saves to config.
|
|
- `/sethome`, `/update`, `/restart`, `/approve`, `/deny`, and `/commands` are **messaging-only** commands.
|
|
- `/status`, `/background`, `/voice`, `/reload-mcp`, `/rollback`, `/debug`, `/fast`, and `/yolo` work in **both** the CLI and the messaging gateway.
|
|
- `/voice join`, `/voice channel`, and `/voice leave` are only meaningful on Discord.
|