Advanced setup

Configurazione

TL;DR

Scegli un flusso di configurazione in base alla frequenza con cui vuoi ricevere aggiornamenti e al fatto che tu voglia eseguire il Gateway autonomamente:

  • La personalizzazione vive fuori dal repo: mantieni la configurazione e il workspace in ~/.openclaw/openclaw.json e ~/.openclaw/workspace/, così gli aggiornamenti del repo non li toccheranno.
  • Flusso stabile (consigliato per la maggior parte degli utenti): installa l'app macOS e lascia che esegua il Gateway incluso.
  • Flusso bleeding edge (dev): esegui tu il Gateway tramite pnpm gateway:watch, quindi lascia che l'app macOS si colleghi in modalità Local.

Prerequisiti (da sorgente)

  • Node 24 consigliato (Node 22 LTS, attualmente 22.14+, ancora supportato)
  • pnpm richiesto per i checkout sorgente. OpenClaw carica i plugin inclusi dai pacchetti del workspace pnpm extensions/* in modalità dev, quindi npm install nella root non prepara l'intero albero sorgente.
  • Docker (opzionale; solo per configurazione/e2e containerizzata: vedi Docker)

Strategia di personalizzazione (così gli aggiornamenti non fanno danni)

Se vuoi una configurazione "100% su misura per me" e aggiornamenti semplici, mantieni le personalizzazioni in:

  • Configurazione: ~/.openclaw/openclaw.json (simile a JSON/JSON5)
  • Workspace: ~/.openclaw/workspace (Skills, prompt, memorie; rendilo un repo git privato)

Esegui il bootstrap una volta:

openclaw setup

Da dentro questo repo, usa l'entry locale della CLI:

openclaw setup

Se non hai ancora un'installazione globale, eseguila tramite pnpm openclaw setup.

Eseguire il Gateway da questo repo

Dopo pnpm build, puoi eseguire direttamente la CLI pacchettizzata:

node openclaw.mjs gateway --port 18789 --verbose

Flusso stabile (prima l'app macOS)

  1. Installa e avvia OpenClaw.app (barra dei menu).
  2. Completa la checklist di onboarding/permessi (prompt TCC).
  3. Assicurati che il Gateway sia Local e in esecuzione (lo gestisce l'app).
  4. Collega le superfici (esempio: WhatsApp):
openclaw channels login
  1. Controllo di sanità:
openclaw health

Se l'onboarding non è disponibile nella tua build:

  • Esegui openclaw setup, poi openclaw channels login, quindi avvia manualmente il Gateway (openclaw gateway).

Flusso bleeding edge (Gateway in un terminale)

Obiettivo: lavorare sul Gateway TypeScript, ottenere hot reload, mantenere collegata l'interfaccia dell'app macOS.

0) (Opzionale) Esegui anche l'app macOS da sorgente

Se vuoi anche l'app macOS su bleeding edge:

./scripts/restart-mac.sh

1) Avvia il Gateway dev

pnpm install
# Solo al primo avvio (o dopo aver reimpostato la configurazione/workspace locale di OpenClaw)
pnpm openclaw setup
pnpm gateway:watch

gateway:watch avvia o riavvia il processo di watch del Gateway in una sessione tmux denominata e si collega automaticamente dai terminali interattivi. Le shell non interattive restano scollegate e stampano tmux attach -t openclaw-gateway-watch-main; usa OPENCLAW_GATEWAY_WATCH_ATTACH=0 pnpm gateway:watch per mantenere scollegata un'esecuzione interattiva, oppure pnpm gateway:watch:raw per la modalità watch in primo piano. Il watcher ricarica quando cambiano sorgenti, configurazione e metadati dei plugin inclusi pertinenti. Se il Gateway osservato esce durante l'avvio, gateway:watch esegue openclaw doctor --fix --non-interactive una volta e riprova; imposta OPENCLAW_GATEWAY_WATCH_AUTO_DOCTOR=0 per disabilitare quel passaggio di riparazione solo dev. pnpm openclaw setup è il passaggio una tantum di inizializzazione della configurazione/workspace locale per un checkout fresco. pnpm gateway:watch non ricompila dist/control-ui, quindi riesegui pnpm ui:build dopo modifiche a ui/ oppure usa pnpm ui:dev mentre sviluppi la Control UI.

2) Punta l'app macOS al Gateway in esecuzione

In OpenClaw.app:

  • Modalità di connessione: Local L'app si collegherà al gateway in esecuzione sulla porta configurata.

3) Verifica

  • Lo stato del Gateway nell'app dovrebbe mostrare "Uso del gateway esistente …"
  • Oppure tramite CLI:
openclaw health

Errori comuni

  • Porta sbagliata: il valore predefinito di Gateway WS è ws://127.0.0.1:18789; mantieni app e CLI sulla stessa porta.
  • Dove vive lo stato:
    • Stato canale/provider: ~/.openclaw/credentials/
    • Profili di autenticazione modello: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
    • Sessioni: ~/.openclaw/agents/<agentId>/sessions/
    • Log: /tmp/openclaw/

Mappa di archiviazione delle credenziali

Usala durante il debug dell'autenticazione o per decidere cosa includere nel backup:

  • WhatsApp: ~/.openclaw/credentials/whatsapp/<accountId>/creds.json
  • Token bot Telegram: config/env oppure channels.telegram.tokenFile (solo file regolare; symlink rifiutati)
  • Token bot Discord: config/env oppure SecretRef (provider env/file/exec)
  • Token Slack: config/env (channels.slack.*)
  • Allowlist di pairing:
    • ~/.openclaw/credentials/<channel>-allowFrom.json (account predefinito)
    • ~/.openclaw/credentials/<channel>-<accountId>-allowFrom.json (account non predefiniti)
  • Profili di autenticazione modello: ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • Payload segreti basato su file (opzionale): ~/.openclaw/secrets.json
  • Import OAuth legacy: ~/.openclaw/credentials/oauth.json Maggiori dettagli: Sicurezza.

Aggiornamento (senza rovinare la configurazione)

  • Considera ~/.openclaw/workspace e ~/.openclaw/ come "le tue cose"; non inserire prompt/configurazioni personali nel repo openclaw.
  • Aggiornamento del sorgente: git pull + pnpm install + continua a usare pnpm gateway:watch.

Linux (servizio utente systemd)

Le installazioni Linux usano un servizio utente systemd. Per impostazione predefinita, systemd arresta i servizi utente al logout/inattività, il che termina il Gateway. L'onboarding prova ad abilitare il lingering per te (potrebbe chiedere sudo). Se è ancora disattivato, esegui:

sudo loginctl enable-linger $USER

Per server sempre attivi o multiutente, considera un servizio di sistema invece di un servizio utente (nessun lingering necessario). Consulta il runbook del Gateway per le note su systemd.

Documenti correlati