Arquitectura de Clawdbot

Profundiza en la arquitectura del asistente de IA Clawdbot. Aprende sobre el modelo Gateway-Agent, la API WebSocket, el flujo de mensajes y el diseño del sistema.

Resumen de la Arquitectura de Clawdbot

Clawdbot sigue una arquitectura Gateway-Agent que separa las responsabilidades entre el transporte de mensajes y el procesamiento de IA. Este diseño permite escalabilidad, confiabilidad y soporte multicanal.

Componentes del Sistema

Capa de Gateway

El Gateway de Clawdbot es el coordinador central:

ComponenteResponsabilidad
Gestor de ConexionesMantiene las conexiones de proveedores
Enrutador de MensajesEnruta mensajes a los agentes
Gestor de SesionesGestiona el estado de la conversación
Servidor WebSocketExpone API tipada

Capa de Agentes

Los agentes de Clawdbot manejan el procesamiento de IA:

ComponenteResponsabilidad
RuntimeEjecuta la lógica del agente
Ejecutor de HerramientasEjecuta herramientas y habilidades
Gestor de ContextoGestiona el contexto de la conversación
Generador de RespuestasGenera respuestas de IA

Flujo de Mensajes

Flujo Entrante

Provider → Gateway → Router → Agent → Runtime
  1. El proveedor recibe el mensaje
  2. El Gateway normaliza el formato
  3. El enrutador selecciona el agente destino
  4. El agente procesa el mensaje
  5. El Runtime genera la respuesta

Flujo Saliente

Runtime → Agent → Gateway → Provider → User
  1. El Runtime genera la respuesta
  2. El agente formatea el mensaje
  3. El Gateway enruta al proveedor
  4. El proveedor entrega el mensaje

API WebSocket

Conexión

const ws = new WebSocket('ws://localhost:3010');

ws.on('open', () => {
  ws.send(JSON.stringify({
    type: 'auth',
    token: 'your-token'
  }));
});

Tipos de Mensajes

TipoDirecciónDescripción
authCliente→ServidorAutenticar conexión
messageBidireccionalEnviar/recibir mensajes
statusServidor→ClienteActualizaciones de estado de conexión
typingServidor→ClienteIndicadores de escritura

Gestión de Estado

Estado de Sesión

Clawdbot mantiene el estado en múltiples niveles:

Global State
  └── Agent State
        └── Session State
              └── Message State

Persistencia de Estado

Tipo de EstadoAlmacenamientoCiclo de Vida
Globalclawdbot.jsonPermanente
Agenteagents/<id>/Por agente
Sesiónsessions/<key>.jsonlHasta expiración
MensajeEn memoriaPor solicitud

Escalabilidad

Escalado Horizontal

Clawdbot soporta escalado horizontal:

  • Múltiples instancias de Gateway detrás de balanceador de carga
  • Almacén de sesiones compartido para consistencia
  • Procesamiento de mensajes sin estado

Límites de Recursos

RecursoPor DefectoConfigurable
Conexiones máximas100
Buffer de mensajes1000
Tiempo de espera de sesión24h

Modelo de Seguridad

Autenticación

  • Autenticación por clave API
  • Autenticación WebSocket basada en token
  • Credenciales por proveedor

Autorización

  • Permisos a nivel de herramienta
  • Aislamiento a nivel de agente
  • Control de acceso a nivel de sesión

Próximos Pasos