OpenClaw从入门到应用——工具(Tools):Slash 命令
通过OpenClaw实现副业收入《OpenClaw赚钱实录从“养龙虾“到可持续变现的实践指南》命令由网关Gateway处理。大多数命令必须以独立消息的形式发送并以/开头。仅限主机的 bash 聊天命令使用! cmd/bash cmd作为其别名。存在两个相关的系统命令独立的/...消息。指令/think、/fast、/verbose、/reasoning、/elevated、/exec、/model、/queue。在模型看到消息之前指令会被从消息中剥离。在普通聊天消息中非仅包含指令的消息它们被视为“内联提示”并且不会持久化会话设置。在仅包含指令的消息中消息只包含指令它们会持久化到会话中并回复确认信息。指令仅适用于授权的发送者。如果设置了commands.allowFrom则它将是唯一使用的允许列表否则授权将来自频道允许列表/配对以及commands.useAccessGroups。未经授权的发送者会将指令视为纯文本。还有一些内联快捷方式仅限允许列表/授权的发送者/help、/commands、/status、/whoami/id。它们会立即执行在模型看到消息之前被剥离其余文本将继续正常的流程。配置{ commands: { native: auto, nativeSkills: auto, text: true, bash: false, bashForegroundMs: 2000, config: false, debug: false, restart: false, allowFrom: { *: [user1], discord: [user:123], }, useAccessGroups: true, }, }commands.text默认值true启用解析聊天消息中的/...。在没有原生命令的平台上WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams即使将此设置为false文本命令仍然有效。commands.native默认值auto注册原生命令。Auto在 Discord/Telegram 上开启在 Slack 上关闭直到您添加斜杠命令对于不支持原生功能的提供商则忽略。设置channels.discord.commands.native、channels.telegram.commands.native或channels.slack.commands.native以覆盖每个提供商的设置布尔值或auto。false会在启动时清除 Discord/Telegram 上先前注册的命令。Slack 命令在 Slack 应用中管理不会自动删除。commands.nativeSkills默认值auto在支持的情况下原生注册技能命令。Auto在 Discord/Telegram 上开启在 Slack 上关闭Slack 需要为每个技能创建一个斜杠命令。设置channels.discord.commands.nativeSkills、channels.telegram.commands.nativeSkills或channels.slack.commands.nativeSkills以覆盖每个提供商的设置布尔值或auto。commands.bash默认值false启用! cmd来运行主机 shell 命令/bash cmd是其别名需要tools.elevated允许列表。commands.bashForegroundMs默认值2000控制 bash 在切换到后台模式前等待的时间0表示立即进入后台。commands.config默认值false启用/config读取/写入openclaw.json。commands.debug默认值false启用/debug仅运行时覆盖。commands.allowFrom可选为命令授权设置每个提供商的允许列表。配置后它将成为命令和指令的唯一授权来源频道允许列表/配对和commands.useAccessGroups将被忽略。使用*作为全局默认值特定于提供商的键将覆盖它。commands.useAccessGroups默认值true在未设置commands.allowFrom时强制执行命令的允许列表/策略。命令列表文本 原生命令启用时/help/commands/skill 名称 [输入]按名称运行技能/status显示当前状态在可用时包含当前模型提供商的提供商使用情况/配额/allowlist列出/添加/删除允许列表条目/approve ID allow-once|allow-always|deny解决执行批准提示/context [list|detail|json]解释“上下文”detail显示每个文件 每个工具 每个技能 系统提示大小/btw 问题就当前会话提出一个临时的旁侧问题而不会更改未来的会话上下文请参阅 /tools/btw/export-session [路径]别名/export将会话导出为包含完整系统提示的 HTML/whoami显示您的发送者 ID别名/id/session idle 持续时间|off管理聚焦线程绑定的非活动自动取消聚焦/session max-age 持续时间|off管理聚焦线程绑定的硬性最大存在时间自动取消聚焦/subagents list|kill|log|info|send|steer|spawn检查、控制或为当前会话生成子代理运行/acp spawn|cancel|steer|close|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|sessions检查和控制 ACP 运行时会话/agents列出此会话的线程绑定代理/focus 目标Discord将此线程或新线程绑定到会话/子代理目标/unfocusDiscord移除当前线程绑定/kill ID|#|all立即中止此会话的一个或所有正在运行的子代理无确认消息/steer ID|# 消息立即引导正在运行的子代理尽可能在运行中引导否则中止当前工作并在引导消息上重新启动/tell ID|# 消息/steer的别名/config show|get|set|unset将配置持久化到磁盘仅限所有者需要commands.config: true/debug show|set|unset|reset运行时覆盖仅限所有者需要commands.debug: true/usage off|tokens|full|cost每个响应的使用情况页脚或本地成本摘要/tts off|always|inbound|tagged|status|provider|limit|summary|audio控制 TTS请参阅 /ttsDiscord原生命令是/voiceDiscord 保留/tts文本命令/tts仍然有效。/stop/restart/dock-telegram别名/dock_telegram将回复切换到 Telegram/dock-discord别名/dock_discord将回复切换到 Discord/dock-slack别名/dock_slack将回复切换到 Slack/activation mention|always仅限群组/send on|off|inherit仅限所有者/reset或/new [模型]可选的模型提示其余部分将被传递/think off|minimal|low|medium|high|xhigh按模型/提供商的动态选择别名/thinking、/t/fast status|on|off省略参数将显示当前有效的快速模式状态/verbose on|full|off别名/v/reasoning on|off|stream别名/reason开启时发送以Reasoning:为前缀的单独消息stream 仅限 Telegram 草稿/elevated on|off|ask|full别名/elevfull跳过执行批准/exec hostsandbox|gateway|node securitydeny|allowlist|full askoff|on-miss|always nodeID发送/exec显示当前状态/model 名称别名/models或/别名来自agents.defaults.models.*.alias/queue 模式加上如debounce:2s cap:25 drop:summarize等选项发送/queue查看当前设置/bash 命令仅限主机! command的别名需要commands.bash: truetools.elevated允许列表仅限文本命令/compact [指令]请参阅 /concepts/compaction! 命令仅限主机一次一个对于长时间运行的任务请使用!poll!stop!poll检查输出/状态接受可选的sessionId/bash poll也有效!stop停止正在运行的 bash 作业接受可选的sessionId/bash stop也有效注意命令接受命令和参数之间的可选冒号:例如/think: high、/send: on、/help:。/new 模型接受模型别名、提供商/模型或提供商名称模糊匹配如果没有匹配项则文本将视为消息正文。要获取完整的提供商使用情况细分请使用openclaw status --usage。/allowlist add|remove需要commands.configtrue并遵循频道configWrites设置。在多账户频道中面向配置的/allowlist --account ID和/config set channels.provider.accounts.ID...也遵循目标账户的configWrites设置。/usage控制每个响应的使用情况页脚/usage cost从 OpenClaw 会话日志中打印本地成本摘要。/restart默认启用设置commands.restart: false可禁用它。仅限 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用于调试和额外可见性在正常使用中请保持关闭。/fast on|off持久化会话覆盖。使用会话 UI 的inherit选项清除它并回退到配置默认值。当相关时仍然会显示工具失败摘要但详细的失败文本仅在/verbose为on或full时包含。/reasoning和/verbose在群组设置中存在风险它们可能泄露您无意暴露的内部推理或工具输出。建议保持关闭尤其是在群聊中。快速路径来自允许列表发送者的仅含命令的消息会立即处理绕过队列 模型。群组提及门控来自允许列表发送者的仅含命令的消息绕过提及要求。内联快捷方式仅限允许列表的发送者某些命令嵌入在普通消息中时也有效并在模型看到剩余文本之前被剥离。示例hey /status会触发状态回复剩余文本会继续正常流程。当前包括/help、/commands、/status、/whoami/id。未经授权的仅含命令的消息将被静默忽略内联的/...标记被视为纯文本。技能命令user-invocable技能作为斜杠命令公开。名称会被清理为a-z0-9_最多 32 个字符冲突时会添加数字后缀例如_2。/skill 名称 [输入]按名称运行技能当原生命令限制阻止为每个技能创建命令时很有用。默认情况下技能命令作为普通请求转发给模型。技能可以选择声明command-dispatch: tool以将命令直接路由到工具确定性无模型介入。示例/proseOpenProse 插件— 请参阅 OpenProse。原生命令参数Discord 对动态选项使用自动完成并在您省略必需参数时显示按钮菜单。Telegram 和 Slack 在命令支持选项且您省略参数时会显示按钮菜单。使用情况展示位置显示位置提供商使用情况/配额例如“Claude 剩余 80%”在启用使用情况跟踪时会在/status中为当前模型提供商显示。每个响应的令牌/成本由/usage off|tokens|full控制附加到正常回复中。/model status是关于模型/认证/端点的而不是使用情况。模型选择/model/model作为指令实现。示例/model /model list /model 3 /model openai/gpt-5.2 /model opusanthropic:default /model status注意/model和/model list显示一个紧凑的、带编号的选择器模型家族 可用的提供商。在 Discord 上/model和/models打开一个交互式选择器包含提供商和模型下拉菜单以及一个提交步骤。/model #从该选择器中选择并在可能时优先选择当前提供商。/model status显示详细视图包括配置的提供商端点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注意写入前会验证配置无效的更改将被拒绝。/config更新在重启后仍然有效。平台说明文本命令在正常的聊天会话中运行私信共享main会话群组有自己的会话。原生命令使用隔离的会话Discordagent:agentId:discord:slash:userIdSlackagent:agentId:slack:slash:userId前缀可通过channels.slack.slashCommand.sessionPrefix配置Telegramtelegram:slash:userId通过CommandTargetSessionKey定位到聊天会话/stop针对活动的聊天会话以便中止当前运行。Slack仍然支持channels.slack.slashCommand用于单个/openclaw风格命令。如果启用commands.native您必须为每个内置命令与/help中的名称相同创建一个 Slack 斜杠命令。Slack 的命令参数菜单作为临时的 Block Kit 按钮传递。Slack 原生例外注册/agentstatus而不是/status因为 Slack 保留了/status。文本命令/status在 Slack 消息中仍然有效。BTW 旁侧问题/btw是一个关于当前会话的快速旁侧问题。与普通聊天不同它使用当前会话作为背景上下文它作为一个单独的无工具的一次性调用运行它不会更改未来的会话上下文它不会被写入对话历史记录它作为实时旁侧结果而不是普通的助手消息传递。这使得/btw在您希望在进行主要任务时获得临时澄清时非常有用。示例/btw what are we doing right now?请参阅 BTW 旁侧问题 了解完整行为和客户端用户体验细节。