/ 开头并作为独立消息发送的命令。
仅限主机的 bash 命令使用 ! <cmd>(/bash <cmd> 是别名)。
当会话绑定到 ACP 会话时,普通文本会路由到 ACP
运行框架。Gateway 管理命令仍然保持本地:/acp ... 始终会到达
OpenClaw 命令处理程序,而当该界面启用命令处理时,/status 和 /unfocus 会保持本地。
三种命令类型
命令
由 Gateway 处理的独立
/... 消息。必须作为消息中的唯一内容发送。指令
/think、/fast、/verbose、/trace、/reasoning、/elevated、
/exec、/model、/queue —— 在模型看到消息之前会从消息中剥离。
单独发送时会持久化会话设置;与其他文本一起发送时则作为行内提示。行内快捷方式
/help、/commands、/status、/whoami —— 会立即运行,并在模型看到剩余文本之前被剥离。仅限授权发送者。指令行为详情
指令行为详情
- 指令会在模型看到消息之前从消息中剥离。
- 在仅含指令的消息中(消息仅包含指令),指令会持久化到会话,并回复确认信息。
- 在包含其他文本的普通聊天消息中,指令会作为行内提示,不会持久化会话设置。
模型选择是例外:经过授权的行内
/model或已配置的/<alias>会持久化会话选择;所有者/管理员在不带-s的情况下进行选择时,还可能请求更新已配置的默认值。 - 指令仅适用于授权发送者。如果设置了
commands.allowFrom,则只使用该允许列表;否则,授权来自频道允许列表、配对机制以及始终启用的访问组强制机制。未经授权的发送者发送的指令会被视为普通文本。
配置
boolean
default:"true"
启用在聊天消息中解析
/...。在没有原生命令的界面(WhatsApp、WebChat、Signal、iMessage、Google Chat、Microsoft Teams)上,即使设为 false,文本命令也可正常工作。boolean | "auto"
default:"\"auto\""
注册原生命令。自动:Discord/Telegram 开启;Slack 关闭;对于不支持原生命令的提供方则忽略。可通过
channels.<provider>.commands.native 按频道覆盖。在 Discord 上,false 会跳过斜杠命令注册;之前已注册的命令可能仍会可见,直到被移除。boolean | "auto"
default:"\"auto\""
在支持时以原生方式注册技能命令。自动:Discord/Telegram 开启;Slack 关闭。可通过
channels.<provider>.commands.nativeSkills 覆盖。boolean
default:"false"
启用
! <cmd> 运行主机 shell 命令(/bash <cmd> 别名)。需要 tools.elevated 允许列表。number
default:"2000"
bash 在切换到后台模式前等待的时间(
0 会立即转入后台)。boolean
default:"false"
启用
/config(读写 openclaw.json)。仅限所有者。boolean
default:"false"
启用
/mcp(读写 mcp.servers 下由 OpenClaw 管理的 MCP 配置)。仅限所有者。boolean
default:"false"
启用
/plugins(插件发现/状态以及安装 + 启用/禁用)。写操作仅限所有者。boolean
default:"false"
启用
/debug(仅运行时配置覆盖)。仅限所有者。boolean
default:"true"
启用
/restart 和外部 SIGUSR1 重启请求。string[]
仅限所有者的命令界面的显式所有者允许列表。与
commands.allowFrom 和 DM 配对访问分开。boolean
default:"false"
每个频道:要求所有者身份才能执行仅限所有者的命令。为
true 时,发送者必须匹配 commands.ownerAllowFrom 或拥有内部 operator.admin 范围。通配符 allowFrom 条目不足以满足要求。object
按提供方划分的命令授权允许列表。配置后,它是命令和指令的唯一授权来源。使用
"*" 作为全局默认值;特定提供方的键会覆盖它。commands.allowFrom 时,命令授权遵循频道的允许列表和配对状态。
频道允许列表中引用的访问组条目会自动解析;不存在命令级访问组开关。
命令列表
命令来自三个来源:- 核心内置:
src/auto-reply/commands-registry.shared.ts - 生成的 Dock 命令:
src/auto-reply/commands-registry.data.ts - 插件命令: 插件的
registerCommand()调用
核心命令
会话与运行
会话与运行
显式的
/export-session 路径会替换工作区内已有文件。省略路径可生成一个避免冲突的文件名。控制界面会拦截输入的
/new,以创建并切换到新的
仪表盘会话,除非配置了 session.dmScope: "main",
且当前父级是代理的主会话——在这种情况下,/new
会原地重置主会话。输入的 /reset 仍会运行 Gateway 的
原地重置。当你想清除固定的会话模型选择时,请使用 /model default。模型与运行控制
模型与运行控制
verbose/trace/fast/reasoning 的安全性
verbose/trace/fast/reasoning 的安全性
/verbose用于调试——正常使用时请保持关闭。/trace只会显示插件拥有的跟踪/调试行;普通的 verbose 输出仍保持关闭。/fast auto|on|off会持久化会话覆盖;使用 Sessions UI 的inherit选项可清除它。/fast具有提供方特定行为:OpenAI/Codex 将其映射为service_tier=priority;直接 Anthropic 请求映射为service_tier=auto或standard_only。/reasoning、/verbose和/trace在群组场景中存在风险——它们可能泄露内部推理或插件诊断信息。请在群聊中保持关闭。
模型切换详情
模型切换详情
一句话说明范围: owner/管理员直接执行
/model <model> 会更改会话,并请求尽力更新已配置的默认值;-s 仅更改当前会话。当代理继承 agents.defaults.model 时,更新目标是该共享的全局回退值。已配置的 /<alias> 简写接受与 /model <alias> 相同的末尾 --runtime、-s 和 --session 选项。非 owner 执行的
/model <model> 选择同样只对当前会话有效,因为其无法写入已配置的默认值。不可变配置保持不变,异步写入失败会被记录,但不会回退会话选择。明确的用户模型/配置文件固定设置会跨越 /new、/reset、会话轮换、压缩和冷却窗口而保留;自动配置文件固定设置可能会轮换或清除。使用 /model default -s 重置会清除会话模型选择,保留兼容的身份验证固定设置,并清除不兼容的固定设置。它不会恢复先前由 owner/管理员选择替换的已配置默认值。- 如果代理处于空闲状态,下一次运行会立即使用它。
- 如果当前有运行正在进行,切换会被标记为待处理,并在下一个干净的重试点应用。
发现与状态
发现与状态
技能、允许列表、批准
技能、允许列表、批准
子代理与 ACP
子代理与 ACP
仅 owner 可写和管理员
仅 owner 可写和管理员
语音、TTS、频道控制
语音、TTS、频道控制
Dock 命令
Dock 命令会将当前会话的回复路由切换到另一个关联频道。 参见 Channel docking 了解配置和故障排查。 由支持原生命令的频道插件生成:/dock-discord(别名:/dock_discord)/dock-mattermost(别名:/dock_mattermost)/dock-slack(别名:/dock_slack)/dock-telegram(别名:/dock_telegram)
session.identityLinks。源发送者和目标对端
必须属于同一个身份组。
内置插件命令
仅 QQBot:
/bot-ping、/bot-version、/bot-help、/bot-upgrade、/bot-logs。
技能命令
用户可调用的技能会以斜杠命令形式暴露:/skill <name> [input]始终作为通用入口可用。- 技能可以注册为直接命令(例如 OpenProse 的
/prose)。 - 原生技能命令注册由
commands.nativeSkills和 channels.<provider>.commands.nativeSkills控制。- 名称会被规范化为
a-z0-9_(最多 32 个字符);冲突会追加数字后缀。
技能命令分发
技能命令分发
默认情况下,技能命令会作为普通请求路由到模型。技能可以声明
command-dispatch: tool,从而直接路由到某个工具
(确定性执行,不涉及模型)。示例:/prose(OpenProse 插件)
—— 参见 OpenProse。原生命令参数
原生命令参数
当省略必需参数时,Discord 会使用自动补全来处理动态选项和按钮菜单。Telegram 和 Slack 会为具有选项的命令显示按钮菜单。动态选项会针对目标会话模型进行解析,因此像
/think 等特定于模型的选项级别会遵循会话的 /model 覆盖。/tools:代理现在可以使用什么
/tools 回答的是一个运行时问题:这个代理在当前会话里现在能用什么 —— 不是静态配置目录。
/loop:循环对话工作
/loop 仅限所有者使用,因为它使用 cron 控制平面工具。/loop 5m check deploy status 会要求代理在当前对话中创建一个固定频率的 cron 作业。没有间隔时,/loop watch for new issues 会创建一个自适应循环,在活跃时更频繁地检查,并在安静时逐步退避到 1 小时。/loop status 会列出该对话的循环作业;/loop stop [name] 会将其移除。
/model:模型选择
直接所有者/管理员的 /model <model> 请求使用默认作用域:它会更改当前会话,并开始尽力更新已配置的默认值。添加 -s 使用会话作用域:仅更改当前会话。对于未显式指定主模型的代理,更新目标是共享的全局 agents.defaults.model 回退值。
/model 和 /models 会打开一个交互式选择器,其中包含提供商和模型下拉菜单,并遵循直接命令流程。所有者/管理员提交的请求会尽力更新已配置的默认值。Telegram 回调选择器中的选择仅限当前会话。该选择器遵循 agents.defaults.modelPolicy.allow,包括 provider/* 条目。如果没有显式的允许列表,模型条目和别名不会限制选择。
/config:磁盘上的配置写入
仅限 owner。默认禁用——通过启用
commands.config: true 打开。/config 的更新会在重启后保留。
/mcp:MCP 服务器配置
仅限所有者。默认禁用——通过启用
commands.mcp: true 打开。/mcp 将配置存储在 OpenClaw 配置中,而不是嵌入式代理项目设置中。/mcp show 会对含有凭据的字段、已识别的凭据标志值以及已知的密钥形参数组进行脱敏。当在群组中运行时,配置将私下发送给所有者;如果没有可用的私有所有者路由,命令将默认失败并要求所有者从直接聊天中重试。
/debug:仅运行时覆盖
/plugins:插件管理
仅限所有者执行写入操作。默认禁用——通过启用
commands.plugins: true 打开。/plugins enable|disable 会更新插件配置,并为新的代理回合热重载网关插件运行时。由于插件源模块已更改,/plugins install 会自动重启受管网关。受信任的 ClawHub 和官方目录安装不需要额外确认。任意的 npm、
git、archive、npm-pack: 和本地路径来源会显示来源警告,并且在你审查
来源后需要在末尾添加 --force。此标志表示你已确认该来源,并允许替换
现有安装;它不会绕过 security.installPolicy 或安装器安全检查。带有风
险警告的 ClawHub 发布版本仍然需要单独的仅 shell 使用的
--acknowledge-clawhub-risk 标志。市场、已链接和已固定安装也仍然仅限 shell 使用。
/trace:插件跟踪输出
/trace 会显示会话范围内的插件跟踪/调试行,而不会进入完整 verbose 模式。它不能替代 /debug(运行时覆盖)或 /verbose(正常工具输出)。
/btw:附带问题
/btw 是一个关于当前会话上下文的快速顺便提问。别名:/side。
- 使用当前会话作为背景上下文。
- 在 Codex harness 会话中,会作为一个临时的 Codex side thread 运行。
- 不会更改未来的会话上下文。
- 不会写入 transcript 历史。
/btw 和 /side 会打开会话侧栏,并询问其只读伴随对象,而不是启动分离的 BTW 路径。上文所述的 TUI 和外部通道行为保持不变。
参见 BTW side questions 了解完整行为。
界面说明
按界面划分的会话范围
按界面划分的会话范围
- 文本命令: 在普通聊天会话中运行(DM 共享
main,群组拥有各自的会话)。 - 原生 Discord 命令:
agent:<agentId>:discord:slash:<userId> - 原生 Slack 命令:
agent:<agentId>:slack:slash:<userId>(前缀可通过channels.slack.slashCommand.sessionPrefix配置) - 原生 Telegram 命令:
telegram:slash:<userId>(通过CommandTargetSessionKey作用于聊天会话) /login codex仅通过私聊或 Web UI 响应路径发送设备配对码。Telegram 群组/话题调用会改为提示所有者私聊机器人。/stop会作用于当前活动聊天会话,以中止当前运行。
Slack 细节
Slack 细节
channels.slack.slashCommand 支持单个 /openclaw 风格命令。
在 commands.native: true 时,为每个内置命令创建一个 Slack slash 命令。
注册 /agentstatus(而不是 /status),因为 Slack 保留了 /status。
文本形式的 /status 仍可在 Slack 消息中正常使用。快速路径与内联快捷方式
快速路径与内联快捷方式
- 来自允许列表发送者的仅命令消息会被立即处理(绕过队列 + 模型)。
- 内联快捷方式(
/help、/commands、/status、/whoami)也可以嵌入普通消息中使用,并会在模型看到剩余文本之前被移除。 - 未授权的仅命令消息会被静默忽略;内联
/...标记会被当作普通文本处理。
参数说明
参数说明
- 命令接受在命令与参数之间可选的
:(/think: high、/send: on)。 /new <model>接受模型别名、provider/model,或 provider 名称(模糊匹配);如果没有匹配,文本会被当作消息正文。/allowlist add|remove需要commands.config: true,并遵守通道的configWrites。
提供者使用情况和状态
- 提供者使用量/配额(例如,“Claude 还剩 80%”)会在启用使用情况跟踪时显示在当前模型提供者的
/status中。 /status中的 token/缓存行 在实时会话快照较少时,可能会回退到最新的转录使用条目。- 执行 vs 运行时:
/status会报告Execution,以指示实际的沙箱路径;并报告Runtime,以指示当前正在运行会话的是谁:OpenClaw Default、OpenAI Codex、CLI backend 或 ACP backend。 - 每次响应的 token/成本: 由
/usage off|tokens|full控制。 /model status重点关注模型/认证/端点,而不是使用情况。
相关内容
技能
技能 slash 命令如何注册和受限。
创建技能
构建一个会注册自己的 slash 命令的 skill。
顺便问问
在不改变会话上下文的情况下提出顺便问题。
引导
使用
/steer 在运行中引导代理。