Configuration de l'environnement

TL;DR

  • La personnalisation vit en dehors du repo : ~/.openclaw/workspace (espace de travail) + ~/.openclaw/openclaw.json (config)
  • Workflow stable : installez l'app macOS ; laissez-la gérer le Gateway inclus
  • Workflow bleeding edge : exécutez le Gateway vous-même via pnpm gateway:watch, puis laissez l'app macOS s'attacher en mode Local

Prérequis (depuis les sources)

  • Node >=22
  • pnpm
  • Docker (optionnel ; uniquement pour setup conteneurisé/e2e — voir Docker)

Stratégie de personnalisation

Si vous voulez "100% personnalisé pour moi" et des mises à jour faciles, gardez vos personnalisations dans :

  • Config : ~/.openclaw/openclaw.json (JSON/JSON5-ish)
  • Workspace : ~/.openclaw/workspace (skills, prompts, mémoires ; faites-en un repo git privé)

Bootstrap une fois :

openclaw setup

Exécuter le Gateway depuis ce repo

Après pnpm build, vous pouvez exécuter le CLI packagé directement :

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

Workflow stable (app macOS d'abord)

  1. Installez + lancez OpenClaw.app (barre de menu)
  2. Complétez la checklist d'onboarding/permissions (prompts TCC)
  3. Assurez-vous que le Gateway est Local et en cours d'exécution (l'app le gère)
  4. Liez les surfaces (exemple : WhatsApp) :
    openclaw channels login
  5. Vérification :
    openclaw health

Workflow bleeding edge (Gateway dans un terminal)

Objectif : travailler sur le Gateway TypeScript, obtenir le rechargement à chaud, garder l'UI de l'app macOS attachée.

0) (Optionnel) Exécuter l'app macOS depuis les sources aussi

./scripts/restart-mac.sh

1) Démarrer le Gateway dev

pnpm install pnpm gateway:watch

2) Pointer l'app macOS vers votre Gateway en cours d'exécution

Dans OpenClaw.app :

  • Mode de connexion : Local
  • L'app s'attachera au gateway en cours d'exécution sur le port configuré

3) Vérifier

  • Le statut du Gateway dans l'app devrait afficher "Using existing gateway ..."
  • Ou via CLI : openclaw health

Pièges courants

  • Mauvais port : Le Gateway WS utilise par défaut ws://127.0.0.1:18789 ; gardez l'app + CLI sur le même port
  • Où vit l'état :
    • Identifiants : ~/.openclaw/credentials/
    • Sessions : ~/.openclaw/agents/<id>/sessions/
    • Logs : /tmp/openclaw/

Carte de stockage des identifiants

Utilisez ceci lors du débogage de l'auth ou pour décider quoi sauvegarder :

  • WhatsApp : ~/.openclaw/credentials/whatsapp/<id>/creds.json
  • Token bot Telegram : config/env ou channels.telegram.tokenFile
  • Token bot Discord : config/env (fichier token pas encore supporté)
  • Tokens Slack : config/env (channels.slack.*)
  • Allowlists de pairing : ~/.openclaw/credentials/<channel>-allowFrom.json
  • Profils auth modèle : ~/.openclaw/agents/<id>/agent/auth-profiles.json

Mise à jour (sans casser votre setup)

  • Gardez ~/.openclaw/workspace et ~/.openclaw/ comme "vos trucs"
  • Ne mettez pas de prompts/config personnels dans le repo openclaw
  • Mise à jour des sources : git pull + pnpm install + continuez à utiliser pnpm gateway:watch

Linux (service utilisateur systemd)

Les installations Linux utilisent un service utilisateur systemd. Par défaut, systemd arrête les services utilisateur lors de la déconnexion/inactivité, ce qui tue le Gateway. L'onboarding tente d'activer le lingering (peut demander sudo).

Si c'est toujours désactivé, exécutez :

sudo loginctl enable-linger $USER

Voir aussi