Autonomous Agents

Guide Agent Autonome OpenClaw : Architecture, Docker et Coûts

### Réponse Rapide : Qu'est-ce qu'OpenClaw et pourquoi le choisir ?

OpenClaw est un assistant personnel d'IA autonome open source basé sur une architecture Gateway découplée, gérant plus de 20 protocoles de messagerie et l'exécution sandboxée de multi-agents. Contrairement aux solutions SaaS fermées facturées entre 20 et 50 $/mois, OpenClaw n'exige aucun abonnement (0 $) et coûte en moyenne 0,003 à 0,042 $ par exécution via API directe.


1. Vue d'Ensemble : Que représente OpenClaw en 2026 ?

En 2026, l'écosystème des agents d'IA a franchi une étape décisive : le passage de fenêtres de chat éphémères à des boucles d'exécution autonomes continues, pilotées par les événements 24h/24 et 7j/7. Tandis que Claude Code ou OpenAI Codex se focalisent sur l'environnement terminal des développeurs, OpenClaw (anciennement openclaw.ai) s'est imposé comme le framework open source de référence pour les assistants personnels capables d'orchestrer messageries instantanées, tâches Cron et exécutions multi-agents isolées.

OpenClaw repose sur trois composantes majeures :

  1. Protocole Gateway Découplé : Un démon central écoutant sur le port 18789, responsable du routage des canaux, de la persistance des sessions, des tâches planifiées et de la réception des webhooks.
  2. Support de Messagerie Multiplateforme : Intégration native de plus de 20 réseaux tels que Telegram, WhatsApp (Baileys), Discord (Bot API + Gateway), Slack (Bolt SDK), Signal, iMessage, Matrix et WebChat.
  3. Compétences (Skills) et Environnements Isolés : Un standard Markdown (SKILL.md) partagé sur le registre ClawHub, couplé à une isolation stricte par conteneurs Docker et restriction des privilèges POSIX.

2. Architecture OpenClaw : Gateway, Canaux et Workspace

Le système s'articule autour d'un plan de contrôle découplé. Le démon d'arrière-plan (OpenClaw Gateway) communique via WebSockets et sockets Unix avec les interfaces utilisateur et les API tierces.

+-----------------------------------------------------------------------------------+
|                           Canaux de Messagerie Externes                           |
|   Telegram  |  WhatsApp  |  Discord  |  Slack  |  Signal  |  iMessage  |  Matrix  |
+-----------------------------------------------------------------------------------+
                                          | (Webhook / WebSocket / Bot API)
                                          v
+-----------------------------------------------------------------------------------+
|                            OpenClaw Gateway (Port 18789)                          |
|  - Moteur d'appairage DM et listes blanches - Mémoire contextuelle et sessions    |
|  - Planificateur de tâches (CronTab)       - Routeur d'ingestion Webhook          |
|  - Rechargement à chaud (Hybrid Watch)     - Basculement et tolérance aux pannes  |
+-----------------------------------------------------------------------------------+
       |                                      |                              |
       v                                      v                              v
+------------------+                  +------------------+         +-------------------+
|  Agent: Home     |                  |  Agent: Work     |         |  Agent: DevOps    |
|  - Workspace-Home|                  |  - Workspace-Work|         |  - Workspace-Ops  |
|  - SOUL.md       |                  |  - SOUL.md       |         |  - SOUL.md        |
|  - CRM Personnel |                  |  - Jira / Linear |         |  - CI/CD et SSH   |
+------------------+                  +------------------+         +-------------------+
       |                                      |                              |
       +--------------------------------------+------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
|                    Couche d'Exécution Sécurisée Multi-Agents                      |
|  - Isolation par conteneurs Docker (`mode: non-main` / `mode: all`)               |
|  - Privilèges POSIX révoqués (`cap_drop: ALL`, UID non privilégié 10001)          |
|  - Volumes en lecture seule (`:ro`) et mémoire temporaire (`/tmp:noexec`)         |
|  - Moteur de compétences ClawHub (analyse `SKILL.md`, validation binaire)         |
+-----------------------------------------------------------------------------------+

Organisation du Workspace

Chaque instance d'agent opère dans une arborescence standardisée située sous ~/.openclaw/ :

~/.openclaw/
├── openclaw.json          # Configuration déclarative principale (format JSON5)
├── cron.json              # Tâches récurrentes et planification Cron
├── state/                 # Base SQLite de session, caches et jetons
├── skills/                # Compétences globales partagées
└── workspace/             # Espace de travail par défaut
    ├── AGENTS.md          # Directives globales et règles de conduite
    ├── SOUL.md            # Personnalité, ton, limites et style de communication
    ├── TOOLS.md           # Instructions sur l'outillage local
    └── skills/            # Compétences propres à l'espace de travail
        └── repo-analyzer/
            └── SKILL.md   # Déclaration de la compétence

Commandes Fondamentales du Gateway

# Vérifier l'état du Gateway, les ports et la mémoire
openclaw gateway status

# Démarrer le Gateway en arrière-plan
openclaw gateway start

# Démarrer au premier plan avec logs détaillés
openclaw gateway --port 18789 --verbose

# Exécuter un diagnostic complet du système
openclaw doctor

# Réparer automatiquement les autorisations et répertoires manquants
openclaw doctor --fix

3. Déploiement Docker en Production : Guide Complet

Exécuter des agents dotés d'accès au terminal directement sur l'hôte physique représente un risque majeur d'élévation de privilèges. Docker Compose permet de créer un environnement hermétique et robuste.

Fichier docker-compose.yml

version: "3.9"

services:
  openclaw-gateway:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw-gateway
    restart: unless-stopped
    user: "10001:10001"
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETUID
      - SETGID
    environment:
      - NODE_ENV=production
      - OPENCLAW_HOME=/home/openclaw/.openclaw
      - OPENCLAW_STATE_DIR=/home/openclaw/.openclaw/state
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - OPENCLAW_GATEWAY_PASSWORD=${OPENCLAW_GATEWAY_PASSWORD}
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
      - OPENAI_API_KEY=${OPENAI_API_KEY}
      - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
    volumes:
      - openclaw-config:/home/openclaw/.openclaw
      - openclaw-workspace:/home/openclaw/.openclaw/workspace
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - "127.0.0.1:18789:18789"
    networks:
      - openclaw-net
    healthcheck:
      test: ["CMD", "openclaw", "health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 20s

  openclaw-sandbox:
    image: ghcr.io/openclaw/sandbox-runner:latest
    container_name: openclaw-sandbox
    restart: always
    network_mode: none
    read_only: true
    tmpfs:
      - /tmp:rw,noexec,nosuid,size=256m
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    volumes:
      - openclaw-workspace:/workspace:rw
    environment:
      - RUNNER_UID=10001
      - RUNNER_GID=10001

volumes:
  openclaw-config:
    driver: local
  openclaw-workspace:
    driver: local

networks:
  openclaw-net:
    driver: bridge

Configuration openclaw.json

{
  agents: {
    defaults: {
      workspace: "/home/openclaw/.openclaw/workspace",
      model: {
        primary: "anthropic/claude-sonnet-4-6",
        fallbacks: ["deepseek/deepseek-chat", "openai/gpt-5.4"],
      },
      thinking: "high",
      sandbox: {
        mode: "non-main", // off | non-main | all
        scope: "agent",   // session | agent | shared
        dockerImage: "ghcr.io/openclaw/sandbox-runner:latest",
        timeoutSeconds: 300,
        memoryLimitMb: 1024,
      },
    },
    list: [
      {
        id: "main",
        default: true,
        workspace: "/home/openclaw/.openclaw/workspace",
      },
      {
        id: "devops",
        workspace: "/home/openclaw/.openclaw/workspace-devops",
        sandbox: { mode: "all" },
      },
    ],
  },
  channels: {
    telegram: {
      enabled: true,
      botToken: "7123456789:AAFq_example_token_secret",
      dmPolicy: "pairing", // pairing | allowlist | open | disabled
      allowFrom: ["tg:987654321"],
    },
    discord: {
      enabled: true,
      botToken: "MTI4OTexampleDiscordBotToken",
      dmPolicy: "allowlist",
      allowFrom: ["dc:382910394857291029"],
    },
  },
  cron: {
    enabled: true,
    maxConcurrentRuns: 4,
  },
  hotReload: "hybrid",
}

4. Orchestration Multi-Agents et Sécurité des Bacs à Sable

Politiques de Messages Directs (DM) et Niveaux d'Isolation

  1. Filtrage des Messages Entrants (DM Policy) :
  • pairing (Par défaut) : Un code d'appairage cryptographique est généré pour tout contact inconnu. L'administrateur valide manuellement via openclaw pairing approve .
  • allowlist : Seuls les identifiants inscrits dans allowFrom peuvent donner des ordres.
  • open : Autorise tout le monde (réservé aux chatbots publics avec sandbox forcé sur all).
  • disabled : Ignore tous les messages entrants et réserve le bot aux notifications automatiques.
  1. Modes de Bac à Sable (Sandbox) :
  • off : Exécution sur la machine hôte (performant mais risqué).
  • non-main (Recommandé) : L'agent principal opère normalement, tandis que les sous-agents et scripts tournent dans Docker.
  • all : Chaque commande s'exécute dans un conteneur éphémère privé de tout accès réseau (network_mode: none).

5. Moteur de Compétences et Écosystème ClawHub

Les compétences s'articulent autour de fichiers SKILL.md :

---
name: github-pr-analyzer
description: Analyse les pull requests GitHub, exécute les tests et génère un rapport.
metadata: {
  "openclaw": {
    "requires": {
      "bins": ["gh", "jq", "git"],
      "env": ["GITHUB_TOKEN"],
      "config": ["sandbox.enabled"]
    },
    "os": ["linux", "darwin"],
    "always": false,
    "primaryEnv": "GITHUB_TOKEN"
  }
}
---

# Compétence d'Analyse de PR GitHub

Lors du déclenchement par utilisateur ou webhook :
1. Récupérer le diff de la PR via `gh pr diff <pr_number>`.
2. Inspecter les fichiers modifiés et vérifier les tests.
3. Formater le résumé de révision en Markdown avec extraits de code.

Commandes ClawHub

# Lister les compétences disponibles
openclaw skills list

# Installer depuis le registre ClawHub
openclaw skills install web-researcher

# Installer depuis un dépôt GitHub
openclaw skills install git:github.com/openclaw-community/postgres-inspector@v1.4.0

# Vérifier la signature et les autorisations
openclaw skills verify web-researcher

# Mettre à jour toutes les compétences
openclaw skills update --all

6. Benchmarks de Performance : SWE-bench et Consommation de Ressources

Métrique Évaluée OpenClaw (Self-Hosted + Sonnet 4.6) Claude Code (CLI Officiel) Devin (Entreprise) AutoGen v0.4 (Docker) Bots SaaS Propriétaires
SWE-bench Verified (Taux de résolution) 68,4 % 72,4 % 71,8 % 52,1 % 41,2 %
Précision des appels d'outils 94,6 % 96,8 % 95,2 % 84,3 % 79,5 %
Latence premier token (TTFT) 0,42 s (Gateway Résident) 1,84 s 4,80 s (Démarrage VM Cloud) 1,10 s 2,45 s
RAM en veille (Gateway) 84 Mo (Hybride Node/Rust) N/A (CLI Éphémère) Cloud Managé 420 Mo (Moteur Python) Cloud Managé
Pic RAM (5 tâches simultanées) 340 Mo N/A (Session unique) Cloud Managé 1 840 Mo Cloud Managé
Surcoût démarrage sandbox 180 ms (Conteneur préchauffé) Aucun (Exécution directe) Hyperviseur cloud 450 ms VM propriétaire
Protocoles de messagerie gérés 20+ Canaux Terminal uniquement Web et Slack Uniquement API Python Web / Telegram
Souveraineté des données 100 % Sur Site Local / API Cloud SaaS Cloud Fermé 100 % Sur Site SaaS Cloud Fermé

7. Tarification OpenClaw : Modèle Économique Réel

La recherche openclaw pricing soulève souvent la question : OpenClaw est-il payant ?

Le logiciel OpenClaw est 100 % gratuit et open source (sous licences Apache 2.0 / MIT). Il n'y a aucun abonnement mensuel. Les seuls coûts réels sont :

  1. L'infrastructure d'hébergement : Serveur VPS (entre 4 et 15 $/mois).
  2. La consommation de tokens API : Facturation à l'usage auprès de vos fournisseurs (Anthropic, OpenAI, DeepSeek).

Estimation des coûts pour 1 000 exécutions réelles

Plateforme Abonnement Mensuel Modèle de Facturation Coût par Requête Simple Coût Tâche Complexe (Audit) Dépense Mensuelle (500 runs)
OpenClaw (DeepSeek V4) 0,00 $ API directe (0,14 $ / 0,28 $ par 1M) 0,0008 $ 0,012 $ 6,40 $ (avec VPS 5 $)
OpenClaw (Claude Sonnet 4.6) 0,00 $ API directe (3,00 $ / 15,00 $ par 1M) 0,0042 $ 0,058 $ 29,50 $ (avec VPS 5 $)
Claude Code (Anthropic) 0,00 $ (Plan Max requis) 20 $/mois + API au-delà 0,0042 $ 0,058 $ 45,00 – 80,00 $
Devin Enterprise 500,00 $ / siège / mois ACUs incluses + extras Inclus au forfait Inclus au forfait 500,00 $+
Assistants SaaS Commerciaux 20,00 – 50,00 $ / mois Quotas de requêtes bridés Dans le forfait Dépassement bloqué 20,00 – 100,00 $

8. Exploitation, Surveillance et Diagnostic

# Vérifier l'état du démon Gateway et des canaux actifs
openclaw gateway status

# Consulter les journaux en direct
openclaw logs --follow --lines 50

# Valider l'intégrité des fichiers de configuration
openclaw config validate

# Lancer une analyse avec mode de réflexion approfondi
openclaw agent --message "Réalise un audit des vulnérabilités de dépendance" --thinking high

# Envoyer une notification vers Telegram
openclaw message send --target "tg:987654321" --message "Déploiement achevé avec succès."

Problèmes Fréquents

  1. Port occupé (EADDRINUSE 18789) : Un processus orphelin monopolise le port. Utilisez openclaw gateway stop ou kill -9 $(lsof -t -i :18789).
  2. Conflit Telegram (409 Conflict) : Plusieurs conteneurs exploitent le même token. Gardez une seule instance active.
  3. Erreur de droits dans le workspace (EACCES) : Différence d'UID entre le conteneur et l'hôte. Exécutez chown -R 10001:10001 ~/.openclaw/workspace.

9. Conclusion et Recommandations

OpenClaw constitue la solution optimale entre les outils de terminal légers et les plateformes cloud onéreuses. Grâce à sa Gateway découplée, sa compatibilité avec plus de 20 messageries et son cloisonnement sous Docker, il garantit confidentialité des données et réduction des coûts de plus de 80 %.

← Tous les Articles
0 / 4