Typing indicators
正在輸入指示器會在執行期間發送到聊天頻道。使用
agents.defaults.typingMode 來控制開始輸入的時機,並使用 typingIntervalSeconds
來控制其更新頻率。
當 agents.defaults.typingMode 未設定時,OpenClaw 將保留舊版行為:
- 直接聊天:一旦模型迴圈開始,立即開始顯示打字中。
- 提及的群組聊天:立即開始顯示打字中。
- 未提及的群組聊天:僅在訊息文字開始串流時才開始顯示打字中。
- Heartbeat 執行:如果解析後的 heartbeat 目標是可顯示打字中的聊天且未停用打字狀態,則在 heartbeat 執行開始時顯示打字中。
將 agents.defaults.typingMode 設定為下列其中之一:
never- 永不顯示正在輸入指示器。instant- 在模型迴圈開始時立即開始輸入,即使執行 稍後僅返回靜默回覆權杖。thinking- 在第一個推理增量時開始輸入(執行需要reasoningLevel: "stream")。message- 在第一個非靜默文字增量時開始輸入(忽略NO_REPLY靜默權杖)。
“觸發早晚”的順序:
never → message → thinking → instant
設定代理層級的預設值:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}針對每個階段覆寫模式或頻率:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}message模式不會在整個內容完全為靜默 Token 時顯示輸入中狀態(例如NO_REPLY/no_reply,不區分大小寫)。thinking僅在執行串流推論時觸發 (reasoningLevel: "stream")。如果模型未發出推論增量,輸入中狀態將不會開始。- 心跳輸入是已解析傳遞目標的活躍訊號。它在心跳執行開始時啟動,而不是遵循
message或thinking串流時序。設定typingMode: "never"可將其停用。 - 當
target: "none"時,當無法解析目標時,當針對心跳停用聊天傳遞時,或當通道不支援輸入中狀態時,心跳不會顯示輸入中狀態。 typingIntervalSeconds控制的是 更新頻率,而非開始時間。預設為 6 秒。
Presence
Gateway 如何追蹤已連線的用戶端並在 macOS Instances 分頁中顯示它們。
Streaming and chunking
外傳串流行為、區塊邊界以及特定通道的傳遞。