跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

“正在输入”指示器会在一次运行处于激活状态时发送到聊天渠道。使用 agents.defaults.typingMode 控制何时开始显示输入状态,使用 typingIntervalSeconds 控制多久刷新一次。

默认值

agents.defaults.typingMode 未设置 时,OpenClaw 会保留旧版行为:
  • 私聊:模型循环一开始就立即显示“正在输入”。
  • 带提及的群聊:立即显示“正在输入”。
  • 不带提及的群聊:只有在消息文本开始流式输出时才显示“正在输入”。
  • Heartbeat 运行:如果已解析的 heartbeat 目标是支持输入状态的聊天,且未禁用输入状态,则在 heartbeat 运行开始时显示“正在输入”。

模式

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 模式下,如果整个负载恰好是静默 token,则不会显示“正在输入”,例如 NO_REPLY / no_reply(大小写不敏感匹配)。
  • thinking 只有在该次运行流式输出推理内容时才会触发(reasoningLevel: "stream")。 如果模型没有发出推理增量,则不会开始显示“正在输入”。
  • Heartbeat 输入状态是针对已解析投递目标的存活信号。它会在 heartbeat 运行开始时显示,而不是遵循 messagethinking 的流式时机。将 typingMode: "never" 设为禁用它。
  • 在以下情况下,heartbeat 不会显示“正在输入”:target: "none"、目标无法解析、该 heartbeat 禁用了聊天投递,或该渠道不支持输入状态。
  • typingIntervalSeconds 控制的是刷新频率,而不是开始时间。 默认值为 6 秒。

相关内容