OpenClaw : guide complet de openclaw.json et bonnes pratiques

Mise à jour du 2026-06-08 : champs, dmPolicy, commandes d’audit de sécurité et conseils CVE-2026-25253 revérifiés dans la doc officielle du Gateway OpenClaw, et lectures complémentaires de la même série ajoutées. Les clés de configuration suivent la doc officielle.
Une fois OpenClaw en marche, ouvrez ~/.openclaw/openclaw.json : gateway, channel, skills, provider… et des options imbriquées partout. dmPolicy en pairing ou allowlist ? gateway.auth.token, c’est le mot de passe ? Faut-il activer toutes les compétences ?
Plus inquiétant : fin janvier 2026, correction d’une faille grave (CVE-2026-25253, CVSS 8,8) — vol de token via l’URL et exécution de commandes. Une mauvaise configuration peut transformer l’assistant en porte dérobée.
Voici le guide que j’aurais voulu à l’époque : chaque module de openclaw.json, le sens des paramètres, les réglages production, les pièges que j’ai rencontrés et une checklist sécurité.
Guide économique « élever un homard » : ArkClaw démocratise l’agent IA
OpenClaw (homard) est puissant mais la config rebute ? ArkClaw de ByteDance Volcano Engine abaisse la barrière : pas de serveur ni de token à bricoler, un assistant 24h/24 qui contrôle le navigateur, exécute des scripts et gère l’agenda.
Le prix compte : 9,9 ¥/mois, code d’invitation ZLKUK54M (inscription) → 8,9 ¥. Développeurs : Coding Plan Pro peut offrir l’accès.
Bases du fichier de configuration
Emplacement et structure
Par défaut : ~/.openclaw/openclaw.json. Créé par l’assistant d’installation ou à créer à la main. Noms de champs et valeurs par défaut : documentation Gateway. Les exemples ci-dessous illustrent la structure ; vérifiez après chaque mise à jour majeure.
Cinq modules :
- Gateway : port, authentification, logs
- Channel : WhatsApp, Telegram, etc.
- Skills : compétences et permissions
- Provider : Anthropic, modèles locaux, etc.
- Security : politiques et contrôle d’accès
Gateway = entrée, Channel = communication, Skills = capacités, Provider = cerveau, Security = protection.
Méthodes et priorité
Quatre approches :
- Assistant interactif : à l’installation
- Édition JSON directe : vim/nano
- Variables d’environnement : conteneurs ou override temporaire
- Scripts : déploiement en masse
Priorité : variables d’environnement > fichier > défaut.
Exemple : gateway.port: 18789 dans le fichier mais OPENCLAW_GATEWAY_PORT=9000 en env → port 9000. Pratique pour tester sans toucher au fichier.
Les versions 2026 ajoutent le support MCP et openclaw doctor pour diagnostiquer la configuration.
Configuration Gateway
Gateway = entrée Web et clients distants.
Port et authentification
{
"gateway": {
"port": 18789,
"auth": {
"token": "your-secret-token-here"
},
"remote": {
"token": "your-remote-token-here"
}
}
}
-
port: interface Web, défaut 18789 (http://localhost:18789). Si occupé, par ex. 19000. -
auth.token: jeton d’authentification (= mot de passe). Qui le possède contrôle l’instance. La CVE-2026-25253 venait de la fuite via URL. -
remote.token: clients distants (app mobile, bureau), séparé pour rotation indépendante.
Sécurité : depuis le 29/01/2026, plus d’"auth: none" — token ou mot de passe obligatoire.
Logs
{
"gateway": {
"logging": {
"redactSensitive": true
}
}
}
Avec redactSensitive: true, clés API et tokens deviennent *** dans les logs.
Démarrage : openclaw gateway
[Gateway] Listening on http://localhost:18789
[Gateway] Authentication: Token-based
Configuration Channel
Channel définit les plateformes de conversation.
Types supportés
- WhatsApp : appairage QR, le plus courant
- Telegram : Bot API, groupes
- Discord : communautés techniques
- Mattermost : entreprise
WhatsApp = QR ; Telegram = Bot Token ; Discord = Application.
Politique DM (dmPolicy)
Quatre modes :
1. pairing (défaut)
{
"channel": {
"dmPolicy": "pairing"
}
}
Code à 6 chiffres, validité 1 h, approbation manuelle :
openclaw pairing approve whatsapp ABC123
Équilibre sécurité / usage : première fois validée, ensuite fluide.
2. allowlist
{
"channel": {
"dmPolicy": "allowlist",
"allowFrom": [
"+1234567890",
"telegram:@username"
]
}
}
Liste blanche stricte.
3. open
{
"channel": {
"dmPolicy": "open",
"allowFrom": ["*"]
}
}
Tout le monde peut écrire — risqué, sauf démo courte.
4. disabled
DM fermés, groupes uniquement.
Isolation multi-utilisateurs
{
"channel": {
"session": {
"dmScope": "per-channel-peer"
}
}
}
Historiques séparés, pas de mélange de contexte.
Groupes et mentionGating
{
"channel": {
"groupPolicy": "mention",
"mentionGating": true
}
}
Réponses seulement aux @mentions — évite le bot qui spamme le groupe.
Configuration Skills
Skills = ce que l’assistant peut faire.
Concepts
Extensions modulaires ; boutique ClawHub 700+ compétences :
- Calendrier (Google Calendar, Outlook)
- Navigateur (
browser) - Fichiers (
file_manager) - Shell (
exec) - Code (python, node)
Chemin : ~/.openclaw/skills/. Priorité : workspace > utilisateur > intégré.
Une compétence browser dans le projet remplace la version globale.
Gestion
Métadonnées dans SKILL.md :
---
name: google-calendar
description: Manage Google Calendar events
requirements:
bins:
- gcalcli
env:
- GOOGLE_CALENDAR_API_KEY
---
bins = binaires requis (gcalcli pour le calendrier).
Installation :
- Interface Web « Add Skill »
openclaw skill install google-calendar- Copie manuelle dans
~/.openclaw/skills/
Dépannage
openclaw skill check google-calendar
openclaw gateway --verbose
Petits modèles
Fenêtre de contexte limitée → désactiver des compétences pour libérer des tokens.
Compétences à haut risque
exec: shell arbitrairebrowser: pages webweb_fetch: contenu externeweb_search: recherche
À désactiver si non indispensables.
Configuration Provider
Provider = modèle IA utilisé.
Types
- Anthropic (Claude) : recommandé, API stable, sécurité solide
- OpenAI : bientôt (GPT-5, etc.)
- Local : LM Studio, Ollama
- OpenRouter : une clé, plusieurs modèles
- MCP : Model Context Protocol (2026)
Anthropic
{
"provider": {
"type": "anthropic",
"apiKey": "sk-ant-..."
}
}
Préférez les variables d’environnement :
export ANTHROPIC_API_KEY="sk-ant-..."
Le fichier peut aller dans Git sans secrets.
Modèle local
{
"provider": {
"type": "openai-compatible",
"baseURL": "http://localhost:1234/v1",
"modelId": "kimi-k2.5-chat"
}
}
baseURL: serveur local (LM Studio port 1234)modelId: nom du modèle
MCP
{
"provider": {
"mcpServers": {
"onesearch": {
"command": "npx",
"args": ["-y", "@onesearch/mcp-server"]
}
}
}
}
OneSearch : Google, Bing, Brave via une interface.
Précautions modèles locaux
Avantages : confidentialité, coût, hors ligne. Inconvénients sécurité :
- Injection de prompt plus facile
- Petite fenêtre de contexte
- Quantification 4-bit : moins de respect des consignes
Si obligatoire : limiter les skills, sandbox, pas de données sensibles sur la machine.
Bonnes pratiques de sécurité
La sécurité passe avant tout. La CVE-2026-25253 l’a démontré.
Checklist
Base (obligatoire)
- ✅ Ne jamais partager le token gateway
- ✅ Pare-feu : n’exposer que le port nécessaire (18789)
- ✅ SSH par clé, pas par mot de passe
- ✅ Limiter l’accès Web (VPN / IP autorisées)
- ✅ DM :
pairingouallowlist - ✅ Groupes : mention gating
Avancé (recommandé)
- ✅ Rotation des tokens (trimestrielle minimum)
- ✅
redactSensitivedans les logs - ✅ Limiter exec, browser
- ✅ Serveur dédié, pas la machine de travail principale
Entrées externes et sandbox
Règle : traiter toute entrée externe comme hostile.
Liens, pièces jointes, texte collé — attaques possibles. Sandbox (opt-in) :
{
"security": {
"sandbox": {
"enabled": true,
"skills": ["exec", "browser"]
}
}
}
exec et browser isolés du système hôte.
Secrets
- Simple : transférer
.envpar SCP, pas dans le chat - Avancé : Doppler, HashiCorp Vault
À ne jamais faire :
- ❌ Envoyer une clé API sur Telegram
- ❌ Commiter les secrets
- ❌ Publier des logs bruts (tokens dedans)
Audit
openclaw security audit
openclaw security audit --deep
openclaw security audit --fix
Vérifie : force du token, exposition du port, permissions (~/.openclaw 700, fichier 600), skills à risque, politique DM.
Permissions fichiers
chmod 700 ~/.openclaw
chmod 600 ~/.openclaw/openclaw.json
Interdits
- ❌ Port 18789 sur Internet public
- ❌ Accès shell sans comprendre le risque
- ❌ Skills de source non vérifiée
- ❌
dmPolicy: "open"en production - ❌ Machine avec e-mail bancaire principal
Cas pratiques
Scénario 1 : personnel, WhatsApp, pairing
{
"gateway": {
"port": 18789,
"auth": {
"token": "generate-a-strong-random-token"
},
"logging": {
"redactSensitive": true
}
},
"channel": {
"type": "whatsapp",
"dmPolicy": "pairing",
"session": {
"dmScope": "per-channel-peer"
}
},
"skills": {
"enabled": [
"calendar",
"web_search",
"file_manager"
],
"disabled": [
"exec",
"browser"
]
},
"provider": {
"type": "anthropic"
},
"security": {
"sandbox": {
"enabled": true
}
}
}
Sécurisé, fonctionnel, skills dangereux coupés.
Scénario 2 : équipe, multi-canal, allowlist
{
"gateway": {
"port": 18789,
"auth": {
"token": "team-gateway-token"
},
"remote": {
"token": "team-remote-token"
}
},
"channel": [
{
"type": "telegram",
"dmPolicy": "allowlist",
"allowFrom": [
"telegram:@alice",
"telegram:@bob",
"telegram:@carol"
],
"groupPolicy": "mention",
"mentionGating": true
},
{
"type": "discord",
"dmPolicy": "allowlist",
"allowFrom": [
"discord:123456789"
]
}
],
"skills": {
"enabled": [
"calendar",
"web_search",
"github",
"jira"
]
},
"provider": {
"type": "anthropic"
}
}
Tableau channel pour plusieurs plateformes ; mention gating en groupe.
Scénario 3 : local, hors ligne, skills réduits
{
"gateway": {
"port": 19000
},
"channel": {
"type": "whatsapp",
"dmPolicy": "allowlist",
"allowFrom": ["+1234567890"]
},
"skills": {
"enabled": [
"calculator",
"file_manager"
]
},
"provider": {
"type": "openai-compatible",
"baseURL": "http://localhost:1234/v1",
"modelId": "llama-3.1-8b"
}
}
Peu de skills pour tenir dans le contexte du petit modèle.
Erreurs courantes
Erreur 1 : token incorrect
Symptôme : « Authentication failed »
Vérifier gateway.auth.token (espaces, retours ligne).
Erreur 2 : dépendances manquantes
Symptôme : Skill 'google-calendar' failed to load
openclaw skill check google-calendar
Erreur 3 : port occupé
Symptôme : Error: listen EADDRINUSE :::18789
Autre port ou libérer le processus.
Erreur 4 : JSON invalide
Symptôme : SyntaxError: Unexpected token }
Validateur JSON — virgules ou guillemets.
Commandes
openclaw status
openclaw doctor
openclaw gateway --verbose
À lire aussi
- Guide d’installation complet OpenClaw : de la préparation à la première exécution
- Architecture OpenClaw en détail : conception à trois niveaux
- OpenClaw vs ChatGPT : architecture, coût et confidentialité
Conclusion
Trois idées :
Le fichier de config est le cœur d’OpenClaw — comprendre chaque champ accélère le dépannage.
La sécurité d’abord — CVE-2026-25253, tokens secrets, ports limités, DM stricts, skills à risque sous contrôle.
La config évolue — revoyez-la, lancez openclaw security audit.
À faire maintenant :
openclaw security audit --deep- Optimiser selon cette checklist
- Sauvegarder la config (sans les tokens)
La communauté (GitHub Discussions, Discord) aide ; partagez vos retours d’expérience.
Configuration complète de openclaw.json OpenClaw
Étapes détaillées pour configurer openclaw.json de zéro : Gateway, Channel, Skills, Provider et Security
Estimated time: PT30M
-
1
Step 1: Étape 1 : créer et localiser le fichier
Emplacement : ~/.openclaw/openclaw.json -
2
Step 2: • Manuel
mkdir -p ~/.openclaw && touch ~/.openclaw/openclaw.json -
3
Step 3: • Permissions
chmod 600 ~/.openclaw/openclaw.json -
4
Step 4: Priorité
variables d’environnement > fichier > défaut -
5
Step 5: Astuce
override temporaire par variable d’environnement -
6
Step 6: Étape 2 : module Gateway
Paramètres de base : -
7
Step 7: • URL
http://localhost:18789 -
8
Step 8: • “auth.token”
secret obligatoire -
9
Step 9: • “remote.token”
rotation séparée -
10
Step 10: Commande
openclaw gateway — vérifier http://localhost:18789 -
11
Step 11: Étape 3 : module Channel
Canaux : WhatsApp, Telegram, Discord, Mattermost -
12
Step 12: disabled
pas de DM -
13
Step 13: Étape 4 : module Skills
Chemin : ~/.openclaw/skills/ -
14
Step 14: Priorité
workspace > utilisateur > intégré -
15
Step 15: Installation
GUI, openclaw skill install, copie manuelle -
16
Step 16: Risque
exec, browser, web_fetch, web_search -
17
Step 17: Petits modèles
moins de skills -
18
Step 18: Étape 5 : module Provider
Types : Anthropic, OpenAI, local, OpenRouter, MCP -
19
Step 19: Préférer
export ANTHROPIC_API_KEY=“sk-ant-…” -
20
Step 20: Local
injection, contexte réduit, sandbox, pas de données sensibles -
21
Step 21: Étape 6 : module Security
Base : token secret, pare-feu, SSH clé, VPN, pairing/allowlist, mention gating -
22
Step 22: Étape 7 : validation et dépannage
1. Valider le JSON 2. openclaw doctor 3. openclaw status 4. openclaw security audit —deep -
23
Step 23: Erreurs
token (espaces), skill (dépendances), port (EADDRINUSE), JSON (syntaxe)
FAQ
Choisir pairing ou allowlist pour dmPolicy ?
Mode pairing (recommandé dans la plupart des cas) :
• Convient si vous ne connaissez pas tous les utilisateurs à l'avance mais voulez valider
• Avantage : flexible, après la première validation les contacts habituels passent librement
• Flux : message d'un inconnu → code à 6 chiffres → vous approuvez → communication ensuite directe
• Commande : openclaw pairing approve whatsapp ABC123
Mode allowlist (haute sécurité) :
• Convient si les utilisateurs sont connus (famille, équipe)
• Avantage : le plus sûr, les autres sont bloqués
• Config : "allowFrom": ["+1234567890", "telegram:@username"]
• Maintenance : ajout manuel des nouveaux utilisateurs
Conseil :
Usage personnel, contacts imprévisibles → pairing
Équipe à membres fixes → allowlist
Démo publique / test → open (temporaire, pas en production)
Qu'est-ce que la CVE-2026-25253 et comment s'en protéger ?
• CVE : CVE-2026-25253
• Score CVSS : 8,8 (critique)
• Découverte : fin janvier 2026
• Versions affectées : antérieures au 29 janvier 2026
Principe d'attaque :
Vol du token d'authentification via paramètre URL, ex. :
http://victim.com:18789/?token=leaked-token
Une fois le token obtenu, contrôle total de l'instance et exécution de commandes arbitraires
Correctifs officiels :
1. Suppression de l'option "auth: none", authentification obligatoire
2. Le token n'est plus passé dans l'URL
3. Authentification uniquement via en-têtes HTTP
Mesures :
• Mettre à jour immédiatement (version postérieure au 29/01/2026)
• Faire pivoter tous les tokens existants
• Ne jamais mettre le token dans une URL
• Limiter l'accès Web (VPN / liste blanche IP / pare-feu)
• Ne pas exposer le port 18789 sur Internet
• Lancer régulièrement openclaw security audit
Vérification :
openclaw --version
Si la date est antérieure au 2026-01-29, mettre à jour
Différences de sécurité entre modèle local et API Anthropic ?
1. Protection injection de prompt :
• Couche de sécurité intégrée
• Refus des instructions dangereuses
• Règles mises à jour régulièrement
2. Suivi des instructions :
• Respect strict du prompt système
• Moins facilement trompé par l'utilisateur
3. Contexte :
• Grande fenêtre (200K tokens) pour les consignes de sécurité complètes
Limites des modèles locaux :
1. Risque d'injection élevé :
• Petits modèles (7B-13B) contournables
• Peu de formation sécurité dédiée
2. Quantification :
• En 4-bit, baisse du respect des instructions
• Fonctions de sécurité parfois inefficaces
3. Contexte réduit :
• 4K-8K tokens, prompts de sécurité incomplets
• Compétences et prompts système à réduire
Usage local sécurisé :
• Limiter aux compétences à faible risque
• Sandbox obligatoire
• Pas de données sensibles sur la machine
• allowlist pour les utilisateurs
• Désactiver exec, browser
• Surveiller les logs
Choix :
Haute sécurité / données sensibles → API Anthropic
Confidentialité et hors ligne → modèle local + configuration stricte
Trop de compétences dégradent-elles les performances ? Combien en activer ?
1. Contexte :
Chaque compétence allonge le prompt système
• Une compétence : ~200-500 tokens
• 10 compétences : ~2000-5000 tokens
• Moins d'espace pour la conversation
2. Selon le modèle :
Grand modèle (Claude Anthropic) :
• 200K tokens
• 10-20 compétences courantes possibles
• Impact négligeable
Modèle moyen (local 13B-30B) :
• 8K-32K tokens
• 5-10 compétences essentielles
• Équilibre fonction / contexte
Petit modèle (local 7B quantifié) :
• 4K-8K tokens
• 2-5 compétences cœur
• Sinon conversation impossible
3. Scénarios :
Assistant personnel :
• calendar, web_search, file_manager, calculator
Développement :
• github, web_search, exec (avec sandbox)
Entreprise :
• calendar, jira, slack, web_search
Ajustement :
• Compétences du workspace > globales
• Configs par projet
• Désactiver l'inutile
Optimisation :
openclaw skill list
Désactivation :
"skills": {"disabled": ["skill-name"]}
Gérer en sécurité plusieurs environnements (dev / test / prod) ?
Méthode 1 : variables d'environnement (recommandé)
Fichier de base (~/.openclaw/openclaw.json) :
Config générique, sans secrets
Dev (.env.development) :
export OPENCLAW_GATEWAY_PORT=18789
export OPENCLAW_DM_POLICY=open
export ANTHROPIC_API_KEY=sk-ant-dev-key
Prod (.env.production) :
export OPENCLAW_GATEWAY_PORT=18789
export OPENCLAW_DM_POLICY=allowlist
export ANTHROPIC_API_KEY=sk-ant-prod-key
Bascule :
source .env.development
openclaw gateway
Priorité : env > fichier > défaut
Méthode 2 : plusieurs fichiers
~/.openclaw/openclaw.dev.json
~/.openclaw/openclaw.prod.json
openclaw gateway --config ~/.openclaw/openclaw.prod.json
Méthode 3 : Git (équipes)
openclaw.json.template (versionné)
openclaw.json (.gitignore)
.env.example
.gitignore :
openclaw.json, .env, .env.local, .env.*.local
Méthode 4 : gestionnaire de secrets (entreprise)
Doppler : doppler run -- openclaw gateway
Vault : vault kv get -field=token secret/openclaw/gateway
Checklist :
✅ Pas de clés API dans le fichier
✅ Secrets en variables d'environnement
✅ .gitignore complet
✅ Tokens prod ≠ dev
✅ Rotation régulière prod
✅ Permissions 600
✅ Ne pas partager la config dans le chat
Sauvegarde :
Dev : Git si sans secrets
Prod : coffre chiffré (1Password / Bitwarden)
L'assistant répond en boucle dans un groupe : que faire ?
mention gating désactivé, l'IA répond à tous les messages
Solutions :
1. Mention Gating (recommandé)
"channel": {
"groupPolicy": "mention",
"mentionGating": true
}
Réponse uniquement aux @mentions
2. Mots-clés
"groupPolicy": "keyword",
"keywords": ["openclaw", "assistant"]
3. Désactiver les groupes
"groupPolicy": "disabled"
4. Limitation de débit
"rateLimit": {"maxMessages": 10, "perMinutes": 1}
Urgence :
openclaw channel disable --group
Retirer OpenClaw du groupe
openclaw gateway restart
Bonnes pratiques :
mention + rateLimit 5/min
Le fichier de config ne fonctionne plus, Gateway ne démarre pas : comment diagnostiquer ?
Étape 1 : format JSON
cat ~/.openclaw/openclaw.json | python -m json.tool
Erreurs courantes : virgule en trop, guillemets, commentaires //
jsonlint.com
Étape 2 : permissions
ls -la ~/.openclaw/openclaw.json
-rw------- (600)
chmod 600 ~/.openclaw/openclaw.json
chmod 700 ~/.openclaw
Étape 3 : logs
openclaw gateway --verbose
~/.openclaw/logs/gateway.log
tail -n 50 ~/.openclaw/logs/gateway.log
Étape 4 : santé
openclaw doctor
openclaw security audit --deep
Étape 5 : pannes courantes
Port occupé (EADDRINUSE) :
lsof -i :18789, kill -9, ou "port": 19000
Token invalide :
cat -A, openssl rand -hex 32
Conflit env :
env | grep OPENCLAW, unset
Fichier corrompu :
cp .backup ou template
Étape 6 : réinitialisation
cp openclaw.json.broken
rm openclaw.json
openclaw onboard
openclaw gateway --verbose
Prévention :
Sauvegarde cron, template Git, test --dry-run, openclaw config validate
8 min de lecture · Publié le: 5 févr. 2026 · Mis à jour le: 27 juil. 2026
Déploiement et pratique OpenClaw
Si vous arrivez depuis la recherche, le plus rapide est de passer à l’article précédent ou suivant de cette série.
Précédent
Matrice des capacités OpenClaw : 7 modules et 100+ compétences décryptés
Analyse approfondie des 7 modules de capacités OpenClaw et de 100+ compétences préconfigurées, des commandes Shell au contrôle domotique, guide pratique du débutant à l'expert avec bonnes pratiques de sécurité.
Partie 5 sur 36
Suivant
Alerte sécurité OpenClaw : 5 risques majeurs à connaître
OpenClaw présente des failles critiques : exécution de code à distance (CVE-2026-25253), fuite de clés API, attaques par injection de prompt. 12 % des Skills sur ClawHub sont des logiciels malveillants. Cet article détaille les 5 risques et des conseils de protection concrets.
Partie 7 sur 36



Commentaires
Connectez-vous avec GitHub pour laisser un commentaire