Skip to content

打字状态指示器(Typing Indicators)

运行中的 agent 会向聊天频道发送"正在输入"提示。使用 agents.defaults.typingMode 控制何时开始显示,typingIntervalSeconds 控制刷新频率

默认行为

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

  • 私聊:模型循环一开始立即显示打字状态。
  • 有 @ 提及的群聊:立即显示打字状态。
  • 无 @ 提及的群聊:仅在消息文本开始流式传输时才显示打字状态。
  • 心跳运行:禁用打字状态。

模式

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

  • never — 永不显示打字状态。
  • instant模型循环一开始立即显示打字状态,即使该运行最终只返回静默回复令牌。
  • thinking — 在第一个推理增量时显示打字状态(需要运行的 reasoningLevel: "stream")。
  • message — 在第一个非静默文本增量时显示打字状态(忽略 NO_REPLY 静默令牌)。

触发时机从早到晚的顺序: nevermessagethinkinginstant

配置

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

也可以按会话覆盖模式或节奏:

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

注意事项

  • message 模式不会对纯静默回复(如用于抑制输出的 NO_REPLY 令牌)显示打字状态——你的小龙虾在默默思考,不会发出动静。
  • thinking 模式仅在运行流式推理(reasoningLevel: "stream")时生效。如果模型不输出推理增量,打字状态不会启动。
  • 无论何种模式,心跳运行始终不显示打字状态。
  • typingIntervalSeconds 控制的是刷新节奏,而非启动时机。默认值为 6 秒。