Typing indicators

Typing indicator được gửi đến Channel chat khi một run đang hoạt động. Dùng agents.defaults.typingMode để điều khiển khi nào typing bắt đầu và typingIntervalSeconds để điều khiển tần suất refresh.

Mặc định

Khi agents.defaults.typingMode không được set, OpenClaw giữ hành vi cũ (legacy):

  • Chat trực tiếp: typing bắt đầu ngay khi model loop chạy.
  • Chat nhóm có mention: typing bắt đầu ngay lập tức.
  • Chat nhóm không có mention: typing chỉ bắt đầu khi message text bắt đầu streaming.
  • Heartbeat runs: typing bị tắt.

Các chế độ

Set agents.defaults.typingMode thành một trong các giá trị sau:

  • never — không hiển thị typing indicator.
  • instant — bắt đầu typing ngay khi model loop chạy, ngay cả khi run sau đó chỉ trả về silent reply token.
  • thinking — bắt đầu typing ở reasoning delta đầu tiên (yêu cầu reasoningLevel: "stream" cho run).
  • message — bắt đầu typing ở text delta không im lặng đầu tiên (bỏ qua NO_REPLY silent token).

Thứ tự “kích hoạt sớm nhất”: nevermessagethinkinginstant

Cấu hình

{
  agent: {
    typingMode: "thinking",
    typingIntervalSeconds: 6,
  },
}

Các bạn có thể override mode hoặc tần suất theo từng Session:

{
  session: {
    typingMode: "message",
    typingIntervalSeconds: 4,
  },
}

Lưu ý

  • Chế độ message sẽ không hiển thị typing cho các reply chỉ im lặng (ví dụ: token NO_REPLY dùng để chặn output).
  • thinking chỉ kích hoạt nếu run streaming reasoning (reasoningLevel: "stream"). Nếu model không phát ra reasoning delta, typing sẽ không bắt đầu.
  • Heartbeat không bao giờ hiển thị typing, bất kể chế độ nào.
  • typingIntervalSeconds điều khiển tần suất refresh, không phải thời điểm bắt đầu. Mặc định là 6 giây.