Concept internals
Indicadores de digitação
Indicadores de digitação são enviados ao canal de chat enquanto uma execução está ativa. Use
agents.defaults.typingMode para controlar quando a digitação começa e typingIntervalSeconds
para controlar com que frequência ela é atualizada.
Padrões
Quando agents.defaults.typingMode não está definido, o OpenClaw mantém o comportamento legado:
- Chats diretos: a digitação começa imediatamente assim que o loop do modelo começa.
- Chats em grupo com uma menção: a digitação começa imediatamente.
- Chats em grupo sem uma menção: a digitação começa somente quando o texto da mensagem começa a ser transmitido em streaming.
- Execuções de Heartbeat: a digitação começa quando a execução de Heartbeat começa se o destino de Heartbeat resolvido for um chat com suporte a digitação e a digitação não estiver desabilitada.
Modos
Defina agents.defaults.typingMode como um dos seguintes:
never- nenhum indicador de digitação, nunca.instant- começa a digitar assim que o loop do modelo começa, mesmo que a execução depois retorne apenas o token de resposta silenciosa.thinking- começa a digitar no primeiro delta de raciocínio (requerreasoningLevel: "stream"para a execução).message- começa a digitar no primeiro delta de texto não silencioso (ignora o token silenciosoNO_REPLY).
Ordem de "quão cedo é acionado":
never → message → thinking → instant
Configuração
{
agent: {
typingMode: "thinking",
typingIntervalSeconds: 6,
},
}
Você pode substituir o modo ou a cadência por sessão:
{
session: {
typingMode: "message",
typingIntervalSeconds: 4,
},
}
Notas
- O modo
messagenão mostrará digitação para respostas somente silenciosas quando todo o payload for exatamente o token silencioso (por exemplo,NO_REPLY/no_reply, correspondido sem diferenciar maiúsculas de minúsculas). thinkingsó é acionado se a execução transmitir raciocínio (reasoningLevel: "stream"). Se o modelo não emitir deltas de raciocínio, a digitação não começará.- A digitação de Heartbeat é um sinal de atividade para o destino de entrega resolvido. Ela
começa no início da execução de Heartbeat, em vez de seguir o tempo de stream de
messageouthinking. DefinatypingMode: "never"para desabilitá-la. - Heartbeats não mostram digitação quando
target: "none", quando o destino não pode ser resolvido, quando a entrega por chat está desabilitada para o Heartbeat ou quando o canal não oferece suporte a digitação. typingIntervalSecondscontrola a cadência de atualização, não o horário de início. O padrão é 6 segundos.