Cómo instalar OpenClaw en Linux: Tu propio agente de IA en WhatsApp y Telegram

Si os habéis pasado por aquí últimamente, sabréis que estoy bastante metido en el mundo de los agentes de IA. Primero os enseñé cómo instalar opencode, y ahora os traigo otra joyita que me tiene enganchado: OpenClaw (antes conocido como ClawdBot o MoltBot, por si os suena de algo).

¿Qué es OpenClaw? Pues básicamente es un gateway que te permite tener tu propio asistente de IA conectado a WhatsApp, Telegram, Discord, iMessage y más. Imagina tener a tu disposición un agente que puede limpiar tu bandeja de entrada, enviar correos, gestionar tu calendario o incluso hacer check-in en vuelos, todo desde la app de mensajería que ya usas. Y lo mejor: self-hosted, tus datos en tu máquina, tus reglas.

Requisitos previos

Antes de meternos en harina, aseguraos de tener:

  • Node.js 22 o superior (imprescindible, no valen versiones antiguas)
  • Una API key de algún proveedor de IA (Anthropic recomendado, pero podéis usar otros)
  • Ganas de experimentar (esto no es plug-and-play, pero tampoco es rocket science)

Instalación paso a paso

La instalación es bastante sencilla gracias a npm. Abrimos terminal y ejecutamos:

npm install -g openclaw

Una vez instalado, toca configurar el entorno. OpenClaw guarda todo en ~/.openclaw/, así que vamos a preparar el terreno:

openclaw setup

Esto crea la estructura de carpetas y los archivos de configuración iniciales. Si queréis hacerlo desde el repositorio fuente (para los más aventureros), necesitaréis pnpm y ejecutar pnpm install seguido de pnpm build.

Configuración básica

El archivo de configuración vive en ~/.openclaw/openclaw.json. Aquí podéis ajustar qué canales queréis activar y cómo comportarse el agente. Un ejemplo básico para WhatsApp:

{
  "channels": {
    "whatsapp": {
      "allowFrom": ["+34600123456"],
      "groups": {
        "*": { "requireMention": true }
      }
    }
  }
}

Con esto, solo vuestro número podrá interactuar con el bot, y en grupos tendrá que mencionaros para responder (útil para no saturar las conversaciones).

Iniciar el Gateway

Ahora viene lo bueno. Arrancamos el gateway con:

openclaw gateway --port 18789 --verbose

Si todo va bien, veréis el mensaje de que el servidor está corriendo. Por defecto, la interfaz de control está disponible en http://127.0.0.1:18789/. Desde ahí podréis gestionar sesiones, ver logs y configurar canales.

Conectar WhatsApp

Esto es lo más chulo. Ejecutad:

openclaw channels login

Os mostrará un código QR que tenéis que escanear con WhatsApp en vuestro móvil (Ajustes ? Dispositivos vinculados ? Vincular dispositivo). Una vez hecho, vuestro número de WhatsApp estará conectado al agente de IA.

Verificar que todo funciona

Para aseguraros de que la instalación está correcta:

openclaw health

Si devuelve OK, estáis listos para empezar a chatear con vuestra IA desde WhatsApp o Telegram.

Algunos trucos que he aprendido

  • Workspace personalizado: Guardad vuestras skills y configuraciones en ~/.openclaw/workspace. Podéis hacer un repo git privado y así tener backups y control de versiones.
  • Heartbeats: OpenClaw tiene un sistema de «heartbeats» que permite al agente hacer comprobaciones periódicas (emails, calendario, etc.) y avisaros proactivamente.
  • Sesiones: Cada conversación es una sesión independiente. Podéis tener diferentes contextos para diferentes tareas.
  • Skills: La comunidad está creando skills para todo (GitHub, Notion, Slack…). Echad un vistazo al repositorio oficial.

Conclusión

OpenClaw es una de esas herramientas que, una vez que las pruebas, te preguntas cómo has vivido sin ellas. Tener un agente de IA verdaderamente personal, que corre en tu máquina y se integra con tus apps de mensajería habituales, es una experiencia que no tiene nada que ver con los asistentes en la nube.

Eso sí, requiere cierto nivel técnico y ganas de trastear. Si os gusta eso de «romper cosas para entenderlas», OpenClaw es vuestro sitio. ¿Ya lo habéis probado? Contadme vuestras experiencias en los comentarios.

Nota: Este post es una guía introductoria. Para configuraciones avanzadas y troubleshooting, consultad la documentación oficial.

Agentes de código abierto

Como hemos visto en anteriores entregas, podemos utilizar distintos modelos de IA en distintos agentes. Vimos como usar glm con claude-code, hemos visto como utilizar mcps también en claude-code o en github copilot pero lo ideal sería no depender de un agente comercial, entendiendo como tal alguno que va ligado a algún modelo o ide. Por eso me he puesto a buscar y he encontrado un par de ellos. En esta entrada vamos a intentar configurarlos para que funcionen con los modelos de IA a los que tenemos acceso e incluso añadirles acceso a mcps.

goose

El primero que encontré y que me parece perfecto en muchos aspectos se llama goose, podéis encontrarlo en https://github.com/block/goose

Instalación

nada más sencillo que seguir las instrucciones de https://block.github.io/goose/docs/getting-started/installation/ en mi caso y como uso ubuntu solo tuve que ejecutar:

wget https://github.com/block/goose/releases/download/v1.16.1/goose_1.16.1_amd64.deb
sudo dpkg -i goose_1.16.1_amd64.deb

Os recomiendo que os paseis a ver si hay una versión más nueva a esta que he usado yo.

Si todo ha ido bien solo tienes que buscar goose en el menú y ejecutarlo (o goose desde la terminal)

Configurar el LLM

Vamos a usar como ejemplo lo que vimos en la entrada sobre LLM baratos, el glm-4.6. Para ello pulsaremos en el icono de abajo con forma de robot y seleccionaremos «Change Model»

Eso permitirá acceder a un desplegable con los modelos disponibles. Como inicialmente no tendrás ninguno habrá que seleccionar la opción «Use other provider» que nos sacará una pantalla como esta:

Tal como hicimos con claude vamos a usar una configuración personalizada de anthropic. Pinchamos en configure y le ponemos la url y la api key que pusimos la otra vez:

Y eso es todo, luego cuando queramos seleccionar el modelo ya nos aparecerá la opción anthropic y podremos seleccionarla

Ahora ya podemos preguntarle lo que queramos a nuestro agente que contará con el modelo integrado.

Modos de funcionamiento

Si os fijáis en la parte de abajo a la derecha veréis que hay un marcador que indica el modo en el que está tabajando el agente, en mi caso lo tengo en «Autonomous» que es como darle carta blanca para que haga lo que hay que hacer, pero también tiene otros modos:

Y para cada uno de los modos puedes configurar los permisos para cada una de las extensiones.

Extensiones

Como ya dijimos al principio vamos a darle herramientas a nuestro nuevo agente, en este caso el mismo mcp que usamos en esta otra entrada, para ello nada más sencillo que ir a la opción Extensión en el menú principal que nos llevará a una ventana como esta:

Creamos una extensión nueva y le ponemos los datos tal que así (solo hay que poner en el comando lo que antes poníamos como un array json y rellenar las variables de entorno):

Y luego la activamos (aparecerá arriba). Con eso ya podemos volver a usar la herramienta nueva desde goose preguntando cosas como:

¿puedes recuperar un documento de outline llamado API docufactu y hacerme un resumen?

A este agente se le pueden añadir modelos locales como por ejemplo modelos de ollama que tengas corriendo en tu ordenador además de los más populares. También puede usar directamente github copilot sin entrar al VScode.

Si queréis instalar la versión para terminal también se puede, el único problema es que el ejecutable se llama exactamente igual (goose) que el que hemos usado para lanzar la UI (se guarda en otro directorio) por lo que tendréis goose UI si lo seleccionas por el menu y goose linea de comando si lo ejecutas desde una terminal (también depende del orden que tengas en tu path).

Lo siguiente que quería hacer es instalar opencode, pero creo que lo voy a dejar para una siguiente entrada. Disfrutad de goose lo que podáis.