sidebar_position: 2 title: “Slash Commands Reference” description: “Complete reference for interactive CLI and messaging slash commands”
斜杠命令参考
Hermes 提供两种斜杠命令接口,二者均通过 hermes_cli/commands.py 中的中央 COMMAND_REGISTRY 来驱动:
- 交互式 CLI 斜杠命令——由
cli.py调用,并从注册表中获取自动补全功能; - 消息平台斜杠命令——由
gateway/run.py调用,其帮助文本和平台菜单也由注册表生成。
已安装的技能同样会作为动态斜杠命令在这两种接口中呈现。(/plan 曾属于此类命令,但现在已成为内置命令——详见下方的会话表格。)
权限与管理员/用户区分
所有支持按用户设置允许列表的消息平台(Telegram、Discord、Slack、Matrix、Mattermost、Signal 等)都支持两级斜杠命令权限划分:管理员可以使用所有已注册的命令,而普通用户仅能使用在 user_allowed_commands 中列出的命令名称(此外还可以使用始终允许的 /help 和 /whoami 命令)。你可以在 ~/.hermes/config.yaml 文件中该平台的 extra: 块内配置 allow_admin_from 和 user_allowed_commands(以及针对群组的对应参数 group_allow_admin_from / group_user_allowed_commands)。
具体示例请参考各平台的相关文档——各平台的结构是完全一致的。
如果某个作用域未设置 allow_admin_from,则该作用域将保持无限制的向后兼容模式——所有被允许的用户均可使用所有命令。
交互式 CLI 斜杠命令
在 CLI 中输入 / 即可打开自动补全菜单。内置命令不区分大小写。
会话
| Command | Description |
|---|---|
/new [name] (alias: /reset) | Start a new session (fresh session ID + history). Optional [name] sets the initial session title — e.g. /new my-experiment opens a fresh session already titled my-experiment so it’s easy to find later with /resume or /sessions. Append now, --yes, or -y to skip the confirmation modal — e.g. /reset now, /new --yes my-experiment. |
/clear | Clear screen and start a new session |
/history | Show conversation history (respects /timestamps) |
/save | Save the current conversation |
/prompt (alias: /compose) | Compose your next prompt in $EDITOR (markdown) instead of the inline input — useful for long, multi-line, or carefully-formatted prompts. |
/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 [here [N] | focus topic] | Manually compress conversation context (flush memories + summarize). /compress here [N] summarizes everything except the most recent N exchanges (default 2), kept verbatim — pick your own compression boundary. A focus topic narrows what a full summary preserves. |
/rollback | List or restore filesystem checkpoints (usage: /rollback [number]) |
/diff [staged|all|session] [--stat] [path...] | Show git changes in the working directory. Default: unstaged changes plus untracked files. staged shows what’s staged for commit, all everything since HEAD, and session the cumulative diff of everything Hermes changed here (from the earliest retained checkpoint baseline — requires checkpoints to be enabled; complements /rollback diff <N>). --stat prints just the changed-file summary; path arguments restrict the diff. |
/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. Database restores write through SQLite’s backup API so live processes (gateway, dashboard) see the restored data safely; if that path fails while another process still holds the database open, the restore refuses instead of risking corruption — stop the holder and retry. |
/stop | Kill all running background processes |
/queue <prompt> (alias: /q) | Queue a prompt for the next turn (doesn’t interrupt the current agent response). |
/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). |
/goal <text> | Set a standing goal Hermes works toward across turns — our take on the Ralph loop. After each turn an auxiliary judge model decides whether the goal is done; if not, Hermes auto-continues. Subcommands: /goal status, /goal pause, /goal resume, /goal clear. Budget defaults to 20 turns (goals.max_turns); any real user message preempts the continuation loop, and state survives /resume. See Persistent Goals for the full walkthrough. |
/subgoal <text> | Append a user-supplied criterion to the active goal mid-loop. The continuation prompt surfaces all subgoals to the agent verbatim, and the judge factors them into its DONE/CONTINUE verdict — so the goal isn’t marked done until the original goal and every subgoal are met. Subcommands: /subgoal (list), /subgoal remove <N>, /subgoal clear. Requires an active /goal. |
/heartbeat every <interval> <prompt> (alias: /hb) | Set a recurring prompt that re-enters this session as a normal user turn whenever it’s idle and the interval has elapsed (min 60s; missed ticks coalesce). Subcommands: /heartbeat status, /heartbeat pause, /heartbeat resume, /heartbeat clear. Session-scoped and in-process — use hermes cron for durable isolated schedules. See Session Heartbeats. |
/refine [focus] | Run the background memory/skill self-improvement review now instead of waiting for the automatic post-turn trigger. Optional focus text steers the review (e.g. /refine save the deploy workflow as a skill). Runs in a background fork against a conversation snapshot — the live session and prompt cache are untouched; results are reported when done. |
/review [instructions] | Spawn an independent, full-privilege reviewer subagent to review the work just discussed — a PR, code, docs, any artifact referenced in the last 10 chat messages. It investigates in the background (opens the PR, reads the diff, runs code) and its full review re-enters this session as a background-subagent completion the primary agent can act on. Pin a dedicated review model via auxiliary.review in config.yaml (defaults to your main model). See Subagent Delegation. |
/moa <prompt> | Run a single prompt through the default Mixture of Agents preset, then restore your current model. One-shot — does not change your session model. |
/resume [name] | Resume a previously-named session |
/sessions (TUI alias: /switch) | Classic CLI: browse and resume previous sessions in an interactive picker. TUI: open the live session switcher for currently open TUI sessions. Use /sessions new in the TUI to start another live session immediately. |
/egress [status] | Show Docker egress proxy status — enabled/configured/running state, credential source, token mappings, uncovered providers, and next remediation step. Works in CLI, TUI, Desktop chat, and messaging gateway. |
/redraw | Force a full UI repaint (recovers from terminal drift after tmux resize, mouse selection artifacts, etc.) |
/status | Show session info — model, provider, profile, session ID, working directory, title, created/updated timestamps, token totals, agent-running state — followed by a local Session recap block (recent user/assistant turn counts, tool result count, top tools used, last few files touched, the latest user prompt, and the latest assistant reply). The recap is computed locally from the in-memory conversation; no LLM call, no prompt-cache impact. |
/context [all] (alias: /ctx) | Visual context-window breakdown. On the CLI/TUI: a 5×20 glyph block grid (each cell ≈ 1% of the model window) plus an estimated per-category table — system prompt, tool definitions, rules, skills index, MCP, subagents, memory, conversation — versus free space. On messaging platforms: a usage gauge with auto-compression threshold/headroom, compression stats, cumulative throughput, and the same category table in plain text. /context all appends per-skill and per-toolset cost listings (index cost vs SKILL.md load cost; schema tokens per toolset). Read-only and computed locally — no LLM call, no prompt-cache impact. |
/agents (alias: /tasks) | Show active agents and running tasks across the current session. |
/bg <prompt> | 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> | Ask a quick side question about the current conversation without interrupting it. A one-shot auxiliary LLM call answers from a read-only snapshot of the transcript — the live session’s history and prompt cache are untouched, and the current turn keeps running. For independent work with a fresh context, use /bg. |
/branch [name] (alias: /fork) | Branch the current session (explore a different path) |
/worktree [new [name]|list] | CLI only. Inspect or create isolated git worktrees mid-session (inspired by Copilot CLI’s /worktree new). Bare /worktree shows the active worktree; /worktree list lists the repo’s worktrees; /worktree new [name] creates a worktree under .worktrees/ (branched from the freshly-fetched remote tip, honoring worktree_sync) and retargets the session’s terminal and file tools into it. Named trees use your name (hermes/<name> branch); unnamed ones get a random hermes-<id>. On exit the tree is kept only if it has unpushed commits — same lifecycle as hermes -w. See Git Worktrees. |
/handoff <platform> | CLI only. Hand the current session off to a messaging platform (Telegram, Discord, Slack, WhatsApp, Signal, Matrix). The gateway picks it up immediately, creates a fresh thread on platforms that support threads (Telegram topics, Discord text-channel threads, Slack message-anchored threads), re-binds the destination to your CLI session_id so the full role-aware transcript replays, and forges a synthetic user turn so the agent confirms it’s working in the new place. Your CLI exits cleanly on success with a /resume hint; resume locally any time with /resume <title>. Refused mid-turn. Requires the gateway to be running and a home channel configured for the target platform (/sethome from the destination chat). See Cross-Platform Handoff. |
/journey [list|delete <id>|edit <id>] (aliases: /learning, /memory-graph) | Open the learning journey timeline of learned skills + memories. Works in the classic CLI, as a TUI overlay, and in the desktop app (Star Map panel). Not available on messaging platforms. See Learning Journey. |
配置
| 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), and user-defined aliases (/model fav, /model grok — see Custom model aliases). Flags: --global persists the change to config.yaml; --session forces session-only; --once applies to the next turn only; --refresh re-fetches the provider’s model list; --provider <name> switches backend (session-only unless --global). A plain /model <name> is session-only unless model.persist_switch_by_default: true is set — except when no model.default/model.provider is configured yet, in which case the first pick persists so the profile gets a real default. The same rule governs the desktop composer picker. Interactive picker: running /model with no arguments opens the provider→model picker; on the model list you can type to fuzzy-filter the models (e.g. type grok to narrow to matching models), Backspace to trim the filter, Esc to clear it (or close the picker). Selection always resolves to one concrete model — the filter only narrows the list, it never guesses. Note: /model can only switch between already-configured providers. To add a new provider, exit the session and run hermes model from your terminal. Cost note: switching models mid-conversation resets the prompt cache — the cache key includes the model, so your next turn re-reads the entire conversation at full input price instead of the ~75%-discounted cached rate. Expected and unavoidable, but worth knowing on long sessions. |
/codex-runtime [auto|codex_app_server|on|off] | Toggle the optional Codex app-server runtime for OpenAI/Codex models. auto (default) uses Hermes’ standard chat completions; codex_app_server hands turns to a codex app-server subprocess for native shell, apply_patch, ChatGPT subscription auth, and migrated Codex plugins. Effective on next session. |
/personality | Set a predefined personality. /personality none (or default / neutral) clears the overlay and returns to base behavior. |
/verbose | Cycle tool progress display: off → new → all → verbose. Can be enabled for messaging via config. |
/focus [on|off|status] | Toggle focus view — a display-only reduced-output mode showing just your prompt and the final response. Composes with /verbose: turning it on snaps tool progress to off and remembers your previous mode, and /focus off restores it. Each turn ends with a dim recovery line (⋯ 7 tool lines hidden · /focus off to show) and a persistent ◉ focus badge sits in the status bar so you always know you’re in the reduced view. Nothing is sent differently to the model — detail is hidden, never discarded. |
/fast [normal|fast|auto|cold|status] | Fast mode — OpenAI Priority Processing / Anthropic Fast Mode. fast = every request; auto = only requests in the first agent.fast_auto_seconds (default 60s) of each turn; cold = that same window on the first turn of a session only. Default normal (off). See Fast mode. |
/reasoning [level|show|hide|full|clamp] [--global] | Manage reasoning effort and display. Levels include none / minimal / low / medium / high / xhigh / max / ultra. show / hide (or on / off) toggle reasoning display; full and clamp adjust how reasoning is shown. --global persists effort to config. |
/skin | Show or change the display skin/theme |
/export [profile] [-o out.tar.gz] | CLI only. Pack a profile into a shareable .tar.gz — skills, memory, persona, crons, plugins, settings, and (from the desktop) themes and layout. Credentials (auth.json, .env) are stripped. Defaults to the active profile and <name>.tar.gz in the current directory. Same archive as hermes profile export; for a versioned, updatable share use a profile distribution instead. |
/import <archive.tar.gz> [--name <name>] | CLI only. Install a profile archive as a new profile, inferring the name from the archive unless --name is given. Refuses to overwrite an existing profile and cannot import as default. Creates a shell wrapper when the name is free. See Export and import a profile file. |
/statusbar (alias: /sb) | Toggle the context/model status bar on or off |
/battery [on|off|status] | Toggle a color-coded battery read-out as the first status-bar element (off by default; no-op without a battery). |
/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. |
/approvals [manual|smart|off] | Show or set the persistent dangerous-command approval mode. |
/footer [on|off|status] | Toggle the gateway runtime-metadata footer on final replies (shows model, context %, and cwd). |
/busy [queue|steer|interrupt|status] | Control what happens when you message while Hermes is working — queue the new message, steer mid-turn, or interrupt immediately. Works in the CLI and messaging gateway. |
/indicator [kaomoji|emoji|unicode|ascii] | CLI-only: pick the TUI busy-indicator style. |
/timestamps [on|off|status] | CLI-only: toggle [HH:MM] timestamps on messages and in /history. |
/wake [on|off|status] | CLI-only: toggle the “Hey Hermes” wake word listener. |
工具与技能
| 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 a local Chromium-family CDP connection. connect attaches browser tools to a running Chrome, Brave, Chromium, or Edge instance (default: http://127.0.0.1:9222). disconnect detaches. status shows current connection. Auto-launches a supported Chromium-family browser if no debugger is detected. |
/skills | Search, install, inspect, or manage skills from online registries. Also the review surface for the skill write-approval gate: /skills pending, /skills diff <id>, /skills approve <id>, /skills reject <id>, /skills approval on|off. See Gating agent skill writes. |
/memory [pending|approve|reject|approval] | Review pending memory writes staged by the write-approval gate (memory.write_approval) and toggle the gate. See Controlling memory writes. |
/bundles | List configured skill bundles — /<name> slash aliases that preload several skills at once. Configure under bundles: in ~/.hermes/config.yaml. See Skill Bundles. |
/learn <what to learn from> | Distill a reusable skill from anything you describe — a directory, a URL, the workflow you just walked the agent through, or pasted notes. Open-ended: the agent gathers the sources with its own tools and authors a SKILL.md following the house authoring standards. Works in the CLI, the messaging gateway, the TUI, and the dashboard Skills page. |
/plan [task] | Write a markdown implementation plan to .hermes/plans/ in the active workspace — planning only, no execution. Empty argument infers the task from the conversation. (Formerly the bundled plan skill; now built-in so it survives the Telegram/Discord command-menu caps.) |
/init [notes] | Generate or update AGENTS.md project instructions from a repo scan (port of Codex /init). The agent inspects manifests, layout, and toolchain configs with its read-only tools, then writes a concise AGENTS.md — or, if one exists, merge-updates it preserving your content. Optional notes steer the emphasis. Works in the CLI, the messaging gateway, and the TUI. |
/cron | Manage scheduled tasks (list, add/create, edit, pause, resume, run, remove) |
/suggestions [accept|dismiss N|catalog|clear] (alias: /suggest) | Review suggested automations. Use /suggestions to list pending suggestions, /suggestions accept <id> to create the proposed automation, /suggestions dismiss <id> to reject one, /suggestions catalog to add curated starter automations, and /suggestions clear to clear resolved suggestion records. Accepted jobs preserve the current surface as the delivery origin. |
/blueprint [name] [slot=value ...] (alias: /bp) | Set up an automation from a blueprint template. Bare /blueprint lists the catalog; /blueprint <name> starts a guided slot-filling flow on the next agent turn; /blueprint <name> slot=value ... creates the job directly. |
/curator | Background skill maintenance — status, run, pin, archive. See Curator. |
/kanban <action> | Drive the multi-profile, multi-project collaboration board without leaving chat. Full hermes kanban surface is available: /kanban list, /kanban show t_abc, /kanban create "title" --assignee X, /kanban comment t_abc "text", /kanban unblock t_abc, /kanban dispatch, etc. Multi-board support included: /kanban boards list, /kanban boards create <slug>, /kanban boards switch <slug>, /kanban --board <slug> <action>. See Kanban slash command. |
/reload-mcp (alias: /reload_mcp) | Reload MCP servers from config.yaml and re-probe tool availability (credentials/daemons that appeared mid-session) |
/reload-skills (alias: /reload_skills) | Re-scan ~/.hermes/skills/ for newly installed or removed skills |
/reload | Reload .env variables into the running session (picks up new API keys without restarting) |
/plugins | List installed plugins and their status |
/pet [list|<slug>] | Toggle or adopt a petdex mascot. /pet toggles the pane, /pet list shows installed pets, /pet <slug> adopts a specific one. |
/hatch <description> (alias: /generate-pet) | Generate a brand-new petdex pet from a text description, using the configured image backend (OpenRouter / Nous Portal). See Pets. |
信息
| Command | Description |
|---|---|
/help | Show available commands, grouped by category. Core commands are shown by default with skill commands collapsed to a one-line count; /help skills lists all skill commands, and /help <text> filters commands (and matching skills) by substring. |
/palette | Open the fuzzy command palette (also Ctrl+P) — type to filter all commands + skills, ↑/↓ to move, Enter to insert the selected command into the composer (never auto-runs), Esc to cancel. Matching is ranked by command name first, so a short query stays precise. |
/version | Show Hermes Agent version, build, and environment info. |
/whoami | Show your slash command access level (admin / user). |
/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. |
/topup | Show your Nous balance and manage billing on the portal (replaces the old /credits and /billing commands). |
/subscription (alias: /upgrade) | CLI only. View your Nous plan and change it in the browser. |
/insights | Show usage insights and analytics (last 30 days) |
/update | Update Hermes Agent to the latest version. |
/platforms (alias: /gateway) | Show gateway/messaging platform status (CLI-only summary view). |
/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. |
/debug | Upload debug report (system info + logs) and get shareable links. Also available in messaging. |
/update | Update Hermes Agent to the latest version. |
/profile | Show active profile name and home directory |
退出
| 命令 | 描述 |
|---|---|
/quit | 退出 CLI(也可使用:/exit)。 |
动态 CLI 斜杠命令
| 命令 | 描述 |
|---|---|
/<skill-name> | 将任何已安装的技能作为按需命令加载。示例:/gif-search、/github-pr-workflow、/excalidraw。 |
/skills ... | 从注册表及官方可选技能目录中搜索、浏览、查看、安装、审计、发布及配置技能。 |
快速命令
用户自定义的快速命令可将简短的斜杠命令映射到 shell 命令或另一个斜杠命令。可在 ~/.hermes/config.yaml 中进行配置:
quick_commands:
status:
type: exec
command: systemctl status hermes-agent
deploy:
type: exec
command: scripts/deploy.sh
inbox:
type: alias
target: /gmail unread
接着在 CLI 或消息平台中输入 /status、/deploy 或 /inbox。这些快捷命令会在指令发送时立即被解析,因此可能不会显示在所有的内置自动补全/帮助列表中。
仅包含字符串的提示语无法作为快捷命令使用。较长且可重复使用的提示语应放入技能模块中,或使用 type: alias 指向现有的斜杠命令。
自定义模型别名
为您经常使用的模型定义自定义简称,之后便可通过运行中的会话中使用 /model <alias>、启动时使用 hermes chat --model <alias>,或在任何消息平台中调用这些别名。无论是在仅限当前会话(默认)模式还是 --global 模式下,这些别名的使用方式都完全一致。
系统支持两种配置格式:
完整格式 — 指定具体的模型、提供方,以及可选的基础 URL。可将该配置放入 ~/.hermes/config.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
theta:
model: theta-1
provider: custom
base_url: https://theta.example.com/v1
key_env: THETA_API_KEY # or: api_key: "${THETA_API_KEY}"
拥有独立 base_url 的别名可通过 api_key(字面值或 "${VAR}" 引用形式)或 key_env(环境变量名称)来携带该端点的凭证;若两者均被设置,则以 api_key 为准。若两者均未设置,凭证将从别名的 host 字段中获取,而不会继承自切换前正在使用的提供方。
简写形式——将 provider/model 合并为一个字符串。无需编辑 YAML 即可在命令行中直接设置:
hermes config set model.aliases.fav anthropic/claude-opus-4.6
hermes config set model.aliases.grok x-ai/grok-4
随后在聊天界面中:
/model fav # session-only
/model grok --global # also persists current-model change to config.yaml
用户自定义别名会优先于内置的简写名称,因此将别名命名为 sonnet、kimi、opus 等将会覆盖那些内置名称。别名名称不区分大小写。
别名解析
命令支持前缀匹配:输入 /h 会对应到 /help,输入 /mod 会对应到 /model。当某个前缀存在歧义(可匹配多个命令)时,注册顺序中最先出现的匹配项将优先生效。完整的命令名称以及已注册的别名始终比前缀匹配具有更高优先级。
消息类斜杠命令
Slack 线程命令(以
!为前缀): Slack 本身会阻止在消息线程中使用原生斜杠命令(“线程中不支持 /queue 功能,很抱歉!”),并且不会将这些命令传递给 Hermes。在 Slack 线程中,应使用!前缀——如!stop、!new、!status——此时网关会像处理斜杠命令一样将其转发。在线程中,@Hermes !stop和@Hermes /stop也同样有效。系统仅会检查第一个单词是否在已知命令列表中,因此像!nice work这样的消息会原封不动地传递给智能体。详情请参阅在线程中使用命令。
该消息网关支持在 Telegram、Discord、Slack、WhatsApp、Signal、电子邮件、Home Assistant 以及 Teams 聊天中使用以下内置命令:
| Command | Description |
|---|---|
/start | Platform-protocol command. Many chat platforms (Telegram, Discord, …) send /start automatically the first time a user opens a bot conversation. Hermes acknowledges the ping silently — no agent reply, no session burn — so first-contact handshakes don’t waste a turn. You can also send it explicitly to confirm the gateway is reachable. |
/new [name] (alias: /reset) | Start a new session (fresh session ID + history). Optional [name] sets the initial session title. Append now, --yes, or -y to skip the confirmation modal — e.g. /reset now, /new --yes my-experiment. |
/status | Show session info, followed by a local Session recap block (recent turn counts, top tools used, files touched, latest prompt + reply). |
/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), auto-detect (/model custom), and user-defined aliases (/model fav, /model grok — see 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). Cost note: a mid-session model switch resets the prompt cache (the cache key includes the model), so the next message re-reads the whole conversation at full input price. |
/codex-runtime [auto|codex_app_server|on|off] | Toggle the optional Codex app-server runtime. Persists to model.openai_runtime in config.yaml and evicts the cached agent so the next message picks up the new runtime. Effective on next session. |
/personality [name] | Set a personality overlay for the session. /personality none (or default / neutral) clears it. |
/fast [normal|fast|auto|cold|status] | Fast mode — OpenAI Priority Processing / Anthropic Fast Mode. auto/cold open a bounded fast window per turn / per session. |
/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 [here [N] | focus topic] | Manually compress conversation context. /compress here [N] keeps the most recent N exchanges (default 2) verbatim and summarizes the rest. A focus topic narrows what a full summary preserves. |
/topic [off|help|session-id] | Telegram DM only. Manage user-managed multi-session topic mode. /topic enables it or shows status; /topic off disables it and clears bindings; /topic help shows usage; /topic <session-id> inside a topic restores a previous session. See Multi-session DM mode. |
/title [name] | Set or show the session title. |
/resume [name] | Resume a previously named session. |
/sessions [all] [search <query>] | List previous sessions for this chat; the active session appears with a (current) marker. /sessions search <query> filters by title/id match (most recently active first); /sessions all lists across origins (admin only — non-admins get a notice and the chat-scoped list). |
/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. |
/topup | Show your Nous balance and manage billing on the portal. |
/whoami | Show your slash command access level (admin / user). |
/insights [days] | Show usage analytics. |
/reasoning [level|show|hide|full|clamp] [--global] | Change reasoning effort (levels up to max / ultra) or toggle reasoning display (full / clamp included). --global persists to config. |
/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. |
/diff [staged|all|session] [--stat] | Show git changes in the working directory (fenced and truncated to platform message limits). session shows the cumulative diff of everything Hermes changed; --stat shows just the summary. |
/bg <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. |
/btw <question> | Ask a side question about the current conversation without interrupting it. Answered from a transcript snapshot; the answer is sent to the chat when ready. |
/queue <prompt> (alias: /q) | Queue a prompt for the next turn without interrupting the current one. |
/steer <prompt> | Inject a message after the next tool call without interrupting — the model picks it up on its next iteration rather than as a new turn. |
/goal <text> | Set a standing goal Hermes works toward across turns — our take on the Ralph loop. A judge model checks after each turn; if not done, Hermes auto-continues until it is, you pause/clear it, or the turn budget (default 20) is hit. Subcommands: /goal status, /goal pause, /goal resume, /goal clear. Safe to run mid-agent for status/pause/clear; setting a new goal requires /stop first. See Persistent Goals. |
/subgoal <text> | Append criteria to the active /goal mid-loop (/subgoal, /subgoal remove <N>, /subgoal clear). |
/heartbeat every <interval> <prompt> (alias: /hb) | Set a recurring prompt that re-enters this session when idle. Subcommands: status, pause, resume, clear. On Slack use /hermes heartbeat …. |
/refine [focus] | Run the memory/skill self-improvement review now, optionally with focus instructions. On Slack use /hermes refine …. |
/review [instructions] | Spawn an independent reviewer subagent for the work just discussed (PR, code, docs); its review re-enters this chat when done. On Slack use /hermes review …. |
/moa <prompt> | Run one prompt through the default Mixture of Agents preset, then restore the session model. |
/branch [name] (alias: /fork) | Branch the current session (explore a different path). |
/agents (alias: /tasks) | Show active agents and running tasks. |
/sessions | Browse and resume previous sessions. |
/context [all] (alias: /ctx) | Context-window usage gauge and category breakdown (messaging-friendly text form). /context all adds per-skill / per-toolset cost detail. |
/egress [status] | Show Docker egress proxy status. |
/init [notes] | Generate or update AGENTS.md from a repo scan. |
/learn <what to learn from> | Distill a reusable skill from anything you describe. |
/plan [task] | Write a markdown implementation plan to .hermes/plans/; no execution. |
/bundles | List configured skill bundles (/<name> aliases that preload several skills). |
/reload-skills (alias: /reload_skills) | Re-scan ~/.hermes/skills/ for newly installed or removed skills. |
/footer [on|off|status] | Toggle the runtime-metadata footer on final replies (shows model, context %, and cwd). |
/curator [status|run|pin|archive] | Background skill maintenance controls. |
/suggestions [accept|dismiss N|catalog|clear] | Review suggested automations right in chat. /suggestions lists pending suggestions, catalog adds curated starter automations, and clear prunes resolved suggestion records. Accepted suggestions keep this chat/thread as the job delivery origin. |
/blueprint [name] [slot=value ...] | Browse cron blueprints, start a guided slot-filling conversation, or create a blueprint job directly. Directly created jobs deliver back to the current chat/thread. |
/memory [pending|approve|reject|approval] | Review pending memory writes staged by the write-approval gate (memory.write_approval) — approve or reject them right in chat — and toggle the gate with /memory approval on|off. See Controlling memory writes. |
/skills [pending|approve|reject|diff|approval] | Review pending skill writes staged by the write-approval gate (skills.write_approval). Shows a one-line gist per staged write; /skills diff <id> is truncated for chat — read the full diff on the CLI or in ~/.hermes/pending/skills/<id>.json. Only appears when the gate is on (or staged writes remain); search/install stay CLI-only. |
/kanban <action> | Drive the multi-profile, multi-project collaboration board from chat — identical argument surface to the CLI. Bypasses the running-agent guard, so /kanban unblock t_abc, /kanban comment t_abc "…", /kanban list --mine, /kanban boards switch <slug>, etc. work mid-turn. /kanban create … auto-subscribes the originating chat to the new task’s terminal events. See Kanban slash command. |
/platform <list|pause|resume> [name] | Operate a running gateway platform right from chat. /platform list shows every adapter and its state (running, paused-by-breaker, manually-paused); /platform pause <name> stops dispatching new messages to that adapter without unloading it; /platform resume <name> re-enables it and clears a tripped circuit breaker once the upstream is healthy. |
/reload-mcp (alias: /reload_mcp) | Reload MCP servers from config and re-probe tool availability. |
/verbose | Cycle tool progress display. Off by default on messaging — enable with display.tool_progress_command: true in config.yaml. |
/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. |
备注
-
/skin、/snapshot、/export、/import、/reload、/tools、/toolsets、/browser、/config、/cron、/platforms、/paste、/image、/statusbar、/battery、/focus、/plugins、/indicator、/wake、/journey、/redraw、/clear、/history、/save、/copy、/handoff、/prompt、/pet、/hatch、/timestamps、/subscription以及 /quit 均为仅适用于 CLI 的命令。 -
/skills命令在搜索/浏览/安装功能上仅支持 CLI 使用;其用于审核写入权限的子命令(如pending、approve、reject、diff、approval)在启用了skills.write_approval选项后,也可在消息平台中使用。而/memory命令则在两种平台上均可用。 -
/verbose默认为仅适用于 CLI 的命令,但可通过在config.yaml中设置display.tool_progress_command: true来使其在消息平台上启用。启用后,该命令会循环切换display.tool_progress模式,并将当前模式保存至配置文件中。 -
/focus与/verbose共享同一个抑制路径(display.tool_progress),因此二者不会产生冲突:执行/focus on会将工具进度显示状态设置为“关闭”,并将当前模式存储在display.focus_saved_tool_progress下;执行/focus off则可恢复原有设置。在处于聚焦状态时切换/verbose的启用状态,会同时恢复工具进度显示并清除聚焦标识。聚焦视图仅用于显示——它不会更改对话历史、系统提示词或发送给模型的任何内容,因此对提示词缓存毫无影响。 -
/sethome
、/restart、/approve、/deny、/topic、/platform以及 /commands 均为仅适用于消息平台的命令。 -
/status、/egress、/version、/whoami、/bg、/btw、/queue、/steer、/voice、/reload-mcp、/reload-skills、/rollback、/diff、/debug、/fast、/approvals、/busy、/footer、/curator、/kanban、/topup、/suggestions、/blueprint、/learn、/init、/sessions以及 /yolo命令在 CLI 和消息网关中均可用。 -
/
voice join、/voice channel以及 /voice leave命令仅在 Discord 环境下才有意义。 -
在 TUI 模式中,/
sessions用于显示当前 TUI 进程中的实时会话;若需查看已保存或已关闭的会话记录,则可使用 /resume [name]或hermes --tui --resume <id-or-title>命令。
破坏性命令的确认提示
在运行会清除未保存会话状态的斜杠命令之前,CLI 会给出确认提示。目前属于破坏性命令的包括以下几类:
| 命令 | 会清除的内容 |
|---|---|
/clear | 清空屏幕并启动全新会话——当前的会话 ID 以及内存中的历史记录都会被删除。 |
/new / /reset | 启动全新会话(生成新的会话 ID 并清空历史记录)。 |
/undo | 从历史记录中移除最近一次用户与助手之间的对话内容。 |
/exit --delete / /quit --delete | 退出程序的同时,永久删除当前会话的 SQLite 历史记录及磁盘上的会话文本。 |
对于上述每一类命令,CLI 都会弹出三选一的确认模态框:仅本次确认(本次执行该命令),始终确认(允许该命令执行,并将 approvals.destructive_slash_confirm 的值设为 false,从而让后续的破坏性命令无需再次提示即可运行),或 取消。
直接跳过: 在命令后添加 now、--yes 或 -y,即可绕过单次调用的确认弹窗——例如 /reset now、/new --yes my-session、/clear -y、/undo -y。当终端无法正确显示该确认弹窗时(关于 Windows PowerShell 的相关问题可参见 issue #30768),或在通过脚本调用 CLI 时,此方法十分有用。
如需全局禁用这些确认提示,可在 ~/.hermes/config.yaml 中将 approvals.destructive_slash_confirm 的值设置为 false;若要重新启用该功能,则将其值改回 true。相关背景信息请参阅 安全性——破坏性斜杠命令的确认机制。