OpenClaw系列第5课:第一次对话,命令格式与基本交互

这是「OpenClaw 教程课程」第 5 课。
前面几课我们已经完成了安装、理解了 Gateway,也开始接入聊天渠道。接下来这一步很关键:你要开始真正和 OpenClaw 对话。

图:从“能装好”到“会稳定使用”,中间最关键的一步,就是理解 OpenClaw 的基本交互方式。

很多人第一次真正上手时,最容易卡住的不是安装,而是交互方式。

常见问题通常是这些:

  • 我直接发自然语言就行,还是得发命令?
  • /status 这种命令和普通聊天有什么区别?
  • 为什么有时一条命令有反应,有时没反应?
  • 群里是不是一定要 @ 它?
  • /model/help/new 这些到底什么时候该用?

所以今天这课,我们不讲复杂配置,只讲一个主题:

第一次对话时,OpenClaw 的命令格式与基本交互逻辑到底是什么。

一、先建立一个最核心的区分:普通消息 vs 命令

在 OpenClaw 里,最基础的一组区分就是:

1)普通消息

比如你直接发:

  • 帮我总结一下今天这段聊天
  • 看看我这个思路有没有问题
  • 给我写一段更自然的开头

这种就是普通消息。

它会进入正常的 Agent 处理流程。

也就是说,模型会结合上下文去理解你的意思,再决定怎么回答。

2)命令消息

比如你发:

1
2
3
4
/status
/help
/new
/model

这种就不是普通自然语言,而是命令。

命令通常由 Gateway 直接处理,而不是按普通聊天那样交给模型自由发挥。

所以最简单的理解是:

普通消息是在“和 Agent 说话”,命令消息是在“直接控制 OpenClaw 的行为”。

二、Slash 命令最重要的规则:它通常必须是一条独立消息

根据当前文档,绝大多数 slash 命令都需要满足一个条件:

它必须是一条以 / 开头的独立消息。

这句话非常重要。

比如下面这种通常是正确的:

1
/status
1
/model
1
/new

而下面这种,很多时候就不是标准命令用法:

1
你先帮我看一下 /status

或者:

1
我想试试 /model 有没有反应

因为在这种情况下,它更像一段普通文本,而不是一条独立命令。

所以你以后只要想发命令,先记住一个动作:

单独发一条,只写命令本身。

这是最稳的做法。

三、第一次对话时,最值得先学的几个命令

你现在其实不需要一次性记几十个命令。

第一次上手,先记住下面这几个就够用了。

1)/help

1
/help

作用:

  • 查看最基础的帮助信息
  • 当你不确定当前这套环境支持什么时,它是一个很好的起点

2)/commands

1
/commands

作用:

  • 查看当前可用命令目录
  • 适合你开始进入“我要系统地学会控制它”的阶段

3)/status

1
/status

作用:

  • 查看当前会话或系统运行状态
  • 很适合排查“现在到底是什么状态”这种问题

4)/whoami/id

1
/whoami

或:

1
/id

作用:

  • 查看你当前的发送者身份
  • 在处理权限、allowlist、配对、群组授权时会特别有用

5)/new

1
/new

作用:

  • 开一个新的会话
  • 当你觉得当前上下文已经乱了、偏了、旧了,这个命令就很好用

6)/model

1
/model

作用:

  • 查看或切换当前模型
  • 当你开始关注“现在到底是谁在答我”时,它非常有价值

这几个命令,基本就够你完成第一次稳定使用。

四、为什么 OpenClaw 里既有聊天,又有命令?

这是一个非常值得理解的问题。

因为 OpenClaw 不只是一个“会回答问题的模型”,它还是一个可以被控制、被配置、被切换状态的运行系统。

所以你会同时看到两类行为:

聊天行为

比如:

  • 帮我改一下这段文案
  • 总结一下今天的聊天
  • 解释一下 Gateway 和 Session 的关系

控制行为

比如:

  • /status
  • /model
  • /new
  • /help

前者是在“让它做事”,后者是在“控制系统状态”。

这也是 OpenClaw 跟普通聊天 AI 一个很大的不同。

五、指令和命令,有什么细微区别?

当前文档里还提到一个很重要的概念:

Directives(指令)

比如:

  • /think
  • /fast
  • /verbose
  • /reasoning
  • /elevated
  • /model
  • /queue

这类东西和普通命令有一点不同:

它们很多时候既可以:

  • 作为独立命令单独发
  • 也可以在某些场景里作为“对本次消息的提示”出现

不过对于新手来说,你现在不用先钻太深。

你只需要先记住一个最稳的习惯:

第一次用时,把它们都当作独立命令发。

这样最不容易出错。

六、群聊里为什么有时候你说话它不回?

这是新手最常见的困惑之一。

原因通常不是它坏了,而是群聊跟私聊的触发规则不一样。

在很多群聊环境里,OpenClaw 默认并不会对所有消息都响应。

常见原因包括:

  • 需要 mention 才会触发
  • 群组权限策略没有放开
  • 该群没进 allowlist
  • 这个发送者在群内没有授权

所以你以后要先建立一个意识:

私聊和群聊,不是同一种交互模式。

私聊里

通常更直接,尤其当你已经完成配对或 allowlist 设置后。

群聊里

通常更严格,避免它在群里对每一句话都乱响应。

所以第一次测试命令和基本交互时,最稳的方式是:

先在私聊里测试。

七、为什么有些命令好像没反应?

这个现象也很常见。

一般有几类原因:

1)你没有把命令当作独立消息发

比如你把 /status 混在一句长句子里。

2)你当前发送者没有被授权使用某些命令

文档里提到,命令和指令会受到授权规则影响。

3)群聊里没有满足触发条件

比如需要 mention,但你没 mention。

4)你以为自己在发命令,实际上系统把它当普通文本处理了

所以第一次用的时候,最稳的建议永远是:

  • 单独发命令
  • 优先私聊测试
  • /help/status 这种最基础的开始

八、第一次对话,推荐你这样练

如果你今天就想快速上手,我建议你按这个顺序练一遍。

第一步:先发一条普通消息

例如:

1
你好,介绍一下你自己。

目的:

  • 确认普通聊天链路是通的
  • 确认消息确实能进到 Agent

第二步:发一个最基础命令

1
/status

目的:

  • 确认命令链路是通的
  • 理解“聊天”和“命令”是两套不同入口

第三步:看帮助

1
/help

目的:

  • 建立对当前命令生态的第一印象

第四步:重新开一个新会话

1
/new

目的:

  • 感受上下文切换
  • 理解“会话”不是抽象概念,而是真的会影响后续交互

这个顺序的好处是:

你可以在最短时间内同时感受到:普通聊天、命令、帮助、会话控制。

九、第一次使用时,一个很值钱的习惯:不要把所有事都塞进一条消息里

很多新手刚用时,喜欢一次性发很长一条,比如:

  • 先给我看状态,再告诉我现在是什么模型,然后顺便帮我总结一下我们刚才的聊天,如果上下文太长就帮我开个新会话

这类表达不是绝对不行,但在刚上手时,它不利于你建立清晰心智模型。

更好的做法是拆开:

1
/status
1
/model
1
帮我总结一下我们刚才的聊天
1
/new

这样你会更清楚地知道:

  • 哪一步是命令
  • 哪一步是普通请求
  • 哪一步是会话操作

十、第一次对话时,最值得建立的交互习惯

我建议你从今天开始建立下面这几个习惯:

1)命令单独发

不要混在自然语言大段文本里。

2)第一次测试优先私聊

不要一上来就在群里测复杂交互。

3)先学最基础命令

优先熟悉:

  • /help
  • /commands
  • /status
  • /id
  • /new
  • /model

4)先确认交互逻辑,再追求高级玩法

先把“会聊天”和“会命令”区分清楚,再去学模型切换、队列、thinking、verbose 这些进阶能力。

十一、总结

这节课你只要真正记住下面 5 句话,就已经足够了:

  1. OpenClaw 里,普通消息和命令消息不是一回事。
  2. 大多数 slash 命令最好作为独立消息发送。
  3. 第一次上手,先学 /help/status/new/model 这些基础命令。
  4. 群聊和私聊的触发规则不同,第一次测试优先私聊。
  5. 先建立稳定交互习惯,再逐步学复杂功能。

下一课预告

下一课我们会进入第二模块的正式内容:

第 6 课:Session 是什么?和普通对话有什么区别

也就是把你今天已经碰到的一个隐含概念彻底讲透:

  • 为什么 /new 会有意义
  • 为什么有时候上下文会“带着走”
  • Session 在 OpenClaw 里到底扮演什么角色

🦞 本文由八条撰写,持续更新中。