命令由 Gateway 网关处理。大多数命令必须作为以Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
/ 开头的独立消息发送。仅主机 bash 聊天命令使用 ! <cmd>(/bash <cmd> 是别名)。
当对话或线程绑定到 ACP 会话时,普通后续文本会路由到该 ACP harness。Gateway 网关管理命令仍保持本地处理:/acp ... 始终到达 OpenClaw ACP 命令处理器;只要该表面启用了命令处理,/status 和 /unfocus 也保持本地处理。
有两个相关系统:
Commands
Commands
独立的
/... 消息。Directives
Directives
/think、/fast、/verbose、/trace、/reasoning、/elevated、/exec、/model、/queue。- 在模型看到消息之前,指令会从消息中剥离。
- 在普通聊天消息中(不是仅包含指令的消息),它们会被视为“内联提示”,并且不会持久化会话设置。
- 在仅包含指令的消息中(消息只包含指令),它们会持久化到会话,并回复确认信息。
- 指令只会应用于已授权的发送者。如果设置了
commands.allowFrom,它就是唯一使用的允许列表;否则授权来自渠道允许列表/配对以及commands.useAccessGroups。未授权的发送者会看到指令被当作纯文本处理。
Inline shortcuts
Inline shortcuts
仅限允许列表中/已授权的发送者:
/help、/commands、/status、/whoami(/id)。它们会立即运行,在模型看到消息之前被剥离,剩余文本继续走正常流程。配置
启用在聊天消息中解析
/...。在没有原生命令的表面(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams)上,即使你将其设置为 false,文本命令仍然可用。注册原生命令。自动:对 Discord/Telegram 开启;对 Slack 关闭(直到你添加斜杠命令);对不支持原生命令的提供商会被忽略。设置
channels.discord.commands.native、channels.telegram.commands.native 或 channels.slack.commands.native 可按提供商覆盖(布尔值或 "auto")。在 Discord 上,false 会在启动期间跳过斜杠命令注册和清理;此前注册的命令可能仍然可见,直到你从 Discord 应用中移除它们。Slack 命令在 Slack 应用中管理,不会自动移除。descriptionLocalizations,OpenClaw 会将其发布为 Discord description_localizations,并将其纳入协调比较。
在受支持时以原生方式注册 skill 命令。自动:对 Discord/Telegram 开启;对 Slack 关闭(Slack 需要为每个 skill 创建一个斜杠命令)。设置
channels.discord.commands.nativeSkills、channels.telegram.commands.nativeSkills 或 channels.slack.commands.nativeSkills 可按提供商覆盖(布尔值或 "auto")。启用
! <cmd> 来运行主机 shell 命令(/bash <cmd> 是别名;需要 tools.elevated 允许列表)。控制 bash 在切换到后台模式前等待多久(
0 表示立即进入后台)。启用
/config(读取/写入 openclaw.json)。启用
/mcp(读取/写入 OpenClaw 管理的 mcp.servers 下 MCP 配置)。启用
/plugins(插件发现/状态,以及安装 + 启用/禁用控制)。启用
/debug(仅运行时覆盖)。启用
/restart 以及 Gateway 网关重启工具操作。设置所有者专用命令/工具表面的显式所有者允许列表。这是可以批准危险操作并运行
/diagnostics、/export-trajectory 和 /config 等命令的人类操作员账号。它独立于 commands.allowFrom,也独立于私信配对访问。按渠道设置:让所有者专用命令在该表面运行时要求所有者身份。当为
true 时,发送者必须匹配已解析的所有者候选项(例如 commands.ownerAllowFrom 中的一项或提供商原生所有者元数据),或在内部消息渠道上持有内部 operator.admin 范围。渠道 allowFrom 中的通配符条目,或空的/未解析的所有者候选列表,不足以满足要求——所有者专用命令会在该渠道上默认失败关闭。如果你希望所有者专用命令只受 ownerAllowFrom 和标准命令允许列表限制,请保持关闭。控制所有者 ID 在系统提示中如何显示。
可选地设置在
commands.ownerDisplay="hash" 时使用的 HMAC 密钥。用于命令授权的按提供商允许列表。配置后,它是命令和指令唯一的授权来源(渠道允许列表/配对和
commands.useAccessGroups 会被忽略)。使用 "*" 作为全局默认值;提供商特定键会覆盖它。当未设置
commands.allowFrom 时,对命令强制执行允许列表/策略。命令列表
当前事实来源:- 核心内置命令来自
src/auto-reply/commands-registry.shared.ts - 生成的停靠命令来自
src/auto-reply/commands-registry.data.ts - 插件命令来自插件
registerCommand()调用 - 你的 Gateway 网关上的实际可用性仍取决于配置标志、渠道表面以及已安装/已启用的插件
核心内置命令
Sessions and runs
Sessions and runs
/new [model]启动一个新会话;/reset是重置别名。- Control UI 会拦截键入的
/new,以创建并切换到一个新的仪表板会话;键入的/reset仍会运行 Gateway 网关的原地重置。 /reset soft [message]保留当前转录,丢弃复用的 CLI 后端会话 ID,并原地重新运行启动/系统提示加载。/compact [instructions]压缩会话上下文。请参阅 压缩。/stop中止当前运行。/session idle <duration|off>和/session max-age <duration|off>管理线程绑定过期时间。/export-session [path]将当前会话导出为 HTML。别名:/export。/export-trajectory [path]请求 exec 批准,然后为当前会话导出 JSONL 轨迹包。当你需要一个 OpenClaw 会话的提示、工具和转录时间线时使用它。在群聊中,批准提示和导出结果会私下发送给所有者。别名:/trajectory。
Model and run controls
Model and run controls
/think <level>设置思考级别。选项来自活动模型的提供商配置文件;常见级别包括off、minimal、low、medium和high,自定义级别如xhigh、adaptive、max,或二进制on仅在受支持处可用。别名:/thinking、/t。/verbose on|off|full切换详细输出。别名:/v。/trace on|off为当前会话切换插件跟踪输出。/fast [status|on|off]显示或设置快速模式。/reasoning [on|off|stream]切换推理可见性。别名:/reason。/elevated [on|off|ask|full]切换提升模式。别名:/elev。/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>显示或设置 exec 默认值。/model [name|#|status]显示或设置模型。/models [provider] [page] [limit=<n>|size=<n>|all]列出已配置/可用认证的提供商,或列出某个提供商的模型;添加all可浏览该提供商的完整目录。/queue <mode>管理队列行为(steer、旧版queue、followup、collect、steer-backlog、interrupt),以及debounce:0.5s cap:25 drop:summarize等选项;/queue default或/queue reset清除会话覆盖。请参阅 命令队列 和 Steering queue。/steer <message>将指导注入当前会话的活动运行中,独立于/queue模式。当会话空闲时,它不会启动新的运行。别名:/tell。请参阅 Steer。
Discovery and status
Discovery and status
/help显示简短帮助摘要。/commands显示生成的命令目录。/tools [compact|verbose]显示当前智能体现在可以使用什么。/status显示执行/运行时 Status,包括Execution/Runtime标签,以及在可用时显示提供商用量/配额。/diagnostics [note]是用于 Gateway 网关 bug 和 Codex harness 运行的所有者专用支持报告流程。它每次都会在运行openclaw gateway diagnostics export --json前请求显式 exec 批准;不要用允许所有规则批准诊断。批准后,它会发送可粘贴的报告,其中包含本地包路径、清单摘要、隐私说明和相关会话 ID。在群聊中,批准提示和报告会私下发送给所有者。当活动会话使用 OpenAI Codex harness 时,同一次批准还会将相关 Codex 反馈发送到 OpenAI 服务器,并且完成后的回复会列出 OpenClaw 会话 ID、Codex 线程 ID 和codex resume <thread-id>命令。请参阅 诊断导出。/crestodian <request>从所有者私信运行 Crestodian 设置和修复助手。/tasks列出当前会话的活动/最近后台任务。/context [list|detail|json]说明上下文如何组装。/whoami显示你的发送者 ID。别名:/id。/usage off|tokens|full|cost控制每次回复的用量页脚,或打印本地成本摘要。
Skills, allowlists, approvals
Skills, allowlists, approvals
/skill <name> [input]按名称运行一个 skill。/allowlist [list|add|remove] ...管理允许列表条目。仅文本。/approve <id> <decision>解决 exec 批准提示。/btw <question>提出一个旁支问题,而不改变未来会话上下文。别名:/side。请参阅 BTW。
子智能体和 ACP
子智能体和 ACP
/subagents list|kill|log|info|send|steer|spawn管理当前会话的子智能体运行。/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help管理 ACP 会话和运行时选项。/focus <target>将当前 Discord 线程或 Telegram 话题/对话绑定到会话目标。/unfocus移除当前绑定。/agents列出当前会话中与线程绑定的智能体。/kill <id|#|all>中止一个或全部正在运行的子智能体。/subagents steer <id|#> <message>向正在运行的子智能体发送 Steering。参见 Steer。
仅所有者写入和管理
仅所有者写入和管理
/config show|get|set|unset读取或写入openclaw.json。仅所有者可用。需要commands.config: true。/mcp show|get|set|unset读取或写入mcp.servers下由 OpenClaw 管理的 MCP 服务器配置。仅所有者可用。需要commands.mcp: true。/plugins list|inspect|show|get|install|enable|disable检查或修改插件状态。/plugin是别名。写入仅所有者可用。需要commands.plugins: true。/debug show|set|unset|reset管理仅运行时生效的配置覆盖。仅所有者可用。需要commands.debug: true。/restart在启用时重启 OpenClaw。默认:启用;设置commands.restart: false可禁用。/send on|off|inherit设置发送策略。仅所有者可用。
语音、TTS、渠道控制
语音、TTS、渠道控制
/tts on|off|status|chat|latest|provider|limit|summary|audio|help控制 TTS。参见 TTS。/activation mention|always设置群组激活模式。/bash <command>运行宿主 shell 命令。仅文本。别名:! <command>。需要commands.bash: true以及tools.elevated允许列表。!poll [sessionId]检查后台 bash 作业。!stop [sessionId]停止后台 bash 作业。
生成的 dock 命令
Dock 命令会将当前会话的回复路由切换到另一个已链接的渠道。有关设置、示例和故障排除,请参见 渠道停靠。 Dock 命令由支持原生命令的渠道插件生成。当前内置集合:/dock-discord(别名:/dock_discord)/dock-mattermost(别名:/dock_mattermost)/dock-slack(别名:/dock_slack)/dock-telegram(别名:/dock_telegram)
session.identityLinks。源发送者和目标对端必须位于同一身份组中,例如 ["telegram:123", "discord:456"]。如果 id 为 123 的 Telegram 用户发送 /dock_discord,OpenClaw 会在活跃会话上存储 lastChannel: "discord" 和 lastTo: "456"。如果发送者未链接到 Discord 对端,该命令会回复设置提示,而不是落入普通聊天流程。
停靠只会更改活跃会话路由。它不会创建渠道账号、授予访问权限、绕过渠道允许列表,也不会将转录历史移动到另一个会话。使用 /dock-telegram、/dock-slack、/dock-mattermost 或另一个生成的 dock 命令可再次切换路由。
内置插件命令
内置插件可以添加更多斜杠命令。此仓库中当前内置命令:/dreaming [on|off|status|help]切换记忆 Dreaming。参见 Dreaming。/pair [qr|status|pending|approve|cleanup|notify]管理设备配对/设置流程。参见 配对。/phone status|arm <camera|screen|writes|all> [duration]|disarm临时布防高风险手机节点命令。/voice status|list [limit]|set <voiceId|name>管理 Talk 语音配置。在 Discord 上,原生命令名称为/talkvoice。/card ...发送 LINE 富卡片预设。参见 LINE。/codex status|models|threads|resume|compact|review|diagnostics|account|mcp|skills检查并控制内置的 Codex 应用服务器 harness。参见 Codex harness。- 仅 QQBot 命令:
/bot-ping/bot-version/bot-help/bot-upgrade/bot-logs
动态 skill 命令
用户可调用的 skills 也会作为斜杠命令公开:/skill <name> [input]始终可作为通用入口点使用。- 当 skill/插件注册时,skills 也可能以
/prose这样的直接命令出现。 - 原生 skill 命令注册由
commands.nativeSkills和channels.<provider>.commands.nativeSkills控制。 - 命令规格可以为支持本地化描述的原生界面提供
descriptionLocalizations,包括 Discord。
参数和解析器说明
参数和解析器说明
- 命令支持在命令和参数之间添加可选的
:(例如/think: high、/send: on、/help:)。 /new <model>接受模型别名、provider/model或提供商名称(模糊匹配);如果没有匹配,文本会被视为消息正文。- 如需完整的提供商使用情况细分,请使用
openclaw status --usage。 /allowlist add|remove需要commands.config=true,并遵循渠道configWrites。- 在多账号渠道中,面向配置目标的
/allowlist --account <id>和/config set channels.<provider>.accounts.<id>...也会遵循目标账号的configWrites。 /usage控制每条响应的用量页脚;/usage cost会从 OpenClaw 会话日志打印本地成本摘要。/restart默认启用;设置commands.restart: false可禁用。/plugins install <spec>接受与openclaw plugins install相同的插件规格:本地路径/归档、npm 包、git:<repo>或clawhub:<pkg>,随后会请求重启 Gateway 网关,因为插件源模块已更改。/plugins enable|disable更新插件配置,并为新的智能体轮次触发 Gateway 网关插件重载。
渠道特定行为
渠道特定行为
- 仅 Discord 原生命令:
/vc join|leave|status控制语音频道(不可作为文本使用)。join需要服务器以及选定的语音/舞台频道。需要channels.discord.voice和原生命令。 - Discord 线程绑定命令(
/focus、/unfocus、/agents、/session idle、/session max-age)需要启用有效的线程绑定(session.threadBindings.enabled和/或channels.discord.threadBindings.enabled)。 - ACP 命令参考和运行时行为:ACP 智能体。
Verbose / trace / fast / reasoning 安全
Verbose / trace / fast / reasoning 安全
/verbose用于调试和额外可见性;正常使用时请保持关闭。/trace比/verbose更窄:它只显示插件拥有的 trace/debug 行,并保持普通 verbose 工具杂讯关闭。/fast on|off会持久化一个会话覆盖。使用 Sessions UI 的inherit选项可清除它并回退到配置默认值。/fast与提供商相关:OpenAI/OpenAI Codex 会在原生 Responses 端点上将其映射到service_tier=priority,而直接的公开 Anthropic 请求(包括发送到api.anthropic.com的 OAuth 认证流量)会将其映射到service_tier=auto或standard_only。参见 OpenAI 和 Anthropic。- 相关时仍会显示工具失败摘要,但只有当
/verbose为on或full时才会包含详细失败文本。 /reasoning、/verbose和/trace在群组设置中有风险:它们可能暴露你无意公开的内部推理、工具输出或插件诊断。建议保持关闭,尤其是在群聊中。
模型切换
模型切换
/model会立即持久化新的会话模型。- 如果智能体空闲,下一次运行会立即使用它。
- 如果已有运行处于活跃状态,OpenClaw 会将实时切换标记为待处理,并只在干净的重试点重启到新模型。
- 如果工具活动或回复输出已经开始,待处理切换可能会一直排队,直到之后的重试机会或下一次用户轮次。
- 在本地 TUI 中,
/crestodian [request]会从普通智能体 TUI 返回到 Crestodian。这与消息渠道救援模式分离,并且不会授予远程配置权限。
快速路径和内联快捷方式
快速路径和内联快捷方式
- **快速路径:**来自允许列表发送者的纯命令消息会立即处理(绕过队列 + 模型)。
- **群组提及门控:**来自允许列表发送者的纯命令消息会绕过提及要求。
- **内联快捷方式(仅允许列表发送者):**某些命令嵌入普通消息时也可使用,并会在模型看到剩余文本前被剥离。
- 示例:
hey /status会触发状态回复,剩余文本继续通过普通流程。
- 示例:
- 当前:
/help、/commands、/status、/whoami(/id)。 - 未授权的纯命令消息会被静默忽略,内联
/...token 会被视为普通文本。
Skill 命令和原生参数
Skill 命令和原生参数
- Skill 命令:
user-invocableskills 会作为斜杠命令公开。名称会被清理为a-z0-9_(最多 32 个字符);冲突会添加数字后缀(例如_2)。/skill <name> [input]按名称运行 skill(当原生命令限制阻止为每个 skill 创建命令时很有用)。- 默认情况下,skill 命令会作为普通请求转发给模型。
- Skills 可以选择声明
command-dispatch: tool,将命令直接路由到工具(确定性,无模型)。 - 示例:
/prose(OpenProse 插件)— 参见 OpenProse。
- **原生命令参数:**Discord 对动态选项使用自动补全(并且在省略必需参数时使用按钮菜单)。当命令支持选项且你省略参数时,Telegram 和 Slack 会显示按钮菜单。动态选项会根据目标会话模型解析,因此
/think级别等模型特定选项会遵循该会话的/model覆盖。
/tools
/tools 回答的是运行时问题,而不是配置问题:此智能体现在在此对话中能使用什么。
- 默认
/tools紧凑,并针对快速扫描优化。 /tools verbose添加简短描述。- 支持参数的原生命令界面会公开相同的模式开关:
compact|verbose。 - 结果按会话限定,因此更改智能体、渠道、线程、发送者授权或模型都可能改变输出。
/tools包含运行时实际可达的工具,包括核心工具、已连接的插件工具以及渠道拥有的工具。
/tools 视为静态目录。
使用界面(哪里显示什么)
- 提供商用量/配额(示例:“Claude 剩余 80%”)会在启用用量跟踪时显示在当前模型提供商的
/status中。OpenClaw 会将提供商窗口规范化为% left;对于 MiniMax,仅剩余百分比字段会在显示前反转,而model_remains响应优先使用聊天模型条目以及带模型标记的套餐标签。 - Token/缓存行 在
/status中可以在实时会话快照信息稀疏时回退到最新的转录用量条目。已有的非零实时值仍然优先,并且当已存储总量缺失或更小时,转录回退还可以恢复活动运行时模型标签以及更大的面向提示词的总量。 - 执行与运行时:
/status会为有效的沙箱路径报告Execution,并为实际运行会话的对象报告Runtime:OpenClaw Pi Default、OpenAI Codex、一个 CLI 后端,或一个 ACP 后端。 - 每条响应的 token/成本 由
/usage off|tokens|full控制(追加到正常回复中)。 /model status关注的是 模型/凭证/端点,而不是用量。
模型选择(/model)
/model 实现为一条指令。
示例:
/model和/model list会显示一个紧凑的编号选择器(模型系列 + 可用提供商)。- 在 Discord 上,
/model和/models会打开一个交互式选择器,其中包含提供商和模型下拉菜单,以及一个提交步骤。 /model <#>会从该选择器中选择(并在可能时优先选择当前提供商)。/model status会显示详细视图,包括已配置的提供商端点(baseUrl)和可用时的 API 模式(api)。
调试覆盖
/debug 允许你设置仅运行时配置覆盖(内存中,而不是磁盘上)。仅所有者可用。默认禁用;通过 commands.debug: true 启用。
示例:
覆盖会立即应用到新的配置读取,但不会写入
openclaw.json。使用 /debug reset 清除所有覆盖并返回磁盘上的配置。插件跟踪输出
/trace 允许你切换会话范围的插件跟踪/调试行,而无需开启完整详细模式。
示例:
- 不带参数的
/trace会显示当前会话的跟踪状态。 /trace on会为当前会话启用插件跟踪行。/trace off会再次禁用它们。- 插件跟踪行可以出现在
/status中,也可以在正常助手回复之后作为后续诊断消息出现。 /trace不会替代/debug;/debug仍然管理仅运行时配置覆盖。/trace不会替代/verbose;普通的详细工具/状态输出仍然属于/verbose。
配置更新
/config 会写入你的磁盘配置(openclaw.json)。仅所有者可用。默认禁用;通过 commands.config: true 启用。
示例:
配置会在写入前进行验证;无效更改会被拒绝。
/config 更新会在重启后保留。MCP 更新
/mcp 会在 mcp.servers 下写入由 OpenClaw 管理的 MCP 服务器定义。仅所有者可用。默认禁用;通过 commands.mcp: true 启用。
示例:
/mcp 会将配置存储在 OpenClaw 配置中,而不是 Pi 拥有的项目设置中。运行时适配器会决定哪些传输协议实际可执行。插件更新
/plugins 允许操作员检查已发现的插件并在配置中切换启用状态。只读流程可以使用 /plugin 作为别名。默认禁用;通过 commands.plugins: true 启用。
示例:
/plugins list和/plugins show会针对当前工作区以及磁盘配置使用真实插件发现。/plugins install会从 ClawHub、npm、git、本地目录和归档安装。/plugins enable|disable只更新插件配置;它不会安装或卸载插件。- 启用和禁用更改会为新的 agent 轮次热重载 Gateway 网关插件运行时表面;安装会请求重启 Gateway 网关,因为插件源模块发生了变化。
表面说明
每个表面的会话
每个表面的会话
- 文本命令在正常聊天会话中运行(私信共享
main,群组有自己的会话)。 - 原生命令使用隔离会话:
- Discord:
agent:<agentId>:discord:slash:<userId> - Slack:
agent:<agentId>:slack:slash:<userId>(前缀可通过channels.slack.slashCommand.sessionPrefix配置) - Telegram:
telegram:slash:<userId>(通过CommandTargetSessionKey定位聊天会话)
- Discord:
/stop定位活动聊天会话,以便它可以中止当前运行。
Slack 细节
Slack 细节
仍然支持
channels.slack.slashCommand,用于单个 /openclaw 风格的命令。如果启用 commands.native,你必须为每个内置命令创建一个 Slack 斜杠命令(名称与 /help 相同)。Slack 的命令参数菜单会以临时 Block Kit 按钮形式发送。Slack 原生例外:注册 /agentstatus(而不是 /status),因为 Slack 保留了 /status。文本 /status 仍然可在 Slack 消息中使用。BTW 旁路问题
/btw 是关于当前会话的快速旁路问题。/side 是别名。
与正常聊天不同:
- 它使用当前会话作为后台上下文,
- 它作为单独的无工具一次性调用运行,
- 它不会改变未来的会话上下文,
- 它不会写入转录历史,
- 它会作为实时旁路结果发送,而不是正常助手消息。
/btw 适合在主任务继续进行时获取临时澄清。
示例: