Concept internals

輸入狀態指示器

執行進行期間,系統會向聊天頻道傳送輸入指示器。使用 agents.defaults.typingMode 控制輸入何時開始,並使用 typingIntervalSeconds 控制其重新整理的頻率(保活節奏,預設為 6 秒)。

預設值

agents.defaults.typingMode 未設定時:

  • 直接聊天:模型迴圈開始後,立即開始顯示輸入狀態。
  • 含提及的群組聊天:立即開始顯示輸入狀態。
  • 不含提及的群組聊天:獲准的執行出現使用者可見的活動時,開始顯示輸入狀態,例如工具執行環境活動或訊息文字。
  • 心跳偵測執行:心跳偵測執行開始時,若解析出的心跳偵測目標是支援輸入狀態的聊天,且輸入狀態未停用,則開始顯示輸入狀態。

模式

agents.defaults.typingMode 設為下列其中之一:

  • never - 永遠不顯示輸入指示器。
  • instant - 模型迴圈一開始就顯示輸入狀態,即使執行最後只傳回靜默回覆權杖亦同。
  • thinking - 在出現第一個推理增量時,或輪次獲接受後開始主動執行工具環境時,開始顯示輸入狀態。
  • message - 在出現第一個使用者可見的回覆活動時開始顯示輸入狀態,例如主動執行工具環境或非靜默文字增量。NO_REPLY 等靜默回覆權杖不算文字活動。

依「觸發時間由晚到早」排序:never -> message/thinking -> instant

設定

設定代理程式層級的預設值:

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

針對個別工作階段覆寫模式或節奏:

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

注意事項

  • message 模式不會因靜默回覆權杖而開始顯示輸入狀態,但在任何助理文字可用之前,主動執行仍可能顯示輸入狀態。
  • thinking 仍會回應串流推理(reasoningLevel: "stream"),也可能在推理增量抵達前因主動執行而開始顯示輸入狀態。
  • 心跳偵測的輸入狀態是解析後傳遞目標的存活訊號。它會在心跳偵測執行開始時啟動,而不會遵循 messagethinking 的串流時序。設定 typingMode: "never" 可將其停用。
  • 當心跳偵測目標為 "none"、無法解析目標、心跳偵測的聊天傳遞已停用,或頻道不支援輸入狀態時,心跳偵測不會顯示輸入狀態。
  • typingIntervalSeconds 控制的是重新整理節奏,而非開始時間。預設值:6 秒。

相關內容

Was this useful?
On this page

On this page