Concept internals
Indikator pengetikan
Indikator pengetikan dikirim ke saluran chat saat sebuah eksekusi aktif. Gunakan
agents.defaults.typingMode untuk mengontrol kapan pengetikan dimulai dan typingIntervalSeconds
untuk mengontrol seberapa sering indikator disegarkan.
Default
Saat agents.defaults.typingMode tidak disetel, OpenClaw mempertahankan perilaku lama:
- Chat langsung: pengetikan dimulai segera setelah loop model dimulai.
- Chat grup dengan sebutan: pengetikan dimulai segera.
- Chat grup tanpa sebutan: pengetikan dimulai hanya saat teks pesan mulai streaming.
- Eksekusi Heartbeat: pengetikan dimulai saat eksekusi Heartbeat dimulai jika target Heartbeat yang terselesaikan adalah chat yang mendukung pengetikan dan pengetikan tidak dinonaktifkan.
Mode
Setel agents.defaults.typingMode ke salah satu dari:
never- tidak ada indikator pengetikan, sama sekali.instant- mulai mengetik segera setelah loop model dimulai, meskipun eksekusi kemudian hanya mengembalikan token balasan senyap.thinking- mulai mengetik pada delta penalaran pertama (memerlukanreasoningLevel: "stream"untuk eksekusi).message- mulai mengetik pada delta teks non-senyap pertama (mengabaikan token senyapNO_REPLY).
Urutan "seberapa awal dipicu":
never → message → thinking → instant
Konfigurasi
Setel default tingkat agen:
{ agents: { defaults: { typingMode: "thinking", typingIntervalSeconds: 6, }, },}Timpa mode atau irama per sesi:
{ session: { typingMode: "message", typingIntervalSeconds: 4, },}Catatan
- Mode
messagetidak akan menampilkan pengetikan untuk balasan yang hanya senyap ketika seluruh payload adalah token senyap persis (misalnyaNO_REPLY/no_reply, dicocokkan tanpa membedakan huruf besar/kecil). thinkinghanya dipicu jika eksekusi melakukan streaming penalaran (reasoningLevel: "stream"). Jika model tidak memancarkan delta penalaran, pengetikan tidak akan dimulai.- Pengetikan Heartbeat adalah sinyal keaktifan untuk target pengiriman yang terselesaikan. Ini
dimulai saat eksekusi Heartbeat dimulai, alih-alih mengikuti waktu streaming
messageatauthinking. SeteltypingMode: "never"untuk menonaktifkannya. - Heartbeat tidak menampilkan pengetikan saat
target: "none", saat target tidak dapat diselesaikan, saat pengiriman chat dinonaktifkan untuk Heartbeat, atau saat saluran tidak mendukung pengetikan. typingIntervalSecondsmengontrol irama penyegaran, bukan waktu mulai. Defaultnya adalah 6 detik.