Installer OpenClaw : anatomie d'une install party
27 février 2026Context Collective
Article préparatoire au CC Lab #4 — 4 mars 2026
Introduction
Le 4 mars, au CC Lab #4, on installe OpenClaw ensemble. Pas une démo où quelqu'un montre son écran pendant que tu acquiesces poliment. Une vraie install party : tu repars avec un agent IA qui tourne sur ta machine.
Cet article documente ce qu'on va faire, ce qui va coincer, et pourquoi ça coince. C'est le retour d'une installation réelle faite en amont, avec les erreurs incluses.
OpenClaw en 60 secondes
OpenClaw, c'est un agent IA autonome. Pas un chatbot. Un truc qui tourne en local, connecté à Telegram (ou WhatsApp, Discord, Signal...), et qui peut agir : lire des fichiers, exécuter du code, envoyer des messages, chercher sur le web.
Le projet a explosé fin janvier 2026. Projet perso d'un développeur autrichien, Peter Steinberger, il est passé de script WhatsApp du dimanche à 215 000 étoiles GitHub en trois mois. C'est le repo open-source avec la croissance la plus rapide de l'histoire de GitHub.
Steinberger a depuis rejoint OpenAI. Le projet est passé en fondation communautaire. Le rythme de développement n'a pas ralenti : 49 releases depuis mi-février, 120+ contributeurs actifs.
L'architecture en un schéma
Telegram / WhatsApp / Discord / Signal
│
▼
┌─────────────────┐
│ Gateway │
│ ws://127.0.0.1 │
│ :18789 │
└────────┬─────────┘
│
┌──────────┼──────────┐
▼ ▼ ▼
SOUL.md MEMORY.md Skills
(identité) (mémoire) (capacités)
La Gateway est un process Node.js unique qui tourne sur ta machine. Elle reçoit les messages de tes messageries, les envoie à un LLM (Claude, GPT, Gemini, ou un modèle local via Ollama), exécute les actions demandées, et renvoie la réponse.
Les trois fichiers clés :
SOUL.md définit la personnalité de l'agent. C'est du texte brut injecté dans le prompt système. Même modèle, mêmes poids, même API : seul ce texte change le comportement.
MEMORY.md est la mémoire long-terme. L'agent ne "se souvient" pas. Il lit des fiches. Les poids du réseau n'ont pas bougé d'un milligramme entre deux conversations.
Skills sont des plugins qui donnent des capacités à l'agent : recherche web, exécution de code, accès au filesystem, etc.
Ce qu'on va installer
L'installation passe par Docker. Un script officiel (
docker-setup.sh) lance un wizard interactif qui configure tout : le provider IA, la messagerie, les clés API.Voici le déroulé complet, avec les pièges qu'on a rencontrés lors de la préparation.
Étape 1 : Les prérequis
Avant de venir au CC Lab, il faut préparer trois choses :
Docker Desktop installé et lancé. Pas juste installé. Lancé. Le daemon Docker doit tourner sinon rien ne marche.
Un bot Telegram créé. Ouvrir Telegram, chercher @BotFather, envoyer
/newbot, suivre les instructions, copier le token. C'est fait en 2 minutes.Une clé API Anthropic. Format
sk-ant-api03-.... C'est ce qui permet à l'agent de parler à Claude.Pourquoi une clé API et pas l'authentification OAuth ? On a testé les deux. Le setup-token OAuth se tronque au moment du paste dans le terminal. Le wizard ne signale pas l'erreur, l'agent démarre, mais il ne peut pas appeler le modèle. Avec une clé API classique, c'est propre du premier coup.
Étape 2 : Cloner et lancer
git clone https://github.com/openclaw/openclaw
cd openclaw
./docker-setup.sh
Le script télécharge les images Docker, puis lance un wizard interactif. Les réponses attendues :
| Question | Réponse |
|---|---|
| Trust model warning | Yes |
| Mode | QuickStart |
| Provider | Anthropic |
| Auth method | API Key |
| API Key | sk-ant-api03-... |
| Model | Keep current (claude-sonnet-4-6) |
| Channel | Telegram |
| Telegram token | Le token BotFather |
Le wizard propose ensuite d'activer des hooks. On active session-memory (sauvegarde le contexte entre les sessions) et on skip le reste.
Étape 3 : Le premier message
Ouvrir Telegram, envoyer un message au bot : "Salut, tu es qui ?"
Le bot répond avec un code de pairing. C'est normal : il vérifie que c'est bien toi qui parles.
Dans le terminal :
docker compose run --rm openclaw-cli \
pairing approve telegram XDG7QBPC
(Remplacer le code par celui affiché dans Telegram.)
Renvoyer le message. Si le bot répond, Telegram est connecté.
Les pièges qu'on a rencontrés
Piège 1 : L'erreur npm EACCES
Au démarrage, le log affiche :
npm error EACCES: permission denied,
mkdir '/usr/local/lib/node_modules/clawhub'
Ça fait peur. Mais ce n'est pas bloquant. L'utilisateur
node dans le container Docker n'a pas les droits pour installer la marketplace ClawHub en global. L'agent tourne sans.Piège 2 : Le dashboard web demande un pairing séparé
Le Control UI (le dashboard web de l'agent, sur
http://127.0.0.1:18789/) est un device séparé de Telegram. Approuver Telegram ne donne pas accès au dashboard. Il faut approuver le device manuellement.Et c'est là que ça se complique.
Piège 3 : Le token mismatch
Le wizard affiche un token au démarrage. La gateway en utilise un autre au runtime. Lequel est le bon ? Celui dans le fichier
openclaw.json.cat openclaw.json | grep token
Toujours lire depuis le fichier, jamais faire confiance à ce qui s'affiche dans le terminal.
Piège 4 : run --rm vs exec
Pour exécuter des commandes dans le container, on a deux options :
# ❌ Ne marche PAS pour les commandes réseau
docker compose run --rm openclaw-cli devices list
# ✅ Fonctionne
docker compose exec openclaw-gateway \
node dist/index.js devices list --token "VOTRE_TOKEN"
Pourquoi ?
run --rm crée un container éphémère qui ne voit pas la gateway sur 127.0.0.1. exec s'exécute dans le container existant où la gateway tourne.C'est le genre de détail qui peut bloquer 15 minutes si on ne le sait pas.
Approuver le dashboard
Une fois le bon token en main :
# Lister les devices en attente
docker compose exec openclaw-gateway \
node dist/index.js devices list --token "VOTRE_TOKEN"
# Approuver
docker compose exec openclaw-gateway \
node dist/index.js devices approve VOTRE_REQUEST_ID \
--token "VOTRE_TOKEN"
Puis recharger le dashboard avec le token dans l'URL :
http://127.0.0.1:18789/#token=VOTRE_TOKEN
Checkpoint
À ce stade, on a :
- Une gateway qui tourne (port 18789)
- Telegram connecté (le bot répond)
- Le dashboard web accessible
Tout ça en local, dans Docker, isolé du reste de la machine.
Si quelque chose bloque, les deux commandes de survie :
docker compose restart openclaw-gateway
docker compose logs --tail 20 openclaw-gateway
Pourquoi Docker et pas une install native ?
Question légitime. Réponse en trois mots : isolation, reproductibilité, sécurité.
OpenClaw est un agent qui peut exécuter du code sur ta machine. C'est sa force. C'est aussi son risque. En février 2026, six CVE critiques ont été publiées en trois semaines. Un CVE coté 8.8/10 permettait une exécution de code à distance en un clic. 341 skills malveillants ont été trouvés sur la marketplace ClawHub. 42 000 instances ont été repérées exposées sur Internet sans authentification.
Docker ne résout pas tout. Mais il met une première barrière entre l'agent et ta machine.
Ce qu'on fera après l'install
Une fois que tout le monde aura un agent qui tourne, on explore trois choses :
Modifier le SOUL.md. Changer la personnalité de l'agent, renvoyer la même question sur Telegram, constater que la réponse change. Même modèle, mêmes poids, seul le texte injecté a changé. C'est concret, c'est immédiat, c'est la meilleure démonstration de ce qu'est vraiment un prompt système.
Installer des outils CLI. Dans le container Docker, on peut ajouter Claude Code, Gemini CLI, ou Codex. L'agent devient un orchestrateur : un message Telegram peut déclencher une génération de code, une recherche, ou une pull request.
Partager ce qui marche et ce qui coince. Les patterns utiles, les workflows asynchrones, les retours d'expérience. C'est un CC Lab, pas un cours magistral.
Les commandes essentielles (aide-mémoire)
# Pairing Telegram
docker compose run --rm openclaw-cli \
pairing approve telegram <CODE>
# Lister les devices (dans la gateway)
docker compose exec openclaw-gateway \
node dist/index.js devices list --token "<TOKEN>"
# Approuver un device
docker compose exec openclaw-gateway \
node dist/index.js devices approve <ID> --token "<TOKEN>"
# Redémarrer
docker compose restart openclaw-gateway
# Logs
docker compose logs --tail 20 openclaw-gateway
Infos pratiques
Quand : 4 mars 2026
Où : La French Tech Brest Bretagne Ouest, 25 rue de Pontaniou, Brest
Niveau : Si tu sais ce qu'est un agent IA, t'es bon
À apporter : ton PC avec Docker Desktop installé et lancé
Si tu veux prendre de l'avance : crée ton bot Telegram et récupère ta clé API Anthropic. Mais ce n'est pas obligatoire, on fera ensemble.
Inscription : CC Lab #4 sur Luma
Cet article fait partie de la préparation du CC Lab #4, organisé par le Context Collective à Brest.