メインコンテンツへスキップ

入力中インジケーター

入力中インジケーターは、実行がアクティブな間、チャットチャンネルに送信されます。開始するタイミング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 / no_reply。大文字小文字を区別せず一致)である場合、 サイレントのみの返信に対して入力中は表示されません。
  • thinking は、実行が推論をストリーミングする場合にのみ発火します(reasoningLevel: "stream")。 モデルが推論デルタを出力しない場合、入力中は開始されません。
  • ハートビートでは、モードに関係なく入力中は表示されません。
  • typingIntervalSeconds更新頻度を制御するものであり、開始時刻ではありません。 デフォルトは 6 秒です。