OpenClawSkills
GitHub
工具与技能 • 5 分钟阅读

斜杠命令

斜杠命令:文本与原生、配置和支持的命令

命令由网关处理。大多数命令必须作为以 ''/'' 开头的''独立''消息发送。

仅限主机的 bash 聊天命令使用 ''! <cmd>''(''/bash <cmd>'' 是别名)。

有两个相关系统:

- ''命令'':独立的 ''/...'' 消息。

- ''指令'':''/think''、''/verbose''、''/reasoning''、''/elevated''、''/exec''、''/model''、''/queue''。

- 指令在模型看到之前从消息中剥离。

- 在普通聊天消息中(非纯指令),它们被视为"内联提示",不会持久化会话设置。

- 在纯指令消息中(消息仅包含指令),它们会持久化到会话并回复确认。

- 指令仅对''授权发送者''应用(频道白名单/配对加上 ''commands.useAccessGroups'')。

未授权发送者看到的指令会被当作纯文本处理。

还有一些''内联快捷方式''(仅限白名单/授权发送者):''/help''、''/commands''、''/status''、''/whoami''(''/id'')。

它们立即运行,在模型看到消息之前被剥离,剩余文本继续正常流程。

Tutorial.step

配置

Json5
'{'
  commands: '{'
    native: "auto",
    nativeSkills: "auto",
    text: true,
    bash: false,
    bashForegroundMs: 2000,
    config: false,
    debug: false,
    restart: false,
    useAccessGroups: true,
  '}',
'}'

- ''commands.text''(默认 ''true'')启用解析聊天消息中的 ''/...''。

- 在没有原生命令的平台上(WhatsApp/WebChat/Signal/iMessage/Google Chat/MS Teams),即使设置为 ''false'',文本命令仍然有效。

- ''commands.native''(默认 ''"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"'')在支持时原生注册''技能''命令。

- 自动:Discord/Telegram 开启;Slack 关闭(Slack 需要为每个技能创建斜杠命令)。

- Set ''channels.discord.commands.nativeSkills'', ''channels.telegram.commands.nativeSkills'', or ''channels.slack.commands.nativeSkills'' to override per provider (bool or ''"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.useAccessGroups''(默认 ''true'')强制执行命令的白名单/策略。

Tutorial.step

命令列表

文本 + 原生(启用时):

- ''/help''

- ''/commands''

- ''/skill <name> [input]''(按名称运行技能)

- ''/status''(显示当前状态;包括当前模型提供者的使用量/配额)

- ''/allowlist''(列出/添加/删除白名单条目)

- ''/approve <id> allow-once|allow-always|deny''(解决执行审批提示)

- ''/context [list|detail|json]''(解释"上下文";''detail'' 显示每个文件+每个工具+每个技能+系统提示大小)

- ''/whoami''(显示你的发送者 ID;别名:''/id'')

- ''/subagents list|stop|log|info|send''(检查、停止、记录或消息当前会话的子代理运行)

- ''/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;参见 ''/tts'')

- Discord:原生命令是 ''/voice''(Discord 保留 ''/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 [model]''(可选模型提示;剩余部分传递)

- ''/think <off|minimal|low|medium|high|xhigh>''(按模型/提供者动态选择;别名:''/thinking''、''/t'')

- ''/verbose on|full|off''(别名:''/v'')

- ''/reasoning on|off|stream''(别名:''/reason'';开启时发送前缀为 ''Reasoning:'' 的单独消息;''stream'' = 仅 Telegram 草稿)

- ''/elevated on|off|ask|full''(别名:''/elev'';''full'' 跳过执行审批)

- ''/exec host=<sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>''(发送 ''/exec'' 显示当前设置)

- ''/model <name>''(别名:''/models'';或 ''/<alias>'' 来自 ''agents.defaults.models.*.alias'')

- ''/queue <mode>''(加上选项如 ''debounce:2s cap:25 drop:summarize'';发送 ''/queue'' 查看当前设置)

- ''/bash <command>''(仅限主机;''! <command>'' 的别名;需要 ''commands.bash: true'' + ''tools.elevated'' 白名单)

仅文本:

- ''/compact [instructions]''(参见 ''/concepts/compaction'')

- ''! <command>''(仅限主机;一次一个;使用 ''!poll'' + ''!stop'' 处理长时间运行的任务)

- ''!poll''(检查输出/状态;接受可选 ''sessionId'';''/bash poll'' 也有效)

- ''!stop''(停止正在运行的 bash 任务;接受可选 ''sessionId'';''/bash stop'' 也有效)

注意:

- 命令接受命令和参数之间的可选 '':''(例如 ''/think: high''、''/send: on''、''/help:'')。

- ''/new <model>'' 接受模型别名、''provider/model'' 或提供者名称(模糊匹配);如果没有匹配,文本被视为消息正文。

- 完整的提供者使用明细,使用 ''openclaw status --usage''。