跳转到主要内容
Gateway 网关会处理以 / 开头、作为独立消息发送的命令。 仅主机 bash 命令使用 ! <cmd>/bash <cmd> 作为别名)。 当会话绑定到 ACP 会话时,普通文本会路由到 ACP harness。Gateway 网关管理命令仍保持本地处理:/acp ... 始终到达 OpenClaw 命令处理器,并且只要该表面的命令处理已启用,/status/unfocus 都会保持本地处理。

三种命令类型

命令

由 Gateway 网关处理的独立 /... 消息。必须作为消息中的 唯一内容发送。

指令

/think/fast/verbose/trace/reasoning/elevated/exec/model/queue——在模型看到消息之前从消息中剥离。 单独发送时会持久化会话设置;与其他文本一起发送时作为内联提示生效。

内联快捷方式

/help/commands/status/whoami——立即运行,并会在模型看到 剩余文本之前被剥离。仅限授权发送者。
  • 指令会在模型看到消息之前从消息中剥离。
  • 仅指令消息中(消息只有指令),它们会持久化到会话并回复确认。
  • 在带有其他文本的普通聊天消息中,它们作为内联提示生效,且 不会持久化会话设置。
  • 指令仅适用于授权发送者。如果设置了 commands.allowFrom, 它就是唯一使用的允许列表;否则授权来自渠道允许列表/配对加 commands.useAccessGroups。未授权发送者的指令会被视为纯文本。

配置

{
  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
boolean
默认值:"true"
启用在聊天消息中解析 /...。在没有原生命令的表面 (WhatsApp、WebChat、Signal、iMessage、Google Chat、Microsoft Teams)上,即使设置为 false, 文本命令仍会工作。
commands.native
boolean | "auto"
默认值:"\"auto\""
注册原生命令。自动:为 Discord/Telegram 启用;为 Slack 关闭; 对没有原生支持的提供商忽略。可用 channels.<provider>.commands.native 按渠道覆盖。在 Discord 上,false 会跳过斜杠命令 注册;此前注册的命令可能会保持可见,直到被移除。
commands.nativeSkills
boolean | "auto"
默认值:"\"auto\""
在支持时以原生方式注册技能命令。自动:为 Discord/Telegram 启用;为 Slack 关闭。可用 channels.<provider>.commands.nativeSkills 覆盖。
commands.bash
boolean
默认值:"false"
启用 ! <cmd> 来运行主机 shell 命令(/bash <cmd> 别名)。需要 tools.elevated 允许列表。
commands.bashForegroundMs
number
默认值:"2000"
bash 在切换到后台模式前等待的时长(0 表示立即进入后台)。
commands.config
boolean
默认值:"false"
启用 /config(读取/写入 openclaw.json)。仅限所有者。
commands.mcp
boolean
默认值:"false"
启用 /mcp(读取/写入 mcp.servers 下由 OpenClaw 管理的 MCP 配置)。仅限所有者。
commands.plugins
boolean
默认值:"false"
启用 /plugins(插件发现/状态,以及安装 + 启用/禁用)。写操作仅限所有者。
commands.debug
boolean
默认值:"false"
启用 /debug(仅运行时配置覆盖)。仅限所有者。
commands.restart
boolean
默认值:"true"
启用 /restart 和 Gateway 网关重启工具操作。
commands.ownerAllowFrom
string[]
面向仅所有者命令表面的显式所有者允许列表。独立于 commands.allowFrom 和私信配对访问。
channels.<channel>.commands.enforceOwnerForCommands
boolean
默认值:"false"
按渠道配置:要求所有者身份才能使用仅所有者命令。当为 true 时, 发送者必须匹配 commands.ownerAllowFrom,或持有内部 operator.admin 权限范围。通配符 allowFrom 条目不足以满足要求。
commands.ownerDisplay
"raw" | "hash"
控制 owner id 在系统提示中的显示方式。
commands.ownerDisplaySecret
string
commands.ownerDisplay: "hash" 时使用的 HMAC 密钥。
commands.allowFrom
object
用于命令授权的按提供商 allowlist。配置后,它就是命令和指令的 唯一授权来源。使用 "*" 作为全局默认值;提供商专用键会覆盖它。
commands.useAccessGroups
boolean
默认值:"true"
当未设置 commands.allowFrom 时,为命令强制执行 allowlist/策略。

命令列表

命令来自三个来源:
  • 核心内置项: src/auto-reply/commands-registry.shared.ts
  • 生成的 dock 命令: src/auto-reply/commands-registry.data.ts
  • 插件命令: 插件 registerCommand() 调用
可用性取决于配置标志、渠道表面以及已安装/启用的 插件。

核心命令

命令描述
/new [model]归档当前会话并启动一个新会话
/reset [soft [message]]就地重置当前会话。soft 会保留转录内容,丢弃复用的 CLI 后端会话 ID,并重新运行启动流程
/name <title>命名或重命名当前会话。省略标题可查看当前名称和建议
/compact [instructions]压缩会话上下文。参见 压缩
/stop中止当前运行
/session idle <duration|off>管理线程绑定的空闲过期时间
/session max-age <duration|off>管理线程绑定的最长存活过期时间
/export-session [path]将当前会话导出为 HTML。别名:/export
/export-trajectory [path]为当前会话导出 JSONL 轨迹包。别名:/trajectory
Control UI 会拦截键入的 /new,以创建并切换到新的 仪表板会话;但当配置了 session.dmScope: "main" 且当前父级是智能体的主会话时除外,此时 /new 会就地重置主会话。键入的 /reset 仍会运行 Gateway 网关的 就地重置。当你想清除固定的 会话模型选择时,请使用 /model default
命令描述
/think <level|default>设置思考级别或清除会话覆盖项。别名:/thinking/t
/verbose on|off|full切换详细输出。别名:/v
/trace on|off切换当前会话的插件跟踪输出
/fast [status|auto|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 默认值
/login [codex|openai|openai-codex]从私聊或 Web UI 会话配对 Codex/OpenAI 登录。仅所有者/管理员
/model [name|#|status]显示或设置模型
/models [provider] [page] [limit=<n>|all]列出已配置/有可用凭证的提供商或模型
/queue <mode>管理活跃运行队列行为。参见 QueueQueue steering
/steer <message>将指导注入活跃运行。别名:/tell。参见 Steer
  • /verbose 用于调试——正常使用时保持关闭
  • /trace 仅显示插件拥有的跟踪/调试行;正常的详细闲聊保持关闭。
  • /fast auto|on|off 会持久化会话覆盖项;使用 Sessions UI 的 inherit 选项可清除它。
  • /fast 是提供商专用的:OpenAI/Codex 将其映射为 service_tier=priority;直接 Anthropic 请求将其映射为 service_tier=autostandard_only
  • /reasoning/verbose/trace 在群组环境中有风险——它们可能泄露内部推理或插件诊断信息。在群聊中保持关闭。
  • /model 会立即将新模型持久化到会话。
  • 如果智能体处于空闲状态,下一次运行会立即使用它。
  • 如果有运行处于活跃状态,切换会标记为待处理,并在下一个干净的重试点应用。
命令描述
/help显示简短帮助摘要
/commands显示生成的命令目录
/tools [compact|verbose]显示当前智能体现在可使用的内容
/status显示执行/运行时状态、Gateway 网关和系统运行时间、插件健康状况,以及提供商用量/配额
/status plugins显示详细插件健康状况:加载错误、隔离、渠道插件失败、依赖问题、兼容性通知。需要 commands.plugins: true
/goal [status|start|edit|pause|resume|complete|block|clear] ...管理当前会话的持久 goal
/diagnostics [note]仅所有者可用的支持报告流程。每次都会请求 exec 审批
/crestodian <request>从所有者私信运行 Crestodian 设置和修复助手
/tasks列出当前会话的活跃/近期后台任务
/context [list|detail|map|json]说明上下文如何组装
/whoami显示你的发送者 ID。别名:/id
/usage off|tokens|full|reset|cost控制每条响应的用量页脚(reset/inherit/clear/default 会清除会话覆盖项,以重新继承配置的默认值),或打印本地成本摘要
命令描述
/skill <name> [input]按名称运行一个 Skills
/learn [request]通过 Skill Workshop 从当前对话或命名来源起草一个可审查的 Skills
/allowlist [list|add|remove] ...管理 allowlist 条目。仅文本
/approve <id> <decision>处理 exec 或插件审批提示
/btw <question>在不更改会话上下文的情况下提出附带问题。别名:/side。参见 BTW
命令描述
/subagents list|log|info检查当前会话的子智能体运行
/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help管理 ACP 会话和运行时选项。运行时控制需要外部所有者或内部 Gateway 网关管理员身份
/focus <target>将当前 Discord 线程或 Telegram 话题绑定到会话目标
/unfocus移除当前线程绑定
/agents列出当前会话绑定到线程的智能体
命令要求描述
/config show|get|set|unsetcommands.config: true读取或写入 openclaw.json。仅所有者
/mcp show|get|set|unsetcommands.mcp: true读取或写入 OpenClaw 管理的 MCP 服务器配置。仅所有者
/plugins list|inspect|show|get|install|enable|disablecommands.plugins: true检查或变更插件状态。写入仅限所有者。别名:/plugin
/debug show|set|unset|resetcommands.debug: true仅运行时的配置覆盖。仅所有者
/restartcommands.restart: true(默认)重启 OpenClaw
/send on|off|inheritowner设置发送策略
命令描述
/tts on|off|status|chat|latest|provider|limit|summary|audio|help控制 TTS。参见 TTS
/activation mention|always设置群组激活模式
/bash <command>运行主机 shell 命令。别名:! <command>。需要 commands.bash: true
!poll [sessionId]检查后台 bash 作业
!stop [sessionId]停止后台 bash 作业

Dock 命令

Dock 命令会将活动会话的回复路由切换到另一个已关联渠道。 设置和故障排除请参见 Channel docking 由支持原生命令的渠道插件生成:
  • /dock-discord(别名:/dock_discord
  • /dock-mattermost(别名:/dock_mattermost
  • /dock-slack(别名:/dock_slack
  • /dock-telegram(别名:/dock_telegram
Dock 命令需要 session.identityLinks。来源发送者和目标对等方 必须位于同一个身份组。

内置插件命令

命令描述
/dreaming [on|off|status|help]切换记忆 Dreaming(所有者或 Gateway 网关管理员)。参见 Dreaming
/pair [qr|status|pending|approve|cleanup|notify]管理设备配对。参见 配对
/phone status|arm ...|disarm临时启用高风险电话节点命令
/voice status|list|set <voiceId>管理 Talk 语音配置。Discord 原生名称:/talkvoice
/card ...发送 LINE 富卡片预设。参见 LINE
/codex <action> ...绑定、Steer 并检查 Codex 应用服务器 Codex harness(状态、线程、恢复、模型、快速、权限、压缩、审查、mcp、Skills 等)。参见 Codex harness
仅 QQ Bot:/bot-ping/bot-version/bot-help/bot-upgrade/bot-logs

Skill 命令

用户可调用的 Skills 会暴露为斜杠命令:
  • /skill <name> [input] 始终作为通用入口点可用。
  • Skills 可以注册为直接命令(例如 OpenProse 的 /prose)。
  • 原生 Skill 命令注册由 commands.nativeSkillschannels.<provider>.commands.nativeSkills 控制。
  • 名称会被清理为 a-z0-9_(最多 32 个字符);冲突会获得数字后缀。
默认情况下,Skill 命令会作为普通请求路由到模型。Skills 可以声明 command-dispatch: tool,以直接路由到工具 (确定性,无模型参与)。示例:/prose(OpenProse 插件) — 参见 OpenProse
当省略必需参数时,Discord 会对动态选项和按钮菜单使用自动补全。 对于带选项的命令,Telegram 和 Slack 会显示按钮菜单。 动态选项会针对目标会话模型解析,因此像 /think 级别这样的 模型特定选项会遵循会话的 /model 覆盖。

/tools:智能体现在可使用的内容

/tools 回答的是一个运行时问题:此智能体此刻在此 对话中可以使用什么 — 不是静态配置目录。
/tools         # compact view
/tools verbose # with short descriptions
结果限定在会话范围内。更改智能体、渠道、线程、发送者 授权或模型都可能改变输出。要编辑配置档案和覆盖项, 请使用 Control UI 工具面板或配置表面。

/model:模型选择

/model             # show model picker
/model list        # same
/model 3           # select by number from picker
/model openai/gpt-5.4
/model opus@anthropic:default
/model default     # clear the session model selection
/model status      # detailed view with endpoint and API mode
在 Discord 中,/model/models 会打开带有提供商和 模型下拉菜单的交互式选择器。该选择器遵循 agents.defaults.models, 包括 provider/* 条目。

/config:磁盘配置写入

仅所有者。默认禁用 — 使用 commands.config: true 启用。
/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix
配置会在写入前验证。无效更改会被拒绝。/config 更新会在重启后保留。

/mcp:MCP 服务器配置

仅所有者。默认禁用 — 使用 commands.mcp: true 启用。
/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7
/mcp 会将配置存储在 OpenClaw 配置中,而不是嵌入式智能体项目设置中。

/debug:仅运行时覆盖

仅所有者。默认禁用 — 使用 commands.debug: true 启用。 覆盖会立即应用到新的配置读取,但不会写入磁盘。
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

/plugins:插件管理

写入仅限所有者。默认禁用 — 使用 commands.plugins: true 启用。
/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7
/plugins install ./path/to/plugin
/plugins enable|disable 会更新插件配置,并为新的智能体轮次热重载 Gateway 网关 插件运行时。由于插件源模块已更改,/plugins install 会自动重启托管的 Gateway 网关。

/trace:插件跟踪输出

/trace          # show current trace state
/trace on
/trace off
/trace 会显示会话范围内的插件跟踪/调试行,而无需完整详细 模式。它不会取代 /debug(运行时覆盖)或 /verbose(普通 工具输出)。

/btw:旁路问题

/btw 是关于当前会话上下文的快速旁路问题。别名:/side
/btw what are we doing right now?
/side what changed while the main run continued?
不同于普通消息:
  • 使用当前会话作为背景上下文。
  • 在 Codex harness 会话中,作为临时 Codex 旁路线程运行。
  • 不会更改未来会话上下文。
  • 不会写入转录历史。
完整行为请参见 BTW 旁路问题

表面说明

  • 文本命令: 在普通聊天会话中运行(私信共享 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 群组/话题调用会要求所有者改为私信该 Bot。
  • /stop 定位活动聊天会话,以中止当前运行。
channels.slack.slashCommand 支持单个 /openclaw 风格命令。 使用 commands.native: true 时,为每个内置 命令创建一个 Slack 斜杠命令。注册 /agentstatus(不是 /status),因为 Slack 保留 /status。文本 /status 在 Slack 消息中仍然可用。
  • 来自允许列表发送者的纯命令消息会立即处理(绕过队列 + 模型)。
  • 内联快捷方式(/help/commands/status/whoami)也可嵌入普通消息中,并会在模型看到剩余文本前被剥离。
  • 未授权的纯命令消息会被静默忽略;内联 /... 标记会被视为纯文本。
  • 命令接受命令和参数之间可选的 :/think: high/send: on)。
  • /new <model> 接受模型别名、provider/model 或提供商名称(模糊匹配);如果没有匹配,文本会被视为消息正文。
  • /allowlist add|remove 需要 commands.config: true,并遵循渠道 configWrites

提供商用量和状态

  • 提供商用量/配额(例如 “Claude 80% left”)会在启用用量跟踪时,为当前模型提供商显示在 /status 中。
  • 令牌/缓存行/status 中,如果实时会话快照信息稀疏,可以回退到最新转录用量条目。
  • 执行与运行时: /status 会为有效沙箱路径报告 Execution,并为运行会话的主体报告 RuntimeOpenClaw DefaultOpenAI Codex、CLI 后端或 ACP 后端。
  • 每次响应令牌/成本:/usage off|tokens|full 控制。
  • /model status 关注模型/认证/端点,而不是用量。

相关

Skills

技能斜杠命令如何注册并受门控控制。

创建技能

构建一个会注册自身斜杠命令的技能。

BTW

不更改会话上下文的旁支问题。

Steer

使用 /steer 在运行中途引导智能体。