Messages and delivery

Política de novas tentativas

Objetivos

  • Repetir por solicitação HTTP, não por fluxo de várias etapas.
  • Preservar a ordem repetindo apenas a etapa atual.
  • Evitar a duplicação de operações não idempotentes.

Padrões

Configuração Padrão
Tentativas 3
Limite máximo de espera 30000 ms
Jitter 0.1 (10%)
Espera mínima do Telegram 400 ms
Espera mínima do Discord 500 ms

Comportamento

Provedores de modelos

  • O OpenClaw permite que os SDKs dos provedores tratem as repetições curtas normais.
  • Para SDKs baseados no Stainless, como os da Anthropic e da OpenAI, as respostas que permitem repetição (408, 409, 429 e 5xx) podem incluir retry-after-ms ou retry-after. Quando essa espera excede 60 segundos, o OpenClaw injeta x-should-retry: false para que o SDK apresente o erro imediatamente e o failover de modelo possa alternar para outro perfil de autenticação ou modelo de contingência.
  • Substitua o limite com OPENCLAW_SDK_RETRY_MAX_WAIT_SECONDS=<seconds>. Defina como 0, false, off, none ou disabled para permitir que os SDKs respeitem internamente esperas longas de Retry-After.

Discord

  • Repete em caso de 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 de DNS, redefinições de conexão, fechamentos de socket e falhas de busca.
  • Usa o retry_after do Discord quando disponível; caso contrário, usa recuo exponencial.

Telegram

  • Repete em caso de erros transitórios (429, tempo limite, conexão/redefinição/fechamento, indisponibilidade temporária).
  • Usa retry_after quando disponível; caso contrário, usa recuo exponencial.
  • Erros de análise de HTML/Markdown não são repetidos; eles usam texto simples como alternativa na primeira tentativa.

Configuração

Defina a política de repetição por provedor em ~/.openclaw/openclaw.json:

json5
{  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

  • As repetições se aplicam por solicitação (envio de mensagem, upload de mídia, reação, enquete, figurinha).
  • Fluxos compostos não repetem etapas concluídas.

Relacionado

Was this useful?
On this page

On this page