Esta guía describe los pasos para configurar una instancia local de OpenClaw. El sistema sirve como interfaz (Gateway) entre proveedores de LLM y servicios de comunicación como Telegram. La instalación se realiza en contenedores mediante Docker.

Telegram Bot

Primeramente debe crearse un bot de Telegram a través de @BotFather, para tener después a mano el token de API necesario, véase la guía

Iniciar Docker Desktop

Como requisito para la instalación, se necesita una instancia activa de Docker Desktop.

Descargar OpenClaw desde GitHub

En la línea de comandos de Windows se descarga primero el repositorio de código fuente. Esto se realiza con el comando:

git clone https://github.com/openclaw/openclaw.git

Iniciar configuración de Docker

A continuación, cambie al directorio recién creado. En ese directorio, ejecute el script de configuración de OpenClaw. El script inicia el proceso de compilación dentro del contenedor de Docker. Durante este proceso se instalan y configuran dependencias del sistema y gestores de paquetes como bun, corepack y pnpm.

cd openclaw
docker-setup.sh

Configurar OpenClaw

Al finalizar el proceso de compilación, arranca el modo de configuración interactiva. Primero se debe aceptar las advertencias de seguridad, ya que el agente puede obtener permisos extensivos en el sistema.

Para una configuración rápida, seleccione el modo QuickStart.

Selección de proveedor: elija Google como proveedor.

Autenticación: introduzca la clave API de Gemini.

Selección del modelo: defina el modelo a usar, por ejemplo google/gemini-2.0-flash.

Integración de la interfaz de comunicación

El sistema solicita la elección de un canal de comunicación principal. Aquí se selecciona Telegram (Bot API). El token del bot de Telegram generado previamente debe introducirse en la consola en este paso.

Configuración de skills y dependencias

OpenClaw comprueba el estado de las extensiones disponibles (“Skills”). El sistema enumera las dependencias faltantes para módulos como github, openai-whisper o gog (Google Workspace). Para resolver estas dependencias, se ofrece y confirma la instalación de Homebrew en el entorno.

En este paso se pueden omitir las claves API opcionales para servicios como Google Places o ElevenLabs.

Finalización e inicio del sistema

Tras la configuración exitosa, el sistema muestra la dirección local de la interfaz web. En ese momento, el contenedor openclaw-cli-run está activo en Docker Desktop.

La GUI de OpenClaw no se muestra inicialmente en la URL indicada, aunque el contenedor ya esté listo.

http://127.0.0.1:18789/#token=eeac2ff0d......4e3 

Por ello, cerramos la consola con Ctrl+C.

Configuración de OpenClaw

Tras la instalación, la configuración se encuentra aquí.

Iniciar OpenClaw de nuevo

Para iniciar el servicio completamente, ejecute el siguiente comando:

docker compose up -d openclaw-gateway

Después, la GUI de OpenClaw estará disponible en la URL indicada anteriormente. Si la interfaz web muestra el estado “Disconnected”, será necesario ajustar manualmente el archivo de configuración.

El archivo pending.json se encuentra en el directorio C:\Users[Benutzer].openclaw\devices. En este archivo JSON debe cambiarse manualmente el parámetro “silent” de false a true. pending.json se crea solo después de que hayamos accedido a la URL indicada anteriormente.

Chatear con OpenClaw a través de la GUI

Tras recargar la interfaz web, se puede definir la identidad del agente (por ejemplo, Nombre: “The Ghost in the Machine”).

Invocar OpenClaw desde la consola

En caso de querer hacer cambios, por ejemplo instalar más skills, podemos invocar la consola de OpenClaw dentro del contenedor de Docker de la siguiente manera.

docker exec -it openclaw-openclaw-gateway-1 /bin/bash

Telegram

En principio, el bot debería conectarse a Telegram después de iniciar OpenClaw. En mi caso no hubo respuesta por parte de Telegram, por lo que tuve que volver a ejecutar el proceso de onboarding para reconfigurar Telegram.

El onboarding podemos iniciarlo via OpenClaw CLI.

docker compose run --rm openclaw-cli onboard

Tras iniciar la infraestructura de contenedores, el bot está en línea, pero rechaza interacciones por defecto. El sistema informa „OpenClaw: access not configured“ y muestra el ID de usuario de Telegram correspondiente y la ID de emparejamiento.

Este es un mecanismo de seguridad para evitar el acceso no autorizado al agente. Para permitir la comunicación para la propia cuenta, hay que aprobar explícitamente esta ID. Esto se hace ejecutando el siguiente comando en la línea de comandos, reemplazando [TELEGRAM_BINDING_ID] por la ID de emparejamiento que aparece en el chat:

docker compose run --rm openclaw-cli pairing approve telegram TELEGRAM_BINDING_ID

La consola confirma la operación con el mensaje „Approved telegram sender“. Inmediatamente después, el bot está habilitado para ese usuario y procesa mensajes entrantes.

Tras la autorización, el bot está listo para su uso. Responde a entradas en el chat de Telegram y puede procesar y mostrar información contextual, como la hora actual teniendo en cuenta la zona horaria (CET).

Actualización automática de OpenClaw

Quien use OpenClaw localmente con Docker (compilación local), no querrá ejecutar manualmente git pull y docker compose build cada vez para mantenerse actualizado.

Crea en el directorio principal de tu instalación de OpenClaw (p. ej., C:\sources\openclaw) un nuevo archivo llamado update_openclaw.ps1.

# Als normaler User in C:\sources\openclaw\

# 1. Neueste Infos vom Server holen ohne zu mergen
git fetch origin

# 2. Prüfen, ob der lokale Stand hinter dem Server liegt
$local = git rev-parse HEAD
$remote = git rev-parse origin/main

if ($local -ne $remote) {
    Write-Host "Updates gefunden. Folgende Dateien werden aktualisiert:" -ForegroundColor Cyan
    
    # Zeige die Dateien an, die sich ändern werden
    git diff --name-only $local $remote
    
    # Jetzt den eigentlichen Pull und Build durchführen
    git pull origin main
    
    # Hier folgen deine bestehenden Docker-Befehle...
    docker-compose up -d --build
    
    Write-Host "Update erfolgreich durchgeführt." -ForegroundColor Green
}
else {
    Write-Host "OpenClaw ist auf dem neuesten Stand. Keine Aktion erforderlich." -ForegroundColor Gray
}

OpenClaw kann anschließend con el siguiente comando:

powershell -ExecutionPolicy Bypass -File "C:\sources\openclaw\update_openclaw.ps1"