命令由 Gateway 网关处理。大多数命令必须作为以Documentation Index
Fetch the complete documentation index at: https://docs2.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 就会保持本地处理。
有两个相关系统:
命令
命令
独立的
/... 消息。指令
指令
/think、/fast、/verbose、/trace、/reasoning、/elevated、/exec、/model、/queue。- 指令会在模型看到消息之前从消息中移除。
- 在普通聊天消息中(不是仅含指令的消息),它们会被视为“行内提示”,并且不会持久化会话设置。
- 在仅含指令的消息中(消息只包含指令),它们会持久化到会话,并回复确认。
- 指令只会应用于已授权发送者。如果设置了
commands.allowFrom,它就是唯一使用的允许列表;否则授权来自渠道允许列表/配对加上commands.useAccessGroups。未授权发送者的指令会被当作纯文本处理。
行内快捷命令
行内快捷命令
仅限允许列表内/已授权发送者:
/help、/commands、/status、/whoami(/id)。它们会立即运行,在模型看到消息之前被移除,剩余文本会继续经过正常流程。配置
启用聊天消息中的
/... 解析。在没有原生命令的表面(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams)上,即使你将它设为 false,文本命令仍然可用。注册原生命令。Auto:对 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 命令。Auto:对 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(读取/写入 mcp.servers 下由 OpenClaw 管理的 MCP 配置)。启用
/plugins(插件发现/状态以及安装 + 启用/禁用控制)。启用
/debug(仅运行时覆盖)。启用
/restart 以及 Gateway 网关重启工具动作。设置仅限所有者命令/工具表面的显式所有者允许列表。这是可以批准危险操作并运行
/diagnostics、/export-trajectory 和 /config 等命令的人类操作员账户。它独立于 commands.allowFrom,也独立于私信配对访问。按渠道设置:使仅限所有者的命令需要所有者身份才能在该表面运行。当为
true 时,发送者必须匹配已解析的所有者候选项(例如 commands.ownerAllowFrom 中的条目或提供商原生所有者元数据),或者在内部消息渠道上拥有内部 operator.admin scope。渠道 allowFrom 中的通配符条目,或空的/未解析的所有者候选列表,不足以满足要求:仅限所有者命令会在该渠道上失败关闭。如果你希望仅限所有者命令只由 ownerAllowFrom 和标准命令允许列表限制,请保持关闭。控制所有者 id 在系统提示中的显示方式。
可选设置当
commands.ownerDisplay="hash" 时使用的 HMAC 密钥。用于命令授权的按提供商允许列表。配置后,它就是命令和指令的唯一授权来源(渠道允许列表/配对和
commands.useAccessGroups 会被忽略)。使用 "*" 作为全局默认值;提供商特定键会覆盖它。当未设置
commands.allowFrom 时,对命令强制执行允许列表/策略。命令列表
当前事实来源:- 核心内置项来自
src/auto-reply/commands-registry.shared.ts - 生成的 dock 命令来自
src/auto-reply/commands-registry.data.ts - 插件命令来自插件
registerCommand()调用 - 你的 Gateway 网关上的实际可用性仍取决于配置标志、渠道表面,以及已安装/已启用的插件
核心内置命令
会话和运行
会话和运行
/new [model]启动新会话;/reset是重置别名。- Control UI 会拦截输入的
/new,创建并切换到新的仪表盘会话,除非配置了session.dmScope: "main"且当前父级是智能体的主会话;在这种情况下,/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。
模型和运行控制
模型和运行控制
/think <level|default>设置思考级别或清除会话覆盖。选项来自活跃模型的提供商配置文件;常见级别包括off、minimal、low、medium和high,而xhigh、adaptive、max等自定义级别,或二元on仅在受支持时可用。别名:/thinking、/t。/verbose on|off|full切换详细输出。别名:/v。/trace on|off切换当前会话的插件 trace 输出。/fast [status|on|off|default]显示、设置或清除快速模式。/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可浏览该提供商的完整目录。agents.defaults.models中的provider/*条目会让/model和/models仅显示这些提供商的已发现模型。/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。
设备发现和状态
设备发现和状态
/help显示简短帮助摘要。/commands显示生成的命令目录。/tools [compact|verbose]显示当前智能体此刻可以使用的内容。/status显示执行/运行时状态、Gateway 网关和系统运行时间,以及可用时的提供商用量/配额。/diagnostics [note]是用于 Gateway 网关错误和 Codex harness 运行的仅限所有者支持报告流程。它每次运行openclaw gateway diagnostics export --json前都会请求显式 exec 批准;不要用全允许规则批准诊断。批准后,它会发送一份可粘贴的报告,其中包含本地包路径、清单摘要、隐私说明和相关会话 id。在群聊中,批准提示和报告会私下发送给所有者。当活跃会话使用 OpenAI Codex harness 时,同一次批准也会向 OpenAI 服务器发送相关 Codex 反馈,并且完成后的回复会列出 OpenClaw 会话 id、Codex 线程 id 和codex resume <thread-id>命令。参见 诊断导出。/crestodian <request>从所有者私信运行 Crestodian 设置和修复助手。/tasks列出当前会话的活跃/最近后台任务。/context [list|detail|map|json]说明上下文如何组装。map会发送当前会话上下文的矩形树图图像。/whoami显示你的发送者 id。别名:/id。/usage off|tokens|full|cost控制每条回复的用量页脚,或打印本地成本摘要。
Skills、allowlist 和审批
Skills、allowlist 和审批
/skill <name> [input]按名称运行一个 Skills。/allowlist [list|add|remove] ...管理 allowlist 条目。仅文本。/approve <id> <decision>处理 exec 审批提示。/btw <question>提出一个旁支问题,且不会改变后续会话上下文。别名:/side。参见 BTW。
子 Agent 和 ACP
子 Agent 和 ACP
/subagents list|kill|log|info|send|steer|spawn管理当前会话的子 Agent 运行。/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列出当前会话中绑定到线程的 Agent。/kill <id|#|all>中止一个或所有正在运行的子 Agent。/subagents steer <id|#> <message>向正在运行的子 Agent 发送 Steer。参见 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.elevatedallowlist。!poll [sessionId]检查后台 bash 任务。!stop [sessionId]停止后台 bash 任务。
生成的停靠命令
停靠命令会将当前会话的回复路由切换到另一个已关联的 渠道。设置、示例和故障排除请参见 频道停靠。 停靠命令由支持原生命令的渠道插件生成。当前内置集合:/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 对端,该命令会回复一条设置提示,而不是落入普通聊天。
停靠只会更改活动会话路由。它不会创建渠道账号、授予访问权限、绕过渠道 allowlist,也不会将转录历史移动到另一个会话。使用 /dock-telegram、/dock-slack、/dock-mattermost 或另一个生成的停靠命令可再次切换路由。
内置插件命令
内置插件可以添加更多斜杠命令。此仓库中当前的内置命令:/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
动态 Skills 命令
用户可调用的 Skills 也会作为斜杠命令公开:/skill <name> [input]始终可作为通用入口点使用。- 当 Skills/插件注册它们时,Skills 也可能显示为
/prose这样的直接命令。 - 原生 Skills 命令注册由
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 Agents。
Verbose / trace / fast / reasoning 安全
Verbose / trace / fast / reasoning 安全
/verbose用于调试和提供额外可见性;正常使用时保持关闭。/trace比/verbose更窄:它只显示插件拥有的 trace/debug 行,并保持普通 verbose 工具杂讯关闭。/fast on|off会持久化会话覆盖。使用会话 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。这与消息渠道救援模式不同,也不会授予远程配置权限。
快速路径和内联快捷方式
快速路径和内联快捷方式
- **快速路径:**来自 allowlist 发送者的仅命令消息会被立即处理(绕过队列 + 模型)。
- **群组提及门控:**来自 allowlist 发送者的仅命令消息会绕过提及要求。
- **内联快捷方式(仅限 allowlist 发送者):**某些命令嵌入普通消息时也可工作,并会在模型看到剩余文本之前被剥离。
- 示例:
hey /status会触发状态回复,剩余文本继续走普通流程。
- 示例:
- 当前:
/help、/commands、/status、/whoami(/id)。 - 未授权的仅命令消息会被静默忽略,内联
/...令牌会被视为纯文本。
Skills 命令和原生参数
Skills 命令和原生参数
- Skills 命令:
user-invocableSkills 会作为斜杠命令公开。名称会被清理为a-z0-9_(最多 32 个字符);冲突会获得数字后缀(例如_2)。/skill <name> [input]按名称运行一个 Skills(当原生命令限制阻止每个 Skills 使用单独命令时很有用)。- 默认情况下,Skills 命令会作为普通请求转发给模型。
- 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 会将提供商窗口规范化为“剩余百分比”;对于 MiniMax,仅表示剩余量的百分比字段会在显示前反转,model_remains响应会优先使用聊天模型条目以及带模型标签的计划标签。 - 令牌/缓存行 在
/status中可以在实时会话快照信息较少时,回退到最新的转录用量条目。现有的非零实时值仍然优先,转录回退也可以在已存储总量缺失或较小时,恢复活跃运行时模型标签以及更大的面向提示词的总量。 - 执行与运行时:
/status会报告Execution作为生效沙箱路径,并报告Runtime作为实际运行会话的主体:OpenClaw Pi Default、OpenAI Codex、某个 CLI 后端或某个 ACP 后端。 - 单次响应令牌/费用 由
/usage off|tokens|full控制(追加到普通回复中)。 /model status关注的是 模型/认证/端点,而不是用量。
模型选择(/model)
/model 以指令形式实现。
示例:
/model和/model list会显示一个紧凑的编号选择器(模型系列 + 可用提供商)。- 在 Discord 上,
/model和/models会打开一个交互式选择器,其中包含提供商和模型下拉框以及提交步骤。该选择器遵循agents.defaults.models,包括provider/*条目,因此按提供商限定的发现可以让选择器保持在 Discord 的 25 个选项组件限制以内。 /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 网关,因为插件源模块已更改。
表面说明
每个表面的会话
每个表面的会话
- 文本命令 在普通聊天会话中运行(DM 共享
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 是别名。
与普通聊天不同:
- 它使用当前会话作为背景上下文,
- 在 Codex harness 会话中,它会作为临时 Codex 旁路线程运行,并带有当前 Codex 权限和原生工具表面,
- 在非 Codex 会话中,它保留较旧的直接一次性旁路调用行为,
- 它不会改变未来的会话上下文,
- 它不会写入转录历史,
- 它会作为实时旁路结果发送,而不是普通助手消息。
/btw 会很有用。
示例: