Messages and delivery
Política de novas tentativas
Metas
- Tentar novamente por solicitação HTTP, não por fluxo de várias etapas.
- Preservar a ordem tentando novamente apenas a etapa atual.
- Evitar duplicar operações não idempotentes.
Padrões
- Tentativas: 3
- Limite máximo de atraso: 30000 ms
- Variação aleatória: 0.1 (10 por cento)
- Padrões de provedor:
- Atraso mínimo do Telegram: 400 ms
- Atraso mínimo do Discord: 500 ms
Comportamento
Provedores de modelos
- O OpenClaw permite que os SDKs de provedores lidem com tentativas curtas normais.
- Para SDKs baseados em Stainless, como Anthropic e OpenAI, respostas passíveis
de nova tentativa (
408,409,429e5xx) podem incluirretry-after-msouretry-after. Quando essa espera é maior que 60 segundos, o OpenClaw injetax-should-retry: falsepara que o SDK exponha o erro imediatamente e o failover de modelo possa alternar para outro perfil de autenticação ou modelo alternativo. - Substitua o limite com
OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Defina como0,false,off,noneoudisabledpara permitir que os SDKs respeitem internamente longas esperas deRetry-After.
Discord
- Tenta novamente em erros de limite de taxa (HTTP 429), tempos limite de solicitação, respostas HTTP 5xx e falhas transitórias de transporte, como falhas de consulta DNS, redefinições de conexão, fechamentos de socket e falhas de fetch.
- Usa
retry_afterdo Discord quando disponível; caso contrário, usa backoff exponencial.
Telegram
- Tenta novamente em erros transitórios (429, tempo limite, conexão/redefinição/fechado, temporariamente indisponível).
- Usa
retry_afterquando disponível; caso contrário, usa backoff exponencial. - Erros de análise de Markdown não são tentados novamente; eles recorrem a texto simples.
Configuração
Defina a política de novas tentativas por provedor em ~/.openclaw/openclaw.json:
{
channels: {
telegram: {
retry: {
attempts: 3,
minDelayMs: 400,
maxDelayMs: 30000,
jitter: 0.1,
},
},
discord: {
retry: {
attempts: 3,
minDelayMs: 500,
maxDelayMs: 30000,
jitter: 0.1,
},
},
},
}
Observações
- Novas tentativas se aplicam por solicitação (envio de mensagem, upload de mídia, reação, enquete, sticker).
- Fluxos compostos não tentam novamente etapas concluídas.