> ## Documentation Index
> Fetch the complete documentation index at: https://openclawdoc.org/llms.txt
> Use this file to discover all available pages before exploring further.

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

> OpenClaw はエージェントが実行されている間、チャットチャネルに対してタイピングインジケーター（「入力中...」の表示）を送信します。デフォルト設定、モード一覧、構成例を確認できます。

OpenClaw はエージェントが実行されている間、チャットチャネルに対してタイピングインジケーター（「入力中...」の表示）を送信します。`agents.defaults.typingMode` を使用して入力開始の **タイミング** を、`typingIntervalSeconds` を使用して更新の **頻度** を制御できます。

## デフォルト設定

`agents.defaults.typingMode` が **未設定** の場合、OpenClaw は以下のレガシーな挙動を維持します:

* **ダイレクトチャット**: モデルのループが開始されると即座に入力表示を開始します。
* **メンション（言及）ありのグループチャット**: 即座に入力表示を開始します。
* **メンションなしのグループチャット**: メッセージテキストのストリーミングが開始された時点で入力表示を開始します。
* **ハートビート（定期実行）**: 入力表示は無効化されます。

## モード一覧

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

* `never`: いかなる場合もタイピングインジケーターを表示しません。
* `instant`: **モデルのループが開始された直後** に入力表示を開始します。たとえその後の実行結果がサイレントリプライ（返信なし）であっても表示されます。
* `thinking`: **最初の推論（Reasoning）の差分が生成された時点** で入力表示を開始します（実行時に `reasoningLevel: "stream"` が必要です）。
* `message`: **最初の（サイレントでない）テキストの差分が生成された時点** で入力表示を開始します（`NO_REPLY` トークンによるサイレントな応答は無視されます）。

表示開始の早さの順序:
`never` (なし) → `message` (遅い) → `thinking` → `instant` (早い)

## 構成例

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6,
  },
}
```

セッションごとにモードや更新間隔を上書きすることも可能です:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}
```

## 補足事項

* `message` モードでは、サイレントリプライ（出力を抑制するために `NO_REPLY` トークンが使われた場合など）では入力表示は行われません。
* `thinking` モードは、推論プロセスのストリーミング (`reasoningLevel: "stream"`) が行われる場合にのみ機能します。モデルが推論の差分を出力しない場合、入力表示は開始されません。
* モードに関わらず、ハートビート実行時には入力表示は行われません。
* `typingIntervalSeconds` は、開始タイミングではなく **更新の頻度** を制御します。デフォルトは 6 秒です。
