タイピングインジケーター

タイピングインジケーターは実行がアクティブな間、チャットチャネルに送信されます。agents.defaults.typingMode開始タイミングを、typingIntervalSecondsリフレッシュ頻度を制御します。

デフォルト動作

agents.defaults.typingMode未設定の場合、OpenClawはレガシー動作を維持します:

  • ダイレクトチャット:モデルループ開始と同時にタイピングを開始。
  • メンション付きグループチャット:即座にタイピングを開始。
  • メンションなしグループチャット:メッセージテキストのストリーミングが始まった時点でタイピングを開始。
  • ハートビート実行:タイピング無効。

モード

agents.defaults.typingModeに以下のいずれかを設定します:

  • never --- タイピングインジケーターを一切表示しない。
  • instant --- モデルループ開始直後にタイピングを開始。サイレント返信トークンのみで終わる場合でも表示される。
  • thinking --- 最初のリーズニングデルタでタイピングを開始(その実行でreasoningLevel: "stream"が必要)。
  • message --- 最初の非サイレントテキストデルタでタイピングを開始(NO_REPLYサイレントトークンは無視)。

発火の早い順: nevermessagethinkinginstant

設定

{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6,
  },
}

セッション単位でモードやケイデンスをオーバーライドできます:

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

補足

  • messageモードでは、サイレントのみの返信(例:出力を抑制するNO_REPLYトークン)ではタイピングが表示されない。
  • thinkingは実行がリーズニングをストリーミングしている場合(reasoningLevel: "stream")にのみ発火する。モデルがリーズニングデルタを出力しない場合、タイピングは開始されない。
  • モードに関係なく、ハートビートではタイピングは表示されない。
  • typingIntervalSecondsは開始タイミングではなくリフレッシュのケイデンスを制御する。デフォルトは6秒。