Guides
Configuração do assistente pessoal
OpenClaw é um Gateway auto-hospedado que conecta Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo e outros a agentes de IA. Este guia aborda a configuração de "assistente pessoal": um número dedicado do WhatsApp que se comporta como seu assistente de IA sempre ativo.
⚠️ Segurança em primeiro lugar
Você está colocando um agente em uma posição para:
- executar comandos na sua máquina (dependendo da sua política de ferramentas)
- ler/gravar arquivos no seu workspace
- enviar mensagens de volta via WhatsApp/Telegram/Discord/Mattermost e outros canais incluídos
Comece de forma conservadora:
- Sempre defina
channels.whatsapp.allowFrom(nunca execute aberto para o mundo no seu Mac pessoal). - Use um número dedicado do WhatsApp para o assistente.
- Heartbeats agora usam por padrão o intervalo de 30 minutos. Desative até confiar na configuração definindo
agents.defaults.heartbeat.every: "0m".
Pré-requisitos
- OpenClaw instalado e com onboarding concluído - consulte Introdução se ainda não fez isso
- Um segundo número de telefone (SIM/eSIM/pré-pago) para o assistente
A configuração com dois telefones (recomendada)
Você quer isto:
flowchart TB
A["<b>Your Phone (personal)<br></b><br>Your WhatsApp<br>+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)<br></b><br>Assistant WA<br>+1-555-ASSIST"]
B -- linked via QR --> C["<b>Your Mac (openclaw)<br></b><br>AI agent"]Se você vincular seu WhatsApp pessoal ao OpenClaw, toda mensagem enviada a você se torna "entrada do agente". Isso raramente é o que você quer.
Início rápido em 5 minutos
- Pareie o WhatsApp Web (mostra o QR; escaneie com o telefone do assistente):
openclaw channels login- Inicie o Gateway (deixe-o em execução):
openclaw gateway --port 18789- Coloque uma configuração mínima em
~/.openclaw/openclaw.json:
{ gateway: { mode: "local" }, channels: { whatsapp: { allowFrom: ["+15555550123"] } },}Agora envie uma mensagem para o número do assistente a partir do seu telefone na lista de permissões.
Quando o onboarding termina, o OpenClaw abre automaticamente o dashboard e imprime um link limpo (sem token). Se o dashboard solicitar autenticação, cole o segredo compartilhado configurado nas configurações da Control UI. O onboarding usa um token por padrão (gateway.auth.token), mas a autenticação por senha também funciona se você tiver alterado gateway.auth.mode para password. Para reabrir mais tarde: openclaw dashboard.
Dê ao agente um workspace (AGENTS)
O OpenClaw lê instruções operacionais e "memória" a partir do diretório de workspace dele.
Por padrão, o OpenClaw usa ~/.openclaw/workspace como o workspace do agente e o criará (além dos arquivos iniciais AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automaticamente na configuração/primeira execução do agente. BOOTSTRAP.md só é criado quando o workspace é completamente novo (ele não deve voltar depois que você o excluir). MEMORY.md é opcional (não é criado automaticamente); quando presente, ele é carregado para sessões normais. Sessões de subagentes injetam apenas AGENTS.md e TOOLS.md.
openclaw setupLayout completo do workspace + guia de backup: Workspace do agente Fluxo de trabalho de memória: Memória
Opcional: escolha um workspace diferente com agents.defaults.workspace (suporta ~).
{ agents: { defaults: { workspace: "~/.openclaw/workspace", }, },}Se você já entrega seus próprios arquivos de workspace a partir de um repositório, pode desativar completamente a criação de arquivos de bootstrap:
{ agents: { defaults: { skipBootstrap: true, }, },}A configuração que o transforma em "um assistente"
O OpenClaw já vem com uma boa configuração de assistente por padrão, mas normalmente você vai querer ajustar:
- persona/instruções em
SOUL.md - padrões de raciocínio (se desejado)
- Heartbeats (quando você confiar nele)
Exemplo:
{ logging: { level: "info" }, agents: { defaults: { model: { primary: "anthropic/claude-opus-4-6" }, workspace: "~/.openclaw/workspace", thinkingDefault: "high", timeoutSeconds: 1800, // Start with 0; enable later. heartbeat: { every: "0m" }, }, list: [ { id: "main", default: true, groupChat: { mentionPatterns: ["@openclaw", "openclaw"], }, }, ], }, channels: { whatsapp: { allowFrom: ["+15555550123"], groups: { "*": { requireMention: true }, }, }, }, session: { scope: "per-sender", resetTriggers: ["/new", "/reset"], reset: { mode: "daily", atHour: 4, idleMinutes: 10080, }, },}Sessões e memória
- Arquivos de sessão:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - Metadados da sessão (uso de tokens, última rota etc.):
~/.openclaw/agents/<agentId>/sessions/sessions.json(legado:~/.openclaw/sessions/sessions.json) /newou/resetinicia uma nova sessão para esse chat (configurável viaresetTriggers). Se enviado sozinho, o OpenClaw confirma a redefinição sem invocar o modelo./compact [instructions]compacta o contexto da sessão e informa o orçamento de contexto restante.
Heartbeats (modo proativo)
Por padrão, o OpenClaw executa um Heartbeat a cada 30 minutos com o prompt:
Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.
Defina agents.defaults.heartbeat.every: "0m" para desativar.
- Se
HEARTBEAT.mdexistir, mas estiver efetivamente vazio (apenas linhas em branco e cabeçalhos Markdown como# Heading), o OpenClaw ignora a execução do Heartbeat para economizar chamadas de API. - Se o arquivo estiver ausente, o Heartbeat ainda é executado e o modelo decide o que fazer.
- Se o agente responder com
HEARTBEAT_OK(opcionalmente com um preenchimento curto; vejaagents.defaults.heartbeat.ackMaxChars), o OpenClaw suprime a entrega de saída para esse Heartbeat. - Por padrão, a entrega de Heartbeat para alvos
user:<id>no estilo DM é permitida. Definaagents.defaults.heartbeat.directPolicy: "block"para suprimir a entrega a alvos diretos enquanto mantém as execuções de Heartbeat ativas. - Heartbeats executam turnos completos do agente - intervalos mais curtos consomem mais tokens.
{ agents: { defaults: { heartbeat: { every: "30m" }, }, },}Mídia de entrada e saída
Anexos de entrada (imagens/áudio/documentos) podem ser disponibilizados ao seu comando via templates:
{{MediaPath}}(caminho local do arquivo temporário){{MediaUrl}}(pseudo-URL){{Transcript}}(se a transcrição de áudio estiver habilitada)
Anexos de saída do agente: inclua MEDIA:<path-or-url> em uma linha própria (sem espaços). Exemplo:
Here's the screenshot.MEDIA:https://example.com/screenshot.pngO OpenClaw extrai esses itens e os envia como mídia junto com o texto.
O comportamento de caminhos locais segue o mesmo modelo de confiança de leitura de arquivos do agente:
- Se
tools.fs.workspaceOnlyfortrue, caminhos locaisMEDIA:de saída permanecem restritos à raiz temporária do OpenClaw, ao cache de mídia, aos caminhos do workspace do agente e a arquivos gerados pelo sandbox. - Se
tools.fs.workspaceOnlyforfalse,MEDIA:de saída pode usar arquivos locais do host que o agente já tem permissão para ler. - Caminhos locais podem ser absolutos, relativos ao workspace ou relativos ao diretório inicial com
~/. - Envios locais do host ainda permitem apenas mídia e tipos seguros de documentos (imagens, áudio, vídeo, PDF e documentos do Office). Arquivos de texto simples e com aparência de segredo não são tratados como mídia enviável.
Isso significa que imagens/arquivos gerados fora do workspace agora podem ser enviados quando sua política de fs já permite essas leituras, sem reabrir a exfiltração arbitrária de anexos de texto do host.
Checklist de operações
openclaw status # local status (creds, sessions, queued events)openclaw status --all # full diagnosis (read-only, pasteable)openclaw status --deep # asks the gateway for a live health probe with channel probes when supportedopenclaw health --json # gateway health snapshot (WS; default can return a fresh cached snapshot)Os logs ficam em /tmp/openclaw/ (padrão: openclaw-YYYY-MM-DD.log).
Próximos passos
- WebChat: WebChat
- Operações do Gateway: Runbook do Gateway
- Cron + despertares: Tarefas Cron
- Companion da barra de menus do macOS: App OpenClaw para macOS
- App Node para iOS: App iOS
- App Node para Android: App Android
- Status do Windows: Windows (WSL2)
- Status do Linux: App Linux
- Segurança: Segurança