Architecture de Clawdbot

Plongez dans l'architecture de l'assistant IA Clawdbot. Découvrez le modèle Gateway-Agent, l'API WebSocket, le flux de messages et la conception du système.

Aperçu de l'Architecture Clawdbot

Clawdbot suit une architecture Gateway-Agent qui sépare les responsabilités entre le transport des messages et le traitement IA. Cette conception permet l'évolutivité, la fiabilité et le support multicanal.

Composants du Système

Couche Gateway

Le Gateway Clawdbot est le coordinateur central :

ComposantResponsabilité
Gestionnaire de ConnexionsMaintient les connexions des fournisseurs
Routeur de MessagesAchemine les messages vers les agents
Gestionnaire de SessionsGère l'état de la conversation
Serveur WebSocketExpose l'API typée

Couche Agent

Les agents Clawdbot gèrent le traitement IA :

ComposantResponsabilité
RuntimeExécute la logique de l'agent
Exécuteur d'OutilsExécute les outils et compétences
Gestionnaire de ContexteGère le contexte de la conversation
Générateur de RéponsesGénère les réponses IA

Flux de Messages

Flux Entrant

Provider → Gateway → Router → Agent → Runtime
  1. Le fournisseur reçoit le message
  2. Le Gateway normalise le format
  3. Le routeur sélectionne l'agent cible
  4. L'agent traite le message
  5. Le Runtime génère la réponse

Flux Sortant

Runtime → Agent → Gateway → Provider → User
  1. Le Runtime génère la réponse
  2. L'agent formate le message
  3. Le Gateway achemine vers le fournisseur
  4. Le fournisseur livre le message

API WebSocket

Connexion

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

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

Types de Messages

TypeDirectionDescription
authClient→ServeurAuthentifier la connexion
messageBidirectionnelEnvoyer/recevoir des messages
statusServeur→ClientMises à jour du statut de connexion
typingServeur→ClientIndicateurs de saisie

Gestion de l'État

État de Session

Clawdbot maintient l'état à plusieurs niveaux :

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

Persistance de l'État

Type d'ÉtatStockageCycle de Vie
Globalclawdbot.jsonPermanent
Agentagents/<id>/Par agent
Sessionsessions/<key>.jsonlJusqu'à expiration
MessageEn mémoirePar requête

Évolutivité

Mise à l'Échelle Horizontale

Clawdbot prend en charge la mise à l'échelle horizontale :

  • Plusieurs instances Gateway derrière un équilibreur de charge
  • Stockage de session partagé pour la cohérence
  • Traitement des messages sans état

Limites de Ressources

RessourcePar DéfautConfigurable
Connexions max100Oui
Tampon de messages1000Oui
Délai d'expiration de session24hOui

Modèle de Sécurité

Authentification

  • Authentification par clé API
  • Authentification WebSocket basée sur token
  • Identifiants par fournisseur

Autorisation

  • Permissions au niveau outil
  • Isolation au niveau agent
  • Contrôle d'accès au niveau session

Prochaines Étapes