Concept internals
入力中インジケーター
入力中インジケーターは、実行がアクティブな間にチャットチャネルへ送信されます。
agents.defaults.typingMode を使用して入力中がいつ始まるかを制御し、typingIntervalSeconds
でどの頻度で更新されるかを制御します。
デフォルト
agents.defaults.typingMode が未設定の場合、OpenClaw は従来の動作を維持します。
- ダイレクトチャット: モデルループが開始するとすぐに入力中が始まります。
- メンションありのグループチャット: 入力中がすぐに始まります。
- メンションなしのグループチャット: 許可された実行に、ハーネス実行アクティビティやメッセージテキストなど、 ユーザーに見えるアクティビティがあると入力中が始まります。
- Heartbeat 実行: 解決された Heartbeat ターゲットが入力中に対応したチャットで、 入力中が無効化されていない場合、Heartbeat 実行の開始時に入力中が始まります。
モード
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") に引き続き反応し、 推論デルタが届く前にアクティブな実行から開始することもできます。- Heartbeat の入力中表示は、解決された配信ターゲットに対する生存シグナルです。
messageまたはthinkingのストリームタイミングに従うのではなく、 Heartbeat 実行の開始時に始まります。無効化するにはtypingMode: "never"を設定します。 - Heartbeat は、
target: "none"の場合、ターゲットを解決できない場合、 Heartbeat のチャット配信が無効化されている場合、またはチャネルが入力中をサポートしていない場合、 入力中を表示しません。 typingIntervalSecondsは更新間隔を制御し、開始時刻は制御しません。 デフォルトは 6 秒です。
関連
Was this useful?