Appearance
OpenClaw 的斜杠命令由 Gateway 处理,分为文本命令、原生命令、指令和内联快捷方式。配置文件中 commands 对象控制所有开关,如 commands.text(文本命令解析默认开启)、commands.native(原生注册默认 auto)等。命令分为独立消息(/开头)和内置指令(/think、/fast 等),指令在模型看到前剥离。权限由 commands.allowFrom、commands.useAccessGroups 以及频道 allowlist 控制。关键命令包括会话控制(/new、/reset)、模型切换(/model)、调试(/debug)、配置读写(/config)、插件管理(/plugins)等。平台差异:Discord 和 Telegram 自动注册原生斜杠命令,Slack 需手动创建;技能命令通过 commands.nativeSkills 控制。
OpenClaw 斜杠命令怎么配置 — 支持的命令与权限说明
配置
json5
{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
mcp: false,
plugins: false,
debug: false,
restart: true,
ownerAllowFrom: ["discord:123456789012345678"],
ownerDisplay: "raw",
ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}commands.text(默认true):启用聊天消息中的/...解析。在不支持原生命令的平台(WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams)上,即使设置为false,文本命令仍然有效。commands.native(默认"auto"):注册原生命令。Auto 表示 Discord/Telegram 开启,Slack 关闭(直到你手动添加斜杠命令),不支持原生注册的 Provider 忽略。可设置channels.discord.commands.native、channels.telegram.commands.native、channels.slack.commands.native按渠道覆盖(bool 或"auto")。Discord 上false会在启动时跳过注册和清理,但已注册的命令可能保留可见;Slack 命令在 Slack 应用中管理,不会自动删除。commands.nativeSkills(默认"auto"):在支持的平台上为技能注册原生斜杠命令。Auto 表示 Discord/Telegram 开启,Slack 关闭(每个技能需手动创建斜杠命令)。可设置相应渠道覆盖。commands.bash(默认false):启用! <cmd>运行宿主 shell 命令(/bash <cmd>是别名,需要tools.elevated白名单)。commands.bashForegroundMs(默认2000):bash 在前台运行的多长时间后切换后台(0立即后台)。commands.config(默认false):启用/config(读写openclaw.json)。commands.mcp(默认false):启用/mcp(读写 OpenClaw 管理的 MCP 配置,位于mcp.servers下)。commands.plugins(默认false):启用/plugins(插件发现/状态、安装、启用/禁用)。commands.debug(默认false):启用/debug(运行时配置覆盖)。commands.restart(默认true):启用/restart和 Gateway 重启工具操作。commands.ownerAllowFrom:设置所有者白名单,用于所有者专属命令表面和所有者门控渠道操作。这是人类操作员账户,可批准危险操作并运行/diagnostics、/export-trajectory、/config等命令。与commands.allowFrom和 DM 配对访问分开。commands.ownerDisplay("raw"或"hash"):控制所有者 ID 在系统 prompt 中的显示方式。commands.ownerDisplaySecret:可选,当ownerDisplay为"hash"时使用的 HMAC 密钥。commands.allowFrom:按 Provider 设置命令授权的白名单。配置后,它是命令和指令的唯一授权来源(忽略渠道 allowlist/配对和commands.useAccessGroups)。"*"表示全局默认,特定 Provider 键覆盖。commands.useAccessGroups(默认true):当commands.allowFrom未设置时,对命令执行 allowlist/策略。
另外,每个渠道可设 channels.<channel>.commands.enforceOwnerForCommands(默认 false),为 true 时所有者专属命令需要所有者身份才能在该渠道执行。发送者必须匹配已解析的所有者候选(如 commands.ownerAllowFrom 中的条目或 Provider 原生所有者元数据),或持有内部 operator.admin 作用域。通配符 allowFrom 或空/未解析的所有者候选列表不够,所有者命令将在该渠道失败关闭。如果想只通过 ownerAllowFrom 和标准命令 allowlist 门控所有者命令,保持该选项关闭。
命令列表
核心内置命令
会话和运行
/new [model]:归档当前会话并开始新会话。/reset就地清除当前会话。两者不是别名。Control UI 截获打字的/new创建并切换新仪表板会话,除非session.dmScope: "main"且当前父会话是智能体的主会话,此时/new重置主会话。打字的/reset仍运行 Gateway 的就地重置。/reset soft [message]:保留当前转录,丢弃重用的 CLI 后端会话 ID,就地重新加载启动/system-prompt。/compact [instructions]:压缩会话上下文。参见 Compaction。/stop:中止当前运行。/session idle <duration|off>、/session max-age <duration|off>:管理线程绑定过期。/export-session [path](别名/export):导出当前会话为 HTML。/export-trajectory [path](别名/trajectory):需要 exec 批准,导出当前会话的 JSONL 轨迹包。群聊中批准提示和结果私有发送给所有者。
模型和运行控制
/think <level|default>:设置思考级别或清除会话覆盖。选项来自活动模型 Provider 配置;常见级别有off、minimal、low、medium、high,还有xhigh、adaptive、max或仅二进制on(取决于支持)。别名:/thinking、/t。/verbose on|off|full(别名/v):切换详细输出。/trace on|off:切换当前会话的插件追踪输出。/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]:列出配置/可用的 Provider 或某 Provider 的模型;加all浏览完整目录。agents.defaults.models中的provider/*条目会使/model和/models只显示这些 Provider 的模型。/queue <mode>:管理活动运行队列行为(steer、followup、collect、interrupt)及选项如debounce:0.5s cap:25 drop:summarize;/queue default或/queue reset清除会话覆盖。/steer <message>(别名/tell):向当前会话的运行中注入引导,独立于/queue模式。如果不可用或会话空闲,则作为正常 prompt 处理。参见 Steer。
发现和状态
/help:显示简短帮助。/commands:显示生成的命令目录。/tools [compact|verbose]:显示当前智能体此刻可用的工具。/status:显示执行/运行时状态、Gateway 和系统运行时间,以及 Provider 用量/配额(如可用)。/diagnostics [note]:所有者专属支持报告流程。每次运行前需要 exec 批准,生成可粘贴报告。群聊中私有发送给所有者。当活动会话使用 OpenAI Codex harness 时,会发送相关 Codex 反馈给 OpenAI 服务器。参见 Diagnostics Export。/crestodian <request>:从所有者 DM 运行 Crestodian 设置和修复助手。/tasks:列出当前会话的活动/近期后台任务。/context [list|detail|map|json]:解释上下文如何组装。map发送当前会话上下文的树图图片。/whoami(别名/id):显示发送者 ID。/usage off|tokens|full|cost:控制每次响应的用量页脚或打印本地费用摘要。
技能、白名单、审批
/skill <name> [input]:按名称运行技能。/allowlist [list|add|remove] ...:管理白名单条目。仅文本。/approve <id> <decision>:解决 exec 或插件审批提示。/btw <question>(别名/side):询问临时问题,不改变未来会话上下文。参见 BTW。
子智能体和 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>:向运行中的子智能体发送引导。参见 Steer。
所有者专属写操作和管理
/config show|get|set|unset:读写openclaw.json。仅所有者。需要commands.config: true。/mcp show|get|set|unset:读写 OpenClaw 管理的 MCP 服务器配置(mcp.servers)。仅所有者。需要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 on|off|status|chat|latest|provider|limit|summary|audio|help:控制 TTS。参见 TTS。/activation mention|always:设置群组激活模式。/bash <command>(别名! <command>):运行宿主 shell 命令。仅文本。需要commands.bash: true和tools.elevated白名单。!poll [sessionId]:检查后台 bash 作业状态。!stop [sessionId]:停止后台 bash 作业。
生成的 Dock 命令
Dock 命令将当前会话的回复路由切换到另一个链接渠道。从直接聊天中使用 dock 命令切换当前会话的回复目标。需要 session.identityLinks,源发送者和目标对等者必须在同一身份组中。参见 Channel docking。
当前内置 dock 命令:
/dock-discord(别名dock_discord)/dock-mattermost(别名dock_mattermost)/dock-slack(别名dock_slack)/dock-telegram(别名dock_telegram)
捆绑插件命令
/dreaming [on|off|status|help]:切换记忆梦境。参见 Dreaming。/pair [qr|status|pending|approve|cleanup|notify]:管理设备配对。参见 Pairing。/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 <name> [input]始终作为通用入口。- 技能可能直接注册为命令如
/prose。 - 原生技能命令注册由
commands.nativeSkills和渠道覆盖控制。 - 命令 spec 可为支持本地化描述的渠道(如 Discord)提供
descriptionLocalizations。
参数和解析说明
- 命令和参数间可接受可选冒号(如
/think: high、/send: on、/help:)。 /new <model>接受模型别名、provider/model或 Provider 名称(模糊匹配);无匹配则文本视为消息体。/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控制语音频道(不支持文本)。需要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比/verbose窄,仅显示插件追踪/调试行。/fast on|off持久化会话覆盖。使用 Sessions UI 的inherit选项回退到配置默认。/fast是 Provider 特定的:OpenAI 映射到service_tier=priority,Anthropic 直接公共请求映射到service_tier=auto或standard_only。- 工具失败摘要仍会显示,但详细失败文本仅当
/verbose full启用时包含。 /reasoning、/verbose、/trace在群组中有风险:可能暴露内部推理、工具输出或插件诊断。建议关闭,尤其在群聊中。
模型切换
/model立即持久化新会话模型。- 如果智能体空闲,下次运行立即使用。如果运行已活动,OpenClaw 标记现场切换为待处理,并在干净重试点重启到新模型。如果工具活动或回复输出已开始,待处理切换可能排队直到后续重试机会或用户下次消息。
- 本地 TUI 中,
/crestodian [request]从正常智能体 TUI 返回到 Crestodian。
快速路径和内联快捷方式
- 快速路径:来自白名单发送者的仅命令消息立即处理(绕过队列和模型)。
- 群组提及门控:白名单发送者的仅命令消息绕过提及要求。
- 内联快捷方式(仅白名单发送者):某些命令嵌入普通消息中会被剥离,剩余文本继续正常流程。当前:
/help、/commands、/status、/whoami(/id)。 - 未授权的仅命令消息被静默忽略,内联
/...token 被视为普通文本。
技能命令和原生参数
- 技能命令:
user-invocable技能暴露为斜杠命令。名称清理为a-z0-9_(最多 32 字符),冲突添加数字后缀。 - 默认转发给模型作为普通请求。技能可选择声明
command-dispatch: tool直接路由到工具(确定性,不经过模型)。 - Native 命令参数:Discord 使用自动补全;Telegram 和 Slack 在命令支持选择且省略参数时显示按钮菜单。动态选择针对目标会话模型解析。
/tools
/tools 回答运行时问题:这个智能体现在这次对话中可以使用什么。
- 默认紧凑输出;
/tools verbose添加短描述。 - 支持参数的原生命令平台暴露相同模式切换。
- 结果会话作用域:更改智能体、渠道、线程、发送者授权或模型可能改变输出。
- 包括运行时实际可达的工具(核心、插件、渠道拥有的工具)。
- Profile 和覆盖编辑应使用 Control UI 工具面板或配置/目录表面。
用量显示(哪里显示什么)
- Provider 用量/配额(如 "Claude 80% left")在
/status中显示,当用量追踪启用时。 - Token/缓存行在
/status中可回退到最新转录用量条目(当活动会话快照稀疏时)。现有非零活动值仍然优先,转录回退也可恢复活动运行时模型标签和更大的面向 prompt 总数。 - 执行 vs 运行时:
/status报告Execution为有效沙箱路径,Runtime为实际运行会话的实体:OpenClaw Pi Default、OpenAI Codex、CLI 后端或 ACP 后端。 - 每次响应 token/费用由
/usage off|tokens|full控制。 /model status关注模型/认证/端点,不是用量。
模型选择(/model)
/model 作为指令实现。示例:
/model
/model list
/model 3
/model openai/gpt-5.4
/model opus@anthropic:default
/model status注意:
- 显示紧凑编号选择器。
- Discord 上打开交互式选择器,遵守
agents.defaults.models中的provider/*条目。 /model <#>从选择器选择(优先当前 Provider)。/model status显示详细视图,包括配置的 Provider 端点(baseUrl)和 API 模式(api)。
调试覆盖
/debug 设置运行时配置覆盖(内存,不写磁盘)。仅所有者。默认禁用;启用 commands.debug: true。
示例:
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset覆盖立即对新配置读取生效,但不写入 openclaw.json。使用 /debug reset 清除所有覆盖。
配置更新
/config 写入磁盘配置(openclaw.json)。仅所有者。默认禁用;启用 commands.config: true。
示例:
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix写入前验证配置,无效更改被拒绝。重启后持久化。
MCP 更新
/mcp 写入 OpenClaw 管理的 MCP 服务器定义(mcp.servers)。仅所有者。默认禁用;启用 commands.mcp: true。
示例:
text
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7配置存储在 OpenClaw 配置中,不是 Pi 项目设置。运行时适配器决定哪些传输可执行。
插件更新
/plugins 让操作员检查已发现的插件并在配置中切换启用状态。只读流程可使用别名 /plugin。默认禁用;启用 commands.plugins: true。
示例:
text
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7/plugins list和/plugins show使用真实插件发现(当前工作区 + 磁盘配置)。/plugins install从 ClawHub、npm、git、本地目录和压缩包安装。/plugins enable|disable仅更新插件配置,不安装/卸载。热重载 Gateway 插件运行时(新智能体轮次生效)。安装引起管理 Gateway 自动重启。
表面说明(Surface notes)
每表面的会话
- 文本命令:在普通聊天会话中运行(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 特定
channels.slack.slashCommand仍支持单个/openclaw风格命令。启用commands.native后,必须为每个内置命令创建一个 Slack 斜杠命令(名称与/help等相同)。命令参数菜单以临时 Block Kit 按钮提供。- Slack 原生例外:注册
/agentstatus而不是/status(因为 Slack 保留/status)。文本/status在 Slack 消息中仍有效。
BTW 临时问题
/btw 关于当前会话的快速临时问题。别名 /side。
与普通聊天不同:
- 使用当前会话作为背景上下文。
- 在 Codex harness 会话中,作为一次性 Codex 侧线程运行(使用当前 Codex 权限和原生工具表面)。
- 非 Codex 会话中,保持旧的直接一次性侧调用行为。
- 不改变未来会话上下文,不写入转录历史。
- 作为实时侧结果交付,而不是普通助手消息。
示例:
text
/btw what are we doing right now?
/side what changed while the main run continued?常见问题
斜杠命令没反应,怎么排查?
先确认消息是否以 / 开头且是独立消息(不是嵌入普通文字)。检查配置文件中 commands.text: true(文本命令)或 commands.native 已启用。对于原生命令(Discord/Telegram),查看 commands.allowFrom 或 commands.useAccessGroups 是否将你的账号加入白名单。可以尝试在 DM 中发送 /status 看是否有回复,若无回复则检查 Gateway 日志日志。
为什么在 Slack 上看不到 /help 等原生命令?
Slack 默认不自动注册原生斜杠命令。需要手动为每个命令创建 Slack 斜杠命令(例如 /help、/commands 等)。如果启用 commands.native,OpenClaw 会尝试注册,但 Slack 要求你在 Slack App 配置中先定义命令。另外 Slack 保留了 /status,原生命令请使用 /agentstatus,但文本 /status 在消息中仍有效。
/config 命令不起作用,提示什么?
确保 commands.config: true 已在配置文件中设置(默认 false)。只有所有者(配置了 commands.ownerAllowFrom 或通过 Provider 原生所有者元数据解析)才能使用 /config。检查发送者是否是 ownerAllowFrom 中列出的 ID(例如 "discord:123456789012345678")。如果使用了 commands.allowFrom,它成为唯一授权来源,忽略普通白名单,请确认该列表包含你的所有者 ID。