跳转至

正在输入指示器

当一次运行(run)处于活动状态时,输入指示器会发送到聊天频道。使用 agents.defaults.typingMode 控制输入何时开始,使用 typingIntervalSeconds 控制多久刷新一次(保持连接的节奏,默认 6 秒)。

默认值

当 agents.defaults.typingMode 未设置时:

  • 私聊:模型循环一开始,输入指示器立即开始显示。
  • 被提及的群聊:输入指示器立即开始显示。
  • 未被提及的群聊:当已准入的运行产生用户可见活动时(例如执行器(harness)执行活动或消息文本),输入指示器开始显示。
  • 仅消息工具的回复:即使在没有提及的群聊中,输入指示器也会立即开始显示,这样成员在没有任何自动最终回复发布时也能看到代理正在工作。此规则优先于上述群聊规则;显式的 typingMode 仍优先于此规则。
  • 心跳运行:如果已解析的心跳目标是支持输入指示器的聊天,且输入未被禁用,则输入指示器会在心跳运行开始时开始显示。

模式

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

  • never - 从不显示输入指示器。
  • instant - 模型循环一开始就立即开始显示,即使运行之后只返回静默回复令牌(silent reply token)。
  • thinking - 在第一条推理增量(reasoning delta)出现时开始显示,或在轮次被接受后的主动执行器(harness)执行期间开始显示。
  • message - 在首次用户可见的回复活动时开始显示,例如主动执行器执行或非静默文本增量。诸如 NO_REPLY 之类的静默回复令牌不计作文本活动。

触发“多早”的顺序:never -> message/thinking -> instant。

配置

设置代理级默认值:

{
  agents: {
    defaults: {
      typingMode: "thinking",
      typingIntervalSeconds: 6,
    },
  },
}

为单个代理覆盖策略:

{
  agents: {
    entries: {
      support: {
        typingMode: "message",
      },
    },
  },
}

备注

  • message 模式不会因静默回复令牌而开始显示,但在任何助手文本可用之前,主动执行仍可显示输入指示器。
  • thinking 仍然会对流式推理(reasoningLevel: "stream")作出反应,并且在推理增量到达之前也可以从主动执行开始显示。
  • 心跳输入指示器是已解析投递目标的活动信号。它在心跳运行开始时启动,而不是遵循 message 或 thinking 的流式时机。设置 typingMode: "never" 可禁用它。
  • 当心跳目标为 "none"、无法解析目标、心跳的聊天投递被禁用,或频道不支持输入指示器时,心跳不会显示输入指示器。
  • agents.defaults.typingIntervalSeconds 控制每个代理的刷新节奏,而不是开始时间。默认值:6 秒。

在线状态(Presence)

Gateway 如何为 Control UI 的设备页面和 macOS 实例标签页跟踪已连接的客户端。

流式传输与分块

出站流式传输行为、分块边界以及特定于频道的投递。

心跳(Heartbeat)

系统拥有的自动化,用于定期运行代理轮次,以及其目标聊天的通知规则。

群组

群聊行为以及支持群组的频道中的提及门控。

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw