输入指示器

当一个运行处于活跃状态时,输入指示器(typing indicator)会发送到聊天渠道。通过 agents.defaults.typingMode 控制何时开始显示,通过 typingIntervalSeconds 控制刷新频率

默认行为

agents.defaults.typingMode 未设置时,OpenClaw 保持旧版行为:

  • 直聊:模型循环开始后立即显示输入指示器。
  • 群聊中被提及:立即显示。
  • 群聊中未被提及:仅当消息文本开始流式输出时才显示。
  • 心跳运行:不显示输入指示器。

模式

agents.defaults.typingMode 设置为以下之一:

  • never — 永不显示输入指示器。
  • instant模型循环一开始就显示,即使运行最终只返回静默回复 token。
  • thinking — 在第一个推理增量时开始显示(需要运行时设置 reasoningLevel: "stream")。
  • message — 在第一个非静默文本增量时开始显示(忽略 NO_REPLY 静默 token)。

触发时机从早到晚排序: nevermessagethinkinginstant

配置

{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6,
  },
}

也可以按会话覆盖模式或频率:

{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}

补充说明

  • message 模式不会为纯静默回复(如用于抑制输出的 NO_REPLY token)显示输入指示器。
  • thinking 只在运行开启了推理流式输出(reasoningLevel: "stream")时才会触发。如果模型未产生推理增量,输入指示器不会启动。
  • 心跳运行无论什么模式都不显示输入指示器。
  • typingIntervalSeconds 控制的是刷新频率,不是开始时间。默认值为 6 秒。