Appearance
Slash 命令
命令由 Gateway 处理,必须作为独立消息发送(以 / 开头)。有两套系统:
- 命令(Commands):独立的
/...消息,触发特定操作 - 指令(Directives):
/think、/exec、/model等,会从消息中剥离,不被模型看到- 仅包含指令的消息:设置会话状态并回复确认
- 混合消息(指令 + 正文):作为"内联提示",不持久化
权限控制
命令和指令只对授权发送者生效:
json5
{
commands: {
// 全局白名单(覆盖渠道级设置)
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true, // 默认:渠道白名单/配对策略生效
},
}未授权发送者发送命令会被静默忽略;内联 /... 作为普通文本处理。
常用命令速查
基础操作
| 命令 | 说明 |
|---|---|
/help | 显示帮助 |
/commands | 列出所有可用命令 |
/status | 显示当前状态(含模型、Provider 用量) |
/whoami 或 /id | 显示你的发送者 ID |
/stop | 停止当前正在运行的 Agent |
/restart | 重启 Agent |
会话管理
| 命令 | 说明 |
|---|---|
/new [模型] 或 /reset | 开始新会话,可选指定初始模型 |
/compact [指令] | 手动触发上下文压缩 |
/context [list|detail|json] | 查看上下文大小(文件、工具、Skills、系统提示) |
/export-session [路径] | 导出当前会话为 HTML |
/session idle <时长|off> | Discord:管理 thread 绑定空闲超时 |
/session max-age <时长|off> | Discord:管理 thread 绑定最大时长 |
模型与推理
| 命令 | 说明 |
|---|---|
/model | 显示当前模型(紧凑选择器) |
/model list | 列出可用模型(编号) |
/model 3 | 按编号选择模型 |
/model <别名> | 按别名切换(如 /model Sonnet) |
/model status | 详细认证状态(含 Provider 端点信息) |
/think <级别> | 设置思考深度:off/minimal/low/medium/high/xhigh |
/verbose on|full|off | 显示详细调试信息(谨慎在群聊中使用) |
/reasoning on|off|stream | 显示推理过程(Telegram 支持流式草稿) |
执行与工具
| 命令 | 说明 |
|---|---|
/exec host=<位置> security=<模式> | 设置当前会话的 exec 执行配置 |
/elevated on|off|ask|full | 设置提升权限模式(full 跳过审批) |
/approve <id> allow-once|allow-always|deny | 处理 exec 审批请求 |
/allowlist | 列出/添加/删除白名单条目(需要 commands.config: true) |
! <命令> 或 /bash <命令> | 在宿主机执行 Shell 命令(需要 commands.bash: true) |
!poll | 查询后台任务输出 |
!stop | 停止后台 bash 任务 |
Sub-Agent 管理
| 命令 | 说明 |
|---|---|
/subagents list | 列出当前会话的子 Agent 运行 |
/subagents kill <id|#|all> | 立即终止子 Agent |
/kill <id|#|all> | 同上(快捷别名) |
/steer <id|#> <消息> | 向运行中的子 Agent 发送引导消息 |
/tell <id|#> <消息> | /steer 的别名 |
/subagents spawn | 手动启动子 Agent |
Discord 专属
| 命令 | 说明 |
|---|---|
/focus <目标> | 将当前 thread 绑定到指定会话/子 Agent |
/unfocus | 解除 thread 绑定 |
/agents | 列出此 session 的 thread 绑定 Agent |
/vc join|leave|status | 控制语音频道(需原生命令支持) |
用量与成本
| 命令 | 说明 |
|---|---|
/usage off|tokens|full|cost | 控制每次回复后的 token/成本显示 |
/status | 显示当前 Provider 用量/配额 |
队列控制
| 命令 | 说明 |
|---|---|
/queue <模式> | 设置消息队列模式(详见 Agent 配置) |
Skills 命令
用户可调用(user-invocable)的 Skills 自动注册为 slash 命令:
/skill <名称> [输入]:按名称运行 Skill(当原生命令数量受限时使用)- 各 Skill 也会自动注册为独立命令(如
/prose、/gemini)
命令配置
json5
{
commands: {
native: "auto", // auto:Discord/Telegram 开启,Slack 关闭
nativeSkills: "auto", // Skills 是否注册为原生命令
text: true, // 文本消息中解析 / 命令
bash: false, // 启用 ! <cmd> 宿主 Shell 执行
config: false, // 启用 /config 命令(读写配置文件)
debug: false, // 启用 /debug 命令(运行时覆盖)
restart: true, // 启用 /restart 命令
},
}内联快捷命令
以下命令可以嵌入普通消息中(白名单用户),触发后从消息中剥离,剩余文字正常发送:
/help、/commands、/status、/whoami(/id)
示例:你好 /status → 触发状态回复,"你好"继续发送给模型。
运行时调试
/debug 允许在不修改磁盘配置的情况下临时覆盖设置(需要 commands.debug: true):
/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug unset messages.responsePrefix
/debug reset ← 清除所有临时覆盖持久化配置(/config)
/config 写入 openclaw.json(需要 commands.config: true,仅 Owner):
/config show
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix