OpenClaw è un gateway self-hosted che collega Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo e altro ancora ad agenti AI. Questa guida copre la configurazione da “assistente personale”: un numero WhatsApp dedicato che si comporta come il tuo assistente AI sempre attivo.Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
⚠️ Prima la sicurezza
Stai mettendo un agente nella posizione di:- eseguire comandi sulla tua macchina (a seconda della tua policy sugli strumenti)
- leggere/scrivere file nel tuo workspace
- inviare messaggi verso l’esterno tramite WhatsApp/Telegram/Discord/Mattermost e altri canali inclusi
- Imposta sempre
channels.whatsapp.allowFrom(non eseguirlo mai aperto a tutto il mondo sul tuo Mac personale). - Usa un numero WhatsApp dedicato per l’assistente.
- Gli Heartbeat ora sono predefiniti ogni 30 minuti. Disabilitali finché non ti fidi della configurazione impostando
agents.defaults.heartbeat.every: "0m".
Prerequisiti
- OpenClaw installato e configurato con onboarding: consulta Per iniziare se non l’hai ancora fatto
- Un secondo numero di telefono (SIM/eSIM/prepagata) per l’assistente
Configurazione con due telefoni (consigliata)
Vuoi questo: Se colleghi il tuo WhatsApp personale a OpenClaw, ogni messaggio indirizzato a te diventa “input dell’agente”. Raramente è ciò che vuoi.Avvio rapido in 5 minuti
- Associa WhatsApp Web (mostra il QR; scansionalo con il telefono dell’assistente):
- Avvia il Gateway (lascialo in esecuzione):
- Inserisci una configurazione minima in
~/.openclaw/openclaw.json:
gateway.auth.token), ma anche l’autenticazione con password funziona se hai cambiato gateway.auth.mode in password. Per riaprire in seguito: openclaw dashboard.
Dare all’agente un workspace (AGENTS)
OpenClaw legge le istruzioni operative e la “memoria” dalla sua directory workspace. Per impostazione predefinita, OpenClaw usa~/.openclaw/workspace come workspace dell’agente e lo creerà (insieme agli starter AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) automaticamente alla configurazione/prima esecuzione dell’agente. BOOTSTRAP.md viene creato solo quando il workspace è completamente nuovo (non dovrebbe tornare dopo che lo elimini). MEMORY.md è opzionale (non creato automaticamente); quando è presente, viene caricato per le sessioni normali. Le sessioni subagent iniettano solo AGENTS.md e TOOLS.md.
agents.defaults.workspace (supporta ~).
La configurazione che lo trasforma in “un assistente”
OpenClaw usa per impostazione predefinita una buona configurazione da assistente, ma di solito vorrai regolare:- persona/istruzioni in
SOUL.md - impostazioni predefinite di ragionamento (se desiderato)
- Heartbeat (una volta che ti fidi)
Sessioni e memoria
- File di sessione:
~/.openclaw/agents/<agentId>/sessions/{{SessionId}}.jsonl - Metadati di sessione (uso dei token, ultimo instradamento, ecc.):
~/.openclaw/agents/<agentId>/sessions/sessions.json(legacy:~/.openclaw/sessions/sessions.json) /newo/resetavvia una nuova sessione per quella chat (configurabile tramiteresetTriggers). Se inviato da solo, OpenClaw conferma il reset senza invocare il modello./compact [instructions]compatta il contesto della sessione e segnala il budget di contesto rimanente.
Heartbeat (modalità proattiva)
Per impostazione predefinita, OpenClaw esegue un Heartbeat ogni 30 minuti con il 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.
Imposta agents.defaults.heartbeat.every: "0m" per disabilitarlo.
- Se
HEARTBEAT.mdesiste ma è di fatto vuoto (solo righe vuote e intestazioni markdown come# Heading), OpenClaw salta l’esecuzione dell’Heartbeat per risparmiare chiamate API. - Se il file manca, l’Heartbeat viene comunque eseguito e il modello decide cosa fare.
- Se l’agente risponde con
HEARTBEAT_OK(facoltativamente con un breve padding; vediagents.defaults.heartbeat.ackMaxChars), OpenClaw sopprime la consegna in uscita per quell’Heartbeat. - Per impostazione predefinita, la consegna dell’Heartbeat a destinazioni DM-style
user:<id>è consentita. Impostaagents.defaults.heartbeat.directPolicy: "block"per sopprimere la consegna a destinazioni dirette mantenendo attive le esecuzioni dell’Heartbeat. - Gli Heartbeat eseguono turni completi dell’agente: intervalli più brevi consumano più token.
Media in entrata e in uscita
Gli allegati in ingresso (immagini/audio/documenti) possono essere esposti al tuo comando tramite template:{{MediaPath}}(percorso del file temporaneo locale){{MediaUrl}}(pseudo-URL){{Transcript}}(se la trascrizione audio è abilitata)
MEDIA:<path-or-url> su una riga a sé (senza spazi). Esempio:
- Se
tools.fs.workspaceOnlyètrue, i percorsi localiMEDIA:in uscita restano limitati alla root temporanea di OpenClaw, alla cache dei media, ai percorsi del workspace dell’agente e ai file generati dalla sandbox. - Se
tools.fs.workspaceOnlyèfalse,MEDIA:in uscita può usare file locali dell’host che l’agente è già autorizzato a leggere. - I percorsi locali possono essere assoluti, relativi al workspace o relativi alla home con
~/. - Gli invii locali dall’host consentono comunque solo media e tipi di documenti sicuri (immagini, audio, video, PDF e documenti Office). Testo semplice e file simili a segreti non vengono trattati come media inviabili.
Checklist operativa
/tmp/openclaw/ (predefinito: openclaw-YYYY-MM-DD.log).
Passaggi successivi
- WebChat: WebChat
- Operazioni Gateway: Runbook Gateway
- Cron + risvegli: Job Cron
- Companion della barra dei menu macOS: App OpenClaw per macOS
- App nodo iOS: App iOS
- App nodo Android: App Android
- Stato Windows: Windows (WSL2)
- Stato Linux: App Linux
- Sicurezza: Sicurezza