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 abre https://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.js y 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.

  1. En el panel de Workers, haz clic en tu worker > Settings > Domains & Routes > workers.dev > Enable Cloudflare Access.
  2. En la configuración de Access, agrega tu email a la lista blanca o configura un proveedor OAuth.
  3. Copia la etiqueta Application Audience (AUD) de la app de Access y configúrala como secreto:
    npx wrangler secret put CF_ACCESS_AUD
    
  4. 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:

  1. Crea un bucket R2 llamado moltbot-data.
  2. Genera un token API con permisos Object Read & Write.
  3. 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_AFTER a 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_KEY o 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-browser para scraping web automatizado.
  • Construye tu propia skill añadiendo una nueva carpeta bajo skills/ y conectándola en moltbot.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!

Artículo original: Ver original

Compartir este artículo