Ejecutar el Asistente de IA OpenClaw en Cloudflare Workers: Un Tutorial Paso a Paso
Desplegar OpenClaw (anteriormente Moltbot) en Cloudflare Workers
OpenClaw es un asistente de IA personal ligero y extensible que puede manejar canales de chat como Telegram, Discord, Slack y UIs basados en web. Ejecutarlo en un contenedor Cloudflare Sandbox te brinda una implementación económica, siempre activa y distribuida globalmente sin necesidad de gestionar un VM o clúster Kubernetes.
Requisitos previos * Una cuenta de Cloudflare Workers Paid (la característica Sandbox solo está disponible en el plan Paid). * Una clave API para un proveedor LLM compatible – recomendamos Claude de Anthropic o el AI Gateway de Cloudflare. * Opcional: credenciales de Cloudflare Access para proteger la UI de administración y un bucket R2 para persistencia.
TL;DR – Ejecuta
npm install, configura los secretos, despliega (npm run deploy), y abrehttps://tuproyecto.workers.dev/?token=TU_TOKEN.
1. Clonar el repositorio
git clone https://github.com/cloudflare/moltworker
cd moltworker
El repositorio incluye un
Dockerfile,wrangler.jsy una build de Vite empaquetada para la UI del plano de control.
2. Instalar dependencias
npm install
3. Configurar secrets LLM
Acceso directo a Anthropic
npx wrangler secret put ANTHROPIC_API_KEY
O Cloudflare AI Gateway (recomendado para seguimiento de costes)
npx wrangler secret put AI_GATEWAY_API_KEY
npx wrangler secret put AI_GATEWAY_BASE_URL
Si proporcionas tanto la gateway como los secretos directos de Anthropic, la gateway tiene prioridad.
4. Generar un token de gateway
La UI de control está protegida por un token personalizado, separado de Cloudflare Access. Genera una cadena hexadecimal de 32 bytes y configúrala como secreto:
export MOLTBOT_GATEWAY_TOKEN=$(openssl rand -hex 32)
echo "$MOLTBOT_GATEWAY_TOKEN" | npx wrangler secret put MOLTBOT_GATEWAY_TOKEN
Mantén este token seguro – lo usarás en la URL para acceder a la UI.
5. Opcional: Configurar Cloudflare Access
La UI de administración (/_admin/) y el handshake de WebSocket pueden protegerse con Cloudflare Access para una capa adicional de seguridad.
- En el panel de Workers, haz clic en tu worker > Settings > Domains & Routes > workers.dev > Enable Cloudflare Access.
- En la configuración de Access, agrega tu email a la lista blanca o configura un proveedor OAuth.
- Copia la etiqueta Application Audience (AUD) de la app de Access y configúrala como secreto:
npx wrangler secret put CF_ACCESS_AUD - Configura el dominio de tu equipo (
myteam.cloudflareaccess.com):npx wrangler secret put CF_ACCESS_TEAM_DOMAIN
Después de configurar estos secretos, vuelve a desplegar (npm run deploy).
6. Opcional: Almacenamiento persistente con R2
Sin R2, todas las parejas de dispositivos e historial de chat desaparecen cuando el sandbox se reinicia. Para persistir datos:
- Crea un bucket R2 llamado moltbot-data.
- Genera un token API con permisos Object Read & Write.
- Configura los secretos:
npx wrangler secret put R2_ACCESS_KEY_ID npx wrangler secret put R2_SECRET_ACCESS_KEY npx wrangler secret put CF_ACCOUNT_ID
El worker sincronizará automáticamente la configuración con R2 cada 5 minutos.
7. Desplegar el worker
npm run deploy
Durante el despliegue, Wrangler sube el bundle de Vite, configura variables de entorno en Cloudflare y inicia el sandbox. La primera solicitud puede tardar 1–2 minutos porque el contenedor arranca.
8. Acceder a la UI de control
Abre tu navegador y ve a:
https://tuproyecto.workers.dev/?token=TU_GATEWAY_TOKEN
Reemplaza tuproyecto con la ruta devuelta tras el despliegue y TU_GATEWAY_TOKEN con el token que guardaste en el paso 4.
Emparejamiento de dispositivos
Cuando un nuevo cliente (navegador o plataforma de chat) se conecte, esperará aprobación. Usa la UI de administración en /_admin/ (protegida por Cloudflare Access) para aprobar dispositivos.
9. Canales de chat opcionales
Puedes habilitar bots de Telegram, Discord o Slack añadiendo los tokens correspondientes:
# 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
Luego vuelve a desplegar.
10. Automatización de navegador opcional (CDP)
OpenClaw puede controlar una instancia headless de Chrome a través del Chrome DevTools Protocol (CDP shim). Configúralo así:
npx wrangler secret put CDP_SECRET
npx wrangler secret put WORKER_URL # por ejemplo, https://tuproyecto.workers.dev
Los endpoints de CDP (/cdp/json/...) requerirán la cabecera CDP_SECRET.
11. Depuración y registros
Cuando DEBUG_ROUTES=true esté configurado en .dev.vars, rutas como /debug/processes y /debug/logs estarán disponibles. Son útiles durante el desarrollo local o para monitoreo en tiempo real.
12. Configuración avanzada
- Dormir contenedor – Reduce costes configurando
SANDBOX_SLEEP_AFTERa una duración (ej.,10m). - Respaldo – Puedes disparar una copia de seguridad bajo demanda en R2 vía
/admin/si está configurado un bucket. - Proveedores de IA personalizados – El worker acepta directamente
OPENAI_API_KEYo cualquier clave compatible con el SDK.
13. Conclusión
Ejecutar OpenClaw en Cloudflare Workers te ofrece:
- Zero‑ops – Cloudflare gestiona escalado, red y seguridad.
- Alto rendimiento global – El worker se ejecuta en el borde global de Cloudflare.
- Extensibilidad – Añade habilidades, nuevos canales de chat o automatización de navegador con mínima fricción.
La fuente es de código abierto y evoluciona continuamente. Revisa los issues y pull requests de GitHub para las últimas actualizaciones. ¡Feliz hacking!
Próximos pasos
- Explora la skill incorporada
cloudflare-browserpara scraping web automatizado. - Construye tu propia skill añadiendo una nueva carpeta bajo
skills/y conectándola enmoltbot.json. - Integra con Cloudflare AI Gateway para análisis de uso y control de costes.
Siéntete libre de bifurcar el proyecto, modificarlo y compartir tus propias implementaciones de OpenClaw. ¡Éxitos!