Implementando OpenClaw: Un Asistente AI Autohospedado con Integraciones Reales
AI

🤖 Implementando OpenClaw: Un Asistente AI Autohospedado con Integraciones Reales

Instalación, hardening y Google Workspace — documentación completa de una implementación real

Introducción

En el mundo de la IA conversacional, la mayoría de las soluciones son servicios cloud cerrados donde tus datos pasan por servidores de terceros. OpenClaw es diferente: es un framework de asistente AI autohospedado que puedes ejecutar en tu propio servidor, manteniendo control total sobre tus datos y conversaciones.

En este artículo documentaré la implementación completa de OpenClaw en un VPS, desde la instalación hasta la configuración de integraciones reales con Google Workspace, incluyendo las lecciones aprendidas en seguridad y hardening.

¿Qué es OpenClaw?

OpenClaw es un framework open-source para construir asistentes AI persistentes que pueden:

Recursos:

Arquitectura de la Implementación

Infraestructura

VPS: DigitalOcean Droplet OS: Ubuntu 22.04 LTS (x64) Recursos: 2 GB RAM, 50 GB SSD, 2 vCPUs Hostname: openclaw-crp

Componentes Principales

  1. OpenClaw Gateway — Daemon principal que gestiona sesiones y conversaciones
  2. Node.js Runtime — v22.22.0 (requerido)
  3. Skills — Módulos que extienden funcionalidad
  4. Workspace — Directorio persistente donde el agente guarda memoria y datos

Instalación Base

1. Preparar el Servidor

# Actualizar sistema
sudo apt update && sudo apt upgrade -y

# Instalar dependencias
sudo apt install -y curl git build-essential

2. Instalar Node.js 22

OpenClaw requiere Node.js 22.x:

# Instalar Node.js 22 vía NodeSource
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs

# Verificar versión
node --version  # v22.22.0
npm --version   # 10.9.2

3. Instalar OpenClaw

# Instalar globalmente
sudo npm install -g openclaw

# Verificar instalación
openclaw --version

4. Configuración Inicial

# Inicializar OpenClaw
openclaw init

# Configurar API key de Anthropic (Claude)
openclaw config set ANTHROPIC_API_KEY sk-ant-...

# Iniciar el gateway
openclaw gateway start

El gateway quedará corriendo como servicio systemd.

Hardening de Seguridad

IMPORTANTE: Un servidor OpenClaw mal configurado puede ser una puerta de entrada a tu infraestructura. Aquí está lo que implementé:

1. Firewall (UFW)

# Política deny-by-default
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Permitir solo SSH, HTTP, HTTPS
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Activar firewall
sudo ufw enable

# Verificar estado
sudo ufw status verbose

2. SSH Hardening

# Generar key ed25519 (más segura que RSA)
ssh-keygen -t ed25519 -C "admin@openclaw-crp"

# Copiar key al servidor
ssh-copy-id -i ~/.ssh/openclaw_ed25519.pub user@server

# Editar /etc/ssh/sshd_config:
sudo nano /etc/ssh/sshd_config

Configuración crítica:

PasswordAuthentication no
PermitRootLogin prohibit-password
PubkeyAuthentication yes
AuthenticationMethods publickey
# Reiniciar SSH
sudo systemctl restart sshd

3. Fail2ban

Protección contra ataques de fuerza bruta:

# Instalar
sudo apt install -y fail2ban

# Configurar
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local

Configuración mínima:

[sshd]
enabled = true
port = 22
maxretry = 3
bantime = 3600
# Iniciar y verificar
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
sudo fail2ban-client status sshd

4. Permisos del Workspace

# Proteger credentials
chmod 700 ~/.openclaw/credentials
chmod 600 ~/.openclaw/credentials/*.json

# Verificar
ls -la ~/.openclaw/credentials/

5. Auditoría de Seguridad

OpenClaw incluye un comando de auditoría:

openclaw status --security

Resultado esperado:

✓ Firewall activo (UFW)
✓ SSH hardening completo
✓ Fail2ban activo (1,626 IPs baneadas)
✓ Credentials protegidos (chmod 700)
✓ 0 vulnerabilidades críticas

Instalación del Skill GOG (Google Workspace)

Una de las integraciones más potentes es gog — un CLI para Google Workspace que permite al asistente interactuar con Gmail, Calendar, Drive, Docs y Sheets.

1. Instalar gog CLI

# Vía Homebrew (Linux)
brew install steipete/tap/gogcli

# Verificar
gog --version

2. Configurar OAuth 2.0

Necesitas un proyecto en Google Cloud Console:

a) Crear Proyecto en Google Cloud

  1. Ir a https://console.cloud.google.com
  2. Crear nuevo proyecto: “OpenClaw Integration”
  3. Habilitar APIs:
    • Gmail API
    • Google Calendar API
    • Google Drive API
    • Google Docs API
    • Google Sheets API
    • People API (Contacts)

b) Crear Credenciales OAuth

  1. APIs & ServicesCredentials
  2. Create CredentialsOAuth 2.0 Client ID
  3. Tipo: Desktop app
  4. Descargar JSON → client_secret.json

c) Configurar Scopes

En OAuth consent screen, agregar scopes:

https://www.googleapis.com/auth/gmail.modify
https://www.googleapis.com/auth/gmail.send
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/contacts.readonly

3. Autenticar gog

# Subir client_secret.json al servidor vía SCP
scp client_secret.json user@server:/tmp/

# En el servidor:
gog auth credentials /tmp/client_secret.json

# Agregar cuenta
gog auth add nova@crp.gi --services gmail,calendar,drive,contacts,docs,sheets

Esto abrirá un flujo OAuth en el navegador. Después de autorizar, gog guardará el token.

4. Verificar Acceso

# Listar cuentas autenticadas
gog auth list

# Probar Gmail
gog gmail search "newer_than:7d" --max 5

# Probar Calendar
gog calendar list

# Probar Drive
gog drive search "type:folder" --max 5

5. Configurar Variable de Entorno

Para que OpenClaw use la cuenta correcta automáticamente:

# Agregar a ~/.bashrc
echo 'export GOG_ACCOUNT=nova@crp.gi' >> ~/.bashrc
source ~/.bashrc

6. Instalar Skill en OpenClaw

# Navegar al workspace
cd ~/.openclaw/workspace/skills

# Clonar skill gog desde ClawHub
clawhub install gog

El skill gog incluye SKILL.md con ejemplos y referencia completa.

Casos de Uso Prácticos

Con OpenClaw + gog configurados, estos son algunos flujos que implementé:

1. Enviar Emails

gog gmail send \
  --to cesar.rosa@crp.gi \
  --subject "Reporte Diario" \
  --body "El watchlist alertó cambios en 3 acciones hoy."

Nota: gog NO agrega firma automáticamente. La firma debe incluirse manualmente en el body.

2. Agendar Eventos en Calendar

gog calendar create primary \
  --summary "Reunión con equipo" \
  --from "2026-03-10T14:00:00Z" \
  --to "2026-03-10T15:00:00Z" \
  --event-color 9

3. Subir Archivos a Drive

gog drive upload ./reporte.pdf

# Compartir con alguien
gog drive share <fileId> \
  --to user \
  --email cesar.rosa@crp.gi \
  --role reader

4. Buscar en Gmail

# Búsqueda avanzada
gog gmail messages search "from:github.com subject:security" --max 20

# Exportar a JSON
gog gmail messages search "newer_than:30d" --max 100 --json > emails.json

5. Watchlist Financiera Automatizada

Uno de los casos de uso más interesantes fue configurar un cron job que:

  1. Consulta precios de acciones vía API
  2. Compara con umbrales configurados
  3. Envía alertas por email si hay cambios significativos

Implementación:

# Crear cron job en OpenClaw
openclaw cron create \
  --label "watchlist-daily-alert" \
  --schedule "30 13 * * 1-5" \
  --task "Consultar watchlist de acciones y enviar reporte por email" \
  --timezone UTC

6. Memoria Persistente

OpenClaw mantiene memoria entre sesiones usando archivos Markdown en el workspace:

~/.openclaw/workspace/
├── SOUL.md          # Personalidad del asistente
├── USER.md          # Información del usuario
├── MEMORY.md        # Memoria a largo plazo
├── TOOLS.md         # Notas sobre herramientas
└── memory/
    └── 2026-03-08.md  # Log diario

El asistente lee estos archivos al inicio de cada sesión, manteniendo contexto.

Lecciones Aprendidas

1. Seguridad es Crítica

Un asistente AI con acceso a Gmail, Calendar y comandos del sistema puede ser devastador si se compromete. El hardening NO es opcional.

Checklist mínimo:

2. OAuth es Más Seguro que API Keys

Google Workspace con OAuth 2.0 permite:

3. Separación de Sesiones

OpenClaw soporta múltiples canales (web, WhatsApp, Telegram). Cada canal es una sesión separada — no comparten memoria automáticamente.

Solución: Usar archivos de memoria compartidos (MEMORY.md) que se leen al inicio de cada sesión.

4. El Sandbox Protege Pero Limita

OpenClaw ejecuta comandos en un sandbox Docker por defecto. Esto protege el host, pero:

Solución: Usar herramientas que operan vía API (como gog) en lugar de acceso directo a archivos.

5. Documentar Todo

El agente es tan bueno como su documentación. Mantener TOOLS.md, SKILL.md y guías actualizadas hace la diferencia entre un asistente útil y uno que pregunta constantemente.

Costos de Operación

Servidor VPS (DigitalOcean): $12-18/mes API de Claude (Anthropic): Variable según uso (~$10-50/mes) APIs de Google: Gratuito (dentro de cuotas) Dominio + SSL: $10-15/año (opcional)

Total estimado: $25-70/mes

Comparado con servicios cloud de IA ($20-200/mes) que NO incluyen integraciones reales ni control de datos, OpenClaw sale muy competitivo.

Próximos Pasos

La implementación actual cubre:

Roadmap:

Conclusión

OpenClaw demuestra que es posible tener un asistente AI potente, autohospedado, con integraciones reales, sin sacrificar control sobre tus datos.

La combinación de OpenClaw + gog CLI abre posibilidades infinitas: desde automatizar workflows de email hasta gestionar calendarios, analizar documentos en Drive, o crear reportes financieros automáticos.

El esfuerzo inicial de configuración (especialmente OAuth y hardening) vale totalmente la pena cuando el asistente empieza a ahorrar horas de trabajo manual cada semana.

Si estás buscando una alternativa real a ChatGPT/Claude/etc. que puedas controlar completamente, OpenClaw es una opción seria a considerar.


por: Cesar Rosa Polanco — Consultor Senior con 30+ años de experiencia en infraestructura, seguridad y automatización.

← Volver a artículos Read in English →