OpenClaw para Desarrolladores
Cuando hablamos de tener un asistente personal de IA, uno de los programas más populares hoy en día es OpenClaw. Se trata de un proyecto open source que puedes instalar en un servidor y con el que te comunicas a través de distintos medios: una interfaz web, Telegram, WhatsApp, Discord y más. Lo interesante es que permite instalar programas adicionales que se adaptan a tu forma de trabajo, así que sirve para casi cualquier tarea: responder correos, hacer trading o, en este caso, asistir en el desarrollo de software.
En este artículo voy a enseñarte cómo instalar OpenClaw en un VPS, qué requerimientos necesita el equipo, qué configuraciones puedes añadir, y cómo enfocarlo específicamente al desarrollo: clonar repos, ejecutar proyectos, automatizar tareas y testear aplicaciones. Vamos paso a paso.
¿Qué es OpenClaw?
OpenClaw es un proyecto abierto que nos ofrece un agente de IA. Un agente de IA, a diferencia de un chatbot tradicional, no solo responde cosas: también puede ejecutar acciones, lanzar comandos y llamar a programas. OpenClaw no es el único en este espacio — también existen OpenCode, OPNT, Hermes, Goose y muchos otros — pero OpenClaw es muy popular y hay bastante documentación sobre cómo instalarlo y configurarlo.
Aunque puedes ejecutarlo en tu computadora personal, lo ideal es desplegarlo en un servidor. La razón es simple:
- Tienes un entorno que puede ejecutarse 24/7.
- Es más seguro porque está aislado de tus otros dispositivos.
- Tiene recursos dedicados para ejecutar tareas en paralelo.
Tú te conectas desde tu computadora al servidor, OpenClaw procesa lo que le pidas y te responde.
OpenClaw no es un modelo inteligente
Esto es importante: OpenClaw no es un modelo de IA por sí mismo. Es un agente, lo que significa que tú tienes que conectarle un modelo inteligente externo. La lista completa de proveedores está en docs.openclaw.ai/providers/models, pero los tres que más uso para desarrollo son:
- Codex (OpenAI) — Si ya tienes suscripción de ChatGPT Plus/Pro, aprovéchala.
gpt-5.3-codexes muy bueno para código y razonamiento. - GitHub Copilot — Si ya pagas Copilot, puedes reutilizar esa suscripción dentro de OpenClaw. Es la opción más natural si vives en GitHub.
- MiniMax M2.7 — Alternativa china muy competitiva en precio, buena para tareas largas y agentes que iteran mucho.
En este tutorial voy a usar Codex porque es la integración más sencilla si ya tienes ChatGPT.
Channels: cómo te comunicas con tu agente
OpenClaw expone una interfaz web, pero también puedes comunicarte a través de aplicaciones de mensajería. Dentro de OpenClaw, estas aplicaciones se llaman channels (canales). Algunos disponibles:
- Telegram
- Discord
- Otras apps de mensajería
Sin importar por dónde te comuniques, siempre estás hablando con el mismo agente instalado en tu servidor. Adicionalmente, también puedes interactuar por consola SSH directamente — de hecho, así es como empezaremos.
Diseño general
El diseño que vamos a implementar incluye:
- Un VPS donde se ejecuta OpenClaw.
- Un usuario dedicado (sin trabajar como root).
- Firewall (UFW) cerrando todo lo que no necesitamos.
- SSH para conectarnos al inicio.
- Un modelo inteligente (Codex /
gpt-5.3-codex). - Telegram como channel.
- Skills específicos para desarrollo: GitHub CLI, Playwright, etc.
- Programas adicionales en el servidor: Node, Docker, Python, PM2, etc.
- Tailscale como VPN al final para acceso seguro sin exponer puertos públicos.
Parece complicado, pero paso a paso es bastante manejable. Empecemos.
El VPS: por qué uso HostGator NVMe4
Para este tutorial voy a usar un VPS de HostGator. Tienen una opción interesante: una versión de sus VPS con una instancia de OpenClaw preinstalada. Pero aquí te voy a mostrar cómo instalarlo desde cero, con configuraciones más avanzadas, así que da lo mismo si adquieres el paquete preinstalado o un VPS limpio — terminaremos con el mismo agente.
HostGator ofrece tres planes principales:
| Plan | RAM | Almacenamiento |
|---|---|---|
| NVMe2 | 2 GB | 50 GB |
| NVMe4 | 4 GB | 100 GB |
| NVMe8 | 8 GB | 200 GB |
Mi recomendación es el NVMe4. ¿Por qué? Porque 4 GB de RAM es lo mínimo cómodo para que el agente lance múltiples tareas en paralelo sin que el servidor se congele. Para desarrollo no necesitas tanto almacenamiento — necesitas RAM y CPU. Si adquieres más de un año, los descuentos superan el 50%, lo cual ayuda si vas a usarlo para proyectos de clientes.
Conectarse al servidor y preparar el sistema
Una vez tengas tu VPS, ingresa al panel de control de HostGator, ve a Hospedajes y Servidores y entra en Administrar. Allí obtienes los datos de conexión: IP, puerto, usuario (root) y contraseña. Si quieres, puedes resetear el servidor o cambiar la contraseña desde el mismo panel.
Abre una terminal (funciona igual en Linux, macOS o Windows con WSL) y conéctate:
ssh root@TU_IP -p TU_PUERTO
Te pedirá la contraseña. La pegas y ya estás dentro.
Actualizar el sistema
Primero actualizamos el sistema operativo:
sudo apt update && sudo apt upgrade -y
Crear un usuario sin privilegios de root
No es buena idea trabajar como root. Vamos a crear un usuario propio que será el que instale y administre OpenClaw:
useradd -m -s /bin/bash fazt
passwd fazt
-mcrea el directorio/home/fazt.-s /bin/bashdefine la shell por defecto.
Luego le damos privilegios de administrador (estamos en Ubuntu 22.04):
usermod -aG sudo fazt
Verificamos:
id fazt
Deberías ver que el usuario pertenece al grupo sudo. Salimos con Ctrl+D y nos volvemos a conectar como el nuevo usuario:
ssh fazt@TU_IP -p TU_PUERTO
Configurar el firewall (UFW)
Antes de instalar nada más, vamos a cerrar la puerta de calle. Por defecto el VPS tiene todos los puertos abiertos, y como vamos a tener un agente de IA corriendo con acceso a tus repos y credenciales, conviene blindarlo.
sudo ufw allow OpenSSH
sudo ufw enable
Esto deja solo SSH accesible públicamente. El dashboard de OpenClaw lo expondremos al final vía Tailscale (no necesita estar abierto al internet). Verifica:
sudo ufw status
Si más adelante quieres exponer algún proyecto puntual (por ejemplo el puerto 80 o 443 para un sitio público), puedes abrirlo con sudo ufw allow 80/tcp. Pero como regla general: cierra todo y solo abre lo que necesites.
Instalación de OpenClaw
Para instalarlo, ve a la documentación oficial (busca OpenClaw Docs → Getting Started) y copia el comando de instalación para Mac/Linux. Pégalo en tu terminal y dale enter.
OpenClaw está basado en Node.js, y por debajo utiliza paquetes de C++ y Python. El instalador descarga e instala todo automáticamente, así que solo hay que esperar.
Configuración inicial (onboarding)
Una vez termina la instalación, aparece el wizard de bienvenida. Te preguntará si quieres configurarlo (sí, entiendes los riesgos) y luego te ofrece dos modos:
- Quick start — recomendado para empezar.
- Manual — para configuración avanzada.
Elegimos Quick start.
Paso 1: Modelo inteligente
Te pedirá conectar un proveedor de IA. Aparecen muchas opciones: Codex (ChatGPT), Google, DeepSeek, MiniMax, etc. Si buscas "chat gpt" filtra al instante. En este tutorial elegimos Codex, que es la integración con ChatGPT. OpenClaw descarga el plugin correspondiente y te confirma que el modelo configurado es gpt-5.3-codex. Le decimos que mantenga ese modelo.
💡 Tip: El wizard funciona bien, pero si prefieres ir directo al grano, también puedes hacerlo con comandos. Ver la sección Gestión de modelos más abajo.
Paso 2: Canal de comunicación
Te pide elegir un canal. Hay muchos disponibles: WhatsApp, Discord, Telegram, etc. Vamos con Telegram porque es uno de los más populares y fáciles de configurar.
A continuación te pedirá un token de Telegram.
Paso 3: Crear un bot en Telegram con BotFather
Abre Telegram y busca al usuario @BotFather — es el bot oficial para crear otros bots. Inicia conversación y verás todos los comandos disponibles. Usa /newbot, dale un nombre y un username, y BotFather te devolverá un token de API.
Copia ese token y pégalo en el terminal cuando OpenClaw te lo pida. Listo, ya tienes:
- Un modelo inteligente conectado (
gpt-5.3-codex). - Un canal de Telegram listo.
- OpenClaw corriendo como servicio en tu VPS.
Accediendo al dashboard web
OpenClaw expone una interfaz web en el servidor, pero como está bindeada a localhost, no puedes acceder a ella directamente desde tu navegador. Hay dos formas de solucionarlo (de momento usamos un túnel SSH; al final del artículo veremos cómo migrar a Tailscale).
Abre una nueva terminal y ejecuta:
ssh -L 18789:localhost:18789 fazt@TU_IP -p TU_PUERTO
Esto crea un puente: el puerto 18789 del servidor se expone en tu máquina local. Mientras esta sesión esté abierta, puedes ir a http://localhost:18789 en tu navegador y verás la interfaz de OpenClaw.
Obteniendo el gateway token
El dashboard te pedirá un token de la puerta de enlace (gateway token). Si no apareció durante la instalación, lo obtienes así:
cd ~/.openclaw
cat openclaw.json
Dentro de ese archivo, en la sección gateway, está el token. Cópialo, pégalo en el dashboard y dale Conectar. Ya estás dentro de la interfaz gráfica.
Puedes hacer una prueba rápida: pídele algo simple, por ejemplo "Dame una lista de SaaS que podría crear para ganar dinero extra". Te responderá usando gpt-5.3-codex.
Conectando el bot de Telegram
Vuelve al chat de Telegram con el bot que creaste y dale Start. Te aparecerá un mensaje diciendo que OpenClaw no está configurado y te dará un código de pareo para vincular el chat con el servidor. Copia ese código y ejecútalo en el servidor.
Ahora, si escribes "hola" desde Telegram, deberías ver dos checks (recibido) pero el bot no responde. Esto es normal — necesitas reiniciar el servicio para que cargue la nueva configuración:
openclaw gateway restart
Este comando lo vas a usar mucho. Cada vez que cambies algo de configuración, ejecútalo. Tras reiniciarlo, escribe "hola" otra vez en Telegram y el bot te responderá.
Los comandos del gateway
El gateway es el servicio que arranca OpenClaw. Tiene varios subcomandos útiles:
openclaw --version # Versión instalada de OpenClaw
openclaw gateway status # Ver si el servicio está activo, en qué puerto corre, etc.
openclaw gateway start # Iniciar
openclaw gateway stop # Detener
openclaw gateway restart # Reiniciar (el que más vas a usar)
Acostúmbrate a restart. Muchas veces aplicarás una configuración y parecerá que no funciona — y es simplemente que falta reiniciar el gateway.
Gestión de modelos
Aunque el wizard de instalación deja Codex conectado, vale la pena conocer los comandos openclaw models porque te permiten cambiar de proveedor, añadir uno nuevo o conmutar entre modelos sin pasar por el wizard cada vez.
Comandos base:
openclaw models --help
openclaw models list # Lista los modelos/proveedores disponibles
openclaw models auth add # Añade credenciales para un proveedor
openclaw models auth login # Inicia sesión interactiva (OAuth)
openclaw models status --plain # Estado actual del modelo activo
Autenticarse con Codex desde CLI
Si quieres hacer todo el flujo de Codex sin wizard:
openclaw models auth login --provider openai-codex
openclaw models set openai-codex/gpt-5.3-codex
openclaw gateway restart
openclaw models status --plain
Esto:
- Abre el flujo OAuth con OpenAI (te dará una URL para autorizar).
- Fija
gpt-5.3-codexcomo modelo activo. - Reinicia el gateway para que tome la configuración.
- Verifica el estado.
La lista de versiones disponibles de Codex la encuentras en developers.openai.com/codex/models. Cuando OpenAI publique versiones nuevas, solo cambias el identificador en openclaw models set y reinicias el gateway. No hace falta tocar configuración a mano.
Skills: extendiendo OpenClaw
Una de las características más potentes de OpenClaw son los skills. En la sección Skills del dashboard verás que vienen muchos activados por defecto. No te preocupes por tenerlos todos prendidos: los agentes de IA cargan los skills bajo demanda según la tarea.
Pero atención: aunque un skill esté activado, eso no significa que funcione. Muchos skills requieren instalar paquetes adicionales en el servidor.
Ejemplo práctico: instalar el skill de GitHub
Vamos a habilitar el skill de GitHub, que permite clonar repos, hacer pull requests, etc. Este skill depende de GitHub CLI (gh).
Si pides instalarlo desde el chat, OpenClaw intentará usar Homebrew, porque muchos lo instalan en Mac. Pero como estamos en Linux, fallará con "Homebrew no está instalado".
Tienes dos opciones: instalar Homebrew en Linux, o instalar gh directamente. La forma más limpia es ir al sitio oficial de GitHub CLI y seguir las instrucciones para Debian/Ubuntu:
sudo apt update
sudo apt install gh
Verifica:
gh --version
Vuelve al dashboard de OpenClaw, refresca, y el skill de GitHub aparecerá como Elegible. Reinicia el gateway:
openclaw gateway restart
Autenticar GitHub CLI
Para que OpenClaw pueda interactuar con tus repos (incluidos los privados), autentica gh:
gh auth login
Elige github.com, HTTPS y sigue las opciones por defecto. Te dará una URL y un código de un solo uso. Abre la URL, pega el código y autoriza. Una vez completado, cierra la ventana — ya estás autenticado desde el VPS.
Verás que ahora se activan dos skills en verde: gh y gh-issues.
Otros skills útiles para desarrollo
Una vez tienes el patrón claro (instalar el CLI → autenticar → reiniciar gateway), puedes habilitar otros skills siguiendo la misma receta:
- Vercel — instala Vercel CLI (
npm i -g vercel) y autentica convercel login. Permite a OpenClaw desplegar, hacer rollback o consultar logs de tus proyectos en Vercel. - Railway — instala Railway CLI y autentica con
railway login. Útil si tus servicios y bases de datos viven en Railway. - Supabase — instala Supabase CLI y autentica con
supabase login. Le da al agente acceso a tus proyectos, migraciones y funciones edge. - Cloudflared — instala el Cloudflare Tunnel CLI si quieres exponer servicios a internet sin abrir puertos.
Cada uno de estos CLIs habilita capacidades muy concretas en OpenClaw. La idea no es instalarlos todos de golpe, sino ir añadiendo lo que tu workflow necesite.
Primer ejemplo real: clonar un repo y actualizarlo
Vamos a darle una tarea concreta. Toma cualquier repo tuyo (uno simple con un par de archivos, por ejemplo un chat conectado a la API de OpenAI). Desde el chat de OpenClaw:
"Usando gh, clona este repositorio y actualiza el código con sintaxis actual:
https://github.com/usuario/repo"
Verás que OpenClaw:
- Revisa el estado local del workspace.
- Clona el repo usando
gh. - Lee los archivos del proyecto.
- Modifica el código según le pediste.
- Te muestra el progreso vía tool outputs (la ejecución en vivo de los comandos).
Manteniendo proyectos vivos con PM2
Si quieres que OpenClaw no solo modifique código sino que ejecute los proyectos y los mantenga corriendo, necesitas un process manager. El más común para Node es PM2.
Desde el chat:
"Instala PM2 y ejecuta el proyecto books-express que está en
~/projects. Y el que está en tu workspace, muévelo a~/projectsy ejecútalo también con PM2."
OpenClaw inspeccionará los archivos, moverá las carpetas, instalará PM2 vía npm install -g pm2, y arrancará ambas aplicaciones. Aunque cierres tu sesión SSH y termines la conversación con OpenClaw, PM2 mantiene los proyectos corriendo en los puertos que les hayan tocado (típicamente 3000, 5000, etc.).
Y lo interesante: todo esto lo puedes hacer desde Telegram. No necesitas estar frente a tu PC; controlas el servidor remotamente desde el celular.
🤔 ¿Está esto 100% automatizado? La respuesta honesta es no. Por más que OpenClaw lance comandos solo, todavía necesitas decidir qué CLIs instalar, qué autenticaciones añadir, y qué prompts darle. Lo que sí ganas es un punto de partida sólido sobre el que extender con más CLIs y más skills según lo necesites. Piénsalo más como "un desarrollador junior remoto que aprende a usar tu setup" que como "un sistema autónomo que se configura solo".
Perfiles: optimizando OpenClaw para código
En Configuración del dashboard puedes personalizar el bot: tema, imagen, y lo más importante, el perfil base de contexto.
Por defecto, OpenClaw funciona como asistente personal: te ayuda con correos, calendarios, tareas. Pero nosotros queremos usarlo como agente de código. Cambia el perfil a Code Agent y verás que:
- Aumenta el tamaño de contexto disponible por archivo (más del doble que el modo asistente personal).
- Optimiza el comportamiento para leer y modificar código.
Otros perfiles disponibles:
- Team bot — más pequeño, ideal cuando varios usuarios comparten contexto.
- Mínimo — solo instrucciones muy cortas.
Dale Save profile y listo. Ahora puedes pegar archivos grandes o pedirle tareas con contextos extensos sin que falle.
Trabajando con proyectos complejos: el caso de Docker
Probemos con un proyecto más realista: un repo privado con frontend en Next.js, base de datos PostgreSQL y Docker. Desde una nueva sesión:
"Clona este repo y ejecútalo:
https://github.com/usuario/proyecto-privado"
Aquí hay dos detalles importantes a observar:
1. OpenClaw puede ignorar contexto
Le indiqué previamente que los repos deben clonarse en ~/projects, pero lo intentó clonar en el workspace. Tuve que parar la tarea y decirle explícitamente: "Revisa la memoria". Solo entonces lo movió al directorio correcto.
Esto es importante: aunque OpenClaw puede gestionar contexto a largo plazo, el modelo de IA por debajo puede ignorarlo o equivocarse. No es un problema de OpenClaw en sí, sino de cómo el modelo interpreta las instrucciones. Sé explícito.
2. El caso de Docker: permisos del usuario
Después de clonar y empezar a levantar el proyecto (unos 7–10 minutos para algo grande), falló al intentar arrancar el contenedor de PostgreSQL con Docker. El error: docker ps requiere sudo.
Esto es muy típico al instalar Docker recién. La solución es añadir el usuario al grupo docker:
sudo groupadd docker # Puede decirte que el grupo ya existe, no pasa nada
sudo usermod -aG docker $USER
newgrp docker
Ahora puedes ejecutar docker ps sin sudo. Le pides a OpenClaw que reintente, y esta vez levanta el contenedor sin problema.
Moraleja: OpenClaw no resuelve mágicamente cualquier problema de infraestructura. Tienes que saber qué hace cada programa. Si no, te quedarás iterando indefinidamente con la IA.
⚠️ Una advertencia importante sobre los agentes de IA
Antes de continuar, vale la pena mencionar un caso real. Una trabajadora de Meta le pidió a OpenClaw que archivara correos viejos. El agente empezó a eliminar el inbox completo, y aunque ella intentó pararlo, no se detuvo a tiempo. Eliminó una enorme cantidad de correos.
El creador de OpenClaw recomendó usar /stop para detenerlo, pero el problema de fondo es que los agentes de IA pueden malinterpretar instrucciones o ignorar contexto crítico. Esto no es exclusivo de OpenClaw — es inherente a los modelos inteligentes que hay por debajo.
Por eso, mi recomendación:
- No le des acceso a sistemas críticos sin restricciones.
- Usa repos de prueba antes de soltarlo en producción.
- Lee siempre los
tool outputsantes de aprobar cambios destructivos. - Mantén backups de cualquier cosa importante.
Un agente autónomo es poderoso, pero también puede equivocarse a velocidad de máquina.
Tareas programadas (cron jobs)
OpenClaw incluye una función llamada tasks que permite ejecutar instrucciones de forma recurrente. Es básicamente cron pero en lenguaje natural.
Ve a la sección Tasks del dashboard, dale New, y escribe en lenguaje natural:
"Verifica el estado de todos mis proyectos en la carpeta
~/projectsy si están respondiendo. Todos los días a las 8 a.m."
Le pones un nombre ("Revisión de proyectos diaria"), eliges la frecuencia (diariamente a las 8 a.m.), y la forma en que quieres ser notificado (chat, silencioso, sesión independiente). Eliges Notificarme y listo.
Aparecerá la tarjeta del cron job que acabas de crear. Puedes probarla manualmente con Ejecutar.
💡 Nota: si vas a recibir las notificaciones por Telegram, asegúrate de configurar el
chat_idcorrespondiente. Si no lo encuentra, la tarea fallará al intentar notificarte.
Más skills: Playwright vía Claw Hub
Si quieres testear el navegador automáticamente (testing end-to-end), necesitas un skill como Playwright. Pero no está en la lista de skills oficiales — está en Claw Hub, que es como la tienda de skills de la comunidad.
Una vez instalado y configurado, puedes pedir cosas como:
"Usando Playwright CLI, testea el login de toxic-plan, que está en la carpeta
~/projects."
OpenClaw se tomará un buen rato (10–20 minutos dependiendo del tamaño del proyecto): instala dependencias faltantes, busca el código del test, corrige errores de URL (típicamente apunta a localhost:3000 cuando tu app está en :3001), actualiza los tests, y ejecuta la suite.
A veces se queda "pegado" sin terminar de responder — simplemente pregúntale "¿Qué pasó?" y te dará el resumen. En mi caso, terminó pasando los 5 tests después de corregir las URLs.
Construyendo un panel de control de proyectos
A medida que vas añadiendo más proyectos al servidor, querrás ver el estado de todos de un vistazo. ¿La solución? Pídele a OpenClaw que construya un dashboard:
"Crea una aplicación web básica a modo de panel de control que me liste las aplicaciones que están ejecutándose en
~/projectsy me indique si están funcionando."
Después de unos minutos, tendrás una app corriendo en algún puerto (por ejemplo :4173) que lista tus proyectos y su estado. Si no funciona del todo a la primera, simplemente pídele que verifique la ejecución de los otros proyectos.
A partir de aquí puedes pedirle cosas como "inicia los proyectos detenidos" y él se encarga.
Monitoreo de recursos: htop
Mientras más herramientas instalas y más tareas paralelas ejecutas, más recursos consume el servidor. Para monitorearlo:
sudo apt install htop
htop
htop te muestra CPU, memoria y procesos en tiempo real. Si empiezas a hacer testing, scraping o renderizado pesado, vas a necesitar más RAM o CPU, así que tenlo en mente para subir de plan en HostGator si lo requieres.
💡 La idea del VPS para OpenClaw no es alojar producción, sino darle a la IA un entorno donde pueda "jugar" con tus proyectos. Pero igual los recursos importan.
Tailscale: reemplazando el túnel SSH por una VPN
Hasta ahora hemos usado un túnel SSH para acceder al dashboard. Funciona, pero tienes que mantener la sesión SSH abierta y solo puedes acceder desde la máquina donde levantaste el túnel.
Una mejor alternativa es Tailscale, una VPN gratuita (para uso personal) que te permite comunicarte entre tus dispositivos sin exponer puertos públicos ni tener una IP pública. Es ampliamente recomendado para agentes en la nube como OpenClaw.
Instalación de Tailscale en el VPS
Ve a la documentación de Tailscale para Linux y copia el script de instalación oficial:
curl -fsSL https://tailscale.com/install.sh | sh
Inicia el servicio:
sudo tailscale up
Te dará una URL para autenticarte. Ábrela, da en Conectar y verás "Login successful". El VPS ya está registrado en tu cuenta de Tailscale.
Para evitar usar sudo cada vez que ejecutas tailscale, ejecuta el comando que te sugiere la propia herramienta (suele ser algo como sudo tailscale set --operator=$USER).
Ver dispositivos y direcciones
tailscale status
Verás todos tus dispositivos conectados con sus direcciones internas de Tailscale (formato 100.x.x.x o vps-NNNN.tailNNNN.ts.net).
Exponer OpenClaw vía Tailscale
OpenClaw corre en localhost:18789. Para servir esto a través de Tailscale:
sudo tailscale serve --bg http://localhost:18789
Ahora ese puerto está accesible bajo la dirección Tailscale del VPS.
Permitir el origen en OpenClaw
Si intentas abrir esa nueva dirección en tu navegador, OpenClaw bloqueará la conexión:
"Este origen no está permitido. Abre el panel de control y permite añadir una URL más."
La razón es que la dirección Tailscale no está en la lista blanca. La forma más limpia de añadirla es con openclaw config set — un solo comando, sin tocar el JSON a mano:
openclaw config set gateway.controlUi.allowedOrigins \
'["http://tu-maquina.tail-xxxxx.ts.net:18789"]'
Atajo con jq (detecta tu hostname automáticamente)
Si tienes jq instalado (sudo apt install jq), puedes hacerlo todo en una sola línea sin copiar/pegar el hostname:
TS_HOST=$(tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//')
openclaw config set gateway.controlUi.allowedOrigins \
"[\"http://${TS_HOST}:18789\"]"
Esto lee el hostname MagicDNS de Tailscale y lo inyecta directo en la configuración.
Reinicia para aplicar los cambios:
openclaw gateway restart
📝 Alternativa manual: si prefieres editar el archivo a mano, está en
~/.openclaw/openclaw.json. Buscagateway.controlUiy añade la claveallowedOriginscomo array. Peroopenclaw config setes más seguro porque valida la estructura.
Emparejar el nuevo dispositivo
Refresca el navegador, pega el gateway token y te aparecerá otro error: necesitas emparejar el navegador con el servidor. Lista los dispositivos pendientes:
openclaw devices list
Verás dos secciones:
- paired — dispositivos ya autorizados.
- pending — los que esperan aprobación.
Copia el ID del dispositivo pendiente y apruébalo:
openclaw devices approve <ID>
Refresca el navegador. Listo: ahora tienes acceso privado y seguro a tu instancia de OpenClaw a través de Tailscale, sin túneles SSH abiertos y sin puertos expuestos al internet.
El comando openclaw configure
Antes de terminar, vale la pena mencionar un comando útil cuando quieras añadir o modificar configuraciones:
openclaw configure
Te abrirá un wizard interactivo donde puedes:
- Modificar el workspace.
- Añadir o cambiar modelos inteligentes.
- Configurar herramientas web.
- Añadir o reconfigurar canales de comunicación.
Es prácticamente el mismo wizard del onboarding inicial, pero para añadir cosas nuevas sobre la marcha.
Conclusión
Configurar OpenClaw lleva su trabajo y es bastante personalizable. Como has visto, requiere algo de conocimiento de Linux, procesos del sistema y configuración de servicios. Por eso este artículo busca ser una guía paso a paso de los temas principales:
- Provisionar un VPS con recursos adecuados (recomiendo HostGator NVMe4 para empezar).
- Instalar y autoconfigurar OpenClaw con un modelo de IA (Codex/GPT) y un channel (Telegram).
- Acceder al dashboard vía SSH o, mejor, vía Tailscale.
- Gestionar el servicio con
openclaw gateway(restart, status, etc.). - Instalar skills y sus dependencias (GH CLI, Playwright, etc.).
- Mantener proyectos en producción con PM2.
- Trabajar con Docker y bases de datos.
- Programar tareas recurrentes en lenguaje natural.
- Monitorear recursos con
htop. - Asegurar el acceso con Tailscale en lugar de exponer puertos.
Cada uno de estos temas (Tailscale, los modelos de IA, las herramientas de desarrollo) es un universo en sí mismo. En este artículo he intentado unificarlos en una guía práctica para que arranques con tu propio agente de desarrollo.
Una vez instalado, simplemente irás ajustando recursos o cambiando configuraciones según tus necesidades. Y recuerda: el agente es solo tan bueno como las instrucciones y el contexto que le das. Saber de código sigue siendo fundamental — la IA no reemplaza el conocimiento técnico, lo amplifica.
¿Qué sigue?
Hay temas que se quedaron fuera de este artículo porque cada uno merece el suyo. Si te interesan, dímelo en los comentarios y los priorizo:
- Crear tus propios skills — La verdadera ventaja de OpenClaw aparece cuando creas skills custom adaptados a tu stack específico (clientes, deploys, integraciones internas).
- Monitoreo con Grafana — Cómo levantar un servidor de Grafana en el mismo VPS para monitorear los proyectos que OpenClaw mantiene corriendo, ver métricas en tiempo real y recibir alertas.
- Cloudflare Tunnel como alternativa a Tailscale — Útil cuando quieres exponer servicios de forma pública con HTTPS, sin abrir puertos en el VPS.
- Workflows avanzados con CLIs de deploy — Cómo orquestar despliegues entre Vercel, Railway y Supabase desde OpenClaw, incluyendo manejo de variables de entorno y migraciones.
🎥 Si prefieres ver el tutorial en video, puedes encontrarlo en mi canal de YouTube FaztCode. Y si quieres adquirir un VPS de HostGator, en la descripción del video tienes el enlace con el plan que usé en este proyecto (NVMe4), actualmente con descuento.
📩 Si tienes dudas o sugerencias para el siguiente artículo, déjame un comentario o escríbeme a través de fazt.dev, donde también puedes reservar asesorías personalizadas.