Concept internals
Indikator pengetikan
Indikator pengetikan dikirim ke kanal chat saat sebuah run aktif. Gunakan
agents.defaults.typingMode untuk mengontrol kapan pengetikan dimulai dan typingIntervalSeconds
untuk mengontrol seberapa sering indikator diperbarui.
Default
Saat agents.defaults.typingMode tidak disetel, OpenClaw mempertahankan perilaku lama:
- Chat langsung: pengetikan dimulai segera setelah loop model dimulai.
- Chat grup dengan mention: pengetikan dimulai segera.
- Chat grup tanpa mention: pengetikan dimulai hanya saat teks pesan mulai dialirkan.
- Run Heartbeat: pengetikan dimulai saat run Heartbeat dimulai jika target Heartbeat yang di-resolve adalah chat yang mendukung pengetikan dan pengetikan tidak dinonaktifkan.
Mode
Setel agents.defaults.typingMode ke salah satu dari:
never- tidak ada indikator pengetikan, kapan pun.instant- mulai mengetik segera setelah loop model dimulai, bahkan jika run kemudian hanya mengembalikan token balasan senyap.thinking- mulai mengetik pada delta penalaran pertama (memerlukanreasoningLevel: "stream"untuk run tersebut).message- mulai mengetik pada delta teks non-senyap pertama (mengabaikan token senyapNO_REPLY).
Urutan "seberapa dini ini dipicu":
never → message → thinking → instant
Konfigurasi
{
agent: {
typingMode: "thinking",
typingIntervalSeconds: 6,
},
}
Anda dapat mengganti mode atau irama per sesi:
{
session: {
typingMode: "message",
typingIntervalSeconds: 4,
},
}
Catatan
- Mode
messagetidak akan menampilkan pengetikan untuk balasan yang hanya senyap saat seluruh payload adalah token senyap persis (misalnyaNO_REPLY/no_reply, dicocokkan tanpa membedakan huruf besar/kecil). thinkinghanya dipicu jika run mengalirkan penalaran (reasoningLevel: "stream"). Jika model tidak memancarkan delta penalaran, pengetikan tidak akan dimulai.- Pengetikan Heartbeat adalah sinyal keaktifan untuk target pengiriman yang di-resolve. Ini
dimulai saat run Heartbeat dimulai, bukan mengikuti timing stream
messageatauthinking. SeteltypingMode: "never"untuk menonaktifkannya. - Heartbeat tidak menampilkan pengetikan saat
target: "none", saat target tidak dapat di-resolve, saat pengiriman chat dinonaktifkan untuk Heartbeat, atau saat kanal tidak mendukung pengetikan. typingIntervalSecondsmengontrol irama pembaruan, bukan waktu mulai. Default-nya adalah 6 detik.