输入指示器
输入指示器会在运行期间发送到聊天频道。用 agents.defaults.typingMode 控制何时开始显示输入状态,用 typingIntervalSeconds 控制刷新频率。
默认行为
当 agents.defaults.typingMode 未设置时,OpenClaw 保持传统行为:
- 私聊:模型循环开始后立即显示输入状态。
- 群聊(有提及):立即显示输入状态。
- 群聊(无提及):仅在消息文本开始流式传输时显示输入状态。
- Heartbeat 运行:禁用输入指示器。
模式
将 agents.defaults.typingMode 设置为以下值之一:
never— 永不显示输入指示器。instant— 模型循环一开始就显示输入状态,即使运行最终只返回静默回复 Token。thinking— 在第一个推理增量时开始显示输入状态(需要为运行设置reasoningLevel: "stream")。message— 在第一个非静默文本增量时开始显示输入状态(忽略NO_REPLY静默 Token)。
触发时机从晚到早的顺序:
never → message → thinking → instant
配置
{
agent: {
typingMode: "thinking",
typingIntervalSeconds: 6,
},
}
你可以为每个 Session 单独覆盖模式或刷新频率:
{
session: {
typingMode: "message",
typingIntervalSeconds: 4,
},
}
注意事项
message模式不会为纯静默回复显示输入状态(例如用于抑制输出的NO_REPLYToken)。thinking仅在运行流式传输推理时触发(reasoningLevel: "stream")。如果模型不发出推理增量,输入状态不会开始。- Heartbeat 永远不会显示输入状态,无论设置什么模式。
typingIntervalSeconds控制刷新频率,而非开始时间。默认值是 6 秒。