OpenClawSkills
GitHub
Análisis Profundo • 8 min de lectura

Arquitectura

Un análisis profundo del diseño centrado en Gateway de OpenClaw, modelo de red y ciclo de ejecución del agente.

OpenClaw está construido alrededor de una arquitectura centrada en Gateway donde un único proceso de larga duración gestiona todas las conexiones de canales y proporciona un plano de control unificado. Este diseño asegura confiabilidad, seguridad y simplicidad.

Tutorial.step

Componentes Core

El Gateway

El Gateway (<code>openclaw gateway</code>) es el corazón de OpenClaw. Es un único proceso que:

  • Gestiona todas las conexiones de canales (WhatsApp, Telegram, Discord, etc.).
  • Proporciona un plano de control WebSocket en el puerto <strong>18789</strong> (por defecto).
  • Maneja gestión de sesiones y enrutamiento.
  • Sirve la UI de Control / Dashboard.
  • Gestiona el <strong>host Canvas</strong> para interfaces visuales.
  • Coordina comunicación inter-agente.

Consejo de Estabilidad

Se recomienda un Gateway por host. Es el único proceso permitido para poseer la sesión de WhatsApp Web, asegurando estabilidad y previniendo conflictos.
Tutorial.step

Modelo de Red

OpenClaw usa un enfoque <strong>loopback-first</strong> para máxima seguridad:

  • <strong>Por defecto:</strong> El WebSocket del Gateway se ejecuta en <code>ws://127.0.0.1:18789</code> (solo localhost).
  • <strong>Acceso Remoto:</strong> Usar túneles SSH, Tailscale, o configurar <code>--bind</code> con tokens de autenticación para acceso externo seguro.
  • <strong>Host Canvas:</strong> Un servidor de archivos HTTP dedicado en el puerto <strong>18793</strong> sirviendo <code>/__openclaw__/canvas/</code> para WebViews de nodo de alto rendimiento.

Resumen de Arquitectura

WhatsApp / Telegram / Discord / iMessage (+ plugins)
            │
            ▼
┌───────────────────────────────────────────────┐
│                 Gateway                   │  ws://127.0.0.1:18789
│            (Single Source of Truth)          │
│                                              │  http://<host>:18793
└───────────────────────┬───────────────────────┘
                        │
  ┌─────────────────────┼─────────────────────┐
  │                     │                     │
  ▼                     ▼                     ▼
OpenClaw Agent (RPC)      CLI Tool      Native Apps (iOS/macOS)
Tutorial.step

El Ciclo del Agente

El ciclo del agente es el ciclo de procesamiento core que define cómo se manejan los mensajes:

  1. <strong>Mensaje Recibido:</strong> Un canal conectado recibe un mensaje entrante.
  2. <strong>Enrutamiento de Sesión:</strong> El mensaje se enruta a la sesión apropiada (principal, grupo, o aislada).
  3. <strong>Carga de Contexto:</strong> El agente carga contexto histórico relevante, memorias y herramientas.
  4. <strong>Procesamiento LLM:</strong> La solicitud estructurada se envía al proveedor LLM (Claude, GPT, etc.).
  5. <strong>Ejecución de Herramientas:</strong> El agente ejecuta autónomamente herramientas (navegador, sistema de archivos, shell) según sea necesario.
  6. <strong>Streaming de Respuesta:</strong> La respuesta final se transmite de vuelta al canal en tiempo real.
  7. <strong>Actualización de Memoria:</strong> La conversación se indexa y guarda en el workspace.
Tutorial.step

Modelo de Sesión

Tipos de Sesión
  • <strong>Sesión Principal:</strong> Colapsa todos los mensajes directos en un contexto compartido.
  • <strong>Sesiones de Grupo:</strong> Cada chat de grupo obtiene un workspace aislado.
  • <strong>Sesiones Aisladas:</strong> Creadas para necesidades específicas de seguridad o efímeras.
Características de Sesión
  • <strong>Modos de Activación:</strong> Control de responsividad (solo mención, siempre, etc.).
  • <strong>Gestión de Cola:</strong> Manejo eficiente de solicitudes concurrentes.
  • <strong>Sandboxing:</strong> Aislamiento Docker opcional para entornos multi-tenant.
Tutorial.step

Estructura del Workspace

OpenClaw es <strong>file-system first</strong>. Todo se almacena en tus directorios de configuración y workspace:

File Hierarchy
~/.openclaw/openclaw.json    # Configuration file
~/.openclaw/credentials/     # Secure channel tokens
~/.openclaw/workspace/       # Workspace Root
├── AGENTS.md                # Agent persona definitions
├── SOUL.md                  # Core personality & logic
├── TOOLS.md                 # Custom tool definitions
├── skills/                  # Plugin/Skill directory
└── sessions/                # Active conversation states
Tutorial.step

Enrutamiento Multi-Agente

OpenClaw soporta enrutamiento avanzado de mensajes basado en:

  • <strong>Canal:</strong> Diferentes agentes para WhatsApp vs Discord.
  • <strong>Cuenta/Peer:</strong> Enrutar contactos específicos a personas dedicadas.
  • <strong>Aislamiento de Workspace:</strong> Cada agente puede estar bloqueado en su propio directorio y conjunto de skills.
Tutorial.step

Streaming y Protocolo

Streaming y Fragmentación

OpenClaw usa <strong>Block Streaming</strong> para enviar respuestas en fragmentos para velocidad percibida. También soporta <strong>Telegram Draft Streaming</strong>, mostrando indicadores de escritura y borradores en tiempo real.

Protocolos de Comunicación
  • <strong>WebSocket:</strong> Para entrega en tiempo real y actualizaciones de UI de Control.
  • <strong>RPC (Remote Procedure Call):</strong> Usado por agentes para invocación de herramientas y consultas de contexto.