Pular para o conteúdo principal

Gerenciamento de Sessões

O OpenClaw organiza conversas em sessões. Cada mensagem é roteada para uma sessão com base em sua origem — DMs, chats em grupo, jobs cron etc.

Como as mensagens são roteadas

OrigemComportamento
Mensagens diretasSessão compartilhada por padrão
Chats em grupoIsolados por grupo
Salas/canaisIsolados por sala
Jobs cronSessão nova por execução
WebhooksIsolados por hook

Isolamento de DM

Por padrão, todas as DMs compartilham uma sessão para manter a continuidade. Isso é adequado para ambientes de usuário único.
Se várias pessoas puderem enviar mensagens ao seu agente, ative o isolamento de DM. Sem isso, todos os usuários compartilham o mesmo contexto de conversa — as mensagens privadas de Alice ficariam visíveis para Bob.
A correção:
{
  session: {
    dmScope: "per-channel-peer", // isola por canal + remetente
  },
}
Outras opções:
  • main (padrão) — todas as DMs compartilham uma sessão.
  • per-peer — isola por remetente (entre canais).
  • per-channel-peer — isola por canal + remetente (recomendado).
  • per-account-channel-peer — isola por conta + canal + remetente.
Se a mesma pessoa entrar em contato com você por vários canais, use session.identityLinks para vincular as identidades dela para que compartilhem uma única sessão.
Verifique sua configuração com openclaw security audit.

Ciclo de vida da sessão

As sessões são reutilizadas até expirarem:
  • Redefinição diária (padrão) — nova sessão às 4:00 AM no horário local do host do gateway.
  • Redefinição por inatividade (opcional) — nova sessão após um período de inatividade. Defina session.reset.idleMinutes.
  • Redefinição manual — digite /new ou /reset no chat. /new <model> também troca o modelo.
Quando redefinições diária e por inatividade estão configuradas, vale a que expirar primeiro.

Onde o estado fica

Todo o estado da sessão pertence ao gateway. Clientes de UI consultam o gateway para obter dados de sessão.
  • Armazenamento: ~/.openclaw/agents/<agentId>/sessions/sessions.json
  • Transcrições: ~/.openclaw/agents/<agentId>/sessions/<sessionId>.jsonl

Manutenção de sessão

O OpenClaw limita automaticamente o armazenamento de sessões ao longo do tempo. Por padrão, ele roda no modo warn (informa o que seria limpo). Defina session.maintenance.mode como "enforce" para limpeza automática:
{
  session: {
    maintenance: {
      mode: "enforce",
      pruneAfter: "30d",
      maxEntries: 500,
    },
  },
}
Visualize com openclaw sessions cleanup --dry-run.

Inspecionando sessões

  • openclaw status — caminho do armazenamento de sessão e atividade recente.
  • openclaw sessions --json — todas as sessões (filtre com --active <minutes>).
  • /status no chat — uso de contexto, modelo e alternâncias.
  • /context list — o que está no prompt do sistema.

Leitura adicional