Exécuter l’assistant AI OpenClaw sur Cloudflare Workers : Un tutoriel pas à pas
Déployer OpenClaw (anciennement Moltbot) sur Cloudflare Workers
OpenClaw est un assistant IA personnel léger et extensible capable de gérer des canaux de discussion tels que Telegram, Discord, Slack et des interfaces web. Le faire fonctionner dans un conteneur Sandbox de Cloudflare vous donne un déploiement bon marché, toujours actif, distribué mondialement sans devoir gérer de VM ou de cluster Kubernetes.
Prérequis * Un compte Workers « Payant » (la fonctionnalité Sandbox n’est disponible que dans le plan Workers Payant). * Une clé API d’un fournisseur LLM supporté – nous recommandons Claude d’Anthropic ou le Gateway AI de Cloudflare. * Facultatif : des identifiants Cloudflare Access pour protéger l’UI d’administration et un bucket R2 pour la persistance.
TL;DR – Exécuter
npm install, définir les secrets, déployer (npm run deploy), puis ouvrirhttps://your‑worker.workers.dev/?token=YOUR_TOKEN.
1. Cloner le dépôt
git clone https://github.com/cloudflare/moltworker
cd moltworker
Le dépôt inclut un
Dockerfile, unwrangler.js, et une version bundle Vite de l’UI de contrôle.
2. Installer les dépendances
npm install
3. Configurer les secrets LLM
Accès direct Anthropic
npx wrangler secret put ANTHROPIC_API_KEY
Ou Gateway AI Cloudflare (recommandé pour le suivi des coûts)
npx wrangler secret put AI_GATEWAY_API_KEY
npx wrangler secret put AI_GATEWAY_BASE_URL
Si vous fournissez à la fois le gateway et les secrets Anthropic directs, le gateway a la priorité.
4. Générer un token Gateway
L’UI de contrôle est protégée par un token personnalisé, distinct de Cloudflare Access. Générer une chaîne hexadécimale de 32 bytes et la définir comme secret :
export MOLTBOT_GATEWAY_TOKEN=$(openssl rand -hex 32)
echo "$MOLTBOT_GATEWAY_TOKEN" | npx wrangler secret put MOLTBOT_GATEWAY_TOKEN
Gardez ce token en sécurité – vous l’utiliserez dans l’URL pour accéder à l’UI.
5. Facultatif : Configurer Cloudflare Access
L’UI d’administration (/_admin/) et la poignée de main WebSocket peuvent être protégées par Cloudflare Access pour une couche de sécurité supplémentaire.
- Dans le tableau de bord Workers, cliquez sur votre worker > Paramètres > Domaines & Routes > workers.dev > Activer Cloudflare Access.
- Dans les paramètres Access, ajoutez votre courriel à la liste d’accès ou configurez un fournisseur OAuth.
- Copiez le tag Application Audience (AUD) de l’appli Access et définissez-le comme secret :
npx wrangler secret put CF_ACCESS_AUD - Définissez votre domaine d’équipe (
myteam.cloudflareaccess.com) :npx wrangler secret put CF_ACCESS_TEAM_DOMAIN
Après avoir défini ces secrets, redéployez (npm run deploy).
6. Facultatif : Stockage persistant avec R2
Sans R2, toutes les associations d’appareils et l’historique de discussion disparaissent lorsque le sandbox redémarre. Pour persister les données :
- Créez un bucket R2 nommé moltbot-data.
- Générez un token API avec les permissions Object Read & Write.
- Définissez les secrets :
npx wrangler secret put R2_ACCESS_KEY_ID npx wrangler secret put R2_SECRET_ACCESS_KEY npx wrangler secret put CF_ACCOUNT_ID
Le worker synchronisera automatiquement la configuration vers R2 toutes les 5 minutes.
7. Déployer le worker
npm run deploy
Pendant le déploiement, Wrangler télécharge le bundle Vite, définit les variables d’environnement dans Cloudflare, et démarre le sandbox. La première requête peut prendre 1–2 minutes car le conteneur démarre.
8. Accéder à l’UI de contrôle
Ouvrez votre navigateur et allez vers :
https://your‑worker.workers.dev/?token=YOUR_GATEWAY_TOKEN
Remplacez your‑worker par le chemin renvoyé après le déploiement et YOUR_GATEWAY_TOKEN par le token que vous avez enregistré à l’étape 4.
Appariement d’appareils
Lorsque un nouveau client (navigateur ou plateforme de chat) se connecte, il attend l’approbation. Utilisez l’UI d’administration à /_admin/ (protégée par Cloudflare Access) pour approuver les appareils.
9. Canaux de chat facultatifs
Vous pouvez activer les bots Telegram, Discord ou Slack en ajoutant les tokens pertinents :
# Telegram
npx wrangler secret put TELEGRAM_BOT_TOKEN
# Discord
npx wrangler secret put DISCORD_BOT_TOKEN
# Slack
npx wrangler secret put SLACK_BOT_TOKEN
npx wrangler secret put SLACK_APP_TOKEN
Puis redéployez.
10. Automatisation du navigateur (CDP)
OpenClaw peut contrôler une instance Chrome sans tête via le Chrome DevTools Protocol (CDP shim). Configurez-le comme suit :
npx wrangler secret put CDP_SECRET
npx wrangler secret put WORKER_URL # par ex., https://your‑worker.workers.dev
Les points de terminaison CDP (/cdp/json/...) nécessiteront l’en-tête CDP_SECRET.
11. Débogage et journaux
Lorsque DEBUG_ROUTES=true est défini dans .dev.vars, les routes comme /debug/processes et /debug/logs deviennent disponibles. Elles sont utiles lors du développement local ou pour la surveillance en temps réel.
12. Configuration avancée
- Sommeil du container – Réduisez les coûts en définissant
SANDBOX_SLEEP_AFTERà une durée (ex.10m). - Sauvegarde – Vous pouvez déclencher une sauvegarde R2 à la demande via
/admin/si un bucket est configuré. - Fournisseurs AI personnalisés – Le worker accepte une clé
OPENAI_API_KEYdirecte ou toute clé supportée par le SDK.
13. Conclusion
Faire tourner OpenClaw sur Cloudflare Workers vous offre :
- Zero ops – Cloudflare gère l’échelle, le réseau et la sécurité.
- Géographique à faible latence – Le worker fonctionne sur l’arrière‑plan mondial de Cloudflare.
- Extensibilité – Ajoutez des compétences, de nouvelles plates‑formes de chat ou l’automatisation du navigateur avec un minimum de friction.
Le code source est open‑source et évolue constamment. Consultez les problèmes GitHub et les pull requests pour les dernières mises à jour. Bon hacking !
Étapes suivantes
- Explorez la compétence intégrée
cloudflare-browserpour le scraping web automatisé. - Créez votre propre compétence en ajoutant un nouveau dossier sous
skills/et en le connectant àmoltbot.json. - Intégrez le Gateway AI de Cloudflare pour l’analyse d’utilisation et le contrôle des coûts.
N’hésitez pas à forker le projet, le modifier et partager vos propres implémentations d’OpenClaw. Bonne chance !