Concept internals
輸入狀態指示器
執行進行期間,系統會向聊天頻道傳送輸入指示器。使用 agents.defaults.typingMode 控制輸入何時開始,並使用 typingIntervalSeconds 控制其重新整理的頻率(保活節奏,預設為 6 秒)。
預設值
當 agents.defaults.typingMode 未設定時:
- 直接聊天:模型迴圈開始後,立即開始顯示輸入狀態。
- 含提及的群組聊天:立即開始顯示輸入狀態。
- 不含提及的群組聊天:獲准的執行出現使用者可見的活動時,開始顯示輸入狀態,例如工具執行環境活動或訊息文字。
- 心跳偵測執行:心跳偵測執行開始時,若解析出的心跳偵測目標是支援輸入狀態的聊天,且輸入狀態未停用,則開始顯示輸入狀態。
模式
將 agents.defaults.typingMode 設為下列其中之一:
never- 永遠不顯示輸入指示器。instant- 模型迴圈一開始就顯示輸入狀態,即使執行最後只傳回靜默回覆權杖亦同。thinking- 在出現第一個推理增量時,或輪次獲接受後開始主動執行工具環境時,開始顯示輸入狀態。message- 在出現第一個使用者可見的回覆活動時開始顯示輸入狀態,例如主動執行工具環境或非靜默文字增量。NO_REPLY等靜默回覆權杖不算文字活動。
依「觸發時間由晚到早」排序:never -> message/thinking -> instant。
設定
設定代理程式層級的預設值:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}針對個別工作階段覆寫模式或節奏:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}注意事項
message模式不會因靜默回覆權杖而開始顯示輸入狀態,但在任何助理文字可用之前,主動執行仍可能顯示輸入狀態。thinking仍會回應串流推理(reasoningLevel: "stream"),也可能在推理增量抵達前因主動執行而開始顯示輸入狀態。- 心跳偵測的輸入狀態是解析後傳遞目標的存活訊號。它會在心跳偵測執行開始時啟動,而不會遵循
message或thinking的串流時序。設定typingMode: "never"可將其停用。 - 當心跳偵測目標為
"none"、無法解析目標、心跳偵測的聊天傳遞已停用,或頻道不支援輸入狀態時,心跳偵測不會顯示輸入狀態。 typingIntervalSeconds控制的是重新整理節奏,而非開始時間。預設值:6 秒。
相關內容
Was this useful?